

Ask HN: What languages/tech do you want to be using in 5 years? - andrewvc

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?<p>What tech will you <i>want</i> to be working with in 5 years?
======
petercooper
I'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
The 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
Very 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
_It'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
Well actually, I did end up writing Lisp on top of Javascript this way:
<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 :) )

------
luu
I 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.

------
mahmud
A 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
> 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. :)

------
LabSlice
It'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.

------
iuguy
In 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.

------
ryanto
Something 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.

------
chadp
Whichever language is best for the immediate job at hand.

5 years is a long time, lots will change in 5 years.

------
gtani
just 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>

------
zck
Emacs, Lisp (but not Emacs Lisp).

------
rarestblog
Python

------
gspyrou
F#

