Hi all, It's me again. I love talking about IDEs and code editors. This has to me the
damn touchiest nerd subject of all-time. I've got friends that ONLY
write code in vim, while others that swear upon Midnight Commander, and yet others who use nothing less than the full-on graphical all-encompassing-integration IDE (dreamweaver, zend, etc). Well, I've seen this blog before, but I think the needs of a web-developer with respect to an IDE/Editor is different from other types of code author's perspectives. So here they are, may the best editor win!
| 10) |
Vim. Vim stands for 'VI - Improved', as it's a GNU remake of the old UNIX 'VI' text editor. Vim is primarily for Linux/Unix systems. Vim looks like something you'd see on a green-and-white CRT monitor in front of a programmer in the movie Superman 2. It's straight from the 80s (pure ASCII text-based love), and furthermore it doesn't even have a funky keyboard based ASCII faux-gui like nano or emacs, it's keyboard shortcuts and commands or BUST. Vim is said by it's die-hard followers to be the hands-down fastest way to write code, but only after you've spent 15 years figuring out what all the keyboard shortcuts and commands do. For example, the command for save+quit is ':wq!'. If that's not intuitive to you, it's because you're a NORMAL PERSON. Personally I will never understand the legions of vim-geeks. Why not 'ctrl+s'?? Anyway, vim is actually pretty handy sometimes, besides just being a classic:
PROS:
- Since vim is actually fully text-based, it's the PERFECT editor for when you're remoted into a linux shell VIA ssh or other means. Great for on-the-spot editing on the production server, etc.
- Recent versions of vim support code syntax highlighting, which is awesome for when you're really getting into editing something on the server. You'll have to remember ":syntax on" to turn it on though.
- Obviously, it's very lightweight (it's ASCII!)
CONS:
- It's 2008, and we can do a whole whole lot more with an IDE than run it in a terminal nowadays, vim is just plain ugly.
- User-interface NIGHTMARE, if you don't already know how to do what you want to do in VIM, get ready to look up the specific keyboard commands on the internet somewhere, because you're sure-as-hell not getting saved by a menu
- By the time you do learn all the shortcuts, you'll (usually) have already found a better editor.
|
| 9) |
Visual Studio .NET is a Microsoft development environment for just about everything. Really! It does C/C++/C#/VisualBasic/VC++ and the kitchen sink. Hey... But none of those are web languages! Well, exactly. THIS IS NOT A WEB DEVELOPMENT ENVIRONMENT. When I walk into a coffee shop and I'm like "Oh, you're a web developer?" and I look at their screen and see them editing ASP code in MSVS.net I just break out laughing. This is not just because of my true hate for ASP (maybe a little..), but also because it took MS until 2008 to get good "Intellisense" (code completion) for Javascript and CSS. How can you even call this a web development environment? So besides that, you can do code-bookmarks (which I kind of like, when I'm editing C!), tabbed-browsing, syntax highlighting, and all the other standard code-edit stuff. If you're working on an ASP project you can Debug your applications line-by-line.
There are no real advantages to using this IDE: the documentation is TERRIBLE, the community is non-existent compared to OS alternatives and their respective IDEs (like the PHP & Ruby languages), the interface (and the configuration) is complex and ugly. Furthermore, there's no such thing as Open Source when it comes to Microsoft, so naturally this (VS.NET 2008) costs like $1200 bucks for the full version, and guess what? It's terrible to use with MySQL, so if you want the Full Integrated MS package you get MSSQL 2008, and then you're out another 1000+ bucks. "Sounds Great! Where do I sign up?" *SLAP*, read below to find out why I think this IDE is terrible crap.
PROS:
- This slightly beats out vim, but only because you actually have a graphical frontend.
- There are NO other advantages to using this IDE, even if you're unlucky enough to still be writing ASP.
CONS:
- It costs a WHOLE WHOLE lot.
- Windows only, and on top of that, this is gonna leave a HUGE memory footprint when it runs.
- Geared towards ASP, the worst server-side language on the internet. ColdFusion might be the only thing that compares to it's shitty-ness.
|
| 8) |
Next we have Midnight Commander. Midnight Commander really doesn't count as an 'IDE' per se (like vim), however it is a pretty powerful tool that can (to be sure) meet the same ends when it comes to web development. So, MC is like a futuristic editor/file-manager, except it's stuck in ascii mode. MC features a full on menu system and ASCII GUI with mouse support (look out vim-heads)!! Not only a file manager, MC can use one of it's panes to edit code with it's built-in editor 'mcedit' which features syntax highlighting for most common languages. With mcedit you can also use the mouse to edit text too, which is (always) an eternally handy feature. MC also boasts the ability to look directly into common archive types (such as .zip, .tar, or even .rpm) as though they were directories on the system. It can also act as an FTP client, which is pretty handy for those of us who work in PHP (or without versioning software in general). One thing I find pretty neat about midnight commander is it's level of customize-ability, the user can change the panes to do pretty much whatever they want, I like that. it's also filled with keyboard shortcuts (obviously, being an ASCII app) that can make life much faster when it comes to editing/renaming/moving around files, and flipping about it's panes. To put icing on this already bloated cake, MC now has an HTTP filesystem browsing plugin, meaning you can use HTTP virtual directories just like a mounted drive. That's pretty freakin' cool.
PROS:
- It's ASCII once again, so you can use it over a simple ssh terminal connection no problem. This eternally kicks vim's butt in terms of doing complicated filemanager operations remotely. It is (however) questionable whether the mouse will always work over the remote connection.
- It does EVERYTHING (read all that stuff up there!), it's like nautilus but ASCII-base.
- Unlike vim, MC is actually very intuitive and easy to use.
CONS:
- Graphically we could be asking for a whole lot more, I like to open more than one file at a time for editing, like in different windows so I can easily switch back and forth between files which are far away from eachother in my filesystem tree. dual-panes are restricted to dual-panes
- That's really the only con, you just don't have full-on windows or tabs to work with. It's 2008, and editing code without this basic windowing stuff feels (to me) like you're asking a lot. Please don't flame me too hard for this MC purists..
|
| 7) |
Dreamweaver is primarily a windows IDE, which does absolutely everything, and mostly it does it all really freakin' bad. For the record I absolutely hate Dreamweaver, as well as most other adobe web-development solutions. However, it's a major player in the IDE game and I want my own chance to back up my good reasons to hate this. Basically DW can handle the most non-experienced web developers and give them something super-graphical to work with. DW even will write pre-made JS scripts for would-be complex elements of a site that require some Javascript Know-how. Unfortunately it'll give you disgustingly complex markup (and scripts) and instead of using would-be simple css techniques to do image-swap operations. It exports a full-on image pre-loader script, which is a crap approach. Actually, most things DW does are the 'crap' approach. It also attempts to incorporate server-side logic into it's graphical frontend a-la ColdFusion, which I just couldn't hate more (as a non-coldFusion developer). The reason it's on my list is because it's actually got a decent text editor built into it, and if you're only using it to edit text, it'll serve you right. It gives you tabbed code browsing, easy to use find operations, and syntax highlighting, as well as some more handy features. One thing I specifically like about DW is the ability to search for a string in just one directory of a massive project EASILY. Also, it doesn't use java, so once it's all started and initialized it runs pretty smoothly and quickly. Another thing I like about the find function is that you can split the main edit window into panes and use them for what you'd like. I'm usually splitting between the find in project pane and the code editor.
PROS:
- If you like ColdFusion, and you don't care about crappy javascript (if it works), AND you don't know much about writing code, this is your dream-tool.
- It'll even sync with your server for easy-uploading and on-the-server editing.
- Everything I've grown to expect from an advanced editor in 2008
- Built in documentation from o'reilly for a load of different web languages. That's actually pretty sweet.
CONS:
- Leaves a GIANT memory footprint if you're just using the editor
- On slower machines this takes FOREVER to start up and initialize
- It's filled with tons of bloated crap that you'll never use if you're like me, it kinda sucks to have to avoid it's "handy" do-it-for-you approach all the time.
- It's too rigid on what is and isn't a part of the current project. I really don't like that about it, you'll have to go through like 2 modal windows just to add an existing file to your project, F*ck that..
|
| 6) |
Zend Studio a PHP IDE (for Windows, Mac & Linux) that comes from the very same people who developed php. Zend sports some pretty cool features when it comes down to PHP. It's the only IDE for PHP I've ever seen that introduces a line debugger; being able to do breakpoints with PHP and examining data (can) save HEAPS of time. Being a modern editor it's got most of what you'd expect from an IDE in 2008: It's got tabbed file browsing, an easy way to do a 'find-in-project', groovy text-editing keyboard shortcuts, etc. Also, it sports database-view which is compatible with all kinds of db types, including MSSQL and MySQL. If you're using phpmyadmin to view your db all the time and find it tedious at times, this is actually a pretty great tool. Why is it all the way up here at #7? Well, for one thing it's written in Java, and it's totally clunky and *slow* because of it. It's definitely a heavyweight and seemingly without all the features to really back up it's memory footprint. Furthermore, if you're like me you've probably long-since left PHP in the dust for Ruby or something else (i.e. something better), and Zend isn't going to be very helpful anymore..
PROS:
- PHP breakpoint debugging. That's freakin' hip.
- Tabbed file browsing, intuitive gui, easy find-in-project functionality
- Database view mode compatible with MANY types of popular db engines.
- Being written in Java really helps in that this IDE is available for every platform under the sun, which isn't costing Zend too much more in development time.
CONS:
- Written with Java "Swing" components, which works clunky and slow. Just my opinion..
- Really not great for anything but PHP development
- To use the debugger you have to run your code on the pre-packaged zend php platform, which isn't necessarily the same as what you would normally be using (a-la LAMP). As with most things in PHP, it's kind of a pain to configure this beast.
|
| 5) |
NetBeans IDE is Awesome. Firstly it's FREE, which I suppose considering all the other GNU/GPL compliant projects listed on this page isn't that surprising, but it's still pretty cool for a fully-featured IDE like this one. NetBeans supports a *lot* of languages, and (being an OpenSource Project) sports a load of plugins. Since I'm mainly a ruby developer, i have to go off about this, but it also features a load of ruby/rails developing tools in it's base version, which is pretty impressive considering how much other stuff it's doing. Netbeans has pretty great rails code-completion stuff, as well as a regexp helper (which is pretty cool). It also features GUI'd up rails file/generation for MVC stuff, which does make it that much easier. Another thing I find pretty groovy is a gem installation manager, so no more comparing the output of sudo gem list to figure out what's going on. Unfortunately (and this doesn't bother a lot of people, but it bothers me), you must create a project before you really start working. Other editors/IDEs are currently realizing that developers frequently need to hop around and edit things on the FS, and this task is greatly complicated more rigid when one must make a project and add files to that project, etc. I know I've talked a load about it's Rails features, but netBeans also has a very impressive feature-portfolio when it comes to PHP and even more-so for Java and C/C++ development.
PROS:
- Ruby on Rails line debugger, built-in irb for Ruby developers, Rails code-completion
- Built-in gem installation, that is really pretty handy.
- Support for Every language under the sun (besides ASP! *slap*)
- Costs 0.00 and is fully Open Source
CONS:
- Having a built-in IRB is a pretty pointless gesture, it's not even a 'script/console' which (in Rails) means generally that you'll use it for less. Weak move.
- Not the smallest memory footprint while running
- Rigid project creation rules
|
| 4) |
Eclipse Is probably the most well-put-together open-source IDE I've ever encountered for Linux. Firstly, ECLIPSE IS FREE, which is awesome for how big of a product it really is. Also, this IDE is written in Java (and as such it's on OSX Win and Lin), however unlike most Java applications Eclipse uses the SWT libraries for it's widgets (not swing) and because of this it really does seem to work much better and less clunky. I mean a lot of things by 'clunky' by the way, but swing has a serious tendency to redraw every widget all the time, and it makes this awful flicker. Also it just runs significantly slower than the native OS's windowing toolkits (MFC, GWT, etc.).. Anyway, Eclipse draws all of it's power from an EXTENSIVE list of eclipse plugins. These plugins will basically allow you to bend eclipse to your will. Needless to say, with the right plugins eclipse can do EVERYTHING I've listed for every editor above, and probably even more. That's hip. It can integrate with database systems (mssql, mysql, sqlite, etc), it supports syntax highlighting for any language you can find an eclipse package for (most languages), and it can be customized to be a SUPREME web environment. Eclipse also supports line-break debugging of PHP applications. Also (I really like this) the Mylyn extension integrates your Bugzilla account at work to your IDE, letting you manage bugzilla tasks straight from the IDE. That's freakin' cool. It also has full (FULL) ruby-on-rails support, which I'll explain in #5.
PROS:
- DOES EVERYTHING. Absolutely. It's extensible, so if it doesn't do it already and you want it to, you can write a plugin
- Open source approach makes it available for absolutely free
- Java core minus swing makes for OS interoperability with no downsides
CONS:
- I think the interface is just not-so-slick in it's design, but all the necessary parts are there. Sometimes things that could be small are very large (like in the file browser)
- Sometimes it's a pain to find the right plugin, or follow the right tutorial for upgrading or adding functionality to Eclipse, but only as much as it ever is on linux. Once it's up and running you shouldn't have any problems at all
|
| 3) |
Aptana Is a really unique eclipse-based ide. If your work centers around Javascript and DHTML techniques and you don't want to pay for your IDE, this is the one for you. Aptana seems to be an IDE geared towards DHTML development. Being 'Eclipse-based' means that aptana is really an extension to eclipse (i.e. on a linux system you install eclipse first and upgrade it to "Aptana"). Aptana also comes stand-alone if you don't want to get eclipse first (although it will still be using the eclipse core). This IDE features everything you need to develop Ajax applications. Firstly, you've got code-complete operations for javascript, CSS, and other DHTML favorites. Also (with the RadRails plugin) you get code-completion on rails objects and methods with inferenced typing. Not only is that tech stuff, but it's also slick. You also get heaps of rails-specific features with RadRails (which I have to talk about, as a rails developer). You get integrated testing in the IDE, which of course helps you run your tests as much as you SHOULD be when you're developing. You get an integrated "script/console", which is (admit it) totally awesome. Aptana also handily gives you a view of your whole HD instead of requiring you to start an Aptana project to contain all files in, although you do still have that option. I really like that. Being a very current environment, Aptana also supports current trends in javascript like Prototype syntax (as well as Dojo and Mochkit).
Okay, so a little off the subject of the IDE for a second, Aptana also has one grand trick up it's sleeve. Aptana is also producing Jaxter which (and I know this will hurt your head at first) really introduces Server-Side Javascript. Check out an awesome example of this here. I was pretty impressed! Jaxter basically does away with the rigid concept of a client end doing strictly managed data trading via ajax. Instead, Jaxter makes it possible for the client and the server to both run the same javascript, thus making the information exchange much more transparent. Surely when both age a bit there will be VERY unique things one will be able to do with Aptana and Jaxter together.
PROS:
- If you do DHTML work, this is the IDE of your dreams
- If you do Ruby on Rails, this IDE is the perfect solution for a non-OSX machine. The Aptana OSX version is actually quite nice, but there's other rails environments (which I'll get to later) that are yet better.
- Jaxter is a verty cool new idea, I'm excited to see what the IDE+Jaxter will be able to produce (In terms of speed) in the future
CONS:
- There really aren't really any weaknesses, I find it a bit bloated, but some people like their IDE to be bloated, because it's synonymous for "feature-rich". I guess that part's up to you guys to decide.
|
| 2) |
Komodo IDE is an awesome IDE from ActiveState. I had the good fortune of running across the ActiveState guys doing a demo of this at RailsConf in Portland Oregon where I got a free Komodo 4.1 CD from them. This IDE is a ruby guy's dream, I like the interface in this one a lot. Firstly, it's got awesome (and undoable) find/replace-in-project features. Secondly (this is important), when editing PHP projects since there's so many files I really like to use the arrow keys to quickly navigate through the file tree. Specifically I like it when you can press L/R to expand/contract a folder, and for some reason in Eclipse this only scrolls the file-browse pane (who would need that on the arrows?). Anyway, I really like Komodo handles this.
Also, Komodo is built on the mozilla engine, which (I'm sure) made it easy for ActiveState to provide full-on browser integration for debugging Ajax/JS applications. That's really cool, other IDE DOM inspectors/debuggers usually can't hold a candle to this. Since Komodo is a Rails IDE specifically, you can do some serious debugging, INCLUDING using script/console WHILE breakpoint debugging from inside the IDE. That's pretty awesome. It's got a Unit::Test interface, which is pretty cool, but really it's just a widget to run rake, which is a bit crap because rSpec is gaining ground really fast on the rails TDD scene, and so far this has no support for it. Furthermore, Komodo IDE doesn't have too big of a memory footprint, and starts pretty quickly. HOWEVER, if you only want an awesome editor with full code-edit 2008 features (even code completion), it ships with KomodoEdit, which is basically all the text-edit glory of Komodo IDE, but without the IDE. KomodoEdit takes about a second to start on a fast machine. Did I mention it's available for Windows, Linux, and OSX?
PROS:
- Awesome find-and-replace capabilities. That really is important.
- Integrated, Advanced DOM debugging with respect to JS and Ajax (Hooray Mozilla!)
- You've got two choices, KomodoEdit for fast quick-and-dirty editing, or the IDE for the full on developing experience.
- "script/console" DURING breakpoint debugging operations. I've (seriously) ALWAYS wanted that.
CONS:
- No rSpec support!
- If you don't get it for free it's $295 for the full-version license. LOAD of crap that is. There USED to be a 'Komodo Personal' version for $35, and they discontinued it and made the far less-featured Komodo Edit free. Meh.
|
| 1) |
TextMate is my favorite editor and the one that I use, released for OSX (only). Textmate built this site! Textmate really isn't (per-se) an IDE, but it's the most full-featured editor EVER. Basically, the interface wins me over here. Firstly, to open a project all you do is drag the folder (in finder) to the textmate icon in the Dock, and it immediately gives you the code editor window and a file-navigation slider page. It's very lightweight; textmate takes about 1 second to start. Despite it's many features, it even appears lightweight, which I really like. It's extremely non-obtrusive in comparison to the other entries listed on this page, which I really like. Furthermore, you can just type 'mate <directory_name>' into the terminal to open any filesystem directory that you're currently working on. Alright, past this textmate is expandable easily by 'Bundles', which it comes with HEAPS of, there's pre-packaged Bundles for nearly every type of language (really quite a long list). These are also available in development version from the Macromates subversion repository.
So, besides all that, textmate is very useful for quickly finding things in files, or around a massive project. When I press (apple)-T I get a 'find file in project' dialog, which updates each time I press a new letter key, whittling down to the final file I'm looking for. It does this based on matched characters, and not squential matches (although that does seem to also carry weight). Point being you don't even have to spell (or remember) the filename correctly and usually you'll always get the right one. Also, these lists (if you don't type anything) list the last files you've opened with the dialog, so many times you can just use the 'last 10 files' list to select what you need without typing anything. When you're in a large monolithic file you can use the 'Go to Symbol' dialog (ctrl+shift+t) and you get a list of all your classes and all the methods/class variables inside of it (all indented properly), which you can go directly to in the code by clicking.
You also get a find/replace in file and find/replace-in-project with ctrl+f and ctrl+shift+f (I like how related operations have related key shortcuts). Of course, regexp is there when needed. Code completion is partially supported in ruby (for now) but in C, Java, and PHP and a host of other supported TM languages the code-completion function is fully implemented. I've got the Ruby bundle checked out from the Macromates SVN (because I can do that), and the new generation of ruby code completion is looking sharp! Also you can run your tests AND debug your code (macromates has added ruby-debug to the TextMate mix) from inside TextMate, which encompasses most of what I ever need to do with a full-on IDE in terms of Ruby. And one more thing. If you hold alt your text selector turns into a crosshair with which you can select blocks of text vertically or horizontally and edit them vertically. This even includes otherwise incredibly complicated block-cut/copy/paste operations. This saves me just heaps of time. One last note: this is the only editor I've found so far that has HAML syntax highlighting. Textmate costs about $30.
PROS:
- Best/most natural user interface for an IDE/Editor I've ever seen. I'm in love.
- Non-rigid standards for Project creation/use. You can open your project file by just dragging it in there, and it does exactly what you want it to do
- Best way to navigate any size project (or monolithic giant code file) I've ever encountered. TM For the win!
- Vertical Text Editing!! Cut/Copy/Paste vertically spliced sections from a group of lines! I almost cried happy when I saw that the first time. Sold.
CONS:
- The ONLY thing that's negative about TextMate (although it's currently in the works) is the incomplete Code-Complete support for Ruby
- $30.00 USD is not expensive (by any means, keep in mind that's only $20 euros). But it's still not as good as $0.00
|
|
not an ide also, but still very powerful,
quanta ,
for linux.
Really? I've heard some small murmurs about it, but never really checked it out. Will look into it!
The vim write and quit command is ":wq", no exlamation point. It is in fact very intuitive: write, quit. What's the problem? CTRL-S? This is harder to type, because you have to take your fingers off the home row. If you can't touch type it doesn't matter, but if you can touch type vim is easier to use for quick one-line fixes. I won't defend it to the death of course, I use it only for quick fixes on remote systems, but at least I thought somebody should point out why it was made the way it was: to reduce stress on the fingers of real typists.
With Gedit you can have the same behavior of TextMate, plus you can develop your own plugins and is OS.
A minor correction on Zend Studio:
The debugger does not require Zend Platform. It can be installed as a .so just like most other PHP modules.
I think you probably ought to do your research before going on huge rants like this. Vertical text editing, for instance, is available in a number of the other editors you list (certainly Vim and Visual Studio, and I think Eclipse can too). Vim, in particular, has fantastic Rails integration if you install rails.vim and project.vim - code completion, highlighting (yes, including HAML), intelligent navigation (it understands the relationship between view/model/controller), script/console integration, debugging, and so on. Oh, and gvim has a GUI if you want menus and mouse control.
You should probably mention some textmate clones for linux/windows (e.g. E, intype) too. textmate rocks, but it's mac only :]
oooohhh it's obvious you haven't worked with IntelliJ, let you even code like if you were in vim, emacs, or handle several languages (java, html, sql) with it's own syntax in a single file. the search mechanism are ... well you have to try it, I have to say that your post is clearly unfocused and unclear, there are several no sense pros and cons mixed.
Nobody in your coffee shop is using Classic ASP with VS.NET. They're using ASP.NET, and probably 2.0-3.5, which is very, very different and vastly more powerful. More powerful than rails or PHP, to be sure. So if you are going to be a rails developer or a PHP developer, you probably should avoid laughing at ASP.NET coders. They don't need css code completion. They need System.Threading code completion. They laugh at css code completion. Its actually beneath them.
And guess what? They can afford the $1k because the money they make on their projects is ridiculously higher...because the scope of projects they can work on is ridiculously larger...and so on and so forth.
At least get the language and the IDE correct next time. My God, anyone can start a blog....
Source Insight is one good programming editor, though it does not give the features of an IDE like building, debugging etc. It is a wonderful developer's editor that I had been using for years
Honestly, i did do a *lot* of research before I wrote this, but you wouldn't believe how hard something like this is to write. Also (to Ken, way up there), that's a really good point about wq being faster than ctrl+s, but I still don't think it's exactly intuitive, you know? Also, since I don't even have a windows box it was pretty hard to get anything right about asp stuff besides that it's terrible and VS.net is a fat turd in a punchbowl. Anybody *can* start a blog. Also - (@Ian) that rocks!! I had no idea, that makes the Zend debugger like 2x better. (@dumas) I knew I would catch flak from the ASP heads, but only because you guys are the only ones dumb enough to use (and pay for) ASP, and WINDOWS (*barf*). Nobody that writes ruby needs system threading code-completion because it's ONE WORD, and it's easy. If you want to discover a new way of life (which is making me enough money to buy 100 Visual Studio licenses, which I'm NOT doing), check out RoR. Microsoft-heads are the weirdest people!! We say "Hey this is free, and it works better, and it's easier to write with" and you come back with "NO!! I WANT TO PAY $1200 bucks for NOTHING!! I want my crappy ASP SYNTAX!! I WANT TO SPEND LIKE A DAY LOOKING UP HOW TO DO SYSTEM THREADING WITH MY CRAPPY SYNTAX, and ANOTHER DAY DEBUGGING IT! Linux IS COMMUNISM!!" Fucking weird crew, the MS people. Y'all just like to spend loads of money on nothing so somehow your 'awesome' MS tools can re-affirm your l33t h4xx0rness. I wouldn't know really I guess; I'm above that shit :) -- to all: thanks for pointing out all the new ones I've never heard of!!
There is a great TextMate port for Windows called e. It can even use TextMate bundles. You can find it here http://www.e-texteditor.com/
You obviously don't know very much about Vim, there's a GTK interface to Vim that makes it look like most GUI based Editors, plus it's Perl/C++/Uhh, most every other language addons, make it a pretty darn good, lightweight IDE. You also missed jEdit, another pretty darn well put together IDE, written in Java and GPL, and highly extendable...
If you are doing Java Development, IntelliJ IDEA is really a whole level beyond Eclipse and NetBeans imo. you probably want to give it try - http://www.jetbrains.com/idea/
Also no matter what IDE i use, I will usually has Vi plugin as an editor
Okay, look, you simply just don't know what you're talking about. Visual Studio is astoundingly complete and powerful for an IDE. I find it to be worth every damn penny, to be quite honest, but there are even free express editions of both VS and SQL Server, if you don't need all the various plug-in functionality (which most probably don't) or 8 cores to run your db server. You didn't mention express editions in this comparison, which taken by themselves would probably still be at the top of this list, so I'm left to assume you didn't even know they existe. That alone pretty much throws this entire list into disrepute, because cost was one of your primary criticisms. I have worked with rails several times and find it to be very useful for what it can accomplish. But I also work in .NET regularly. I can assure you, VS takes a back seat to nothing you'll find out there. Not vim, not textmate, and CERTAINLY not aptana/eclipse. You can create your own intellisense xml files, and in any classes you create, intellisense for that class is auto-generated for use throughout the entirety of the solution. Textmate can't touch that. If I want to write something that deals with simple data capture, I prefer rails. If I want to write something complex like spawning background threads and using cardiac monitor SDKs to generate complex reports, I use .NET. Why? Because the two aren't even in the same universe. Rails is a flyswatter to a fly and ASP.NET is a sledgehammer. So am I to be surprised that your exposure to VS is at such a simplistic level? You can bash M$ for a lot of things, but what you CAN'T bash them for (at least, if you know what the hell you're talking about) is the power of the .NET framework and its IDE. Were I to make a list like this, Visual Studio 2008 would be at the top. I guess if I have any advice to give you for the future, it would be the following: (1) learn the difference between classic ASP and ASP.NET and know that Visual Studio .NET deals with .NET languages (well there are ports like IronPython, but you get the point), (2) learn about these IDEs yourself, know how to use them, and know their capabilities given the language they're supporting before you criticize them, and (3) stop going into coffee shops and laughing at people for using VS.NET (thinking they're doing ASP dev).
One more thing: The .NET dev and support online community is massive compared to that of ruby + ror. You seriously whiffed on that one, as well.
Another thing Mr Excellent Researcher, you can get FREE versions of Visual Studio and SQL Server which will perform more than adequately when creating most web sites. Especially crappy ones like this. Go find somewhere else to bash windows products you mac freak....
Chill, the guy was just giving HIS opinions on text editors/IDE's. You can't correct his opinion on things, you can of course provide YOUR own opinions...
Most of those listed above by the author has some value to someone out there, and that value will not be the same for everyone.
So just chill out a bit, this isn't life or death...
Personally I'm happy with Eclipse, having used that mostly (and being a Java developer). I also think NetBeans is a very good IDE and have used it on occasion. VIM as people have said is great for ssh to remove UNIX servers. I've heard good stuff about IntelliJ too (which wasn't mentioned).
As regards general text editors I'll throw in Notepad++ too, small, lightweight and very handy, use it every day.
http://www.microsoft.com/express/product/
lol
"You didn't mention express editions in this comparison, which taken by themselves would probably still be at the top of this list"
Last time I used the Express edition of VS... It was crippled so that you were not able to build programs to be stand alone. I could only run them from within VS. This crippled version of the software makes the Express edition kind of useless no?
SeanJA you are lying, the Express Editions of VS are not crippled and not required to run standalone programs
Express editions are not crippled. The only real problem I've had with them is that they don't allow the installation of add-on apps like NUnit or AnkhSVN. However, that's not all that necessary, really, since NUnit has a standalone app and SVN has the vastly-superior-to-any-other-svn-client-in-the-universe TortoiseSVN. I believe sql express only really limits you to a certain number of cpus (2, I think), whereas before in the old msde, you were also limited to number of connections. You can even manage sql express dbs from within vs express, as well as deploy to local IIS or remote ftp site, so we're talking all-in-all a pretty nice, integrated environment. How anyone could eval this package and say it sucks is simply beyond my comprehension. The only explanation I have is that they simply hate microsoft, don't know c#, or didn't spend enough time with vs to actually learn its capabilities. Again, I'm not ms fan. Every computer I own is a mac. But my job is .NET, and I hate to say, having tried textmate and netbeans and aptana/ecipse (and actually komodo, which I thought kinda stunk, personally), I just so no real comparison. There's a reason regular vs is so expensive.
Ugh. That second-to-last sentence should read:
"But my job is .NET, and I hate to say, having tried textmate and netbeans and aptana/ecipse (and actually komodo, which I thought kinda stunk, personally), I just SEE no real comparison."
I've been too busy lately to write some gnarly response. I can't believe someone told me to fuck off for this! Anyway, later I'll be sure to post a big-ass response. Until then, thanks for coming! By the way - i am aware of the express editions, but the reason I didn't mention them is because they're so un-full-featured that it just doesn't seem worth it. VC++ express is what I have the most experience with in the 'express' lineup and I hated it, it's really missing quite a lot from the full-featured edition.
sharpdevelop is an excellent ide for .net:
FREE: http://www.icsharpcode.net/OpenSource/SD/
Thanks for the viewpoints, and to the commenters for pointers to other options.
Did you know that there is VS.Php, an addon to enable the devlopment of PHP applications inside of Visual Studio?
Check it out: www.jcxsoftware.com
Links to the IDEs would have been nice to have in this article. I'm a NetBeans guy but I wanted to check out Zend Studio and realized the URL was no where to be found.
Nice little write up to get some IDE's some exposure...
Oracle's JDeveloper is worth a look as well - both FREE and more fully featured that either Eclipse or Netbeans for just about every task - including Web development - but no Ruby so that may discount it in your eyes.
for me, Netbeans IDE is the only IDE I need! You said it yourself that is does everything. I dont know how old this post is, but have you seen Netbeans 6.1? you can read more about my the power of Netbeans here http://ladokites.net/forum/index.php?topic=88.0 Also my favourite text editor is Notepad++. Aptana is cool too and in my own ranking, it comes after eclipse,Netbeans rules them all.
Why do you ever mention Visual Studio? Why??????
I'm currently at the European ruby conference 2008, and if I could re-write this article tomorrow (and I'm not going to) I would put netbeans first. I just saw a THOROUGHLY SICK demo of it, and got a free install disc (0 download time!). Alex is happy :) -- NetBeans is happy!
You're right about this being a touchy subject. However, if you're just looking for a fast editor, I suggest giving PSPad a go. It has a ton of plug-ins, takes about 1 second to load up, AND (what initially drew me to it) has block-select (vertical text) mode.
FYI Textmate is listed at €39, or over $60 US, on the site. I think the price was lower before the Macheist deal last year (or the year prior?). Price from http://macromates.com/license/
@jay - dang!! The price has gone UP! well, like I said, re-writing this article today NetBeans 6.1 would be at the top of the list. Wtf though, that's like a 2:1 increase in price!!
Written by Rachid: "As regards general text editors I'll throw in Notepad++ too, small, lightweight and very handy, use it every day."
I hear you :o)
Notepad++ is simply awesome, and a pleasure to work with.
Available (for free) from http://notepad-plus.sourceforge.net/
If you're going to try using vim or midnight commander, you'll want to have a good terminal (telnet or ssh) that supports color and the remote-mouse features of MC. I'd suggest AbsoluteTelnet for the job. See my sig for a link.
Brian Pence
Celestial Software
http://www.celestialsoftware.net
AbsoluteTelnet (for telnet and ssh)
Visual Studio can be used as a PHP Dev tool in combination with VS.Php(vsphp.de or jcxsoftware.com). Its a great tool and lets the developer develop in his existing environment.