Ask HN: What languages/tech do you want to be using in 5 years?
What tech will you want to be working with in 5 years?
What tech will you want to be working with in 5 years?
I've had a good (but lucky) record with checking out languages ahead of the curve but little except JavaScript really excites me right now. For a zillion reasons (and intuition), I'm bullish on Scala, Lua, Ruby (but only if significant implementation improvements come soon or Apple more seriously backs it) and Go, neutral on Python and Haskell, and bearish on Clojure, Java and Erlang. (Feel free to quote this back to me if I get it wrong!).
Got any pointers on this? I've been searching a little and unable to find this and haven't heard of this level of introspection before.
The basic mechanism is to call f.toString() on some function, then construct a new one the way you want it using either eval() (for non-IE browsers), or new Function(code) (for all browsers). Caterwaul leverages this by implementing a JS parser, defining a macro syntax, and letting you determine how the code gets rewritten. (So you can do things like let[x = 5] in x + 1, which is valid JS to begin with but nobody would ever use it :) )
I use C when I need to do low-level manipulation. D or Go might be better, and one of the two will probably be compelling in five years. I was really hoping that BitC (a low-level language with a modern type system) would take off, but development on that seems to have stalled.
For hardware, I really hope that bluespec becomes mainstream. I use it as an HDL on my spare time projects. It’s nearly as expressive as Haskell; other HDLs (Verilog and VHDL) are about as expressive as assembly language, so the advantage you by switching from a mainstream language to bluespec is much larger than the advantage you get by switching from C++ or Java to F#/Haskell/Scala.
[1] Want to do a cross-platform directory copy? You can use Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory, which doesn’t preserve permissions under Linux/Mono, or write your own function. And that’s an example of something that’s well supported.
Android is the future of computing, Lisp is eternal, and I can't imagine a future without Flash and my beloved ActionScript 3.
Things I want to become more popular: AliceML or Mozart/Oz as LLVM style runtimes and optimizing compilers. Alice is such a beautiful and ambitious language and VM, it's unimaginable that it's not popular.
I would also love to see more pervasive use of "mathematical" and "modeling" tools: R, specially.
More generative audio/visual programming languages; Processing, Pure Data, ChucK, SuperCollider, and live-coding environments.
I want to see Arduino become to "kits" what Android is to mobile OSes.
I want Linux and the BSDs to progress.
I want on going support for my desktop OS of choice: Windows XP. I just love the damn thing.
Care to expand on that one?
I want to be working with something that does to high-quality "consumer ready" end-product creation what Arduino has done to electronic prototyping. Actually, I want to be creating it. :)
I am really hoping/expecting non blocking/async coding to go way up in popularity over the next few years. I know every modern language supports this, but I will probably start getting my feet wet by doing this in Javascript. Reason being the syntax and tools that already exist.
5 years is a long time, lots will change in 5 years.
objective-C, C#, emacs lisp
actionScript, haskell, lua
scala, clojure, ASP
erlang, common Lisp, groovy