Hacker News new | past | comments | ask | show | jobs | submit login

I've often heard that Go founder were surprised that Go seemed to replace python more than C++ or C which were the initial targets. By judging from the given examples it seems that it isn't the case : people seem to come to Go when they start looking for performance. Instead of writing C modules and using them from python, they just switch everything to Go.

I'd be curious to know how many start ups prototype their first software version with Go.

Note : as a coder that writes a lot of python, seing dropbox switch to Go in parallel to python so often having toxic discussions about python 3 vs 2 is really painful.




It's not surprising that people motivated by performance would arrive to Go from languages that are slower. C/C++ developers would certainly not use that argument in favour of a switch given that matching C/C++ performance is a non goal for Go.

There are other reasons C++ developers might have to switch to Go; that's what Rob Pike was referring to when he said that he was surprised that Go wouldn't replace C++. He didn't mean that Go failed to replace C/C++ as the target of optimization from slower languages, but failed to replace C/C++ for those who were already using it.

Go has been explicitly designed to avoid the perceived pitfalls of C/C++ from their experience at Google. It's not a language that fixes C++ like D or Rust, but tries to get to the root of the problem, and the problem they identified was complexity.


We, CloudFlare, write a lot of new stuff in Go. It works well for our use model: highly-concurrent networked stuff.

I've just been rewriting a thing that was in a monstruous mixture of PHP/Python into a single Go program.


Is your front-end/admin panel/... written in Go too? Because when noobs hear "We use Go",they'll think you're using that to generate webpages,CRUD apps,or write CMSes.


Python is still going strong. I use Python as well and still haven't found anything as good for getting started and running quickly without having some crazy typing rules or other "warts". There is not "Python: The Good Parts" book for a reason. Also for what I do Python has been plenty fast.

I wrote C modules here and there. Used cffi, that works great so far.

The thing is that those that don't switch languages usually don't write blog posts and those don't end up on HN (sorry for repeating it, I've already mentioned this in a sibling post). So the impression is that that's it Python and Node.js is dead, we should switch to something else.

Presumably in 2 years we'll see "We are switching from Go to <Rust|SomeLispThing|Swift|OtherNewThing>" posts. It won't mean Go won't still work well.

As for 2 vs 3. Yeah I am in the naysayers for 3. Sorry, for fueling the flames. But from my perspective it came too late and it didn't have enough benefits (or rather 2 didn't have big enough warts) so it ended up being very painful. I still plan on staying with 2 for now. We'll see if 3.5 or 3.6 bring about better tempting features and more 3 library ports get stabilized.


Because thanks to our experience with strong typed languages with native compilers and type inference, we know better.

Many of us have had the fortune to work with C, C++, Ada, .NET, Java, Delphi, Modula and Oberon derived languages, ML language family.

So we already know what modern strong typed languages, with native compiler toolchains, are capable of in terms of language features. And going Go feels a bit backwards.

Regarding Python, I never saw it more than a scripting language for system administration. ML based languages provided a better experience in terms of both performance and productivity.


.NET isn't a language.

The languages you list really suck compared to Go. They are ridiculously verbose. Goroutines in particular are really quite nice.


> .NET isn't a language.

It is easier to name the eco-system than all the languages with available compilers targeting .NET.

> The languages you list really suck compared to Go. They are ridiculously verbose.

Except they embrace the last 30 years of language research.

> Goroutines in particular are really quite nice.

Goroutines are nothing new. Modula-2 already had them.


Gosh this reply is ridiculous.

We're talking about languages and .net isn't a language. The differences between visual basic and f# are vast.

Are you saying the last 30 years of language research dictate that languages should be more verbose?

Comparing go-routines to modula-2 is disingenuous at best. Multiprogramming is nothing like multithreading.


My professional history is with C, C++, C#, Fortran, even years of Object Pascal in Delphi back in the day.

In no universe does Go feel like it's a "bit backwards", and I think you're trying to speak for a group without their input.

Indeed, an implementation I regularly use now is high performance algorithms in C++ (the Intel vectorizing compiler is superb) to function libraries, Go/cgo as the extremely efficient, very easy to write and maintain orchestration/manager.


I speak for the ones that got interested into Go as a mix of C and Oberon, even tried to initially contribute and went away as the language became a kind of Java 1.0.

The ones addressed by Rob Pike on his post about C++ developers.

Now I spend more time with Rust and D instead.


You are probably thinking of Rob Pike's talk, Less is exponentially more:

http://commandcenter.blogspot.com/2012/06/less-is-exponentia...


Dropbox switch to Go? Where did you read that? If anything they seem to be "investing" in the Python ecosystem[1].

[1] https://tech.dropbox.com/2014/04/introducing-pyston-an-upcom...


Where did he read that? How about in the article?


The original article states: "One of Python’s most visible users, Dropbox — who also employs Python’s creator Guido van Rossum — recently announced it has migrated major parts of its back-end infrastructure from Python to Go" and refers to [1].

[1]: https://tech.dropbox.com/2014/07/open-sourcing-our-go-librar...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: