The Hundred Year Language
Thinking about what the future’s programming languages be like, I think is a great thought experiment. Because it allows us to aim to that and create said languages. For example let’s say that it is my job to create said programming languages, as the author says, it is absolutely correct that my design would be influenced by the languages I currently know and use. Which I have to say, I don’t see it as a bad idea at all. Some of the languages we use today (2020) are very efficient and easy to understand (at least to me) however I have mentioned to my friends in the past that I hate and love some of the features that every language has, the description of my perfect programming language would be as follows:
1. The language wouldn’t be indentation oriented like python, I would much rather have to use “;” and “{}” in order to make my code work, I don’t know, it seems crazy to me that for example in languages like ABAP the way to finish an instruction would be a “.”
2. My language would be able to handle memory more efficiently than the languages we have now, it would have a garbage collector like Java so it doesn’t fill the RAM immediately, and also it would allow me/the programmer to handle memory dynamically like C or C#, but it would help the programmer achieve stuff faster by trying to imply what the programmer is trying to express at compilation time.
3. The language would be able to analyse what the programmer is trying to do with the cycles it programs, and do with those implicit parallelisation like in a forEach cycle or a map, like what you can do with pmap in Clojure. As some of the times what you do with an item in a list in a cycle doesn’t affect in any way what happens to the other items of the list. And also at compilation time it would analyse inefficient cycles and replace them with more efficient algorithms without affecting the end result, just the time it has to compute in order to get there.
4. I would encourage the use of pythonic expressions, so that the programmers that know the ins & outs of the language can produce very clean programs while remaining easy enough for not so pros programmers to also produce code that is easy to read and easy to execute.
5. Lastly it would be a compiled language like C or C#, as that is some of the beef that I have with python. Due to the nature of what I try to achieve with my super optimised language is the best efficiency possible, the compiler would take its sweet time in order to throw the best possible code. The compiler would throw to things, the best possible version of the code in a file that any person could read, and the .exe that allows execution. As the next time the programmer tries to compile it again, it would only have to compile the optimised version and it wouldn’t last as long.
Comentarios
Publicar un comentario