Live data from Hacker News

Ask HN: The future of programming languages?

news.ycombinator.com

1–10 of 57 posts

Ask HN: The future of programming languages?

#1
I've been thinking a lot about programming languages lately and I wonder what you guys think about what the future of programming will be.

Considering the amount of "new" languages(/dialects) popping up (Clojure) and some languages find new popularity (JS) I wonder how they'll be used.

It feels to me like languages are getting more problem specific, I.E. Haskell, Clojure and other functional languages get most attention for research and heavy calculation while some stuff get specialized for web-usage.

Will the future of programming be like science; where people get extremely specialized on a small set of problems, or will programmers learn multiple languages and use the best one for the problem at hand?

Will game development ever diversify or will it go from C++ to C# to ...

How do you view a future world filled with hundreds or thousands of fantastic programming languages?

Re: Ask HN: The future of programming languages?

#2
Decades ago, lots of programming languages were created that hardly anybody knows now, including some that would definitely be considered very specific, research-oriented, etc. This isn't really a new thing. See for example Jean Sammet's _Programming Languages: History and Fundamentals_.

Edit: Bergin & Gibson's _History of Programming Languages, Volume 2_ is pretty good, too, but that one covers more recent languages: Prolog, C, Forth, Lisp, Icon, etc.

It's not a bad idea to read about old experimental designs, particularly those that didn't work out because of limited hardware. I think there's a lot of potential in the APL and concurrent / constraint logic programming families.

Re: Ask HN: The future of programming languages?

#3
The world is already filled with hundreds (and probably thousands) of programming languages, most of them fantastic in one way or the other.

Some people will prefer to stick to one language, some will dabble in others, but... most of the time, if the language is not radically different from everything you knew before, learning a new one isn't that hard.

I don't see this pattern changing in the foreseeable future. I mean, some areas always had their niche programming languages (heck, most areas do, anyway).

Re: Ask HN: The future of programming languages?

#5
I think that eventually some programming tasks will become highly specialized, yes, and use custom and very specific languages depending on the field and the problem at hand and may end up with their own degree programs, etc. There's already hints of this sort of thing right now. It's very hard to transplant a programmer from (for example) web development to 3D game engine development - it has nothing to do with language, though. There's just a huge set of knowledge required for each that has very little overlap - even if the languages used happened to currently be the same in some cases.

It doesn't make sense to forever expend the effort required to force every problem into just a handful of languages' structures - even if it is theoretically possible to do so.

I think that things like OMeta (http://tinlizzie.org/ometa/) are an important piece and the other work being done by Viewpoints Research (http://www.viewpointsresearch.org) could help.

Re: Ask HN: The future of programming languages?

#6
I think VMs are the future of application programming, especially as manufacturers become more amenable to using "unconventional" architectures like ARM to host full-featured computers. LLVM, the JVM and the CLR all have benefits- I don't see any reason to believe there will be a convergence in the near future.

Environments like .Net and the JVM stack will slowly allow tighter and finer-grained interoperability of the languages they host. We currently have class-level blending of languages, and in the future we will probably see method-level blending. The best DSL for the job.

Re: Ask HN: The future of programming languages?

#7
post #4

I really hope that game and other performance-dependent development moves to Go or something like it, rather than being stuck in C/C++ land. The advantages of modern syntax design coupled with a fast native compiler would be a potent and exciting mix.

The good news is that computers seem to be fast enough to allow game developers to work in less than speed-optimal languages, so long as they are willing to accept some stylization. Consider Minecraft, easily the hottest indie title in years, and it's written in straight-up Java. (As far as pure numerical computation is concerned, Java is actually a pretty good match for C++ these days, but 3d graphics remain a fairly serious bottleneck.)

If we're shooting for the stars, though, I'd personally prefer something more ambitious than Go, like GOAL[1].

[1]http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

Re: Ask HN: The future of programming languages?

#8
For game development, I think it will diversify with the increasing ease of developing and selling indie games that do well. There are lots of languages getting perfectly good game development libraries that can definitely be used for the (often simple looking) indie game market.

However I don't think the big players in the industry will be able to. To deliver games of great scale (WoW) or intense graphics/effects you're going to need something that can deliver the absolute best performance.

Re: Ask HN: The future of programming languages?

#9
post #4

I really hope that game and other performance-dependent development moves to Go or something like it, rather than being stuck in C/C++ land. The advantages of modern syntax design coupled with a fast native compiler would be a potent and exciting mix.

The good news is that computers seem to be fast enough to allow game developers to work in less than speed-optimal languages, so long as they are willing to accept some stylization. Consider Minecraft, easily the hottest indie title in years, and it's written in straight-up Java. (As far as pure numerical computation is concerned, Java is actually a pretty good match for C++ these days, but 3d graphics remain a fairl…

Game developers don't only use it for speed. Mainly for portability. With c/c++ they can make (portions of their) code run on xbox/ps3/nintendo wii/ds/iphone/whatever.

Re: Ask HN: The future of programming languages?

#10

I think VMs are the future of application programming, especially as manufacturers become more amenable to using "unconventional" architectures like ARM to host full-featured computers. LLVM, the JVM and the CLR all have benefits- I don't see any reason to believe there will be a convergence in the near future. Environments like .Net and the JVM stack will slowly allow tighter and finer-grained interoperability of th…

Those VM designs are pretty heavily skewed towards class-based OO languages, though. Most VMs have some kind of behavior (polymorphic method lookup, unification, message-passing) that they do very efficiently because of the language they target, but others are omitted. For example, it isn't possible to do real tail-call optimization on the JVM without a trampoline, AFAIK. If it had been created for (say) ML, TCO would be a given, but OO stuff would be an afterthought.

The Erlang VM is another interesting platform, albeit one heavily skewed towards fault tolerance, concurrency, message passing, etc.

Post reply on HN