On 4/16/07, Ronnie Maor <[EMAIL PROTECTED]> wrote:
I just joined a new startup and trying to build a case for using python as the main programming language. Performance shouldn't be a problem for this application, and the main considerations are quick development cycle and maintainability. It would really help if I could give examples of companies that use python as a significant part of their main application / business logic. Can anyone give such examples? preferably from your companies, other israeli companies you know, or well known and successful non-israeli companies? Omri Reuter - does python play such a role in egloo or is it a glue for logic in another language? Ori Peleg - IIRC you mentioned rewriting the ORM for your company in python? Another thing: Before I raised the python idea, the leading thoughts were C# (windows dependency isn't a problem). My thoughts were on using IronPython with C# (for extensions, and using .NET libraries), and I think python would be more powerful as the framework language, with C# in specific areas instead of the other way around. One risk is that IronPytnon is relatively new. Anyone have experience with it? know how stable it is? anyone think using IronPython or python in general for such a purpose is a bad idea? your comments much appreciated Ronnie
I haven't any experience working in a company which uses Python for major applications. But from my experience, over time Python code is far more maintainable than, say, C++ or Java. I haven't tried C# yet, but if it's anything like Java, and from the little I have heard, the same applies. This is because Python provides higher level abstractions and is designed to be readable - it's usually easier to understand what some old code does. Of course, this always depends on the amount of documentation, the programmer's style, and the complexity of the code - but from my experience Python is a far better basis for clear, easy to read code. Also, for quick development Python's interpreter is a joy! Being able to load something in the interpreter and "play around" with it, try things out, saves me tons of time. I often check out different ideas in the interpreter before deciding on an implementation, and this takes far less time with Python than it used to take me with C/C++. There are some very good testing architectures for Python nowadays, and with these I believe you could build a reliable, maintainable application, in a relatively short while. Ori Peleg went to great detail on this :) Good luck! - Tal