Here’s a list of things I want from a programming language. I know very little about this field. I program as an academic. I want to generate stimuli, design experiments, and write little helpers all in the same language with the same concepts. And I want to share those things.
I want a programming language that lets me I can distribute executables after I compile my program.
I want a programming language with a development environment that allows documentation to be seen locally, and alongside the program itself.
I want a programming language that contains almost all the libraries I could ever want, and I don’t have to fight or study to find out what library a particular function belongs to. I don’t want to load libraries for commonly used functions.
I want a programming language that is free to use, or at least somewhat free to use. I wouldn’t mind if I had to pay to distribute the language itself within one of my products. But its compiled programs should be free, and should run on their own without the language present on another machine, or if it is present, small, and invisible.
I want a language with a GUI designer as sophisticated as Xcode’s, but as easy to use as LiveCode’s.
I want a programming language like Mathematica, but without the asinine pricing structure and lack of output capabilities. I want a language that will never be intentionally crippled, like Mathematica is right now. I want a language that lets me share my works without including itself in them, or if it does, to be in the background, not the foreground, and worse than Flash Player.
I want the documentation to be the greatest documentation in the world, written intelligently, succinctly, with a lot of examples and a paucity of excuses.
I want a programming language that has hooks into the operating system, that presents a native and familiar face free of a veneer of emulation or themes that are close enough.
I don’t care if the programming language supports Linux, but that would be nice.
I want a programming language that has libraries for everything I might want to do, or lets me use them from other languages like Julia does for Python, C, and R, or lets me call it from other languages.
I want a programming language that supports the programming style of my choice. Whether I want the procedural flow of Julia or the purity of Lisp I want the program to work and the documentation to tell me which style is faster for what on what platform.
I want a programming language that has no dependencies. I don’t mind downloading a 10GB file once or twice a year.
I want a programming language with implicit parallelization, or a function Parallelize() that Makes It So.
I want a programming language with clear and concise error messages. I want to know not just where the problem is, but what the problem is.
If I have to pay for this language I want to be able to pay more to have a phone number I can call to get help on a specific issue. That, or a very responsive forum.
I would happily pay $100 a year for this.
I would happily pay $100 a year for Mathematica with a GUI builder and the ability to share my programs with systems that have never seen CDF Player or some other tier or echelon of playback program.
Really, I want a mature IDE for Julia with the documentation, functional style, breadth and depth of libraries, and conceptual ease of use as Mathematica.
Whoever or whatever gives me this language will have my allegiance till my end of days.