I think programing in the future needs to: - treat a program as a database - allow programs to be visualised in many formats (visually as graphs, textually as code etc) - allow programs to be manipulated through many interfaces (visually, textually, programatically) It’s not that text and syntax should die, it’s that different visualization and manipulation paradigms are appropriate for different levels of abstractio…
If I were to invent a programming language for the 21st century
171–180 of 184 posts
Re: If I were to invent a programming language for the 21st century
#172> The language for the 21st century should be business oriented, English-like and not dependent on native types. It is shocking to me how often the problem of "programming is difficult and time consuming and unintuitive" is to be resolved by "making programming languages more like English". The language is there as a tool to make programming easier! Do you know how many times I've taken someone's keyboard to type a t…
> Do you know how many times I've taken someone's keyboard to type a tiny snippet and then explained it in English with the code as reference? Why do you think I don't just explain it in English first? Because English is verbose and ambiguous and not suited to describing logic. That's what programming languages are for. Exactly this — and it is true about any human language. They were built for humans who are capable…
Re: If I were to invent a programming language for the 21st century
#173> The language for the 21st century should be business oriented, English-like and not dependent on native types. It is shocking to me how often the problem of "programming is difficult and time consuming and unintuitive" is to be resolved by "making programming languages more like English". The language is there as a tool to make programming easier! Do you know how many times I've taken someone's keyboard to type a t…
Thanks for such clear examples to demonstrate your point.
Re: If I were to invent a programming language for the 21st century
#174What's the purpose of a new language? You can't just say build a language for the 21st century. That's pretty arbitrary. Each computer language is designed to solve a particular set of problems. No language is the best. The down with syntax stuff is a particularly meaningless argument. Python probably has the most intuitive syntax of any "modern" language. I know many personal projects in python but very few professi…
> The lack of syntax makes python a great language for prototyping And I thought Lisp had a lack of syntax.
Re: If I were to invent a programming language for the 21st century
#175What's the purpose of a new language? You can't just say build a language for the 21st century. That's pretty arbitrary. Each computer language is designed to solve a particular set of problems. No language is the best. The down with syntax stuff is a particularly meaningless argument. Python probably has the most intuitive syntax of any "modern" language. I know many personal projects in python but very few professi…
Link to increase your knowledge on non personal python projects https://wiki.python.org/moin/OrganizationsUsingPython What about questions like: * How happy / stress free you want to be in your work? * How fast you want to deliver? In result programming language's syntax is just one component and should be considered in the context of various practices and tools in use. E.g. unit tested Python code is better than not…
As a full stack dev, I'd rarely if ever recommend python for any of the problems I face professionally. For data science problems, Jupyter + Pandas + Scipy makes a pretty awesome combination.
As for unit tests, I think that misses the point of my argument completely. This is the situation I would evaluate python: you're starting from scratch, what types of problems would you use python to solve? The answer is there aren't that many. I think the most common reason people choose python is that that's the language they feel comfortable with.
Re: If I were to invent a programming language for the 21st century
#176Earlier quoted context omitted.
Indeed, there's a reason that SQL statements still need formatting and keyword capitalization hints to make it readable.
What language doesn’t need formatting to be readable? Have you tried reading whitespace-stripped C/js? And the caps hint is the same as syntax highlighting... its not even that useful if you have highlighting, but boy is it useful when you don’t
Re: If I were to invent a programming language for the 21st century
#177Earlier quoted context omitted.
> If I were to invent a programming language for the 21st century, the main feature that would make people frown is that it would not be laid down in a flat text file. Yes! It drives me crazy that due to a historical accident, we're still essentially writing programs as decks of 80-column punch cards. Nowadays the decks are virtual and the editing tools are better, but languages really haven't evolved to take advanta…
I think that'd be useful for commenting but nothing else. Whenever I see something in code, I wonder, what does this do? If I started seeing bold and italics and it did nothing but draw attention, I would almost certainly feel it a distraction.
You should have a list of classes and namespaces and not have to worry about how they are actually stored in flat files.
Re: If I were to invent a programming language for the 21st century
#178Earlier quoted context omitted.
>I've known more people comfortable with SQL and thrown by typical programming languages than the reverse. Non-programmers often find SQL queries easier, and simple SQL queries are intuitive. Programmers, who are likely to do more complicated ones, usually don't like it. At least in my experience. The issue is that it is hard to quickly visually parse complicated queries, like big CTEs. Having it in a less English-li…
I'm a programmer who has had to do plenty of complicated SQL queries; the difficulty I've had with those has been about 10% quirks in the design of SQL, and 90% bad database design that I'm not in a position to fix.
Re: If I were to invent a programming language for the 21st century
#179Earlier quoted context omitted.
I think that'd be useful for commenting but nothing else. Whenever I see something in code, I wonder, what does this do? If I started seeing bold and italics and it did nothing but draw attention, I would almost certainly feel it a distraction.
> I think that'd be useful for commenting but nothing else. But isn’t that a good enough use case? Almost nobody bothers to put proper formatting, diagrams, tables, formulas, references etc in their source code. At best we get ASCII approximations. To see some examples of what it could be like look at Mathematica, Jupyter, literate programming, and org-babel.
Re: If I were to invent a programming language for the 21st century
#180> Ultimately this: > FILE * test_file = fopen(“/tmp/test.txt”, “w+”); > Should become something like this: > create file /tmp/test.txt for input and output as test_file > Syntax highlighting should work instead of syntax notation just fine. I couldn't disagree more. The first example is easily scannable visually -- a variable is being created from a function call. I can tell because my eyes immediately notice the mid…
Very much agree. Programming notation, like math, is supposed to be easy to convey exact meaning, unlike human language. Every attempt there has been to make code look like English hasn't worked out well. SQL, for example, is incredibly verbose, with complex syntax. This obscures what is otherwise very good semantics. I think this is why a lot of people hate writing queries.
Whenever I work on a -nix box I grit my teeth with frustration at how OLD and UNFRIENDLY it feels. I'm shocked that people can still accept any of these archaic texts, whether is be for elitism/gatekeeping ("you aren't really into computers, otherwise you'd get it"), or for tradition ("it's the way it's always been, why bother changing what I know, despiteot being an inconvenience for everyone else who isn't in our group").
Why not just write your language to have three or four syntaxes (as a suggestion: compressed, C-style, shorthand, and verbose, with plugins for adding new syntaxes or spoken languages, dual screen for pair programming accessibility) and with the press of a button be able to swap between them? This way anyone can read your code in whichever way they please.
Maximize accessibility to all. It's not that hard.