Google Dev: the Next Big programming Language

Steve Yegge, who is a developer up at Google Kirkland (you can see him in this video tour I did of the Google Kirkland office) has an interesting post titled: The Next Big Language, or NBL for those of you who need three-letter acronymns just to feel sufficiently geeky. Can you guess which language it is?

Yeah, I snuck onto the Wifi network here in Geneva’s airport. Our plane for Munich leaves in 25 minutes.

89 thoughts on “Google Dev: the Next Big programming Language

  1. I must respectfully disagree with you, Peter. The Windows platform has PowerShell (formerly codenamed Monad) available for download which completely supplants the (frankly crappy) standard command-line interpreter. It’s astonishingly powerful, well documented and a joy to use; making the plethora of *nix shells look a little obsolete IMHO.

    What is a “free” language? C# has an open ECMA standard; so the language itself could be implemented without charge by anyone (and indeed has been, such as in the excellent Mono port to Linux). The bare command-line compiler is part of the freely downloadable .NET framework, and there is a highly competent IDE (C# Express edition) freely downloadable from MSDN. None of these have any restrictions on use as far as I’m aware. It’s also a very nice language with an immaculate pedigree; the designer was Anders Hejlsberg, who designed Turbo Pascal and Borland Delphi. Surely he’d have to figure highly in your 100 top-notch programmers?

    I’m no Microsoft fanboy (far from it actually), but I’ve got to pay respect where it’s due. C# and .NET have evolved into an outstanding development platform.

  2. I must respectfully disagree with you, Peter. The Windows platform has PowerShell (formerly codenamed Monad) available for download which completely supplants the (frankly crappy) standard command-line interpreter. It’s astonishingly powerful, well documented and a joy to use; making the plethora of *nix shells look a little obsolete IMHO.

    What is a “free” language? C# has an open ECMA standard; so the language itself could be implemented without charge by anyone (and indeed has been, such as in the excellent Mono port to Linux). The bare command-line compiler is part of the freely downloadable .NET framework, and there is a highly competent IDE (C# Express edition) freely downloadable from MSDN. None of these have any restrictions on use as far as I’m aware. It’s also a very nice language with an immaculate pedigree; the designer was Anders Hejlsberg, who designed Turbo Pascal and Borland Delphi. Surely he’d have to figure highly in your 100 top-notch programmers?

    I’m no Microsoft fanboy (far from it actually), but I’ve got to pay respect where it’s due. C# and .NET have evolved into an outstanding development platform.

  3. @41,

    Brian, I agree with a lot of what you say. There ARE many talents to programming. You have to be a good abstract thinker as well as one who feels comfortable with structure. good programmers need to be able to think “out of the box”, as you did when you solved that puzzle. Kudos.

    *nix people are not all that when it comes to writing good interfaces. I readily admit this. I think part of the reason for this is that so many of us live in the command line rather than in the GUI. The reverse is true in Windows. The Windows command line is pitiful in comparison to that in *nix as anyone with any experience in both will tell you.

    I do quite a bit of work in the command line (CLI). I work with routers and switches, Linux, FreeBSD, etc. The *nix command line is just so powerful.

    The *nix world does suffer from a lack of “good” GUIs, but this is changing rapidly. You should really check out what KDE has done with its latest release. Gnome is a little slower to come clean, but I prefer it because it’s elegantly simple.

    Most *nix types prefer minimalist simplicity with no eye candy. Since *nix is primarily a server OS still, X is rather useless to most admins, hence most GUIs look primitive to Windows users.

  4. @41,

    Brian, I agree with a lot of what you say. There ARE many talents to programming. You have to be a good abstract thinker as well as one who feels comfortable with structure. good programmers need to be able to think “out of the box”, as you did when you solved that puzzle. Kudos.

    *nix people are not all that when it comes to writing good interfaces. I readily admit this. I think part of the reason for this is that so many of us live in the command line rather than in the GUI. The reverse is true in Windows. The Windows command line is pitiful in comparison to that in *nix as anyone with any experience in both will tell you.

    I do quite a bit of work in the command line (CLI). I work with routers and switches, Linux, FreeBSD, etc. The *nix command line is just so powerful.

    The *nix world does suffer from a lack of “good” GUIs, but this is changing rapidly. You should really check out what KDE has done with its latest release. Gnome is a little slower to come clean, but I prefer it because it’s elegantly simple.

    Most *nix types prefer minimalist simplicity with no eye candy. Since *nix is primarily a server OS still, X is rather useless to most admins, hence most GUIs look primitive to Windows users.

  5. Peter,

    heads up—

    Bill Gates was a good programmer when he did programming. Even open source people admit it when they look through his old code for things like his BASIC implementation.


    I don’t do programming regularly, so I’m not very disciplined in some ways and don’t know how to do everything thats low-level, but whether people would want to judge me as a good programmer or not would depend on how you’re doing the judging. I learned to program hobbying in Visual Basic, even though I now know other languages. But this sort of background made me focus on the job differently. I don’t by habit take a very structured approach that you need when you’re creating important programs, although I’m sure I could do this, but I’m very good figuring out programming problems ad-hoc. At a Berkeley CS course in Java within a half an hour I hacked together a program which solved a hard puzzle problem, when for everyone else in the class, including my partner who was a *nix geek, took days to figure out what they were doing. Unfortunately, what I did was spaghetti code, so it had to be redone :) But that to me seems like it should be the easy part. So like I said, it depends what you mean by ‘good programmer’. There are a lot of different talents involved in programming. The last of which, which I don’t think *nix people understand well, is the interface (user interface and otherwise).

  6. Peter,

    heads up—

    Bill Gates was a good programmer when he did programming. Even open source people admit it when they look through his old code for things like his BASIC implementation.


    I don’t do programming regularly, so I’m not very disciplined in some ways and don’t know how to do everything thats low-level, but whether people would want to judge me as a good programmer or not would depend on how you’re doing the judging. I learned to program hobbying in Visual Basic, even though I now know other languages. But this sort of background made me focus on the job differently. I don’t by habit take a very structured approach that you need when you’re creating important programs, although I’m sure I could do this, but I’m very good figuring out programming problems ad-hoc. At a Berkeley CS course in Java within a half an hour I hacked together a program which solved a hard puzzle problem, when for everyone else in the class, including my partner who was a *nix geek, took days to figure out what they were doing. Unfortunately, what I did was spaghetti code, so it had to be redone :) But that to me seems like it should be the easy part. So like I said, it depends what you mean by ‘good programmer’. There are a lot of different talents involved in programming. The last of which, which I don’t think *nix people understand well, is the interface (user interface and otherwise).

  7. And i dont know , if google begins to convert each of the things into a web based application ,
    and maybe a NBL on the net , with a net based IDE .
    doomed is what we all are .

    Alreadyi heard its google is getting its os along with firefox done .

    Another , seed to conquer . :(
    hmmm

  8. And i dont know , if google begins to convert each of the things into a web based application ,
    and maybe a NBL on the net , with a net based IDE .
    doomed is what we all are .

    Alreadyi heard its google is getting its os along with firefox done .

    Another , seed to conquer . :(
    hmmm

  9. When will web applications become more widely used, more powerful & graphically richer than traditional software applications.

  10. When will web applications become more widely used, more powerful & graphically richer than traditional software applications.

  11. Why isnt PHP used as much as ASP, when PHP is free, easier to learn & faster than ASP. PHP combined with an AJAX or Flash interface provides the ultimate web application.

  12. Why isnt PHP used as much as ASP, when PHP is free, easier to learn & faster than ASP. PHP combined with an AJAX or Flash interface provides the ultimate web application.

  13. @35,

    There are maybe 100 people on the planet that could write a good compiler. I’m deadly serious. Same goes for kernel hackers.

    The average programmer is mediocre. Believe me. I’ve worked with dozens of them over the years and read even more about it over those same years.

    Good programmers are very rare. Yes, every larger company has a few, but they rarely get to really shine that often since most of them write what they’re told since they need to pay the bills. I’ve heard this time and time again from hackers sick of writing for boring apps and vertical software.

    Great programmers are:

    Richard Stallman (wrote GCC, emacs, etc.)
    Eric Raymond (wrote fetchmail, etc.)
    Linus Torvalds (wrote the Linux kernel)
    Theo De Raadt (OpenBSD founder, wrote large parts of ssh, pf, etc.)
    Miguel de Icaza (wrote mono, large parts of Gnome)

    Apple and MS have some good programmers but no one on the scale of the free software guys.

  14. @35,

    There are maybe 100 people on the planet that could write a good compiler. I’m deadly serious. Same goes for kernel hackers.

    The average programmer is mediocre. Believe me. I’ve worked with dozens of them over the years and read even more about it over those same years.

    Good programmers are very rare. Yes, every larger company has a few, but they rarely get to really shine that often since most of them write what they’re told since they need to pay the bills. I’ve heard this time and time again from hackers sick of writing for boring apps and vertical software.

    Great programmers are:

    Richard Stallman (wrote GCC, emacs, etc.)
    Eric Raymond (wrote fetchmail, etc.)
    Linus Torvalds (wrote the Linux kernel)
    Theo De Raadt (OpenBSD founder, wrote large parts of ssh, pf, etc.)
    Miguel de Icaza (wrote mono, large parts of Gnome)

    Apple and MS have some good programmers but no one on the scale of the free software guys.

  15. I still don’t get the notion of free languages

    “The developers of these languages released them under free software licenses. They were not developed under a corporate umbrella with restrictive licenses.”
    C#, which by your definition is not a free language. But you can write your own compiler and release the compiler for free. How’s this different from Perl or Ruby?

  16. I still don’t get the notion of free languages

    “The developers of these languages released them under free software licenses. They were not developed under a corporate umbrella with restrictive licenses.”
    C#, which by your definition is not a free language. But you can write your own compiler and release the compiler for free. How’s this different from Perl or Ruby?

  17. Open Source is great, but proprietary software isn’t all evil by definition. Best tool for the job I say.

    Having said that, if I were a startup now, with aspirations to get big quickly I’d go Open Source, it’ll save you loads over hundreds of web/db servers.

    My question is what Virtual Machine (as in JVM vs CLR) will the next big language run on. It seems to be the competition that’s heating up this year. Once we have them then will we see numerous domain specific languages popup. And what about all the cores Intel/AMD keep giving us any ideas what to do with them?

  18. Open Source is great, but proprietary software isn’t all evil by definition. Best tool for the job I say.

    Having said that, if I were a startup now, with aspirations to get big quickly I’d go Open Source, it’ll save you loads over hundreds of web/db servers.

    My question is what Virtual Machine (as in JVM vs CLR) will the next big language run on. It seems to be the competition that’s heating up this year. Once we have them then will we see numerous domain specific languages popup. And what about all the cores Intel/AMD keep giving us any ideas what to do with them?

  19. Re: @28 “The best compiler on the planet, bar none, is GCC, a free software compiler.”

    Maybe for *nix, but not for Windows.

  20. Re: @28 “The best compiler on the planet, bar none, is GCC, a free software compiler.”

    Maybe for *nix, but not for Windows.

  21. Re @9: “GCC, which is a free software compiler, is probably used by more people than any other compiler out there”

    Maybe for *nix, but not for Windows.

  22. Re @9: “GCC, which is a free software compiler, is probably used by more people than any other compiler out there”

    Maybe for *nix, but not for Windows.

  23. @peter:

    Yep, the best image editing software is free software, the best video editing software is free software, the best IDE is free software, the best office app is free software, the best media player is free software, aint it?

    >>Look at the most successful languages of the last thirt y years: C, Perl, Python, Lisp

    I can’t believe nobody’s nitpicked that line before me. Out of the four, except C, I can’t call anything else successful. Useful? Yes. Cool? Yes. More Elegant/Aesthetic? Yes. Productive to Code in? Yes. Successfuly? Nope.

    I seriously think, Peter, that your time would be better spent if you *actually* (gasp) spend your time (gasp) making linux not suck on the Desktop (gasp) rather than troll around? Because, afterall, after reading your comment, who would be running that damn Windows evah? See ya from linux!

  24. @peter:

    Yep, the best image editing software is free software, the best video editing software is free software, the best IDE is free software, the best office app is free software, the best media player is free software, aint it?

    >>Look at the most successful languages of the last thirt y years: C, Perl, Python, Lisp

    I can’t believe nobody’s nitpicked that line before me. Out of the four, except C, I can’t call anything else successful. Useful? Yes. Cool? Yes. More Elegant/Aesthetic? Yes. Productive to Code in? Yes. Successfuly? Nope.

    I seriously think, Peter, that your time would be better spent if you *actually* (gasp) spend your time (gasp) making linux not suck on the Desktop (gasp) rather than troll around? Because, afterall, after reading your comment, who would be running that damn Windows evah? See ya from linux!

  25. @18, Martin:

    I’m not talking about migrating from one OSS platform to another. I’m talking about wholesale migration from draconian corporate software to free/libre software.

    The best web servers are free software, the best browsers are free software, the best MTAs/MUAs are free software… the list goes on.

    The Internet is largely made up of free software. Almost 90% of all email servers are free software-based MTAs (mail transport agents) like Sendmail, Exim, Postfix, etc.

    Almost ALL DNS servers are built on free software.

    The most robust operating systems are free software. FreeBSD is widely known as THE best server OS on the planet for stablily, TCP/IP stack, you name it.

    There is no downside to free software that I’m aware of.

    It’s a proven fact that it takes more admins to administer a network of thousands of Windows computers than it takes to administer a similarly sized BSD/Linux network.

    Windows installations were trashed by Nimda, Code Red, etc., while all the *nix boxes I was responsible for went untouched.

    Security is achieved far easier under *nix than under Windows.

    The benefits go on and on. And before you tell me I know not what I speak of, I have spent the last almost 6 years in IT security as the primary focus of my duties. People I’ve introduced to Linux and free software do not go back to Windows or the Mac.

    Remember this: in the free software world, we value freedom above all else, with innovation being second. Yes, a lot of things done in free software were done first by corporate software developers, but free software is just better for those who know how to make the best use of it.

    Ending, there very few tasks that free software cannot do that corporate software can, and those gaps are slowly being closed.

    So please don’t say it not always beneficial to move over to free/libre software on the server side. It’s ALWAYS benefical to save money on evil licensure, draconian usage terms, and stupid CPU limits. Proprietary compilers limit you to how many programs you can compile at one time.

    No thanks, I’m sticking with free software. It’s just better.

  26. @18, Martin:

    I’m not talking about migrating from one OSS platform to another. I’m talking about wholesale migration from draconian corporate software to free/libre software.

    The best web servers are free software, the best browsers are free software, the best MTAs/MUAs are free software… the list goes on.

    The Internet is largely made up of free software. Almost 90% of all email servers are free software-based MTAs (mail transport agents) like Sendmail, Exim, Postfix, etc.

    Almost ALL DNS servers are built on free software.

    The most robust operating systems are free software. FreeBSD is widely known as THE best server OS on the planet for stablily, TCP/IP stack, you name it.

    There is no downside to free software that I’m aware of.

    It’s a proven fact that it takes more admins to administer a network of thousands of Windows computers than it takes to administer a similarly sized BSD/Linux network.

    Windows installations were trashed by Nimda, Code Red, etc., while all the *nix boxes I was responsible for went untouched.

    Security is achieved far easier under *nix than under Windows.

    The benefits go on and on. And before you tell me I know not what I speak of, I have spent the last almost 6 years in IT security as the primary focus of my duties. People I’ve introduced to Linux and free software do not go back to Windows or the Mac.

    Remember this: in the free software world, we value freedom above all else, with innovation being second. Yes, a lot of things done in free software were done first by corporate software developers, but free software is just better for those who know how to make the best use of it.

    Ending, there very few tasks that free software cannot do that corporate software can, and those gaps are slowly being closed.

    So please don’t say it not always beneficial to move over to free/libre software on the server side. It’s ALWAYS benefical to save money on evil licensure, draconian usage terms, and stupid CPU limits. Proprietary compilers limit you to how many programs you can compile at one time.

    No thanks, I’m sticking with free software. It’s just better.

  27. @20,

    Free languages…

    Perl, Python, Ruby… goes on and on…

    The developers of these languages released them under free software licenses. They were not developed under a corporate umbrella with restrictive licenses.

    Free software is just simply better. Look at Firefox, for example. Python and Perl are better at what they do than anything else out there. Again, free software.

    The best compiler on the planet, bar none, is GCC, a free software compiler.

    In the end, the odds are against corporate software and draconian licensure.

    I forsee the server market literally dominated by free software in a very short amount of time. Yes, there will be other player, but they will be small in comparison.

  28. @20,

    Free languages…

    Perl, Python, Ruby… goes on and on…

    The developers of these languages released them under free software licenses. They were not developed under a corporate umbrella with restrictive licenses.

    Free software is just simply better. Look at Firefox, for example. Python and Perl are better at what they do than anything else out there. Again, free software.

    The best compiler on the planet, bar none, is GCC, a free software compiler.

    In the end, the odds are against corporate software and draconian licensure.

    I forsee the server market literally dominated by free software in a very short amount of time. Yes, there will be other player, but they will be small in comparison.

  29. You know, NBL sounds a *lot* like C# to me. If C# and .NET were developed by any other company except Microsoft, I’d bet this article would make frequent reference to it.

Comments are closed.