

Ciao Python, Hola Go - tav
http://tav.espians.com/ciao-python-hola-go.html

======
kzaragoza
I don't understand this winner-take-all mentality around programming
languages. Why "switch?" Why not instead simply add another tool to your
toolbox? I like having a myriad of languages and libraries at my disposal.
Each has its strengths and weaknesses. Understanding those allows you to
choose the best tool for the job at hand.

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.

~~~
njharman
> Why?

Because you have a blog and must fill it with something or it whithers.
Controversy is more filling than pragmatic rationalism.

~~~
berntb
That explains the blogs (and, well, a large part of the media) but doesn't
answer the phenomenon of language wars.

~~~
hippee-lee
s/language/religious/ and wars over religion have been going on for thousands
of years. I don't think that explains it but the mentality seems very similar
to me.

------
mattmcknight
It seems a little early to be making any committed switches. I think I'd wait
until after I built something significant before I announced that something
new was better than something old. Especially when betting on a combination of
new tech such as Go and NaCl.

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?

~~~
irrelative
"A little early" seems like a giant understatement. Go has only been out for
about a month. Python has been out for ~18 years, About 200 times longer than
Go.

Why someone would choose to switch from a well established language to a brand
new bleeding edge one is beyond me.

~~~
camccann
A calculated gamble on the new language becoming popular in the next several
years?

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.).

------
uggedal
By switching this early to Go you'd have to write much of what is available as
third party libraries in Python yourself.

~~~
bioweek
I'm hoping someday in the future your statement will sound silly. There's got
to be some way we can avoiding rewriting all the libraries every time a new
language comes around.

~~~
davecardwell
The Parrot VM [<http://www.parrot.org/>] has been discussed here before:
[<http://news.ycombinator.com/item?id=552850>]

Projects like this might help, but I suspect there will always be someone
willing to port a library to be native.

------
voidpointer
So what he wants is a modern language in which to write fast programs for
NaCl? I find Go to be a rather strange choice for that given that it is quite
new and a bit unoptimized. I think that D might have been a more intuitive
choice as it provides you with a mature environment to write native code that
does way with a lot of the pain you get when using C++

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.

------
Tichy
I think he forgot to write part where he explains why native client is better
than ActiveX, or did I just overlook it?

Anyway, he seems to have a very specific, narrow use case (native client).

~~~
by
It's explained better on the Wikipedia page

<http://en.wikipedia.org/wiki/Google_Native_Client>

It seems to be sandboxed, whereas ActiveX is a security nightmare.

~~~
Tichy
I am pretty sure ActiveX had some kind of sandbox model as well?

Even so, I remain very skeptic about this.

~~~
djcapelis
There's "sandboxes" and then there's sandboxes. Native Client uses the latter
while ActiveX had barely the former.

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.)

------
tudorachim
"And, sure, the guys behind it had made some of the biggest contributions to
computer science to date, including: UNIX, regular expressions, Plan 9 and
even UTF-8!"

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.

~~~
stevejohnson
What would you say are greater contributions than UNIX or regular expressions
(which you skipped)?

~~~
dagw
If we're talking computer science then I kind of have to agree that Unix and
regular expressions are minor contributions if they even rank at all. There
are several theoretical concepts and core algorithms which are much much more
significant.

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.

~~~
camccann
"Computer science" is, unfortunately, often used as a catchall term for
"everything related to software and programming".

Not to mention that computer science, in the narrow sense, isn't about
computers and isn't a science. Three cheers for unclear terminology!

