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

Another two months and we should see the headline, "How and Why We Switched from Python to Go."



Followed by "How and Why We Switched from Go to Erlang" completing the cycle.


That transition (Go->Erlang) doesn't seem likely. Why? My impression this company's primary motivations switching to Python were 1. Maintainability (how maintainable Erlang was for them). and 2. Performance.

1. Maintainability: Go is ALGOL/C-family-esk and it will be much easier for a Java/C#/Python/<insert very common lang> programmer to ramp up on it than Erlang. Go code is sometimes called boring because it tends to be very straight forward and pragmatic- this makes for very maintainable large systems.

2. Performance: Go performs much better than Python or Erlang[1-3].

Computer Language Benchmarks Game:

1: Go vs Python: http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...

2: Go vs Erlang: http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...

TechEmpower: Web Framework Benchmarks: 3: http://www.techempower.com/benchmarks/


> Go performs much better than Python or Erlang[1-3].

I'm going to go out on a limb and say that performance is more subtle than can be reduced to a single "is better than" about throughput in HTTP requests or computing mandelbrot fractals in the shootout.

All of the languages have a specific area where they shine. Erlang in largely concurrent systems. Python also has a sizable mindshare in the HPC world.


>>I'm going to go out on a limb and say that performance is more subtle than can be reduced to a single "is better than" about throughput in HTTP requests or computing mandelbrot fractals in the shootout.

Sure, and I'd agree with that. But when it comes to empirical data, microbenchmarks are one of the best sources of data we have to look at. The best source will always be your specific application of course. Benchmarks will never be perfect, but they should not be so easily discarded.

>>All of the languages have a specific area where they shine.

Agreed. I do think it is worth pointing out that the Computer Lang. Bench. Game has a wide variety of programs just for the reason you point out, and it gathers both execution time and memory usage data.

>>Erlang in largely concurrent systems.

Very true; however, concurrency is also a strong point of Go.

>>Python also has a sizable mindshare in the HPC world.

While I'm sure this is true, that could be for reasons other than performance. I know some Astronomers that use Python because as non-CS people its easier for them to use than C or Fortan. However, if they have a really expensive program and they bring in someone with formal C-S training to port to C Fortran or Java the resulting improvement is almost always huge.


LOL, this would be hilarious.




Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: