×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Python IDE for Mac OS X?

Cliff posted more than 8 years ago | from the fruits-and-snakes dept.

OS X 113

benbranch asks: "I am presently learning the Python programming language. The language itself is brilliant and seems very easy to pick up, however my problem is finding a decent IDE. I use Mac OS X (as Windows is excruciating), and though I love Linux (Debian/Ubuntu) all my work computers are Mac's. Can anyone advise me as too a good open source IDE for Mac? If there are any Python programmers out there using Macs, I would love to hear from you."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

113 comments

Have you seen... (5, Informative)

WTBF (893340) | more than 8 years ago | (#14357680)

...this list [python.org] of Python Editors?

Quite a lot of them work on OS X, and personally I would recomend eclipse (although I have only used it with Java, so I do not know how well it works with Python).

Re:Have you seen... (5, Interesting)

Directrix1 (157787) | more than 8 years ago | (#14357859)

I'll just save everybody the hassle of going there: SPE - Stani's Python Editor [stani.be]. IMHO, this is by far the best open source free python editor. It blew me away. It is even nice for designing GUIs since it comes with wxGlade. Although, it does still have a few quirks, it is very usable.

Eclipse (1)

aclarke (307017) | more than 8 years ago | (#14358036)

I don't work in Python so I can't comment on the state of any Python plugins, but I use Eclipse for Java and ColdFusion development and love it. Eclipse with the CFEclipse plugin (for ColdFusion) is IMHO better than Dreamweaver and I've actually uninstalled Dreamweaver from my Mac since I never use it any more.

Google was my friend and it can be yours too. Here's some info on Python plugins for Eclipse: http://wiki.python.org/moin/EclipsePythonIntegrati on [python.org]

similar situation (5, Insightful)

gimpimp (218741) | more than 8 years ago | (#14357693)

i'm in a similar situation, having just bought my first mac, but i'm looking for ruby ide's. os x is fantastic, and so far ahead of desktop linux, i dont want to go back. one thing that lets it down though, are the ide's available. i've settled on eclipse [eclipse.org], since it handles python, ruby etc. you do need to install python/ruby support, but it's easily done. the python extensions can be found here: pyDev [sourceforge.net]

Re:similar situation (2, Interesting)

mbadolato (105588) | more than 8 years ago | (#14358162)

I've used (very little though) the OS X version of Komodo for some Perl stuff, and it seems very nice. One of these days I'll install it again and give it a really good test. I believe it does Perl, Python, and Ruby as part of the core, and has all the major IDE functions.

On OS X, TextMate [macromates.com] is really coming along nicely, but it's not an IDE; just an editor. That's the editor used in the 15 minute Ruby-On-Rails demo video, for those who have seen it.

check out Komodo (2, Informative)

jbellis (142590) | more than 8 years ago | (#14358452)

ActiveState's newest version came out for OSX first and supports ruby and RoR as well as the languages it has historically supported (python, php, tcl, ...)

Objective C (5, Funny)

fozzmeister (160968) | more than 8 years ago | (#14357713)

Aparently Objective C is perfect and all you need

Re:Objective C (-1, Redundant)

BibelBiber (557179) | more than 8 years ago | (#14357723)

You kinda missed the question and if I had any modpoints, I'd have voted 'redundant'.

Re:Objective C (1)

Mr. Underbridge (666784) | more than 8 years ago | (#14357829)

You kinda missed the question and if I had any modpoints, I'd have voted 'redundant'.

Apparantly you missed the joke, and luckily this isn't worth my modpoints.

Re:Objective C (0)

BibelBiber (557179) | more than 8 years ago | (#14359262)

I do see the joke but it's not really funny. That's why he still got only one point, that's right? Objective C is good and Python is good. I guess Steve wouldn't have taken BSD if he only wanted Objective C. The Power of Unix is the ease of all the languages.

Re:Objective C (1, Insightful)

Anonymous Coward | more than 8 years ago | (#14357758)

Outside of Cocoa no new ObjC code seems to be written at all. Which probably says something about that language.

the truth about objective-c (4, Informative)

John Nowak (872479) | more than 8 years ago | (#14357800)

The reason little Objective-C is used outside of the Apple/Cocoa world is that it isn't standardized. In order to make the most of it, you need to develop with some framework. Your main choices are either Cocoa or Openstep. That said, Cocoa is Mac only (for now... I have my eye on the upcoming expo) and Openstep is lagging behind in many areas.

That said, you don't need either of them to use Objective-C. GCC comes with a standard "Object" that everything else can inherit from. The problem is that, while you get all of Objective-C, you get none of the lovely frameworks; You're stuck with the standard C library. Depending on what you're doing, this may or may not be a problem.

I personally think Objective-C is a fine choice for cross-platform development sans-frameworks IF:
1. You'd be comfortable doing it with C
2. You're doing largely lower level work or non GUI-work (in which case you'd need to use Openstep)
3. You *like* C, but wouldn't mind getting some objects to go along with it.
4. You're willing to accept a performance hit for message sends versus function calls (minor though, about 1.7x).
5. You'd like to take advantage of some of Obj-C's special features that GCC provides (dynamic module loading, etc)

The problem isn't that Objective-C is a "bad" language. It is rather good actually. The problem is that either you're using Openstep for crossplatform development, which, while I *have not done*, I hear is rough, or you're going in with only the standard C library. If you think of Objective-C as some simple additions to C to make your programming easier, more maintainable, and more enjoyable, then it can be a very useful tool. Just don't expect anything else from it unless you're on the Mac platform or are willing to deal with Openstep.

In summary, Objective-C sans-frameworks can serve as a good replacement for C in a lot of cases where performance is important but not critical, and as a replacement for C++ in some cases (C++ comes with so much more than Objective-C out of the box).

Re:the truth about objective-c (2, Informative)

jcr (53032) | more than 8 years ago | (#14358739)

The reason little Objective-C is used outside of the Apple/Cocoa world is that it isn't standardized.

I wouldn't agree that that's a factor at all. Obj-C is available everywhere that GCC is. The reason that most Obj-C coders are using Cocoa, is that they learned Obj-C because of Cocoa (or NeXTSTEP).

-jcr

Re:the truth about objective-c (2, Interesting)

swillden (191260) | more than 8 years ago | (#14360713)

That said, you don't need either of them to use Objective-C. GCC comes with a standard "Object" that everything else can inherit from. The problem is that, while you get all of Objective-C, you get none of the lovely frameworks; You're stuck with the standard C library.

Actually, it's not quite that bad, because you also have all of the available C++ libraries.

Because the C++ and Objective-C extensions to C are orthogonal, you can actually write Objective-C++. This means you can use Objective-C for the core of your application and use C and C++, as appropriate, to do UI stuff, interface with peripherals, etc.

I did this years ago, actually, although I partitioned my code a little differently, because I like C++ and its strong compile-time typechecking. So I wrote applications in C++, but wrote some key components in Objective-C. Objective-C's late binding model is great for those scenarios where you want extreme flexibility.

The downside of this approach, of course, is that you -- and everyone who will have to maintain the code after you -- must know *both* Objective-C and C++. Syntactically, this would appear to be no problem for a competent C++ programmer, since you can literally learn all of Objective-C's syntax in a few minutes. There's just not that much of it. In practice, the classes-as-object-factory-objects, purely-late-binding, type-defined-by-interface approach of Objective-C requires thinking about objects in a different, very Smalltalkish way, so many C++ programmers do, in fact, have a tough time understanding it at first.

Re:the truth about objective-c (0)

galimore (461274) | more than 8 years ago | (#14361718)

I think you're a little bit confused...

GCC doesn't come with a "standard object" that everything inherets from. That's actually something added by Apple (well, NeXT). The NSObject object, if you will. It's part of Cocoa... Everything in Cocoa is a child of NSObject. You don't get this unless you use an API that provides it, such as Cocoa, or GNUStep... which leads into the comment about Frameworks:

A *LOT* of Apple-provided functionality is available with GNUStep, including, essentially, the framworks... or at least the headers and object files needed to compile. You have, for instance, just about everything in FoundationKit, and even some of the AppKit functionality.

It's possible to write a Cocoa app, and port it to GNUStep with little work... possible, but not recommended, it's quite messy.

In reality, Objective C doesn't give you any of the API bits that Apple (or OpenStep or GNUStep) give you. It's just a language like C++ or Java, or any of the others.

The only thing that makes ObjC special on Mac OS X is that Apple has provided such a feature-rich and powerful API. This is the reason people like it so much.

Re:the truth about objective-c (0)

Anonymous Coward | more than 8 years ago | (#14362962)

Sure it comes with a standard Object. NSObject is just a newer, more advanced root object class. It does not derive from Object, obviously. You can live without NSObject and use Object instead, thus you won't need to use Cocoa/OpenStep.

Re:the truth about objective-c (1)

John Nowak (872479) | more than 8 years ago | (#14363132)

No, you're confused. GCC *does* come with "Object". You can use that instead of "NSObject" if you don't want to be tied to Cocoa.

Mac users... *sigh*

Re:the truth about objective-c (0)

TheRealMindChild (743925) | more than 8 years ago | (#14366913)

NSObject isn't "from Cocoa". It was inherited from NextStep. Where do you think the "NS" prefix comes from?

Re:the truth about objective-c (1)

lithandie (627181) | more than 8 years ago | (#14384509)

Where do you think the "NS" prefix comes from?

ummm... NetScape probably, they use to throw tons of NS software on my computers back when they were big.

*ducks and runs away*

Re:the truth about objective-c (2, Insightful)

JulesLt (909417) | more than 8 years ago | (#14375885)

The thing I like about it is that, as commented, if you know 'C', you can learn the syntax in minutes. Compared to C++ it has a lot of elegance, which is attractive to some programmers.

That said, most of what you need to take advantage of most languages these days are the standard packages and frameworks, rather than the syntax. I guess that's another debate altogether - simple languages with large standard libraries vs complex languages.
   

Text Editors... (5, Interesting)

Big Sean O (317186) | more than 8 years ago | (#14357718)

If I'm learning a language (as opposed to working on a project with others), I find I seldom need all the bells and whistles an IDE provides.

I know of two text editors that provide excellent Python integration.

* BBEdit: http://www.barebones.com/products/bbedit/index.sht ml [barebones.com]
* Vim: http://macvim.org/OSX/index.php [macvim.org]

I like Vim better for two reasons. First, it is slightly cheaper; and secondly it has the words Don't Panic inscribed
in large friendly letters on its cover.

Re:Text Editors... (1)

hey! (33014) | more than 8 years ago | (#14357873)

IDEs provide two useful functions IMO, one of them is critical.

(1) Scaffolding for ugly nasty APIs. For example, generating MFC applications, VC performs all kinds of abhorrent preprocessor abuse on your behalf. Since you are talking Python, you don't have this problem.

(2) Support for refactoring. This is the one killer feature for an IDE like eclipse. Aside from that I'm happy with a plain old text editor.

Re:Text Editors... (3, Interesting)

Fahrenheit 450 (765492) | more than 8 years ago | (#14358276)

Meh. BBEdit is grossly overpriced, even with their dumbass "crossgrade" from TextWrangler. Vim, TextEdit, emacs, and smultron are each far better editors at far better prices. And SubEthaEdit is pretty decent with an unbeatable price as well.

The folk over at BareBones have been cruising on reputation far too long with their substandard products...

Re:Text Editors... (1)

Big Sean O (317186) | more than 8 years ago | (#14359598)

Regardless, BBEdit does feature good python integration.

But I agree, BBEdit is overpriced. I originally bought BBEdit back in the 1990s (when it was reasonably priced). I finally got fed up with paying for upgrades.

That's the main reason I learned Vim. Steep learning curve, but the price is right.

BBEdit. (1)

oneiros27 (46144) | more than 8 years ago | (#14360278)

First off, I've been a BBEdit beta tester on and off.

If you are a BBEdit user, and you have a complaint about the software, then tell them. [barebones.com]

They've added a number of features that users have asked for (I know, because I requested a number of them). As I've said before the key to change is to complain. [listsearch.com]

BBEdit might look expensive in terms of absolute dollars, but as with any purchase, you have to look at the benefits vs. the cost ... if you can find a tool that makes you 1% more productive, that you have to buy an upgrade for every 2 years, it might be worth 2% of your annual salary. Don't look at editors in terms of price -- look at them in terms of efficiency. How is it that companies can justify shelling out for bigger monitors, or Photoshop, or Quark? It's because they can recoop the value.

(of course, if you're a consultant, charging by the hour, and have fixed contracts, then you might not want to upgrade)

It's easy to bitch with generalizations, but you haven't given any concrete reasons about why the other editors are better (other than price, which may be a moot point, as I've said).

Re:BBEdit. (0, Troll)

Fahrenheit 450 (765492) | more than 8 years ago | (#14360465)

If you are a BBEdit user, and you have a complaint about the software, then tell them.

I have. Well most of my comploints have been about Mailsmith. Bare Bones standard reply: Thanks for the suggestion. We do not discuss future plans for our software, but we will consider your suggestion. Swell... meanwhile Mailsmith still has yet to even sniff IMAP... No thanks. Give me something like Textmate, where the developer spells out his plans clearly, and will tell you straight up if a feature will be added or not (or examined for feasibility).

As for BBEdit, I will confess that I have not tried version 8 (or any of the later version 7 releases), as they had lost me by then. But my complaints boil down to the fact that they sat on their asses and got lapped by the competition before making changes (hell, they didn't get syntax highlighting that didn't require CodeWarrior until a year or so ago? The hell?). They were pretty good for web development, but they were seriously lacking when it came to general text editing, especially programming. And now, they offer nothing that's not available in other editors for half the price (TextMate) or free (vim, smultron, etc.). Seriously, what can BBEdit do that the other editors cannot?

They used to be ahead of the game, that's when they made their bones. They they became the only game in town, that's when they started coasting. Then they fell behind. Now they're playing catch up...

Re:Text Editors... (0)

Anonymous Coward | more than 8 years ago | (#14381674)

It's relatively cheap for students [digitalriver.com] and educational staff. I paid $49.00 for it, which is $150.00 off the normal pricetag.

Re:Text Editors... (1)

honor, not armor (904095) | more than 8 years ago | (#14371744)

IMHO, vim needs "Don't Panic" written on the cover, because my first experience with it went something like this:

"AAAAAHHH HOW DO I QUIT WITHOUT SAVING?????"

emacs (3, Informative)

AOL-CD-Man (920944) | more than 8 years ago | (#14357738)

I've been writing python code on mac os x for over two years now, and all I ever needed was the emacs port for OS X [webweavertech.com]. The CPython mode for emacs does sensible syntax highlighting, indentation etc.

I also use emacs for python..but a bit differently (2, Informative)

Zaurus (674150) | more than 8 years ago | (#14358566)

I also use emacs to write python on the mac, although I use emacs connected to X11. The initial reason was that you can tell X11 to pass all keyboard commands to the program, so that you can use the Apple/Command key as emacs's Meta key. You get the benefit of having the option to run the same version of emacs w/X11 or in the terminal (handy if you want to use your regular editor should you ever SSH into your own box remotely). The newer versions of emacs support various levels of integration with the python interpreter, CVS, and subversion, and more--if you're really looking for "IDE"-mentality, but I mostly use it as an editor. I'll let others elaborate on that functionality.

Just install Apple's X11 and developer tools, then either use fink to install an old stable version ("emacs" 21.2), or darwin ports to install a cutting-edge version ("emacs-devel", recent CVS snap [pre-release of 22]).

Other good editors I've seen [don't know about IDE's per-se] are subethaedit [free for noncommercial], bbedit [not free], and vim.

Check out Aquamacs (2, Informative)

AnEmbodiedMind (612071) | more than 8 years ago | (#14358663)

I've tried a few different Emacs ports on OS X.

If you want Emacs for OS X you should check out Aquamacs [aquamacs.org]. It has some good integration with OS X that can make your life easier.

For example it supports standard OS X keyboard shortcuts (in addition to standard Emacs bindings) and easily assign shortcuts to the iBook / PowerBook Fn key combos. You can access the OS X dictionary from the context menu, and use the services menu... etc. etc.

The parent points at another emacs port that looks pretty stale (it is talking about 10.2 & 10.3).

Re:Check out Aquamacs (1)

educated_foo (93255) | more than 8 years ago | (#14361367)

If you want an Emacs that acts like Emacs, get one of the Emacs snapshots off of Apple's site [apple.com]. Aquamacs has a few nice features, but mostly it just has a bunch of braindead customizations that are supposed to make it fit into the Mac environment better, and actually just castrate it.

Re:Check out Aquamacs (1)

AnEmbodiedMind (612071) | more than 8 years ago | (#14372583)

Err, Emacs of the apple site? You mean Aquamacs off the apple site [apple.com]. (That is the first emacs that comes up when you search from the page you gave)...

Yes I'm being a smart ass, but seriously, what are the castrations? Are you just pissed at the one buffer - one file model they've introduced?

Re:Check out Aquamacs (1)

educated_foo (93255) | more than 8 years ago | (#14373782)

I meant the Carbon Emacs Package [apple.com]. And as for castrations... yeah, mostly the one-buffer-one-frame thing. My typical Emacs session has 40+ buffers open, and having 40 windows is just stupid. But Aquamacs also has some weird annoying mode-based color themes, and stores its preferences in some unusual semi-Apple way rather than just loading .emacs. Overall, it seems to be one of those Emacs mods that silently tweaks things all over, breaking the customization you've lovingly built up over years.

Re:Check out Aquamacs (1)

davids-world.com (551216) | more than 8 years ago | (#14385899)

The one-buffer-one-frame thing can be turned off with one mouse click (Options menu). Same for the frame appearance themes, which many people find useful to distinguish different types of buffers shown in the frames. .emacs is loaded, but the customizations (from custom and the Options menu) that you're not supposed to mess with anyways are stored inside the Library/Preferences hierarchy where they belong on a Mac.

About the customizations you're right to some extend - Aquamacs has different defaults. It's not meant to be for the long-time Emacs geek who doesn't actually want an Emacs that behaves differently. In your case I'd really recommend the Carbon Emacs Package. But for most other people, we think that Aquamacs defaults make a lot of sense.

Funny? (0)

Anonymous Coward | more than 8 years ago | (#14362221)

As I read this, at 21:23 EST, the parent is modded 'Funny'. Actually, Emacs is a perfectly reasonable editor for writing Python code. As another post points out, Emacs provides highlighting and indentation appropriate for Python. That may sound trivial but Python, for the uninitiated, completely relies on indentation. For instance, a loop is defined by indentation. When the indentation changes, the loop ends. Many Python programs can be executed from within Emacs. (Not all though; some commands don't work from within Emacs.)

I usually write Python code in two windows. One window is running Emacs and the other is for running the code. Given the nature of Python, that's all the IDE that I need. I don't bother with Idle because it doesn't provide any particular benefit for me. When I write assembly code for a microcontroller, I need a really good IDE. Having a simulator and being able to single step through the code is essential. Python is different. It's very fast to write and all you need for debugging is a few print statements.

Please somebody mod the parent insightful.

KOMODO? (3, Interesting)

rakanishu (670638) | more than 8 years ago | (#14357745)

I know it's not open source, but Active State's KOMODO has a mac version now. The personal edition is pretty cheap.

I just use VIM, but I wouldn't consider it an IDE.

You don't need an IDE (1, Informative)

John Nowak (872479) | more than 8 years ago | (#14357765)

There's no reason to have an IDE in all cases. In most, you don't need one at all. What you do need is a good text editor. I recommend TextWrangler (http://www.barebones.com./ [www.barebones.com] It is free, and has almost all the features of the venerable BBEdit. You can always use vi or emacs, but personally I don't think either is worth the effort for Python (emacs definitely isn't -- It might be a different story for something that needs a highly flexible editor like Lisp).

The Unix Programming Environment ... (1)

mr_pins (694549) | more than 8 years ago | (#14358667)

IS an IDE. It seemlessly Integrates all the necessesary Development tools into the shell Environment. The Vim Editor, Exuberant Ctags, grep, find, sort, cut, etc.

It's all there and it all integrates together beautifully. Not to mention full featured access to the file system.
And plugins? Forget about it! There are thousands... and making new ones is as simple as writing a program in just about any language you choose.

Why do people feel the need to look for an "IDE" when both the Linux and MAC OSX come preinstalled with the best and most mature one ever developed? And if you're on windows it's a simple matter of installing Cygwin.

Yes, apart from ctags and syntax high-lighting, this environment is not language aware, but that is one of its strengths!
It is comprised mainly of langauge agnostic text processing tools, so it works the same way on any programming language. And when you are developing a system written in multiple languages (right tool for the right job anyone?) transitioning between those languages is seamless.

So come back to the shell: the one true IDE.

Re:The Unix Programming Environment ... (2, Insightful)

jnana (519059) | more than 8 years ago | (#14360665)

That's pretty funny.

1) How do you use the shell to change a method name on a type and all subclasses, along with all invocations of that method on objects of those types? I can do this across a 100,000 LOC code base in a couple of seconds, and in making this kinds of changes regularly for a couple of years now, Eclipse has never screwed up this kind of refactoring.

2) How does your shell ide find all references to a given method? Eclipse uses a full-text search engine (Lucene) and searches against a compiled index, and it answers such questions in a second or two. Your grep solution will be much slower (you're doing brute-force text search vs something closer to a hashtable lookup), will take you a long time to develop (you can't just grep for the method name, because you have to check the type of the object too), and will probably be wrong and incomplete.

And there are tons of other features of a good ide that I could ask about. I would suspect you are a troll, but I hear this kind of thing so often that I think you're probably just oblivious to the features a good IDE provides, or never having used one for a while on a large project, are oblivious to how useful and frequently used features such as I outlined above really are.

I use vim a lot still for text editor tasks, and I still use emacs for lisp stuff, but I would never go back to doing Java in Emacs/JDT. For the languages that don't yet have good IDEs, you may have a point, as what people are calling IDEs are really just text editors.

Re:The Unix Programming Environment ... (1)

DynamiteNeon (623949) | more than 8 years ago | (#14362959)

Thank You! I'm getting so tired of reading about Vim and Emacs every time an IDE discussion comes up. Yes, they are good at what they do and have their uses, but comparing them to well developed IDEs like Eclipse when working in the languages they're designed for is a joke.

As you suggested, I would usually only stick with Vim or Emacs if a good IDE didn't exist yet, and in the case of Python, it looks like some of the IDEs are starting to mature. I personally like Pydev for Eclipse, since it's one of the more mature ones that also has bicycle repair man integrated (for refactoring).

Re:The Unix Programming Environment ... (0)

Anonymous Coward | more than 8 years ago | (#14365524)

This is how I do it:
http://www.xref.sk/xrefactory-java/main.html [www.xref.sk]

Now let me ask you some questions:
1. How do you add and modify functionality to your IDE without compiling, redeploying, and restarting?
2. How do you view two parts of the same file simultaneously?
3. How do you work on multiple projects simultaneously without using all your memory?

Actually, you can do #2 in other Java IDEs, just not Eclipse. Eclipse is pretty substandard as far as IDEs for Java go.

Re:The Unix Programming Environment ... (1)

jnana (519059) | more than 8 years ago | (#14368385)

The xrefactory package is interesting, but it appears less featureful than Eclipse's refactoring and is less integrated into Emacs than Eclipse's refactoring is. I didn't see, for example, previewing of refactoring (see all changes that will occur as a side-by-side display of before and after for all affected code), things like "introduce factory", "convert anonymous class to nested", "infer generic type arguments", and some others.

To address your questions:

1. You have a valid point there. Nothing can compete with Emacs in terms of extensibility. Eclipse is fairly easy to develop plugins for though, but obviously nothing like Emacs.

2. Eclipse can do this just fine. I'm not sure how long it's been able to do it for, but the version I'm using has a 'New Editor' option on the context menu for an open file in the Java editor, and selecting that opens the same file in a second window. This also works with other editors too, not just Java.

3. I'll grant you that Eclipse does require a lot of memory, but I personally think it provides an incredibly productive working environment that is worth the memory. If I were developing on an old 486, then I certainly would not use Eclipse, but fortunately I don't. Having said that, I generally have at least 10 projects open, some of which are largish open-source projects like Spring and Hibernate, and I find that Eclipse does fine with the 192MB max heap size that I allocate.

The only IDE in my experience that I think compares favorably to Eclipse is IntelliJ IDEA, which isn't free or open-source, and there is no other IDE that has as many useful plugins as does Eclipse. How exactly is it substandard, and which other free/open-source IDE do you think is better, and why?

Re:You don't need an IDE (1)

Listen Up (107011) | more than 8 years ago | (#14376664)

Don't listen to anyone who says you do not need an IDE for software development or only when working with others. Phrases such as "bells and whistles" are for those who do not code seriously or professionally. Unless you are only interested in writing HelloWorld programs or equivalently simple procedural language programs, an IDE is mandatory. And all OO languages requires an IDE for serious software development.

Your best method to learn the language is to find a good book on the language and an IDE you are comfortable using and then starting learning and coding.

MacPython (4, Interesting)

Tachikoma (878191) | more than 8 years ago | (#14357780)

you can download and IDE(PythonIDE) and extras from MacPython [homepages.cwi.nl]

i'm in the same boat, i just got a powerbook for christmas and i downloaded the stuff last night, wanting to learn some python.

i had trouble with the install, all the latest stuff is for 10.3 and i've got 10.4. the wiki FAQ can get you up and going. also has a package manager and you can download PyObjC, which is a "bridge" (wrapper class?) so you can code in python and use cocoa elements. just getting my mac a week ago, i don't actually know what much of the above means, but thats where i'm heading.

Re:MacPython (-1, Redundant)

Anonymous Coward | more than 8 years ago | (#14357798)

Well, just install a real OS (e.g. Debian) on it. Problem solved.

Komodo on OS X is a solid choice (3, Informative)

gerbercj (267098) | more than 8 years ago | (#14357801)

I have been using ActiveState's Komodo Professional on Windows since 2002, primarily for Perl development. It has good Python support, and the OS X version works great as well. See its Python features here: http://www.activestate.com/Products/Komodo/feature s/python.plex [activestate.com] It also supports PHP, Ruby, Tcl, and XSLT, as well as color formatting for other languages. They license developers, rather than machines, so I have legally installed a copy on my PowerBook for work at home, and it's been great. You also mention that you like working on Linux, and you'll be happy to know that they support it as an OS as well. Some interesting features are it's integrated debugger, autocomplete, and the interactive shell. There is a 21-day free trial, and the personal license is only $30.

Re:Komodo on OS X is a solid choice (3, Interesting)

neelm (691182) | more than 8 years ago | (#14358135)

Another nice thing about the license is that it is good for windows, mac, and linux versions per developer - so if you work on multiple platforms you can have the same IDE on all. If you need cross platform support, Komodo and Eclipse would be the two to consider, imho.

TextMate. (1)

eargang (935892) | more than 8 years ago | (#14357812)

Not open source, so I guess it doesn't answer the original posters question (not uncommon on ask slashdot, I know)... But so darn good it's made me ditch BBedit, SubEthaEdit and whateverOtherEditIForgot for this baby. Text collapsing, autocomplete, and as a Sign that $DIETY loves us, an amazing snippet system.

Re:TextMate. (3, Interesting)

John Nowak (872479) | more than 8 years ago | (#14357964)

I dislike TextMate.

1. The undo functionality is crippled. Undo "undoes" one character at a time. This stops me from working the way I like to, which often involves adding a few lines, testing the code, and hitting undo if it didn't work out.

Er... well that's it actually. What is up with that undo functionality?
Someone please correct me if I am doing something wrong here. Maybe I am.
Ah well, back to TextWrangler.

Re:TextMate. (1)

Fahrenheit 450 (765492) | more than 8 years ago | (#14358313)

Yeah, the single step undo is annoying, and is one of the longest standing complaints Allan has had to field, as well as things like lacking a "repeat following command X times" functionality. But it's still a pretty solid editor. It's the first one that's been able to pry me away from vim on the Mac...

Re:TextMate. (1)

eargang (935892) | more than 8 years ago | (#14358709)

I'm not sure if I can understand the single step undo issue - the way it works on my end, i type something, undo undoes the last thing i did, which was a keystroke. undo again, another keystroke disappears. how would undo know what else to do at this point? I guess I'd be more upset if copy/paste wasnt undone with a single undo. which it is. and that makes total sense, since paste is a single keystroke.

Re:TextMate. (1)

Watts Martin (3616) | more than 8 years ago | (#14359781)

BBEdit -- and many other text editors -- tend to use somewhat more complex algorithms for determining one undo step. It's usually something like "the text inserted from the point you started typing after the last cursor repositioning until the next cursor repositioning or undoable command." So, if you click on a word and type a new word to replace it, then decide you don't want to do that, one undo step and the old word is back. You start typing at the end of a paragraph and decide not to, one undo step and your typed text is deleted. But, you start typing THE QUICK BROWN FOX, stop and select "FOX" and do a "change case" command on it, then type JUMPS OVER THE LAZY DOG, you have three undoable steps: typing JUMPS OVER THE LAZY DOG, the change case command, and typing THE QUICK BROWN FOX.

And, yes, this is an irritating misfeature in TextMate. Having said that, I'm still a TextMate convert from BBEdit. (For the record, I've used Vim for close to a decade and regularly use XEmacs on Windows. All of the editors have their strengths and weaknesses, but I've come to believe TextMate's design may make it as powerful as Emacs in the long run, without the rather user-hostile UI.) While I know TextMate isn't, strictly speaking, an IDE, for a scripting language like Python, I'm not sure that's such a big deal. (I'll risk a minor flamewar and suggest that the love showered on Eclipse by Java users for doing all that typing for them might really be a sign that Java requires way too much goddamn typing to get anything done.)

Re:TextMate. (1)

booch (4157) | more than 8 years ago | (#14359804)

Most text editors treat an uninterrupted string of text characters as a single step when it comes to Undo. For example, let's say I type "How are you, Bob?" and cursor up, then type "Dear Bob". The first Undo would remove "Dear Bob". The second Undo would remove "How are you, Bob?". This is what most people expect, as we think in words and sentence fragments.

Re:TextMate. (1)

eargang (935892) | more than 8 years ago | (#14362398)

It's sad. I've been using editors for 7+ years (including BBEdit) and I can't for the live of me picture this. I Guess undoing is on a level of subconcious action for me that I don't even notice the differences - I just undo and my mind switches back on when I see the code at the point I want it undone to.

Or I'm just stupid. entirely possible.

Re:TextMate. (0)

Anonymous Coward | more than 8 years ago | (#14360488)

The undo functionality is crippled. Undo "undoes" one character at a time. This stops me from working the way I like to, which often involves adding a few lines, testing the code, and hitting undo if it didn't work out.

Haven't tried TextMate, but this used to be my standard gripe about text editors on Windows. Maybe TextMate got some bad DNA?

Actually, VS doesn't seem to do it nowadays (but it's still a lousy excuse for an IDE. Realistically, anything that hasn't been laughed off Mac is going to be better.)

Re:TextMate. (1)

True Freak (57805) | more than 8 years ago | (#14359081)

I second this recomendation. Textmate is the first editor I have EVER felt was worth the price. It litterally has daily updates, supports a ton of languages, and is just overall fast and good.

Eclipse w/Plugin (3, Interesting)

bblazer (757395) | more than 8 years ago | (#14357821)

I think that you may want to take a look at Eclipse and download the python plug in. I have really enjoyed using Eclipse and the python plugin is pretty darn good. Plus you are only a step or two away from giving jython a test drive. I am running this on a Mac PB with no problems.

Re:Eclipse w/Plugin (4, Informative)

ultrabot (200914) | more than 8 years ago | (#14357933)

Incidentally, the Eclipse plugin is called PyDev. [sourceforge.net]

It seriously rocks, all the Eclipse goodness + code completion for Python. I tend to prefer it to other Python IDE's these days, esp. now that Eclipse 3.1 is not a slow dog anymore.

Re:Eclipse w/Plugin (1)

jibberia (886297) | more than 8 years ago | (#14358374)

What do you guys do for a font running Eclipse on OS X? I've been using this setup for java development lately, and I absolutely love it, but I've only come up with a kludge for making it OK to look at: I set the font to Monaco (default) but with a 10pt size and then go in to System Prefs to turn off font anti-aliasing for fonts 10pt or smaller. Then when I'm done with eclipse I set it back to 8pt (otherwise things look ugly). I find the default Monaco-12pt to be too big - while it's fairly easy on the eyes (actually, this is what I use for web stuff in TextMate) for Java development I need to see more of what's going on at once. And if I set it to 10pt and leave anti-aliasing on, things look blurry and goofy. So what do other people do?

Re:Eclipse w/Plugin (1)

Profane MuthaFucka (574406) | more than 8 years ago | (#14358871)

Bitstream Vera. It's a free font that looks good on both the screen and on paper. Plus, you can distribute and modify it royalty free. They have seriff and sans-seriff versions.

So you want to code in Python? (-1, Flamebait)

codeboost (603798) | more than 8 years ago | (#14357871)

The first thing you need to do before starting to code is learn how to find a suitable IDE without the help of millions.
After you manage to overcome this incredibly complex problem (by performing a google search),you can try to install the IDE by yourself. If you can do that, you can start hoping that the code you'll write will actually do something useful for humanity.

I mean, come on... Soon we'll see questions like "I want to program in machine code, which is the best MS-DOS?".

Do your research, try them out, decide for yourself, then write a review for others to see.

I understand your problem (3, Funny)

Progman3K (515744) | more than 8 years ago | (#14357905)

>all my work computers are Mac's.

Ask you boss to get you your own computer and stop using Mac's.

Re:I understand your problem (0, Informative)

Anonymous Coward | more than 8 years ago | (#14358402)

you're just jealous that your mom can't afford a mac for you

PyQT bindings (2, Informative)

speculatrix (678524) | more than 8 years ago | (#14357940)

Not the answer to your quest for an IDE, but...

If you want a cross-platform GUI library for Python you should consider PyQT [riverbankcomputing.co.uk] which would allow you to run your python gui programs acrosss multiple platforms. QT licensing is not to everyone's taste as it seems to force you to either be totally GPL or buy a full commercial license.

TextMate Screencast featuring Python (3, Informative)

zhenga (770390) | more than 8 years ago | (#14357954)

Not really an IDE but more of an editor, but the following TextMate screencast might be of interest:

http://macromates.com/screencast/python_part_1.mov [macromates.com]

it's a screencast of TextMate in which a Python developer shows some nice tricks of the editor.

For more screencasts featuring other languages, see the screencast page of TextMate: http://macromates.com/blog/archives/2005/12/16/scr eencast/ [macromates.com]

I second the nomination for textmate (2, Informative)

sevinkey (448480) | more than 8 years ago | (#14358338)

I'm about to shell out the $45 for it. Regular expressions for defining your own custom syntax and tabbed file viewing and scripting galore. I don't use the snippets so much yet, but that's a favorite feature among most of my friends.... basically lets you pated a block of code and tab through the fields within that snippet to edit them.

I'm using this for developing a webapp in VB.Net (yeah, I shivered when I got the project too, but I'm pleasantly surprised how much better it is than VB6) over a samba mount and it's fantastic. Had to create my own syntax coloring though *shrug*. Python support is built in however.

I love it. Expose` between the tabbed windows of both TextMate and Safari. It's extremely productive for me.

The Best of the Best Sir! (2, Interesting)

Anonymous Coward | more than 8 years ago | (#14358226)

WingIDE is used extensively for most large commercial and otherwise software projects. Most of the developers at OSAfoundation.org use it.

Also, as a free alternative try winpdb:
http://www.digitalpeers.com/pythondebugger/ [digitalpeers.com]

Its the most advanced python debugger i've used, but its not an IDE. I use WingIDE PRO for now, but anything that requires advanced debugging I switch to winpdb.

Try Wind IDE (1)

Martin Doudoroff (116376) | more than 8 years ago | (#14358243)

I use Wing (http://wingware.com./ [wingware.com.] I feel it's the best Python IDE available for any platform. It can run on OS X, although it will do so in X. This may or may not matter to you, depending on your development proclivities. Komodo would be my second choice.

Just use Xcode (4, Informative)

jcr (53032) | more than 8 years ago | (#14358759)

.. like all the other Python coders on the Mac. While you're at it, check out PyObC. It gives you full access to all of Apple's Obj-C frameworks from Python.

-jcr

Re:Just use Xcode (0)

Anonymous Coward | more than 8 years ago | (#14363738)

xcode is a train wreck, and for a python application it's overkill.

Re:Just use Xcode (1)

jcr (53032) | more than 8 years ago | (#14363884)

Do you have some specific complaints to make, or are you just trying to sound clever?

-jcr

Bluefish is quite nice (1)

bennyp (809286) | more than 8 years ago | (#14358960)

I've used gvim for months, but I have a dvorak layout, so much of the benefit is lost on me. I tried Bluefish a bit ago, and it's quite nice. You can get it via fink.

Not an IDE, but a LEO (3, Interesting)

FFFish (7567) | more than 8 years ago | (#14359454)

Leo, the Literate Editor with Outlines, kicks ass once you learn to use it.

It creates self-documenting code through its use of outlining. The use of outlining automagically encapsulates complex algorithms and ideas. One ends up with this bitchin' combination of structural/algorithmical/conceptual outline nodes and actual code.

I so very much wish that IDEs would start using LEO techniques. It would truly provide the best of all worlds.

IDE's don't help much with Python (5, Informative)

slevin (67815) | more than 8 years ago | (#14360382)

I've tried lots of different development systems for Python. I'm currently sold on Emacs being the best. For C++/Java/C# the computer has the typing information to help with the development process, so IDE's for those languages/platforms can help quite a bit. But IDE's can't help nearly as much with Python.

I've used Wing IDE quite a bit and it is pretty good. It does help organize projects and can do some code completion (but not nearly as good as IDEs for Java et al). It would be my recommendation for anyone who needs a transition tool.

I've played with Leo a little bit, but not enough to make any serious recommendation. But the philosophy is really sound. It really does the trick for organization. If it had a better text editor, I would give it more serious consideration.

I've always been a Vim fan. Nothing can beat it for editing text, but I think its Python mode is less than stellar. I prefer my tabs converted to spaces, but the python mode doesn't understand it enough to handle backspaces properly.

Emacs with python mode is really doing it for me. The real kicker is having the interpreter and the editing buffer in the same window. Being able to switch back and forth and make changes and test them in a live environment is a whole new world. That instant feedback leads to a more iterative development process that makes coding more fun and, in my experience, just plain better. Not to mention that is available on every platform and very responsive. Highly recommended.

how dynamic is python? (1)

gnovos (447128) | more than 8 years ago | (#14361185)

I am a big ruby fan, and I know it's so dynamic that, other than syntax hilighting, you can't really be sure, except at runtime, what a particular method is going to do, or it will even exist. If python is as dynamic as ruby, I suspect the best you can find will be something that KINDA works, not not in the way that a static language IDE will work.

SLIME (1)

pkhuong (686673) | more than 8 years ago | (#14361550)

The solution to that problem is simply more introspection. See http://common-lisp.net/project/slime/ [common-lisp.net] for an example.

BTW, emacs all the way ;)

Re:SLIME (1)

gnovos (447128) | more than 8 years ago | (#14361618)

The solution to that problem is simply more introspection. See http://common-lisp.net/project/slime/ [common-lisp.net] for an example.

I don't see how... Basically autocomplete isn't going to work when the program logic can be changed at runtime.

def missing_method(name, *args)
    if (random_boolean())
        do_a(args[0], args[1]);
    else
        do_b();
    end
end

Now when I call "string".foo(), it will eiteh rhave just enough parameters, or not enough, depending on, at runtime, if random_boolean returns true or false;

Highly recommend Wingware (1)

teus (155555) | more than 8 years ago | (#14361341)

I've been using the Windows version of the Wing IDE [wingware.com] for several months now and it's the best money I've ever spent on an IDE. Yes, it's commercial software, but good tools are worth it if you can't find an open source version that works for you.

Comes in versions for Win, Linux and OS X. A timed trial version (otherwise uncrippled) is readily available. I hear the authors/company are active in the local Bostun Python group, but I haven't made it to a meeting yet.

the standard editor... (1)

fdisk3hs (513270) | more than 8 years ago | (#14365456)

IDLE comes with Python, and is easy to set up on OSX. The editor is pretty good, debugging is pretty good. Unfortunately you can't actually test a Tk app within IDLE, since IDLE is Tk... So you have to drop to a prompt and launch your app from there. It has nice syntax highlighting and editing is usual WYSIWYG. There is a nice installer to get the pieces you need like bsddb. There is a pythonmac-sig mailing list where folks discuss such things.

Re:the standard editor... (1)

fdisk3hs (513270) | more than 8 years ago | (#14365475)

Oh yeah, Jedit is quite a nice programmer's editor, and the OSX port is delightful. Gosling uses it. It knows Python syntax highlighting, don't know about launching your app from the editor...

What would a Python IDE provide... (1)

Darius Jedburgh (920018) | more than 8 years ago | (#14365811)

...that a text editor doesn't? When doing C++ development I've found an IDE useful for managing things like options for multiple build types and automating the complation and linking process. Additionally C++ IDEs are useful because a bundle of source files might go into a single executable so it makes sense to organize source code in such a way that you can see, for each built executable, what files went into it. What aspects of Python require an IDE?

"Search this group" on comp.lang.py (0)

Anonymous Coward | more than 8 years ago | (#14372870)

Google groups, very handy. read about 6 editor/IDE that will let you work in C, perl, python, ruby, SQL, HTML on multiple O/S (except for textmate): Jedit, eclipse/pydev/trustudio, emacs, vim, textmate, komodo,
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...