I have started using Sublime a while back, but was recently thrown off by its lack of printing support... But generally my absolute favourite is Komodo -- I'm using IDE, but Edit is good enough for most tasks.
I actually bought a license after using the editor for quite some time. It's the first time I spent money on a text editor, despite having the possibility to chose from a number of free alternatives. For me, this money is really spent well for various reasons, the most prominent ones being that the software makes me happy and I really enjoy working with it.
I'm currently using version 2, too, and the developer is pushing updates on a weekly base (http://www.sublimetext.com/2). I even requested a change in the forums once; the developer kindly responded to my thread, and shipped my requested change with the new version.
Favourite language "C but not C++" is not available. However, i see that it does not make sense to distuingish between them, when we are talking about IDEs.
In the context of "what is your favorite language?", I think it makes a lot of sense to separate them. I can put a checkmark on C but I can not put one for C++.
Zend Studio is the best there is when writing PHP code. I wouldn't use Notepad++ or any other editor instead :) Of course ZDE does so much more: http://www.zend.com/en/products/studio/
C/C++ ? Really? Have you met many engineers who write a lot of C and who also love C++ or vice versa because I sure haven't. I decided not to complete the form after seeing 'C/C++'. Also, this is a flag if it's on a resume that the person may not really know either language.
It does for IDE. A mostly C tool may be extended to work with C++ but it's not a perfect fit [1]. Probably it goes the other way around as well.
When used with inheritance, virtual functions, overloading and templates, C++ is much different semantically than the relatively straightforward C. Thus a different tool is to be preferred.
Or someone that puts it on his resume could know both languages in depth, but wants to save space. There are many ways of discovering whether someone has proficiency in languages, but this sounds like a really crappy indicator.
You're right about the live results being entertaining. Possible google docs has something to contribute, after all. Not that I'd be able to use it in most of my work, because off-site storage has legal implications, where I live.
Unix was taken one step further with Plan 9. On P9, the two common editors are Sam [1] and Acme [2]. While not IDEs per se, Acme yields very well to scripting. A bunch of scripts tailored to the current project really makes my day.
Acme has that neat feature of interpreting text as potential hypertext -- each of several addressing formats [3], when clicked, opens indicated file or resource, at the indicated point. Click on compiler error message and you get there. Prepare a command, click on it and you execute it. Etc., etc.
Also, unlike the mainstream IDEs and editors, those two work surprisingly well over network.
Best check with 9fans mailing list [1] and cat-v.org [2]; both are quite active.
There are two main branches of Plan 9: the official, Bell Labs one [3], which is somewhat conservative (nonetheless the install iso is updated frequently),
and 9atom [4], maintained by Erik Quanstrom, which has some more experimental features.
The core of the OS seems to be mostly established; both the 9P protocol (current version called `9P2000') that binds everything, several important fileservers and baseline libraries.
Probably the best is to look through contrib [5], which is where the userspace stuff is brewing.
Aside of the P9 proper, there is plan9port [6] maintained by Russ Cox -- collection of most of P9 utilities ported to generic POSIX environment (Linux, MacOS X etc.)
[[and that's what I am using daily]]
and 9vx [7] -- P9 ported to run in vx32 virtual machine.
In general, both classics like LaTeX and the newest, like Google's Go are ported to Plan 9 -- either natively, or, in some cases, through APE.
Did you miss the reason why we're compiling while you type? It's so that our IDE knows your codebase and can help you. It'll autosuggest things based on context rather than simply matching strings. It'll inspect your object model and stick in the right include directives for you. It'll let you rename things without having to search&replace&hope.
So yes, scripting languages do need this. At least if we're talking about things that your development environment needs to do to be considered a modern IDE.
Out of curiosity, what's the biggest software project you've worked on? (maybe measured by something stupid like KLOC or possibly "total time to compile")
I doubt Linus thinks "compile while you type" is a good idea, I'm not sure how much further down you need to scale until it does become a useful feature.
Unix is a "DE", without the "I". This is a good thing. The "I" would mean that the parts would not be reusable in other contexts. While you can use "sed" for many things, you cannot do that with Eclipse's search-and-replace dialog.
I agree that gedit is a very nice and light editor for code.
The only feature I really miss in gedit is "Replace in selection". I use this many times in refactoring code. There have been many requests for it but the developers are refusing to add this basic feature.
Xcode is also quite handy as a simple text editor. I have linked all my txt/py/sh/js files to be opened with Xcode. For most languages it has some syntax highlighting support and it always has some semi intelligent autocompletion.
Yeah, I think there's a spectrum of emacs use, between text editor and IDE (or OS). For a while, I just used it as a handy text editor, and I wouldn't say emacs was an IDE for me then. Now I:
- installed autocomplete (with drop-down lists and tooltips)
- org-mode is the first daily planner to impact my life
- run lint by hitting a button, linked to sourcecode lines
- use REPLs
- integrate different features naturally (like hyperlinks between my
day-planner and sourcecode or a webpage; or hitting a button to
clear/reset a bash terminal and restart the program in it)
Haven't gotten around to using emacs for email though... When I do, things like org-mode will become even more powerful.
I've been using Komodo Edit for a while. It has a few quirks/issues but overall I think it's the best editor that's not Emacs/Vim. I'm keeping an eye on Sublime Text 2 though.
As for the link: some terrible choices. ActivePython is an IDE?
As a former IDLE user, I highly, highly recommend you take a week or two and commit to learning emacs or vim (I recommend emacs...). It can be daunting but once you get used to it you'll wonder how the hell you ever accomplished anything in IDLE.
(If you decide to take the plunge with emacs, hit me up via email [it's in my profile] and I'll send you a link to my config file.)
I'm a Vim guy, been using Vim for the better part of the last 8 years, kept trying other stuff and ended up back at Vim every time. Figure I will just stick with it this time :)
I've started with DreamWeaver in 98 or so. Around 2000 I started to jump from one editor/IDE to the other until I settled with TextMate in 2006 or 2007. 5 months ago I commited to attack Vim's legendary learning curve. Now I'm almost as productive as I was with TextMate and I LOVE Vim.
Lately I've dutifuly downloaded and tested the latest "advanced editors" for Mac (Coda and Espresso) and found them totally useless: less useful features than TextMate (which they aim to replace thanks to the delay of TM2), too much focus on style… Pouah!
At university (1985-9, EE major), there was (MS-/PC-)DOS (CP/M had faded into oblivion). Unix was something heard of but not seen. There was no internet (for starving students). The only sanely priced own-it-yourself computing platform was IBM-PC (clone). I bought a used Sanyo MBC-775. I scrimped to afford the Borland and MS C compilers w/student discount. The Borland IDE was nice, but the MS compiler seemed qualitatively better. And the MSC package had this powerful text editor M. It had almost no UI, but with its "reverse polish" command syntax, box, stream and line selection modes with commands accepting all arg types, I found it tremendously intuitive, Completely customizable key assignments. A macro language. Unlimited undo/redo. It could edit files > 640K (Borland's could not). The manual was well done for those days, and included an API and build process for "editor extensions" (basically DLL's before there were DLL's), which I was soon writing. I was hooked. My brain-finger editor mapping was soon cast for life. Shortly MS replaced M with PWB, which I tried but discarded (bloatware), sticking with M. Years pass, during which I wrote a M clone, now a Win32 console app. Which I use today. While I'm fond of unix (use it for servers at home), all of my employers have been Microsoft-only shops, so my investment in developing my own text editor, which I can change as my needs require, has been worthwhile. Editor vendors in this market have come and gone (Brief, Codewright to name a few of the more popular), and their users have been disrupted. I just "keep on truckin" with my own... If the need arises, maybe I'll port to Linux/BSD.
I kinda miss PFE on windows. I've been looking for something on OS X that would let me create macros and templates as easily. It didn't really have many features but it was a good workhorse.
73 comments
[ 2.5 ms ] story [ 129 ms ] threadI'm currently using version 2, too, and the developer is pushing updates on a weekly base (http://www.sublimetext.com/2). I even requested a change in the forums once; the developer kindly responded to my thread, and shipped my requested change with the new version.
Awesome work, seriously!
* Auto-completion has been improved, in that you can now continue typing when the suggestions pop up;
* Other UI changes (new tab design, mini map has been moved to the right side, side bar, you can hide the menu when in full screen mode, etc.);
* A lot of other changes; I'd therefore recommend you to have a look at the change logs for more information: http://www.sublimetext.com/2
I had been using ST1 for quite some time before starting using ST2, and I already was a fan of ST1.
Something like this for Sublime Text would be great: http://www.zeldman.com/2010/08/13/how-to-use-textmate/
https://spreadsheets.google.com/ccc?key=0An4bm34gQOpddHhwMm9...
When used with inheritance, virtual functions, overloading and templates, C++ is much different semantically than the relatively straightforward C. Thus a different tool is to be preferred.
----
[1] that's my experience with the http://cscope.sourceforge.net/
AFAIK, there is no formal (canonical) definition of a programming language, but the first sentence of http://en.wikipedia.org/wiki/Programming_language pretty much nails it.
https://spreadsheets.google.com/ccc?key=0An4bm34gQOpddHhwMm9...
And you are most welcome to "mine" it too (please share the results) ;)
I think I first heard that from Tom Christiansen when he was heavily involved in the Perl community back in the mid '90s.
Even today, some of the most productive programmers I know only use X/Gnome/KDE(/OSX) as a means of organising terminals on modern hardware.
Acme has that neat feature of interpreting text as potential hypertext -- each of several addressing formats [3], when clicked, opens indicated file or resource, at the indicated point. Click on compiler error message and you get there. Prepare a command, click on it and you execute it. Etc., etc.
Also, unlike the mainstream IDEs and editors, those two work surprisingly well over network.
----
[1] http://en.wikipedia.org/wiki/Sam_(text_editor)
[2] http://en.wikipedia.org/wiki/Acme_(text_editor)
[3] implemented via http://en.wikipedia.org/wiki/Plumber_(program)
There are two main branches of Plan 9: the official, Bell Labs one [3], which is somewhat conservative (nonetheless the install iso is updated frequently), and 9atom [4], maintained by Erik Quanstrom, which has some more experimental features.
The core of the OS seems to be mostly established; both the 9P protocol (current version called `9P2000') that binds everything, several important fileservers and baseline libraries.
Probably the best is to look through contrib [5], which is where the userspace stuff is brewing.
Aside of the P9 proper, there is plan9port [6] maintained by Russ Cox -- collection of most of P9 utilities ported to generic POSIX environment (Linux, MacOS X etc.) [[and that's what I am using daily]] and 9vx [7] -- P9 ported to run in vx32 virtual machine.
In general, both classics like LaTeX and the newest, like Google's Go are ported to Plan 9 -- either natively, or, in some cases, through APE.
----
[1] http://9fans.net/archive/
[2] http://cat-v.org/
[3] http://plan9.bell-labs.com/plan9/
[4] http://www.quanstro.net/plan9/9atom/
[5] http://plan9.bell-labs.com/wiki/plan9/Contrib/index.html and http://plan9.bell-labs.com/wiki/plan9/Contrib_index/index.ht...
[6] http://swtch.com/plan9port/
[7] http://swtch.com/9vx/
In my mind, if it's not background compiling your code as you type, it's not an IDE in the modern sense.
Scripting languages don't need this though.
Did you miss the reason why we're compiling while you type? It's so that our IDE knows your codebase and can help you. It'll autosuggest things based on context rather than simply matching strings. It'll inspect your object model and stick in the right include directives for you. It'll let you rename things without having to search&replace&hope.
So yes, scripting languages do need this. At least if we're talking about things that your development environment needs to do to be considered a modern IDE.
I don't think this would be too difficult to write in vim, which has built-in auto-complete functions.
I doubt Linus thinks "compile while you type" is a good idea, I'm not sure how much further down you need to scale until it does become a useful feature.
The only feature I really miss in gedit is "Replace in selection". I use this many times in refactoring code. There have been many requests for it but the developers are refusing to add this basic feature.
As for the link: some terrible choices. ActivePython is an IDE?
(If you decide to take the plunge with emacs, hit me up via email [it's in my profile] and I'll send you a link to my config file.)
I've started with DreamWeaver in 98 or so. Around 2000 I started to jump from one editor/IDE to the other until I settled with TextMate in 2006 or 2007. 5 months ago I commited to attack Vim's legendary learning curve. Now I'm almost as productive as I was with TextMate and I LOVE Vim.
Lately I've dutifuly downloaded and tested the latest "advanced editors" for Mac (Coda and Espresso) and found them totally useless: less useful features than TextMate (which they aim to replace thanks to the delay of TM2), too much focus on style… Pouah!
At university (1985-9, EE major), there was (MS-/PC-)DOS (CP/M had faded into oblivion). Unix was something heard of but not seen. There was no internet (for starving students). The only sanely priced own-it-yourself computing platform was IBM-PC (clone). I bought a used Sanyo MBC-775. I scrimped to afford the Borland and MS C compilers w/student discount. The Borland IDE was nice, but the MS compiler seemed qualitatively better. And the MSC package had this powerful text editor M. It had almost no UI, but with its "reverse polish" command syntax, box, stream and line selection modes with commands accepting all arg types, I found it tremendously intuitive, Completely customizable key assignments. A macro language. Unlimited undo/redo. It could edit files > 640K (Borland's could not). The manual was well done for those days, and included an API and build process for "editor extensions" (basically DLL's before there were DLL's), which I was soon writing. I was hooked. My brain-finger editor mapping was soon cast for life. Shortly MS replaced M with PWB, which I tried but discarded (bloatware), sticking with M. Years pass, during which I wrote a M clone, now a Win32 console app. Which I use today. While I'm fond of unix (use it for servers at home), all of my employers have been Microsoft-only shops, so my investment in developing my own text editor, which I can change as my needs require, has been worthwhile. Editor vendors in this market have come and gone (Brief, Codewright to name a few of the more popular), and their users have been disrupted. I just "keep on truckin" with my own... If the need arises, maybe I'll port to Linux/BSD.