Ciao Python, Hola Go
tav.espians.com
tav.espians.com
One thing we need to learn to accept is that no tool is ever perfect. What is optimal for building applications may get in the way when doing embedded work. An outstanding teaching language may not be efficient enough for experts. There are many different situations we'll encounter as programmers. Not every can be resolved with the same set of tools, so the more we have available (and understand!), the better.
I think the problem is that the bigger the ecosystem for an environment, the more valuable peoples' skills are, with those tools.
Hence, language advocacy is an "efficient" choice (see the blog post about Perl on the front page, right now... pure flaming comments voted high.)
I would prefer to know as few languages and APIs as possible that let me get my work done. Python is one of the languages and the other one is C.
C is for doing realtime stuff and Python is for everything else (setup, network IO, GUI, web, etc). Unlike the author of the artice I like using Twisted and it works reasonably well for what I am doing.
Because you have a blog and must fill it with something or it whithers. Controversy is more filling than pragmatic rationalism.
I like learning new languages, but realistically, I can not be very good in an unlimited number of them.
Most of the reasoning here that's not flat out wrong (such as to the reference to lack of Google support for Python, inability to secure the platform, ), seems performance focused, so perhaps that's a sufficient justification?
Why someone would choose to switch from a well established language to a brand new bleeding edge one is beyond me.
It's like investing in a company; the smaller it is when you throw in your lot, the better placed you'll be when it grows big. Imagine that Go becomes the Next Big Thing five years from now, displacing large amounts of C/C++ code--this guy would then have five years of experience under his belt in the hot new language right as its popularity spikes.
The potential downside is that the language never takes off and you end up an expert in something that no one wants (see also: Lisp.).
This would hopefully lead on to job opportunities down the road.
I managed to get in fairly early on Drupal, and it's been a nice source of work over the years.
Projects like this might help, but I suspect there will always be someone willing to port a library to be native.
For example, there's SWIG: http://www.swig.org/
Unfortunately, there tend to be subtle issues of impedance mismatch that make cross-languages bindings never feel quite right.
Than again, if you want to be really cutting edge and be mentioned in a lot of conversations, Go is probably a much more interesting choice as it as more of a hot topic right now.
Anyway, he seems to have a very specific, narrow use case (native client).
http://en.wikipedia.org/wiki/Google_Native_Client
It seems to be sandboxed, whereas ActiveX is a security nightmare.
Even so, I remain very skeptic about this.
It does present a real concern and exposing additional APIs is going to always present increased security risk. That said, having looked a bit at Native Client's sandbox and having examined the findings of the well respected security researchers who examined the sandbox protections, Google's taking a pretty good whack at it and their sandbox itself is fairly sound.
My worry is not with their sandbox, but the additional APIs that they expose with it. (See also: WebGL which now throws your entire GL stack into your web browser as security critical code.)
It's a little far-fetched to say that two operating systems and a string container are some of the biggest contributions to computer science to date.
On the other hand if we're talking about computing and programming in general then they are pretty damn major, possibly on the top 10. One has to remember that CS isn't programming and programming isn't CS.
Not to mention that computer science, in the narrow sense, isn't about computers and isn't a science. Three cheers for unclear terminology!
More to the point though, it is a dumb reason to use a language. Though not a dumb reason to pay attention to it or its design.