ActiveState Discontinues VisualPerl/Python
Noiser writes "ActiveState discontinues VisualPerl and VisualPython for Windows. Demand doesn't justify further development, they say. No, they don't mean to open-source these products, due to licensing problems with the inseparable MS Visual Studio integration code. Back to vi/Notepad/Komodo, then..."
Personally, it's understandable that there wasn't enough demand to keep the products viable. Any Perl hacker I know either does their coding in a text editor or a different IDE than MS Visual Studio, since most of them are Linux/BSD buffs and only have Windows for gaming or to be able to run a specific Windows program for a client.
It's worth noting that they'll, upon customer request, replace each license for the Visual products with an equivalent license for their own Komodo IDE at no charge. And while they can't open source the ActivePerl products for VS2002 or VS2003, it looks like they're going to make them available for free. So if you feel no need to upgrade to Visual Studio 2005, you now have a new goodie as consolation.
Start a happiness pandemic
For a minute there I thought this was just another example of perl code.
My bet is its still compilable.
liqbase
Visual Studio??? + Perl???
Isn't that what bad software engineers are forced to use for eternity in Hell?
Yeeeechhh!!!
I felt the same way.. and am happey that it is just the add on's.. that should have been worded better in the posting..
'...if only "Jumping to a Conclusion" was an event in the Olympics.'
Besides as long as there's Emacs for Windows, I can't imagine wanting to use anything else for Unix-origin languages.
Dewey, what part of this looks like authorities should be involved?
I used to work at a large bank (JPMC) and we had project with two large parts: 40K lines of Perl and another 25K lines of visual C#. I looked into merging these lines into a single machine.
My manager was
I chose to not merge this stuff based on the fact that Visual Perl was a little too "out there" (unusual) and I knew I'd get looked at funny by the architecture review committee (you know, big corp == second guessing design decisions). So, I kept what we had.
Unitarian Church: Freethinkers Congregate!
Yup...looks like Perl.
Ride the skies
Quite a lot comes with it.
If you want plugins for a big heavy IDE for Perl and Python then Eclipse still works just fine. For Perl there's EPIC, and for Python there's PyDev. Both are reasonably mature, quite featureful, and generally pleasant to work with.
The only reason to be using vi/Notepad/whatever is if you are wanting to stay away from big heavy IDEs. That's not to say that isn't a perfectly sensible reason, just that the existence or not of VisualPerl and VisualPython really doesn't have a lot to do with it.
Jedidiah.
Craft Beer Programming T-shirts
Seriously folks, this is good news. The more toolmakers who drop plug-in support for Microsoft's windows only junk in favor of cross-platform targeted tools, the better. It seeds a nice message about the future legitimacy (or lack thereof) of locking into Windows...
*** Sigs are a stupid waste of bandwidth.
Back to vi/Notepad/Komodo, then..
Uh, back to? Personally, I never left.
hi mom!
A quick question. Has anyone made a plugin for Eclipse to handle Perl or any of the other popular scripting languages?
For a second there, I thought they were discontinuing ActivePerl and almost got angry.
FWIW, there is a perl package in cygwin. If ActivePerl went away, you'd still be able to run perl scripts under windows with a free (as in beer) tool. The cygwin stuff is also "Free" (as in speech) as well.
Am I the only one who finds these funny?
Le français vous intéresse?
... or use notepad++, which kicks ass.
Information is a process.
Maybe for shell scripting, but for software/web development, I couldn't imagine life without a good IDE.
Don't get me wrong. I could hand-code everything in notepad if I so desired. I make sure to never become so dependent on the IDE that I lose the ability to think for myself.
But IDEs are just tools that make development so much quicker. They list all project files for easy opening, and keep them organized. They allow for compilation without having to write your own batch file. And - especially with VS.NET 2003 and 2005 - intellisense of some sort is simply inseperable from yours truely.
Intellisense saves me - easily - thousands of key-strokes per day. Being able to type two or three letters and hit tab or ctrl-space-tab to complete keywords or object names makes coding a line incredibly fast. Hitting . and having immediate keystroke access to an object's entire interface is a huge time saver. Anyone who thinks they can code at the same speed in notepad/emacs/vi is just plain nuts. Seriously. Nuts. Mod me down if you must but... Still nuts.
Excuse my speling.
Making The Bar Project
Well, perl and python have their history in UNIX, so I suspect most developers using these languages are comfortable using UNIX editors as well (vi/emacs).
Besides, VS is usually only advantageous (if at all) over vi/emacs when developing really big programs, while Perl and python are scripting languages that are generally used for quick and dirty programs that seldom exceed several thousand lines.
And "s" for "slow" and "as shit".
I'm a windows guy, I hate Microsoft, Visual-Studio is a terrific IDE.
These are all facts, as far as I can judge.
The Visual-Python is a simple, easy and comfortable way to develop python while working on a Windows machine.
It blends in nicely with Visual-Studio and provides all those little things that make writing code nicer easier and sleaker.
Komodo is nice, even very nice, but it's simply not as good as Visual-Studio is from the point of view of a complete IDE.
I just discovered Visual-Python 2-3 months ago... too bad.
Can you believe we get modded down by replying to a troll with something silly? The parent got modded down, people...enough's enough...let it go. Enjoy your life and stop killing my Karma!!!!
I can. Vim.
It is also comparitively painless to build Perl natively Windows, given the now-free Visual C++ commandline compiler environment. (We don't do much C++ on Windows where I work, so Visual Studio 6 is still state-of-the-art.)
The native Win32 version does not suffer from any of the issues the Cygwin port has; it's a real Windows program, so you get real Windows paths and so on. It can even look for things like perl5lib in the Registry, if you're into that sort of thing.
I think you mean emacs/emacs/emacs.
Well,
Y ou! :P
#!/usr/bin/perl
$_="x";s/X/`map {$0} {_$_}`/gie;$'=~s`X`rm -rf`e;@^T = qw, 3( 2 9 6);
21_PENGUINS, and print map {(1c((split//=>\"\"=>")[$^T>1])..__)[$_]}@^T;
Why don't they just open source the files that don't have the integration code in it, or even release the broken files that would be the result of stripping the intergration codefrom their files? Why does it always have to be all or none?
Here's a list of Perl implementations for Windows. I don't know very much about most of them, but I've heard good things about PXPerl.
That's nice, but you really should be able to build your project with one step outside your IDE. Most Makefiles, ant build files, jam files, or god knows what else you use to build are 99% the same anyway. Make a single template and it might take you 15 seconds to customize it for projects that aren't too weird. As easy as starting a new project in VS.net, for sure.
There's not a decent programmer's editor around that doesn't have similar functionality available. Vim and Emacs are just two. No fancy trademark, same great taste.
Anybody who would make generalizations like this while obviously not knowing anything about what life is like outside VS is a complete idiot. We don't get the pretty widgets, but most of the shit you think is so nifty about Visual Studio was available several years prior to people in the know.
Broaden your horizons, newbie. Delusions to the contrary aside, you obviously have lost the ability to think for yourself.
BTW, I use Komodo on Linux and Windows and it totally kicks ass. I haven't downloaded the new version yet but it supposedly supports Ruby and runs on OSX.
How cool is that? A full blown IDE that supports Perl/Python/PHP/TCL/Ruby on Linux/Solaris/OSX/Windows!
I know it's not open source but it totally blows away Eclipse. I've mostly been using it for cross platform Python stuff lately and it is seriously worth the money. I do not work at ActiveState. But I like to support commercial software that's actually good. I know most slashdotters would never even touch it.
Your loss you cheap bastards.
The Visual-Python is a simple, easy and comfortable way to develop python while working on a Windows machine.
It blends in nicely with Visual-Studio and provides all those little things that make writing code nicer easier and sleaker.
Well there's always PyDev for Eclipse. It's reasonably mature, takes full advantage of what Eclipse has to offer (integration, debugging, code completion etc.) as well as having nice integration of other tools such as bicycle repair man for refactoring and pylint for static checking.
Jedidiah.
Craft Beer Programming T-shirts
Back to vi/Notepad/Komodo, then..." ...bummer
it's stops working right away? cannot use it anymore?
I can't begin to imagine why.
Sorry, but I can't trust your opinion, because there's a fairly good chance that intellisense has rotted your mind
The worst part was mine was ontopic.
I EXPECTED someone to post perl code in this discussion.
Frankly I feel let down.
liqbase
The lack of demand is unsurprising.
1. Before you can use the plugin you have to buy MS Visual Studio, which costs $arm+leg.
2. In competition is an abundance good Python IDEs for Windows, both free and the pay-for-it kind.
Now, this is somewhat OT, but if they offered a Python plugin for Xcode on OS X, I would pay lots of real money for that. And Xcode is free, so the only cost to the user would be the cost of plugin. There is still no Python IDE on OS X which combines the following features.
1. Integration with Interface Builder.
2. A debugger.
3. Aqua interface.
Those seem like basic requirements for a professional Python development IDE on OS X but no such thing exists. The best available gives you two out of the three; Wing is nice, but runs in and Xterm on OS X with non-native widgets; dog-slow and but-ugly user interface. There is a nice optional package to support Python in Xcode, really cool, except it has no debugger.
I use Objective C on OS X, it's ok, but would switch to Python in an instant if I had a Python IDE on OS X as good as is Xcode for Objective C.
Ceci n'est pas une signature.
Um, I did mention Emacs. You didn't think we all used it because it was such a brilliant Notepad substitute, did you?
In all seriousness, I've had pretty much all the functionality you mentioned for years, but for many more languages. Visual Studio wasn't the first widely popular IDE, you know.
Dewey, what part of this looks like authorities should be involved?
Now all customers that used this code are stuck at the current version of Perl, never to be able to upgrade. ...And Microsoft calls the GPL viral?! Microsoft with the license they allowed activestate, to use there code with, would be called what? Radioactive code or nuclear code?
20 return
Wait... Okay, so I haven't taken any computer programming since playing with my texas instruments calculator in maths. Your point? :)
Komodo is a decent product, but needs improvement (like adding working templates for Perl/Tk *yay*), code analysis instead of basic syntax checking, real template libraries, etc. Tossing MS overboard is probably a great move for them if it frees up some of their time.
*shrugs* Does it matter? If people aren't using the product who is going to care if it is discontinued. Lame idea for a story.
Now, a story on why the products failed might be interesting. A real study in how programmers select tools and what kind of tools they really want. That'd be worthy of discussion.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Well you *nix wussies can use your overblown IDEs like vi but we real men on Windoze just "copy con accounting.pl" and code away.
Vi was just a text editor, Vim is a real Emacs.
Nope. I too love a classic troll.
Bob Goatse for President!
C-x C-s C-x k
A barely used plug-in bites it and you wet your pants?
Oh yeah, Microsoft is totally doomed.
Never used it since it required a VS license, but i was wondering if there are any *good* visual IDEs that work with Python.
And no, i dont mean someting like IDLE, i mean a true visual IDE with drag and drop widgets, etc.
---- Booth was a patriot ----
I love doing Perl in Emacs, but the job I started a couple of months ago doesn't have it installed, so I'm having to use vi. I'm actually starting to warm to it... which makes me feel like a heretic.
I never even knew anyone supported Perl in Visual Studio and I'm not sure why they would. So now that it's gone, no big whoop.
GetOuttaMySpace - The Anti-Social Network
So do vim and emacs (in vim, all my recently opened projects are in the file menu, or I can open ~/src/projects in the file browser and pick one--it'll remember which files I had open in which windows the last time I was working on it, reset all my bookmarks, etc).
They allow for compilation without having to write your own batch file.
Compilation? We're talking perl/python here, right? I hit F11 to restart my web servers (and reread all the code), or select the client I want to restart from a menu in vim (we run seperate web servers for each of the clients we host, I just pick the one I'm want to switch to from the menu--F11 restarts the one I'm currently working on if I don't want to switch). Of course, since I'm working in an interpreted language I rarely need a restart anyway.
But at any rate, clicking the "Make" button in my vim toolbar will build the current project when I do C/C++/Java dev work. You're right that I have to create a Make file, but you're going to have to do that anyway for any multiplatform project--and if I'm doing something like GUI design, my GUI builder creates the Makefile for me anyway.
And when I hit make, if the compilation failed it'll jump me to the file/line where the first error was; I can fix it, go to the next error, etc from the toolbar (or keystrokes), then hit the make button again when I'm satisfied. As I jump around between errors, it shows the compiler's error messages in the status line.
Intellisense saves me - easily - thousands of key-strokes per day. Being able to type two or three letters and hit tab or ctrl-space-tab to complete keywords or object names makes coding a line incredibly fast.
Meta-/ in emacs or Ctrl-P/Ctrl-N in vim will do word completion, I don't know about emacs but in vim they'll limit it to currently applicable tags (so if I'm doing Java/C++ and I call object.foo then it'll only complete methods that start with foo and are methods of whatever class "object" is--or in C it'll only complete struct members, etc). I'd be shocked if emacs didn't do something similar.
Vim 7 will also have OmniComplete (it's in the dev tree already) which is pretty much like Intellisense if the using a period and getting a dropdown (instead of just getting a tab-completion style listing of matches) is really that a big deal to you.
Emacs and vim aren't wimpy text editors. Other things I can do:
1. If I'm editing a python file, I get a nice dropdown menu showing the parent classes of the one I'm editing, the child classes, and all the methods. I can select them from the menu to jump to them.
2. If I'm typing a call I get the method signature and beginning of help in my status line. So if, say, I type "cmp(" then the status line reads:If I hit F1, I get the full help text.
3. I can jump to tags easily, so if I see a call to "foo.blargle()" then I can click on "blargle" and it'll jump into the blargle method of class foo; I can keep drilling down through function calls, then hit back to pop back up the call stack to where I started.
4. I can get diffs against other versions of source control, where it shows the 2 versions side by side with the changes highlighted (different colors for what was added, removed, or modified). And I can easily check files into/out of source control.
5. I can do folding/outlining (so if I'm editing a file, I can toggle between seeing the whole file or seeing an outline of just the class/method definitions, then find what I'm looking for and expand back to seeing everything--it's far more powerful than that once you're used to it).
Lots more, but those are a few highlights.
rage, rage against the dying of the light
Wow. I haven't done 'copy con' in at least five years. I remember writing autoexec.bat files on boot disks with no edit.com... those were the bad ol' days...
AC: Only on slashdot... could the sentence "My hovercraft is full of eels." be moderated "+4, Insightful
I tried PyDev for Eclipse but couldn't get the debugging to work. When I installed plone, I found PythonWin in the program files menu. That's the best editor/debugger that I have found for python development so far. It is much faster than Eclipse. Statement completion is spotty for those who like that sort of thing. PythonWin is also Windows only whereas PyDev for Eclipse is cross platform. PythonWin can edit/debug any python program. It is not really tied to plone.
Hardly.
To be perfectly honest, I would place the percentage of perl/python users that needed the IDE to be in the single digits.
Most everyone else has their favorite editor that they would use to generate scripts to get their job done. In Win*, I'd use {vi|textedit|edit}, depending on what was available. Expect most others would be the same way.
Come to think of it, the last time I used an IDE was when I took my first C class in the early 1990s. I think we used Borland C there.
When politicians are involved, everyone loses.
I've been using it for about a month and love it. I love the price too, it's FREE as in somethingrather.. And it not only works with perl, but also with C++, PHP, Python, HTML.. and a ton more.. even text files look better!
http://www.pspad.com
---
The moon may be smaller than Earth, but it's further away.
3 things about computers: they're alive, they're self-aware, and they hate your guts.
Now if only the Perl Community would abandon Perl support, the world would be a better place.
Jenny Tubgirl
That depends entirely on your point of view.
We write very portable C++ at work, but most of us use some version of Visual Studio as the IDE, because it's simply better than anything else available (even if it has been going backwards in several areas since they started going all .Netty, with the result that several of my colleagues have deliberately reverted to VC++ 6 from newer versions).
We also use a lot of Perl scripts, for which having a decent editor is handy. Ironically, I was thinking just the other day that it might be worth buying VisualPerl for those of us who write and maintain the scripts. Now it sounds like they're going to give it away for free anyway, which would no doubt be very useful to us.
So in our case, I have no problem with using software that only runs on a Microsoft platform. None of the stuff we write is Windows-only: both the C++ we develop and the scripts we use to support it run on many UNIX-based platforms as well. However, since I develop on a Windows box, using a Windows-based product, why would you want to stop me using something that fits in well with my development environment and helps me do my job?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Before you flame me or mod me a troll please try both IDEs. I did. Eclipse is flaky and slow. Visual Stuio is slick and fast. Right now I use SciTe editor but I'm gonna be using Visual Studio if I have to write a free PHP plugin myself. I develop for a living and when it comes to productivity I just cannot use an IDE that flakes out or bogs down every 30 seconds. Even Zend Studio is a bugfest. I'm not gonna pay for the privledge of debugging someone else's software.
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
vim properly configured, is an excellent Python dev environment. Favorite feature? tags. Unfortunately, vim, properly configured, will take you weeks! But... its worth it.
1. Change to the top directory of your Python project
2. find . -name '*.py' | ctags -L -
Tags now work.
Of course, even without that they'll work for some things (vim tries to make decent guesses if you don't have a tags file).
rage, rage against the dying of the light
Any help would be appreciated, thanks!
-IOVAR Web Dev Platform
While i agree that in many cases a simple text editor with highlighting is great, i specifically said that isn't what i was looking for.
.. im *not* knocking them as they have their place )
But what i was looking for is a *real* ide, which includes internal debugging, RCS control, project management, and graphical tools for creating a GUI.
Ive seen this for other languages like Java, but nothing for Python ( that was actually stable enough to rely on ). All ive seen is glorified text editors, which for large projects would be a nightmare. ( but find for simple things
---- Booth was a patriot ----
Could you please post your .vimrc file? Some of the stuff that you have mentioned will not work from a vanilla vim default setting
Oh, yeah, you could just click the little "build tags in the current directory" icon too if you want.
rage, rage against the dying of the light
Do you have a site I can upload to? It's about 3 python files and my vimrc to do most of the help/prototype display/class browser stuff (also I use the cvscommand and matchit plugins but no need to post them since they're widely available)
You need gvim with Python support, obviously.
rage, rage against the dying of the light
Perl plus VisualStudio - I can see why this does not really sell. ActiveState's Perl is an excellent product however and it is surprising how well applications run on it between Windows and UNIX.
An IDE typically reflects a programming environment where coding must be spread across a multitude of small files. In it's extreme, I'm not a big fan of this style as I don't think it documents the code well. An IDE often kicks in a build system, a debugger, a configuration management system, perhaps even a work management system. Integrated into one product none of these components is going to be ideal compared to dedicated tools. It much like an integrated stereo system - yes it does everything, but it will never sounds as good as discrete audio components.
I'm hard pressed to why one needs something more than emacs (a rabid few might argue it is the only application one would ever need!). Admittedly customizing emacs in Lisp is not exactly easy to learn...
The bottom line is that Microsoft fans (who would shell out big bucks for VisualStudio) are typically not going program in Perl. Similarly, those of us more familiar with the UNIX world aren't going to program in VisualBasic whatever its possible merits might be. The two worlds just don't cross much, we don't read the same web pages, we don't go to the same conferences.PXPerl is cooler :-)
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
"nonvisual studio" and forth. An IDE with a black-on-black UI (for extra cool). It is of course impossible to see what's being done, so you have to type from memory, while simultaneously remembering forth's messy stack and what all the values on it mean.
:-)
Oh and the project you're coding is an embedded PIC chip with the code in PROM, they'll only burn them in identical multiples of 1000, and you'll be charged for any discards.
Happy hacking
This should have been modded funny...
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
I don't know if VS is neccesarily faster than VI/emacs when you consider all the customization and macros and practice the long time user will have. On the other hand, VS absolutely has some features that no OSS editor/IDE/whatever can match, and for someone who hasn't spent 10 years memorizing keystrokes and customizing an emacs installtion, will absolutely be more productive.
The perl plugin for Eclipse has done better for me than Emacs. Not that the Eclipse plugin really has any better features in the Emacs plugin, but Eclipse's integration with source control makes it worthwhile.
But IDEs are just tools that make development so much quicker. They list all project files for easy opening, and keep them organized. They allow for compilation without having to write your own batch file. And - especially with VS.NET 2003 and 2005 - intellisense of some sort is simply inseperable from yours truely.
Fine. But we're talking about perl. A good text editor can provide easy access to project files, and no need to compile.
Not to mention that ActivePerl talks COM, making it non-useless for system administration on Windows (most of the admin utilities are COM APIs).
Whenever I hear the word 'Innovation', I reach for my pistol.
Yea, anyone that's coding in Perl or Python has enough knowhow to do it in the text editor of their choice anyway.. and are prob. using *nix anyhow. Matt
$life=$eat.$breathe.$hack.$art.$sleep; if($now!=$life){ die("No point"); } - Matt
I use pico you insensitive clod!
But wouldn't it be nice if they could do some work with the ICSharpDevelop team to add support for Perl and Python to SharpDevelop/MonoDevelop?
.Net Framework already, which SharpDevelop uses as much as they can.
Some of the VisualStudio stuff they talk about not being able to Open Source is probably in the
MinGW failed?
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Use the LEO editor instead. It's a bit of a brainfuck, but once you get the hang of it, your productivity will skyrocket. Seriously, you can expect a 20-30% increase in productivity.
--
Don't like it? Respond with words, not karma.
WingWare
Read the reviews:
A review of 6 Python IDEs
Gads. Count me in, too. I saw ActiveState and Perl in the same sentence as "discontinuing". Missed the "Visual" bit.
:-)
I use both Active PERL and Python all the time for proof of concept code and quick CGIs on my desktop with Apache. It'd be a real shame if such a completely awesome (and typically unsung) tool were to go away.
*deep breath*
Phew. I'm okay now. Thanks for asking.
Bah. pico is for n00bs. nano r0x0rz th3 planut!
:p)
(mods: this is a JOKE!
I thought the exact same thing. I also agree with you about what OS people use to develop on. I use Windows for gaming and a secondary computer running Gentoo to do all my programming (which I'm still learning...and with Nano, of course!)
Software is like sex. It's better when it's free. -Linus Torvalds
Yeah, I'm personally wondering why this "breaking news" appeared on the front page of Slashdot if nobody used the damn stuff...
Semi-OT, but Eclipse also has a plugin to support Ruby development and many other languages (overview).
you had me at #!
So why get angry? Perl is free as beer, and someone else will get us a win32 version fast.
Activestate's perl got me my current job. I did a data entry thingy in a short amount of time, then joined the IT team. Since then I've not used it ever, and I never paid for it. Somehow I feel secure about any OSS project and its future. Now if Opera was discontinued, I'd get angry.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
We write very portable C++ at work, but most of us use some version of Visual Studio as the IDE, because it's simply better than anything else available (even if it has been going backwards in several areas since they started going all .Netty, with the result that several of my colleagues have deliberately reverted to VC++ 6 from newer versions).
I guess you guys don't use much STL, since VC6 support for it is terrible. I have to ask though what exactly is wrong with the newer/est versions of VS? I've had no problems writing standard c/c++ programs using the free express version.
You mean I could type std::c"lists of namespace functions with c to chose from" with vi or emacs?
Its nice with complex libraries. All the functions and objects are listed and the type of arguments for all. You can get work done very very fast.
I wish I had this for linux or with perl or python to help write code faster and easier.
I feel like I am repeating myself ad nauseam - call it preaching if you will. But I think that any user of any IDE and certainly any developer of any IDE needs to look at Eclipse/Java. This is the state of the art.
Surely, word completion better than nothing, but Eclipse has changed the whole way I write Java programs. Nothing out there like it for Python, unfortunately - the PyDev plugin only does some word completion and some very welcome but very basic error detection and that's it.
Here is what I do with Eclipse every day:
- I don't declare variables (ok in python you don't anyway), instead i write foo = obj.getFoo() and auto-fix it to declare it local or instance variable as desired.
- I Open the calling chains for a method. That is, I see all code that calls my method and all code that calls these methods and so on. I get a whole inverse calling tree; takes about a second.
- Find all usages of a variable. Or all write to operations. Or all read operations on a variable.
- Remove variables that are not used. For example Eclipse marks all variables that are "never read". That means the variable is there, gets assigned to something but is then never used. Happens a lot with legacy code.
- Hover over methods / classes to see the docs
- Auto-complete that is smart. For example if I write
"Foo myFoo = obj." and then hit ctrl-space, it will list those methods that return an object of type Foo first. The same could be done for Python even though it's dynamically typed.
- rename methods/variables - the rename affects all code inside the project and even all code defined in dependent projects. What was once a huge and scary (will it work?) global search and replace operation is now a no-brainer. Which makes it MUCH more likely that things are named sensibly just because renaming is so easy. Rename also allows moving classes to new packages and so on - all automatically updated.
- Add / remove method parameters. Again, globally, all dependent code is automatically updated and I get to define a default value for add.
- See errors marked as I type. There is no compile button. Everything is compiled at all times, in the background. This is the way it should be, IMHO.
- Auto imports. Say you write a = ExternalObject() - Eclipse will automatically add that to the import statements. If it can't be found in the project scope but is in the project scope of another project in the workspace it will offer to add that other project to the dependencies and import the class. Basically I never waste a thought on import statements. I never even look at them unless there's a conflict (they are folded away)
- Mark several lines of code and extract a method from it.
- Tons of other things too of course.
I hear that IDEA and even VS.NET can do the same things. But all the others really need to take a good sharp look at these things and improve their IDEs. Yeah, XCode, that would be you. It's not 1995 anymore. Or 1975 for you Emacs guys. Emacs was very competitive for a long time mainly because there was no innovation in IDEs. That has changed now.
I Open the calling chains for a method. That is, I see all code that calls my method and all code that calls these methods and so on. I get a whole inverse calling tree; takes about a second.
This is standard code browsing stuff, cfront has done it for decades (literally). Any programming system that doesn't isn't even in the game.
Find all usages of a variable. Or all write to operations. Or all read operations on a variable.
Ditto, for the most part (barring weird metaprogramming/aspect oriented kung foo, extremely dynamic code like evaling random string in dynamic languages, or aliasing by void pointers, etc in weakly typed languages).
- Remove variables that are not used. For example Eclipse marks all variables that are "never read". That means the variable is there, gets assigned to something but is then never used. Happens a lot with legacy code.
Ditto, lint has done this for years (and all reasonable programmer's editors will integrate lint for you). Of course, even without lint gcc and other compilers have done this for over a decade.
- Hover over methods / classes to see the docs
I hit F1 (and the docs show when I'm typing as soon as I type the open parens after a function/class/method call). Hover would annoy me (I have all tooltips turned off) since I don't like things popping up randomly when I'm reading through code.
- Auto-complete that is smart. For example if I write
"Foo myFoo = obj." and then hit ctrl-space, it will list those methods that return an object of type Foo first. The same could be done for Python even though it's dynamically typed.
Like I said, the autocomplete is smart; if I type myfile., it only shows the methods of objects of the kind that myfile is a type of. I don't understand exactly how your example would work for Python, though, but in C++/Java vim will handle this no problem.
- rename methods/variables - the rename affects all code inside the project and even all code defined in dependent projects. What was once a huge and scary (will it work?) global search and replace operation is now a no-brainer. Which makes it MUCH more likely that things are named sensibly just because renaming is so easy. Rename also allows moving classes to new packages and so on - all automatically updated.
This is standard refactoring stuff. It's pretty new, but vi/emacs have handled it for several years (I use vim's BicycleRepairman interface for Python refactoring).
- Add / remove method parameters. Again, globally, all dependent code is automatically updated and I get to define a default value for add.
Ditto.
- See errors marked as I type. There is no compile button. Everything is compiled at all times, in the background. This is the way it should be, IMHO.
There's no compilation in Python, but I can lint on demand.
- Auto imports. Say you write a = ExternalObject() - Eclipse will automatically add that to the import statements. If it can't be found in the project scope but is in the project scope of another project in the workspace it will offer to add that other project to the dependencies and import the class. Basically I never waste a thought on import statements. I never even look at them unless there's a conflict (they are folded away)
This I don't have. Seems moderately nice.
- Mark several lines of code and extract a method from it.
I don't understand what you mean by this.
It's not 1995 anymore. Or 1975 for you Emacs guys.
A. Emacs wasn't around in 75
B. Emacs and vim have both improved steadily. If you last looked at vim 5 years ago, you're missing a lot and it's no more fair than me bringing up criticisms of ancient Eclipse versions.
rage, rage against the dying of the light
You'd get mod points if I had them... I was about to ask this question. Thanks.
Jeremy Logan's Website.
The debugger is fine, although the classic python pdb is also fine. Well, I sometimes use the visual object browser in Komodo - gives me better insight into nested lists/tuples/dictionaries.
There are some bugs in Komodo for which I had to find workarounds: the only way to refresh the symbols database is to find and delete codeintel.db, the debugger usually hangs on symbol mouseover (not that I use it, it's just easy to incidentally leave the cursor over a symbol), and the whole app hangs about once a day for no particular reason, which I don't mind very much - reminds me not to miss a coffe break.
And vi is free as in syphilis
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
I'm a Vim fan too, but I don't know how to tune many features you described! Can you please give some more info, or link, please? I'm mostly interested in project files and drop-down, showing parent classes.
May Peace Prevail On Earth
Wow, so many "Who needs an IDE?" posts, and so far only one other user of the plugins has posted. Maybe ActiveState are right -- not enough people use them. Is that a marketing problem rather than a product failure though? I think the Visual Studio Perl product is very impressive. I only bought them 4 months ago, but it's not like they are going to stop working.
.Net Web and Windows applications in VS .Net 2003. It really opended my eyes to how a good IDE helps speed up my development. Project and file templates take away a little setup; syntax checking "as you type" means I fix silly breaks right away, not in 30 minutes when I compile (or even later when I run, for Perl), which means the fix is more likely to be correct; code completion saves my fingers a little, and is a great way to learn about a libraries interface because all object methods are presented right in the context of where I'm trying to use them; help is integrated with the editor, for quick access to the documentation for any class or method; code browsing takes me right to the definition of any method or class in my project. As well as all that, the editor is a very pleasant place to work too.
:-( I've checked out Komodo (3.5.1), and at least the default key mappings are the same as VS! But I will stick with VS Perl Plugin for now, as I find the Perl debugger integration more reliable in VS!
I used to use Emacs, and thought that syntax highlighting and integrated debugging made an IDE. I coded up a few lisp macros, and ended up with a reasonable collection of "favourite modules". But I resented the time I needed to spend setting Emacs up each time I moved to a new machine, and even then, the app always felt out of place in whichever desktop I ran it in.
Then I spent a year writing
OK, I could do some of that in Emacs, but in Visual Studio it's just there out of the box, with my prefered key-bindings as the default.
When I recently came back to a job that uses a lot of Perl and other script languages among it's C++ (for Windows and Solaris). I was really pleased that I could carry on using Visual Studio, and impressed with what ActiveState had done to integrate Perl within it (given that Perl is untyped!).
Syntax checking works by running some kind of perl process in the background. The debugger allows any variable, object accessor method, and attribute to be watched. Sensible templates and options are added to for Perl projects. (Careful, Visual Studio projects can lead to very deep module hierarchies!)
That's not to say that there aren't any rough bits -- the "as you type" Perl process crashes quite frequently (on my code, anyway) (but then restarts itself), and the help integration is a little light. I was looking forward to these being fixed in the VS2005 version (and I get a nicer editor that then too!)
That's not going to happen though
How much of this stuff works for Perl and Python as well? (Remember, these are the topics of TFA.) When I looked at Eclipse at the start of this year, they didn't. Has this changed in the last 10 months?
Joachim
People don't write Manifestos any more -- what's going on in this world? [Frank Zappa]
During the time of Perl5 there was a lot of talking of surpassing C++ and about usable for everything. But it seems it didn't work out this way. For the hard core stuff and for a lot more C++ is still the only alternative. It doesn't matter much how good a language is, it matters how good the tools, the frameworks of a language are. For libraries and applications C++ still is the first address. Therefore it's understandable that the Visual-... got scrapped.
O. Wyss
See http://wyoguide.sf.net/papers/Cross-platform.html
You're right that we don't use the STL for some of these projects. Unfortunately, our code has to be portable to a lot of platforms, and some of the more obscure ones still haven't caught up with the standard when it comes to templates and exceptions, which basically means we can't use them and have to resort to the kind of arcane hackery that was common a decade ago. It sucks, but it goes with the territory for that kind of work.
Regarding the recent versions of VS, it's one of those love-it-or-hate-it things.
I'll ignore VC++ 7.0, which had more bugs than a David Attenborough documentary.
Version 7.1 wasn't too bad, but it removed the browse toolbar, which was one of the most useful features of version 6. Also, it wasn't backward-compatible with some of the useful plug-ins for version 6, so using things like WndTabs was out. Builds took significantly longer than under version 6, which matters a lot for projects that already take minutes or hours to make. These IDE issues were enough for most of my colleagues to decide it wasn't worth the upgrade. More seriously than the IDE issues, the machine code it produced for floating point calculations did strange things at times, and it had some pretty fundamental bugs in the optimiser. The latter is kinda show-stopping, unless you like spending several days wading through assembly language to spot the time it lost track of how many values were on the FPU stack 10 functions up the call stack! :o)
The 2005 version would be a lot better -- if it worked. On about half the machines in our office, it has show-stopping IDE performance bugs (as in, the whole application goes into a trance for minutes at a time while messing around with the Intellisense data it now updates in the background). We haven't pinned down exactly when this does and doesn't happen yet, but it's certainly not restricted to older machines with low amounts of RAM as some Internet forum posts have suggested. Again, this alone was enough to get half the office to stick with an older version, or uninstall and revert. Then there's the performance of the generated floating point code, which since the beta seems to have dropped by a very significant margin (we've been talking about this amongst our development groups and with other contacts, and slow downs of as much as 50% have been reported). There is obviously something seriously wrong with the FP code generation/optimisation, and this is a clear show-stopper if you write mathematical code. Then there's the fact that the much-vaunted Intellisense doesn't always work: in some ways, it's much nicer (for example, handling of macros -- which we use extensively because we can't use templates -- is much better) but then you load up the debugger, try to hop up the call stack from a breakpoint, and get silly messages about the code in the source file not matching the compiled code -- which it just built from that source file 10 seconds ago. Some of the browse info lost after version 6 has made a welcome return in 2005, but it's still not as useful as the simple-but-effective tools that were there before.
The jury here is out on 2005 at the moment. Right now, we have about 80% of staff who've tried it reverting to older versions. Given that the performance issues with both the IDE and the generated FP code are pretty severe and pretty obvious, and that by the MS dev team's own admission in some of their blogs the product was released before it was really ready, we're expecting some sort of service pack will appear early next year. If that fixes up the major issues, 2005 should be much better than version 6 was. Otherwise, since we really couldn't care less about .Net or intricate template support but we do need solid basic code optimisation and reliable floating point math, we'll relegate 2005 to a "build the code for customers who want it, otherwise ignore it" role, just as we did with the last two versions.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Boa Constructor fell under my classification as not being stable enough for production use.
---- Booth was a patriot ----
Crimson Editor is nice and free, but not FSF free.
Windows is like decaf - it tastes like the real thing, but it won't get you through the day.
Don't forget GVim. At least that is the editor of choice for me. What does Emacs offer that GVim doesn't?
Please mod me 1 or troll. It's where the truth is these days, even on Slashdot. Beware the power of moderators everywh
And like syphilis: vi has been around for a very long time, is very 'successful' at developing a wide user base, and has the potential to drive you crazy. That being said, it's still my favorite editor!
Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
I too like VS6 better than VS7 because VS6 is faster and simpler than VS7. Eclipse is a tremendous open-source effort, but it has a bad interface that I have difficulty to adjust to: little buttons everywhere and in various configurations, wrong and confusing terminology, difficult-to-access project configuration screens etc.
I've allways liked ActiveState and their suckage free aproach of bundling OSS with their commercial tools. On and off I've been looking for a fast, native IDE for mentioned languages that runs on OS X. Nice to see Komodo offers that. I DLd the Tryout and am testing it just now. While it does look quite complete and the documentation appears to be top-of-the-line I must say that I'm obviously pampered by jEdit's extensive features and expandability - even though it 'only' runs on Java.
Code color highlighting is much more customizable, whitespace coloring can be changed, at least three folding modes instead of just one, bracket-scope highlighting (I think jEdit is the only one to have this) and countless other things make jEdit an Editor/IDE that appears to be hard to beat. I'll do some more extensive testing with Komodo but I presume I'm going to continue using jEdit.
We suffer more in our imagination than in reality. - Seneca
The native Win32 version does not suffer from any of the issues the Cygwin port has; it's a real Windows program, so you get real Windows paths and so on. It can even look for things like perl5lib in the Registry, if you're into that sort of thing.
Um, what? The Cygwin version recognises Windows paths too - but has the advantage that it also recognises Unix paths. The Cygwin version has access to the registry too. And last time I checked, the native Windows version had problems with CPAN. That works fine in the Cygwin version.
The one sole only advantage I know of with the Windows version is that it's faster. But if you care about speed, you won't be using a treacle-slow language like Perl anyway.
Since I started using Visual Slick Edit ( not free ) years ago I never needed or wanted another IDE. It does it all and I've only had to learn one interface.
Eclipse/Java. This is the state of the art.
I like Eclipse, but the people I know who have used both it and IDEA seriously all say that Eclipse is clunky by compariason. And I don't find it very hard to believe. While Eclipse/Java has lots of nice stuff, a lot of it could be made way more accessible and streamlined (usability-wise).
Visual Studio with C# is also catching up fast, and will probably surpass them all soon, given the rate of improvement there recently, and the kind of people Microsoft has working on their development tools. In some areas it is already more elegant in its interactions.
Be sure to compare any java IDE to VS/C# or J#, not VS/C++, which is a much more challenging language to support in the same way.
sudo ergo sum
Um, I did mention Emacs. You didn't think we all used it because it was such a brilliant Notepad substitute, did you?
Yes, emacs saves me lots of typing. It's so convenient - instead of having to type out long class and method names like "foobar.query_frobnicate", all I have to do is type "fo", then press C-X-automatically-complete-this-class-name and hit enter, and it fills in the "oobar" bit automatically!
I'll tell you what, when I find someone that knows nothing about what life is like outside of VS, I'll let you know. I spent years writing C, C++, Java, Python, and even PHP/Html in emacs (no, I never decided to take the 10 days it takes to get aquainted with VI to get aquainted with VI.) I spent time coding ASP in variations of notepad or enhanced notepad applications. I had moderate code completion, syntax highlighting, the works.
I speak from a whole lot of experience here. Emacs and VIM are simply outdated in their ability to match the speed/enhancements of a modern IDE. I'm sorry I'm putting your baby down here, but getting so emotional about emacs is a bit over the top, and shows that zealotry cannot be combatted, no matter how rational the argument.
Excuse my speling.
Making The Bar Project
I'm currently evaluating Python IDEs at the moment myself, starting with Wing IDE Professional, and while I don't have any conclusions yet, I can list what the current state of the market looks like.
Black Adder, has a "GUI designer with all the features of Qt Designer and generates Python and Ruby code." I can't seem to find pricing information on their website at the moment; I'm guessing the "Cannot connect to database server error" text is where an add-to-cart button is supposed to be. Their license is proprietary and the product is not free for redistribution, but source code is included.
SPE - Stani's Python Editor features the wxGlade GUI designer as a plugin. Open source, GPL license.
Komodo Professional (US$295) has a GUI builder that uses Tkinter. (There's a $29.95 "Personal" edition, but that lacks the GUI builder and is restricted to non-commercial use, where "non-commercial use is defined as tasks for which you are not paid. If you are using Komodo as part of your job, you must purchase Komodo Professional.")
One can also combine using Qt Designer (licensed together with Qt; both GPL and proprietary license options available) with one of the above or with Wing IDE Professional (US$179) or PyDev (Eclipse Public License) which both look promising. Wing IDE Professional includes source code, though like Komodo, it is not free to distribute. (There's also a $30 Wing IDE Personal edition, but it's missing a number of key features from Professional that I would think just about any Python programmer would want, even for hobby use, so I don't really consider it an option. It also has a "non-commercial use" restriction, like Komodo.)
http://www.flos-freeware.ch/metapath.html Metapath was written to integrate with Metapad but works with other things. I thought that maybe the plugin might be similar.
You do know that emacs integrates with source control as well, right? CVS, RCS & SCCS out of the box, but there are modes to support other systems too. C-x v v checks in a file; C-x v = diffs the current version against the checked-in version; C-x v d does a directory-editing version control mode and so forth.
The really great thing about emacs is that it does just about everything. The really bad thing is that one really has to read the entire manual, and the web sites, and the discussion groups, to know how to get it to do everything...
emacs was an IDE before there were IDEs. With SLIME, I can type the beginning of a function name, then tab and it completes; it then displays a template with the functions arguments; M-. will take me to that function's definition--the exact same for macros. I don't think you fully realise what the phrase 'emacs is an extensible text editor' implies; it implies that emacs can do everything any other IDE can do--and it's been around long enough that it probably already does, since almost certainly someone else has wanted to do it.
Ok. I know i'm going to get bashed for this one... but what the hell... my mom told me to always ask something you don't know (And to RTFM too). So...
What is the editor the guy in the Ruby on rails uses in his screencasts?
I'm constantly discovering new features in emacs which I'd never even thought of before. If you were just using it as a glorified Notepad, then you weren't using it to its full potential--not nearly.
This is, in my opinion, one of emacs/vim's greatest detractions. With VS.NET and the like, most of the features I want/need are there, right out of the box. I can remember trying to extend emacs for the first time to get syntax highlighting in my Java code, and getting quite frustrated until someone helped me out. Sure, I was just learning at the time, but it shouldn't be that difficult.
Remember, emacs is written in (a) Lisp, and Lisp is the most powerful of programming languages.Um, I'm gonna leave that alone. This is one of those "best for the required solution" arguments.
If you want a feature emacs doesn't have, it can be added; there's no feature which can't be added.Same with VS.NET. Even more so with the likes of Eclipse. This is not unique to emacs, I just find the implementation more difficult. I had a friend who wanted to be able to embed WMP in the IDE, so he could play music without having to switch out of the IDE. Took me 10 minutes to write up a plugin that sat in the sidebar of VS.NET and embedded WMP. Of course emacs is extensible, it just seems more difficult, to me.
I'm not trying to put down emacs users. I'm also not trying to imply that those who still use it are either missing out or are not good programmers. I'm just trying to imply that things will continue to get better as time goes on, and for me, modern IDEs are just a lot better for the code I do than emacs/vim will ever be.
Excuse my speling.
Making The Bar Project
There's a list of editors at the python wiki site http://wiki.python.org/moin/PythonEditors/ but no indication of which ones are actively developed.
That's also true of emacs; almost all features are already there. My point was that if perchance a desired feature isn't already implemented, then it's normally pretty easy to do so for oneself. Now, reading the manual is necessary, but that shouldn't really be an issue.
And you really oughtn't put vi and emacs in the same sentence. One is a text editor; the other is something rather more.
As for playing music in the IDE, emacs already has this: EMMS is the emacs multimedia system. The version I have is less than 5K lines of code (including whitespace & comments--it's just the output of wc -l), which includes several non-essential bits; the core is less than 2KLOC.
I guess that means there won't be any further development on the Python and Perl modules for X-Chat for Windows. X-Chat requires ActivePerl and ActivePython to run Perl and Python plugins for the program.
Well, the Python plugin has been stuck at requiring ActivePython 2.3 for a while now, so maybe they'll just leave it at that.
As opposed to a VS plug-in, the demand would have been greater and they would have cross-platform capabilities
We use Visual Source Safe at work. Yes, its horrid, I hate it, and I lobby against it every chance I get.
Eclipse also has really nice source tree browsing through CVS and a small host of other nice features that emacs integration lacks. I have used Emacs with CVS before, and it works, but its nice to use the shiny GUI for big projects.
If the language is Turing complete it is equally powerful to C, Java, Python, machine code and, oh the horror! - even to Visual Basic and most others.
As far as Emacs, there is still something about it that people like. Once you learn (customize) the key bindings writing code is really fast when you don't have to touch the mouse and just keep your fingers on the main part of the keyboard.
If Turing-completeness were all that matters, why would we bother having more than one language? After all, a one-instruction-set-computer can calculate anything too; it just takes a Very Long Time.
Emacs version control has a directory browsing feature for CVS too: C-x v d. By default it displays only the modified files, but v t will toggle this, and there's a variable to control it as well.
please email me the files at vivek7006 AT YAHOO DOT COM
Thanks for your help
Vim 7 will also have OmniComplete (it's in the dev tree already) which is pretty much like Intellisense if the using a period and getting a dropdown (instead of just getting a tab-completion style listing of matches) is really that a big deal to you.
Studio *6* had both these features. From what you say it's taken vim eight years to catch up.
"Emacs and VIM are simply outdated in their ability to match the speed/enhancements of a modern IDE."
This is so fucking plain wrong i don't know how to start.
First off: IDEs are a concept from commercial environments like Windows and Macs. For a very simple reason: such environments come with nothing at all for you to do software development. No compilers, no interpreters, no decent command-line interpreter, no debuggers, no web servers, no DBMSs, no decent text editor...
Notepad?! Come on! I'm a software developer, not some news reporter from the 40s or some housewive with free time in my hands to cook...
The reason Unix don't need an IDE is simple, too: it is an Integrated Development Environment, by itself! From the shell, you edit source code, you built Makefiles, you write simple support scripts, you compile, you debug, you list the files in your project etc etc etc... it comes fully loaded with software development goodies.
Today you have some pretty hot IDEs, like Eclipse. They are huge monsters that draw all your computing resources just so that you can feel they are trully powerful. I bet someday they'll be so powerful as to not even need programmers: just describe what you need, and they'll automagically make it done.
Don't get me wrong: i feel Eclipse's refactoring tools to be pretty nice. Not something impossible to be done in emacs-lisp or in vim scripts, but nice anyway.
The problem i see, though, is this: all IDEs i've met ( Delphi, VS and Eclipse ) suck so badly at the text editing itself, that sometimes i feel i'd be better off by just editing in emacs or vim anyway. Vim's extreme ease to go forward and backwards in your jump list history alone would suffice for the change. Simple word completion is also way, way faster than the heavy semantic completion ( Intellisense or whatever other bs M$ marketeers can come about ). It's also, in some 80% of the cases, the effective choice. Don't even ask me about sentence/paragraph ( blocks ) selection and moving through the text: these simply don't exist in IDEs...
Of course, since the text editing component sucks so much, IDEs try to compensate by having such features as class browsers ( a quick listing of all the methods and other declarations in a class ) and the like. So, you can move your hand away from the keyboard, reach for the mouse, scroll down, select an appropriate entry and go there. Somehow, i don't believe it would be so much trouble in vim or emacs...
so, don't make me laugh.
I don't feel like it...