
The next wave of programming languages - Anon84
http://radar.oreilly.com/2010/07/the-next-wave-of-programming-l.html
======
j_baker
Programming language authors _really_ need to learn how to make a website.
Look at Ruby's: <http://www.ruby-lang.org/en/>

No long explanations about what it means for Ruby to be a dynamic, object-
oriented language. I don't have to read its author's paper or book to get it.
Just a short code snippet to show me what it looks like and several links so I
can learn more.

~~~
Calamitous
Very much so. I don't get the (apparent) belief that _code samples must be
hidden at all costs._

If I'm looking at a language, I want to see what it looks like...

~~~
Scriptor
Only a small number of the language websites listed on the emerging langs camp
site have _any_ code on them, and that includes those with maybe just a couple
of lines for an edge case scenario.

I guess a bunch of those languages are highly academic and the meat is in the
implementation as opposed to the syntax. But language developers need to start
putting some effort into the non-code parts of their projects. I'm not going
to get inspired to pick up a new language by bullet points. At the same time,
I'm working on my own language project so I know it can be challenging to use
just the right code to give the best first impression.

------
rdtsc
Interesting languages not on the list:

* io : <http://www.iolanguage.com>
    
    
          Clean, minimalistic, prototype based OO.
    

* Reia : <http://wiki.reia-lang.org>
    
    
           Ruby-like syntax on Erlang's VM
    

* Curry : <http://www-ps.informatik.uni-kiel.de/currywiki>
    
    
          Functional logic language :  Prolog+Haskell.
    

* Oz/Mozart : <http://www.mozart-oz.org>
    
    
          Multi-multi paradigm language, includes constraint based programming.
    

Some of them are not necessarily up-and-coming but rather out-and-going. Oz is
interesting, but it seems to be dying. Some like Reia are making slow
progress. Curry is more of an academic language. io is probably the most up-
and-coming so to speak.

~~~
dublinclontarf
Reia is currently my wet dream language, similar to Ruby, and does
concurrency(buit on top of BEAM for Christs sakes). And then you read the
small print and learn that it's not available as a download. :<

Can't wait until it's ready though.

~~~
Scriptor
The repo is available at <http://github.com/tarcieri/reia>

Is it just too unusable right now?

~~~
dublinclontarf
Actually I havn't tried, I'm busy with work that does not in any way require
Reia so I don't have time.

There's plenty of things I'd love to do with it when I've got time though.

------
jashkenas
The full list of speakers and languages:

    
    
        Rob Pike and Robert Griesemer – Go
        Steve Dekorte – Io
        Charles Nutter – Duby
        Matt MacLaurin – Kodu
        Gilad Bracha – Newspeak
        Jeremy Ashkenas – CoffeeScript
        Adam Chlipala – Ur
        Francisco Tolmasky – Objective-J
        Jonathan Shapiro – BitC
        Luke Hoban – F#
        Tav – PyPy
        Rich Hickey – Clojure
        Christopher Bertels – Fancy
        Jonathan Edwards – Coherence/Subtext
        Alex Eagle – Noop
        Slava Pestov – Factor
        Erik Meijer – C#
        Mark S Miller – E, Caja
        Brian Rice – Slate
        Walter Bright – D
        Wolfgang De Meuter and Tom Van Cutsem – AmbientTalk
        Phil Mercurio – Thyrd
        Melvin Smith – Cola
        Carson Gross – Gosu
        Alexander Fritze – Stratified JavaScript
        Alan Eliasen – Frink
        Dan Bornstein – Dalvik
        Steve Folta – Trylon
        Ola Bini – Ioke
        Amos Wenger  - ooc﻿

------
acangiano
In that list, Clojure is the language that excites me the most. It's a modern,
pragmatic Lisp ready for the multiprocessor world. You can do a lot worse than
trying it out if you haven't already.

~~~
colonelxc
I was playing with Clojure this last weekend, and so far have enjoyed it. I
ran through a dozen or so project euler problems, but am now looking for
something that takes longer than 10 lines of code to complete.

HN, what other projects do you do to familiarize yourself with a new language?

~~~
DavidMcLaughlin
I found going through "Introduction to Algorithms" and porting the algorithms
in the book to <new language> a great way to get used to a new language.

~~~
silentbicycle
Okasaki's _Purely Functional Data Structures_ can be a good choice, too -
depends on the language.

------
stcredzero
The dynamic/compiled distinction needs to go away. Combine a simple syntax
with very rapid compilation with LLVM, Type Inference, and very advanced
emulator-based debugging, and there would be no need to have anything like
Smalltalk/Perl/Python/Ruby any more. Instead of dynamic Duck Typing, you'd
have Go's version, with auto-magic help from type inference. The emulator-
based debugger could subsume many of the capabilities granted by a VM and
enable the freewheeling runtime monkey-patching that can be leveraged for the
same jaw-dropping ingenious debugging available in many current dynamic langs.
This last component would be the hardest to implement.

(Cue the Haskell guys so they can point out how they're most of the way there
already.)

~~~
joubert
_The dynamic/compiled distinction needs to go away_

dynamic / compiled are orthogonal.

CL is dynamic and gets compiled as you enter in the REPL.

~~~
pbiggar
Dynamic/compiled should be orthogonal, but rarely have been in practice.
Witness PHP, Perl, Ruby, Lua, Python.

~~~
stcredzero
It's time for it to be so in practice. The technology is way ahead of our
cultural expectations.

------
motters
Concurrency should really be the number one issue for any new programming
language. To my knowledge, none of the popular languages out there today are
really able to handle concurrency in a seamless way which doesn't generate
headaches for the developer. Distributing computation over threads and
machines needs to be easier.

------
euroclydon
I found Kodu very interesting. It's a graphical programming language by
Microsoft Labs, that allows kids to create games. It runs on the XBox and uses
only the XBox controller.

The XBox part turned me off right away, because that's the last thing I need
in my house while we're homeschooling our children, however, I found a free
academic version that runs on the PC: <http://fuse.microsoft.com/projects-
kodu.html>

~~~
vollmond
Out of curiosity, why would having an XBox in your home be a problem? I was
homeschooled (though only in high school) with several consoles in our house,
and it doesn't seem to have been a problem. I wasn't allowed to goof off
school time on video games any more than I could have played my Game Boy in a
public school classroom.

edit: I suppose a more clear question would be: What is it specific to
homeschooling that you don't like about the XBox? Or am I reading too much
into your comment?

~~~
euroclydon
I have a suspicion that "screen time" whether it be TV, videos or games, has a
detrimental affect on: attention span, tranquility and susceptibility to
advertisements and psychological mass-manipulation in general.

~~~
timwiseman
I suspect it matters very much what is on that screen. Music videos and action
movies are practically designed for people with ADHD. Many video games are the
same way.

On the other hand, there are some high quality documentaries and prerecorded
college lecturers will not hav ethe issues you describe and as an avid (though
very bad) GO player I personally feel that there is very little difference
between playing on a screen and playing in front of a board.

~~~
euroclydon
Designed for, or designed to induce?

~~~
Scriptor
Let's stop throwing around the word ADHD. It encourages people who just don't
have the discipline to focus to give themselves an excuse, while lessening the
perception of the problems for people who are actually debilitated by it.

There's no media-driven conspiracy to alter your mind. There _has_ been an
evolutionary trend to favor the animal who could quickly notice the
approaching bear versus the animal too intent on its task. Conversely, _human_
evolution has needed intense concentration to drive innovation in things like
tool development, construction, and art.

There's media that caters to both. WIth action-packed movies and games
thriving on quick attention-shifting, and grinding-based MMO's relying on the
ability of players to do repetitive tasks for hours on end.

One could give the same attention-reducing arguments against books and for
oral stories. That said, you shouldn't just make a blanket statement against
all screen media. Teach your kids how to discriminate between what's good for
them and what's not.

~~~
euroclydon
"There's no media-driven conspiracy to alter your mind."

I think that's wrong. Forget whether it's a conspiracy or not; many things are
effective conspiracies. These days, media is designed to be _sticky_ and most
media is driven by advertisements, the goal of which are to make you think
you're not good enough unless you buy certian things.

Video is a think pipe directly into your brain, and I believe there is
evidence to suggest that "screen time" does alter the way your mind functions.

------
gtani
<http://emerginglangs.com/speakers/>

Wish i could go.

~~~
johkra
That's indeed very impressive. I hope they are recording and putting the
videos online.

~~~
AndrejM
I've just sent them an email asking this question. Waiting for the reply..

~~~
AndrejM
Update: Just got the reply, there will be Video. Yay!

------
WalterBright
I'll be there to talk about the D programming language.

~~~
tomjen3
Interesting, I kinda liked D, but I heard about it years ago and assumed it
had died in the meantime.

Good to hear it hasn't.

Edit: I seem to be unable to find the actual license of the digital mars
compiler - does anybody know where it is?

------
warfangle
Newspeak looks really fascinating. Relavent paper:

<http://bracha.org/newspeak.pdf>

~~~
zephyrfalcon
Yeah, but that picture on the website doesn't really make me want to try it,
benefits of the language nothwithstanding... :-(

(<http://bracha.org/Site/Newspeak.html>)

~~~
acangiano
Don't downvote him. He is absolutely right. The picture on that page is a
major WTF and it doesn't offer a great first impression to the visitor
interested in the language.

~~~
billmcneale
The copyright reads "Rachel Bracha". Probably a picture taken by his wife or
daughter.

Terrible choice nevertheless.

------
RyanMcGreal
I'm genuinely curious: what advantage accrues to a programming language
designed for concurrency that you can't get with a good concurrency library
for an existing language?

~~~
lukev
Syntactic support, immutability semantics, and compile-time limitations on
side-effects.

Of course, it's POSSIBLE to do everything with a library + discipline. For
example, I can import the Clojure jar and use Clojure's data structures and
STM in a Java program. But it is _very_ verbose, and you have to _know_ that
certain variables are immutable, or that certain operations are illegal in
certain places, etc, rather than having that information encoded into the
language.

------
WalterBright
I think I'll stop reading HN and go do something useful!

------
mkramlich
Clojure and D are the two languages of the newer wave that I'm most likely to
end up using. They each have a combination of elegance and practicality which
are pretty rare among new languages I think.

------
joubert
I wonder why to Go guys aren't there.

~~~
Scriptor
They are: <http://emerginglangs.com/speakers/>

First one in the list :)

