7 ms·
Ask HN: What languages/tech do you want to be using in 5 years?
HN is a crowd of early adopters/re-adopters of Clojure, Go, Haskell, F#, node.js, etc. are all very much in style here, but where will they be in 5 years?
What tech will you want to be working with in 5 years?
- gspyrou 16y agoF#
- petercooper 16y agoI'm still going with Steve Yegge's opinion from a few years ago for the rest of this decade: JavaScript. It might have been around for ages but it's just coming into its own as a full-scale, popular language that isn't a total PITA to work with in any serious way (unlike 5-10 years ago). 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!).
- InclinedPlane 16y agoThe best part about Javascript is that because it's a functional language it has amazingly deep capabilities of being improved and modified through libraries. The Javascript that people write today (often reliant on prototype/jQuery, node.js, etc.) is quite different from the code that people were writing 10 years ago. The same is likely to be true in another 10 years, even if the language spec. itself doesn't change one iota.
- spencertipping 16y agoVery true. It's also one of the only languages out there to let you inspect functions' source code, which means you can implement full-blown Lisp macros in it using eval(). Given its popularity and the runtime performance of V8, I think this makes it the ultimate language for the next decade.
- petercooper 16y agoIt's also one of the only languages out there to let you inspect functions' source code 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.
- spencertipping 16y agoWell actually, I did end up writing Lisp on top of Javascript this way: http://github.com/spencertipping/caterwaul http://github.com/spencertipping/caterwaul. 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 :) )
- chadp 16y agoWhichever language is best for the immediate job at hand. 5 years is a long time, lots will change in 5 years.
- mahmud 16y agoA Common Lisp variant of "Lisp", ActionScript/Flash, and Android. 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.
- follower 16y ago> I want to see Arduino become to "kits" what Android is to mobile OSes. 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. :)
- ryanto 16y agoSomething I am good with now, but want to explore way more and really get better. This is most likely JavaScript. 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.
- iuguy 16y agoIn 5 years I'd like to be a master Pythonista. I'd say I'm moderately poor at Django and Python in general, I'd like to be able to do all kinds of whizzy things by then.
- rarestblog 16y agoPython
- zck 16y agoEmacs, Lisp (but not Emacs Lisp).
- LabSlice 16y agoIt's very hard to say. Ten years ago I wrote an app in C++ and thought it's the greatest language around. It's fast, close to the OS and rather interesting to work with (as opposed to VB6, at that time). Five years ago I was doing a lot of Java work. Now my latest business is completely based on C#. The programming domain is moving too fast to make serious statements about future languages. Actually, I can bet that Cobol and C++ will still be popular in 5 years.
- luu 16y agoI use F# for a high-level language right now; at the rate that it’s improving, I have a hard time imagining I’ll want anything else as my main high-level software language in five years. I wish it had better support for script-y tasks, but for now I’m “stuck” with Ruby for that sort of thing [1]. 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.
- gtani 16y agojust for the heckofit, here's the github #11-22, which i figure will be in broad use in 5 yrs: objective-C, C#, emacs lisp actionScript, haskell, lua scala, clojure, ASP erlang, common Lisp, groovy https://github.com/languages https://github.com/languages