5 ms·
I like your list. Where do you put JavaScript? For me it’s an F. Python I think needs a distinction. It’s an A for small projects that can be owned by a singl
by forrestthewoods 7y ago
I like your list.
Where do you put JavaScript? For me it’s an F.
Python I think needs a distinction. It’s an A for small projects that can be owned by a single person. But a C for projects large enough to warrant multiple developers. Dynamic languages don’t scale without a huge amount of extra tooling.
The Python ecosystem gets a B. But the environment gets a D. https://xkcd.com/1987/ https://xkcd.com/1987/
- m45t3r 7y agoPython can easily get a B for large projects if you use something like mypy. However sure, where the language really shines is as a substitute for scripts, so smallish pieces of code. And environment... It is complicated. It is not that it is that bad, however it sure lacks some polish. The solution is not easy either since even if you solved the problem today (like using poetry), there is still the whole backwards compatibility problem. There is various hacks to make things easier, however in the end the problem is still more complicated than it should.
- zmmmmm 7y ago> Python can easily get a B for large projects if you use something like mypy I'm curious if that's actually true - my actual experience is that it actually suffers horribly in large projects because as the size and complexity goes up it's just harder and harder for its heuristics to not produce false positive typing errors. It worked great on a small library where it could see the whole source and everything was well annotated ... but that's sort of the context where it is least needed in the first place ...
- m45t3r 7y agoWell, Instagram [1] and Dropbox [2] are probably the biggest Python projects in the whole world, and they both are using mypy and seem to be successful. And my particular experience with it is very positive, even if my project that is using it is still small (it is getting bigger though, and mypy is really helping me to refactor it when I needed). Most of the "false positives" that mypy reports to me end up being code that is overly cleverly, and rewriting it to make mypy happy also improves the code quality. [1]: https://developers.facebook.com/videos/f8-2018/type-checked-python-at-instagram/ https://developers.facebook.com/videos/f8-2018/type-checked-... [2]: https://blogs.dropbox.com/tech/2019/09/our-journey-to-type-checking-4-million-lines-of-python/ https://blogs.dropbox.com/tech/2019/09/our-journey-to-type-c...
- c3534l 7y agoI tried to only put stuff in there that I've actually programmed with, and I just haven't done anything with JavaScript. My impression is bad, but I had a bad impression of C# and it's just okay, neither good nor bad. Deploying a Python application can be a headache, but it's a good replacement for Bash and in DevOpsy scenarios where you're packaging Python along with an entire containerized OS and interacting with the web, Python works well. I find it pretty easy to prototype a webservice with Python, or to build tools for networking engineers. The fact that it's relatively easy to learn, yet readable, also makes it a good language to connect to people with. I can't always sell people on a strongly type functional programming paradigm, but it seems every reasonably young person knows Python these days. But you're right, Python is a bit annoying at times, even though I like it's terseness and intuitiveness.