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

All these measurements should be considered in the same light: what is the projected TCO of the software? And this includes a number of metrics:

- programmer productivity

- hardware costs

- speed

- flexibility

- ease of maintenance

- barrier of entry

- interop with other software

How easy will it be to maintain the software in ten years? Wrt to Python, it's a fantastic language, but I've become scared of large codebases in dynamic languages.




> I've become scared of large codebases in dynamic languages.

Fair enough. It seems to me that if an application has high performance demands and is expected to be in service for years, it should eventually be rewritten in a faster language. I find myself designing/developing programs in Python because development is so fast, then rewriting the result in a faster language after the design phase is over.

The rewriting phase is basically a translation, not a redesign. In most cases I know exactly how the program should behave, so there's no design taking place.


Curiously, I am working on a company now that has gone the other way around. They started with a design in C++, then moved to a Python code base to be able to adapt it faster to their needs.

The system serves a massive number of users in real time, so I don't think that the speed is necessarily an issue. Of course, it can be different in other cases...


Python is absolutely great for prototyping. And I like it for smaller, more self-contained apps where you don't have to worry too much about mission creep. And of course, you have sqlalchemy.

But all in all, it's more the safety you get from static typing I'm interested in than a pure speed boost. Though pylint is not too bad, it's still not the same.


I've work (and continue doing it) on quite big and complex projects in Python, and it works really well for that. Of course, it can depend of the context, but in general I don't think that safety is much more and issue on a dynamic language (and in Python in particular).




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

Search: