Let's imagine for a second that we live in a world where all programming languages are equally suited for any task. Performance, memory footprint, compile time, executable/runtime size and compatibility, and similar factors are entirely irrelevant. Valid criteria could be personal taste, perceived elegance and beauty of the language, simplicity, easiness to use, and so forth.
If any programming language could fulfill equally well the requirements for any application/system and run anywhere, which language would you like to see everything written in?
My personal choice would be Lisp. I think Lisp is beautifully simple, there are very few syntactical constructs, it's easy to extend with macros and very suitable for functional programming.
Oldest comments (52)
Whatever language skynet is written in. Fuck this world!
Haha, I kinda expected you to say MojiScript.
lol. Maybe MojiScript and the language that brings on the destruction of the human race are one and the same. Or maybe I have had too much rum. It's probably the latter. Ya let's just say it's the later.
Mojiscript takeover
This is exactly how I imagined it would go. lol
Let's make it happen, hahaha!
I'd say it still has a bit to go to take over the world, though. It's virtually unused in OS and embedded systems, for instance. And even though there is ClojureScript, it's not widely used in web programming.
I've been thinking about this and you know I can't find one?
Something that was a mashup of Lisp, Python, and Ruby. Something where you could write a quick-n-dirty implementation in Ruby, but then clean it up and turn on strict mode and it would look more like Python (minus some unnecessary punctuation). Also every statement would have an S-Expression equivalent, so you could write macros.
That would be an interesting language indeed!
Sounds like Julia to me :p
"..We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell."
julialang.org/blog/2012/02/why-we-...
Looks like it has the kind of macro system I'm talking about. I don't know how I feel about the language as a whole, but I'm glad people are exploring in this direction.
C# - if CSharp can manage to be independent from .NET and compile directly to machine code instead of IL, it could potentially take over the world. However, the fact that .NET is now natively running on Linux and Mac is a good start.
C# architecture is very clean and extensible. Its like JavaScript + Java + C++ but as powerful as python.
Haha, that is true, but I know at least that Linux is not written in lisp.
I really feel like I use Ruby for web development despite all these issues already, so I guess that's my answer. On the other hand, I mostly use it for the community/vision/web dev support via Rails. I think the ideal language is one that has a helpful type system and compiler, along with a helpful IDE that everyone uses.
For any language to really work globally, I think it always needs to have first class popular support. I've never been one of those people who wants to use my favorite language in the wrong environment just because there's a tool that lets me do it. I want to be working with the language that's going to get the fastest updates, have most native API features, have the most Stack Overflow answers and DEV discussions, etc.
None.
(1) No one should be forced to unilaterally use a language they despise the syntax of - for every language, there is someone who has objective reasons to hate the syntax, behavior, or design of it.
(2) Every language is uniquely suited to a particular set of use cases. No language is ubiquitous in its design. Python is ill-suited for systems programming, but C is ill-suited for rapidly designing good interfaces. FORTRAN is superb for scientific computing and advanced math, but it could never fill the shoes of Ruby in web application design; and Ruby could never take FORTRAN's place in scientific computing and advanced math.
I don't want to fall into the trap of presuming my preferences are superior to everyone else's, so I hope no language ever "takes over the world". I'd rather use the ones I know and like (C++, Python, C, FORTRAN) for the tasks they are best suited, and leave the rest alone for the enjoyment and productivity of others.
Clojure it's very lisp. It's the future given how fast machine are today.
Clojure has been my language of choice for hobby projects for a while now, but I've been slowly starting to love Elixir. Also, I use F# as much as possible in my day-to-day .NET development.
If I could have Clojure's macros, OTP, and F#/OCaml's type system, F#'s type providers... that would probably be an ugly language, but I'd love it!