Python is a flexible and powerful dynamic scripting language with full object-oriented features. Its many proponents say that the Python language allows them to express their intentions more directly and efficiently than other languages. But newcomers to Python from the Java technology or Microsoft .NET world may find themselves missing their feature-rich and polished IDEs and development tools.
But newcomers to Python from the Java technology or Microsoft .NET world may find themselves missing their feature-rich and polished IDEs and development tools.
isn’t an unpolished ide always the case with weakly typed etc languages? I mean the more forgiving a language is, the harder it is to build intellisense, class browsers etc for it
not necessarily, if you build the ide within the program or viceversa
Look at SmallTalk’s ide for real example
I’ve always found that it takes me more time to learn how to use an ide’s ‘features’ than I’m willing to spend. I always end up going back to something like Kate (on Linux) or Crimson Editor (on Windows).
I spent 5 years of my carear working in MS Visual Studio type IDEs (Visual Basic and Visual C++).
I now work on an 80,000+ line Python based product on Linux
and I’m here to tell anyone who’ll listen that the benefits of a decent editor (read GNU Emacs) far outway anything fancy Visual Studio can do. Microsofts IDE’s are designed to be very saleable (i.e. they’re good eye candy) but for serious development a more “up-front” environment is way more productive. Emacs _can_ do just about anything you’d want to do whilst programming. It integrates seamlessly with CVS, RCS and Subversion – all of which are more powerful and yes, user friendly solutions than Microsofts woeful Visual Source Safe, provides powerful search and replace functionality across both files and filesystem and makes the most fundemental of editing tasks instantly available.
Better than all that – all the skills I use with emacs when I’m coding in Python are equally applicable for C, C++, XML, Java, Perl, LISP… infact anything – and if it doesn’t already do something I can extend it simply to make it do it!
Would I trade that in for a slick visual studio style environment? Not for all the tea in China.
The big guns of the IDE world — Eclipse, Visual Studio — are so bloated these days that they are more work to learn than the actual programming language itself.
While I used to believe in the value of the IDE (think Turbo C), today’s IDE is nothing more than a sinkhole for your time and energy.
I strongly believe with O’TL above… a good editor is the proper tool for a good language. A big IDE cannot fix a bad language no matter how many useless dialogs and perspectives and visual complexity they put on the screen.
This is why .NET and Java are fated. They are bad languages and no IDE can fix it. I think Eclipse’s hype to substance ratio is approaching infinity. The dumb thing cannot even compile and run many of the samples created from within the environment. It is clearly a platform made by morons. And Visual Studio is not better, just different. Another platform that has a negative value proposition.
At the end of the day, the good program gets built by the developer who is most skilled in the programming language, not most skilled in using a FUBAR IDE. Ultimate UI complexity is not the answer to anything — except platform lock-in… something Microsoft and IBM are both very good at.
I can’t see what’s so complicated about VS.Net – yes it has a lot of eye candy I’ll never use, but if you stick to the really useful features – auto-completion, color coding, code outline, and to be able to press Shift+F2 in a function/variable and go to its declaration (sorry I don’t know the “market name” for that) – it is a relly good IDE.
I agree that the most important is the quality of the code, not the IDE, but I don’t see why things have to be mutual exclusive.
I can’t see what’s so complicated about VS.Net – yes it has a lot of eye candy I’ll never use, but if you stick to the really useful features – auto-completion, color coding, code outline, and to be able to press Shift+F2 in a function/variable and go to its declaration (sorry I don’t know the “market name” for that) – it is a relly good IDE.
I agree that the most important is the quality of the code, not the IDE, but I don’t see why things have to be mutual exclusive.
I followed the article instructions and installed PyDev (just worked in Eclipse 2.x, not 3.0 yet) but it seems quite limited yet. The only nice thing (not related to PyDev though) was the tip how to have the Python interpreter inside Eclipse.
By now I’m sticking to Eric3 for Python development in Linux. In Windows I haven’t found anything good yet, just Komodo but it’s not free AFAIK.
>isn’t an unpolished ide always the case with weakly typed etc languages? I
> mean the more forgiving a language is, the harder it is to build intellisense,
> class browsers etc for it
Python is not weakly-typed. It is strongly-typed, yet has dynamic typing.
If you try to do something with incompatible types, you will get an error:
>>> print 7 + “i”
Traceback (most recent call last):
File “<stdin>”, line 1, in ?
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
Using a text editor only is kinda stupid, since you have to actively care about the formatting of your code (indentation!), and that’s completly unnecessary. Try for example emacs in python mode once, and you will see…
Eclipse is a good IDE for pythoning (while I’m still vim addict but why the hell talking about Ant ? this is very non-pythonic (considere distutils & al).