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

I work at Google and we don't have that much Python in our codebase. There are some outlying cases that use it (like the YouTube front end), and it _is_ one of our official languages, but the vast majority of Google code is C++, Java, and JavaScript, with Python a trailing 4th place. Python is just not that suitable for large-scale software development.

Readability means different things at different scales. Reading Python "in the small" is easy; it's looks like pseudocode. Once you start writing larger programs, between the 5k and 10k mark, the looseness of Python starts to become a burden. It can be very difficult to look at a piece of Python code in a large project and know exactly what it does. Dynamic typing means that a whole class of serious programming errors go unnoticed until runtime - and often only for a specific, uncommon input.

("Compulsory indentation" ?! Whomever works on a large project with others and doesn't format their code to the standard of the project should be taken out and shot. I'm only half-joking. Indentation has almost nothing to do with readability, though. It's just common sense.)

(I'm surprised to hear you say "there's only one way to do this" with regard to Python, as in my experience there are always several ways of doing anything, and it's not uncommon to see different/competing approaches used in a single project.)

I'm biased, but Go is a great choice for large-scale software development. It has the brevity of a scripting language, but being statically typed and compiled Go can be more reliable and efficient. It's also smaller and more consistent than any mainstream language. Because of this, you can typically look at a piece of Go code from any project and understand what's going on. This is because it's difficult to abuse Go in the same way you see done in the other four languages I've mentioned, and that is truly valuable at scale.




"Indentation has almost nothing to do with readability, though. It's just common sense."

Um...it has EVERYTHING to do with readability. That is WHY it is just common sense.


Wonderfully indented code is not always readable. Readable code is always indented well.


Since Go was developed at Google, what are the chances of it becoming the fifth sanctioned language?


>>It can be very difficult to look at a piece of Python code in a large project and know exactly what it does. Dynamic typing means that a whole class of serious programming errors go unnoticed until runtime - and often only for a specific, uncommon input.

The arguments I've read says that the "code scalability" is handled with more testing in the scripting languages. Is that wrong? I don't have statistics around, anyone got references?

(And yeah, indentation is mandatory. Implicit indentation often gets problems with copy/paste of code.)




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

Search: