6 ms·
Ciao Python, Hola Go
- mattmcknight 17y agoIt 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 17y ago"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.
- deleted 17y ago[deleted]
- camccann 17y agoA 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 17y agoBy switching this early to Go you'd have to write much of what is available as third party libraries in Python yourself.
- Estragon 17y agoYeah, this is my main reaction, too. I couldn't switch until something like scipy was available.
- davecardwell 17y agoOn the upside, this gives you the ability to be the one that implements and open-sources some of the later heavily-used libraries and to carve a name for yourself in a burgeoning Go community. This would hopefully lead on to job opportunities down the road.
- chaosmachine 17y agoThis is a very good point. Getting in ahead of the curve on up-and-coming open source projects is an excellent way to become an in-demand consultant/freelancer/contractor. I managed to get in fairly early on Drupal, and it's been a nice source of work over the years.
- bioweek 17y agoI'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 17y agoThe Parrot VM [http://www.parrot.org/ http://www.parrot.org/] has been discussed here before: [http://news.ycombinator.com/item?id=552850 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.
- camccann 17y agoWell, auto-generating cross-language bindings so that you can make function calls between code written in arbitrary languages would be a good start. Limited subsets of this exist, usually variations on "how to call C libraries from other languages" since that's the most common scenario. For example, there's SWIG: http://www.swig.org/ http://www.swig.org/ Unfortunately, there tend to be subtle issues of impedance mismatch that make cross-languages bindings never feel quite right.
- deleted 17y ago[deleted]
- Tichy 17y agoI 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 17y agoIt's explained better on the Wikipedia page http://en.wikipedia.org/wiki/Google_Native_Client http://en.wikipedia.org/wiki/Google_Native_Client It seems to be sandboxed, whereas ActiveX is a security nightmare.
- Tichy 17y agoI am pretty sure ActiveX had some kind of sandbox model as well? Even so, I remain very skeptic about this.
- djcapelis 17y agoThere'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.)
- gmartres 17y agoBecause ActiveX is a proprietary, Windows-only technology?
- Tichy 17y agoOK, I was thinking in the security sense, but of course broader availability is interesting.
- tudorachim 17y ago"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 17y agoWhat would you say are greater contributions than UNIX or regular expressions (which you skipped)?
- tudorachim 17y agohttp://en.wikipedia.org/wiki/Turing_machines http://en.wikipedia.org/wiki/Turing_machines, http://en.wikipedia.org/wiki/Quicksort http://en.wikipedia.org/wiki/Quicksort, http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm, http://en.wikipedia.org/wiki/Dynamic_programming http://en.wikipedia.org/wiki/Dynamic_programming, graph coloring algorithms, etc.
- dagw 17y agoIf 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 17y ago"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!
- djcapelis 17y ago
- kzaragoza 17y agoI 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.
- berntb 17y agoBah, a voice of sanity. :-) 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.)
- delano 17y agoFor posterity: http://news.ycombinator.com/item?id=963341 http://news.ycombinator.com/item?id=963341
- rdtsc 17y agoI think it depends what you do with your toolbox. Most people have a limited amount of working memory and filling it with syntax rules + library APIs of 15 programming languages is not best way to get most tasks done (unless the task is to learn as many languages as possible). 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.
- njharman 17y ago> Why? Because you have a blog and must fill it with something or it whithers. Controversy is more filling than pragmatic rationalism.
- voidpointer 17y agoSo 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.