The standard Python interpreter is unquestionably a highly valued item in the toolbox of many Python programmers. However, the IPython developers have taken the fundamental ideas found in the standard interpreter and improved upon them so considerably that they have created a tool of amazing utility. Elsewhere, this new monthly column is about writing plugins in Eclipse. Also, read here how to use the Observer Pattern in .NET.
For the past few months, I’ve been having an internal dialogue about my future as a developer. Basically, I have been doing C development for a long time, which has been valuable for looking at all the source code available in the Linux world. For high-level programming, I’ve been using Java, which is what I was taught and what my employer enjoys. But I’ve been trying to figure out what language I wanted to use for my own projects. The point is that it would have to be high-level enough so that I don’t waste my time with things like memory management, but I didn’t want to use a stagnating corporate language like Java, or endorse the Microsoft stuff (however good it might be) with .NET. Then I discovered Python, which at first I thought was some immature scripting language, but now I discover how unbelievably mature and powerful it is.
Now that I’ve wrapped myself up in this language, I just can’t get enough. Ipython is an invaluable: menu-tab completion and CTRL+L work together to allow you to have “intellisense-like” features alongside your favorite editor. I think my favorite IDE from now on will be ipython and vim, side by side.
To all developers out there who are confused as to what language and tool to use for their own development, I urge you to go spend a day to learn python by going through diveintopython.org. You won’t regret it!
Wait, I mean that in a good way. Please hear me out: Python is a great language for people like me, too. I am a simple hobbyist who is interested enough to want to learn to write code, but who is not talented enough to develop non-trivial and/or useful programs. Back in the dark ages of CP/M, DOS, and the Apple ][, this hobbyist niche was filled by BASIC, whatever flavor you could get. Now, I think Python does a great job of it– it has simple syntax, a thriving community (for both hobbyists and for professional quality developers), and it comes with “batteries included.” And hobbyists who (unlike me) have both a lengthy attention-span and a little bit of gray matter can quickly and easily use Python to make some Really Cool Stuff(TM). That’s my take on it anyway.
I’d like to see IPython, or at least some of its features merged in the standard python distribution.
The ruby guys have autocompletion in their interactive interpreter, why should’nt we have it too?
I’m a big fan of Ipython. I do a lot of scientific simulations using python, and Ipython gives me a very nice environment to work with. Plus it has logging and playback which is great!
As the article says, you can get an autocompletion with standard Python, witout IPython, _provided that_ you have readline module installed.
If you’re on Windows, install Python Alternative Readline (http://newcenturycomputers.net/projects/readline.html) and do rlcompleter setup mentioned in the article.
Also, if we are to merge “some features” of IPython to the mainline, as IPython is quite big, then why not merge rlcompleter2 (http://codespeak.net/rlcompleter2/) instead?
interesting, I think I broke something in my setup then, since I have readline but I did’nt get completion :/
Well, thanks anyway, I’ll look into that
I work in a shop that most of our production code goes out as Java — maybe sprinkled with a little C++ from time to time.
However, we use Python extensively. Before we commit to writing something in Java or C++, we always first prototype it in python.
Pythons clean and intuitive syntax allows you to get your ideas out without worrying to much about complicated API or memory-management issues.
Surprisingly, python code is pretty easy to then translate into Java or C++ once the working model is settled on.
As a collegue of mine said, “with Python, I concentrate on the task, with Java I concentrate on syntax.”
I love all the positive I’m hearing about python. Basically I’m a hobbyist. I started with perl, moved onto python, then to ruby, and now am back on python. Even though I love coding in ruby (I find it “fits my brain well”), I can’t ignore the many practical advantages of using python. I’d love to give IPython a spin sometime.
[Now if there was only a language with ruby syntax and python features!]
If you like Python be sure to checkout Logix http://www.livelogix.com/. Logix is a Python-like language which compiles to Python byte code. The difference from Python is that it allows you to define your own syntax and first-class operators. You can make the language act more like Ruby or add Objective-C style message passing. It starts out acting like Python, but you can change it from there.
I hope in Ruby#.. Ruby’s syntax is the best