Hacker News new | past | comments | ask | show | jobs | submit login
What's your favorite text editor/IDE? (spreadsheets.google.com)
59 points by zengr on March 21, 2011 | hide | past | favorite | 71 comments



I would have said Notepad++ until I found Sublime Text 2 (http://www.sublimetext.com/blog/articles/sublime-text-2-new-...) here on HN. A big shout-out to you guys. I completely intend to buy a license when it comes out of Alpha.


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.

Awesome work, seriously!


I've used Sublime when I haven't felt like setting up Vim or Emacs on Windows. are there major benefits to Sublime 2 over the original?


* ST 2 runs on Linux, Mac OSX, and Windows;

* 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.


I'm using Sublime Text as well. I figure it has a lot of tools built in that I'm not taking advantage of since I don't know about them.

Something like this for Sublime Text would be great: http://www.zeldman.com/2010/08/13/how-to-use-textmate/


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.


Yeah I use this fulltime now, at least on the PC, running textmate on my laptop, just been a bit lazy to change over.


Ditto here, it's absolutely fantastic using a well-designed interface (unlike N++, which seems sporadic at best).


The greybeards all say "unix is an ide".

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.


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.

----

[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)


What is the latest news with Plan 9? I thought the development stopped?


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.

----

[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/


Thank you for the detailed reply. Good to hear that there is still activity there.


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.


That's probably because they're mistaken as to what an IDE is.

In my mind, if it's not background compiling your code as you type, it's not an IDE in the modern sense.


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.


In terms of feedback from compile errors, the important size is the size of the source file you're working on, not the overall size of the project.


inotify? You can get the OS to respond to filesystem events, for example, compiling as you type.

Scripting languages don't need this though.


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'm surprised no one has suggested a vim or emacs plugin that does this yet. Anyone?

I don't think this would be too difficult to write in vim, which has built-in auto-complete functions.


I find running tests automatically when I save is quite helpful, for interpreted languages as well as compiled languages.


You can take a look at the Spreadsheet here:

https://spreadsheets.google.com/ccc?key=0An4bm34gQOpddHhwMm9...

And you are most welcome to "mine" it too (please share the results) ;)


Watching the live results is very entertaining. It's also the first time I've cared about the built-in chatroom on google docs.


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.


It looks like setting 'VIM' as the default has made it quite popular.


My own (call it "c").

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.


The lack of PHP on that list makes me feel dirty for writing it in.


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/


My apologies. I missed it out by mistake and cannot make changes to the spreadsheet now.


well, as long as everyone puts in the exact string "PHP", it should be fairly easy to mine


I wrote "PHP bitches" since I found the exclusion of PHP to be rather rude indeed.


Me, too.


Emacs is more an IDE than text editor, though it may not look like one at the first glance. Maybe if it had more windows opened by default...


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.


gnus FTW


Emacs is more an OS than an IDE.


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 :)


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.


If only it didn't launch in half an hour.


I'm always using Textmate but I envy those who were able to suffer through the pain of the vim learning curve.


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++.


Agree. When it comes to IDE/Editors, I don't think we need to write C and C++ separately.


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.


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.


I deeply know C and C++. In my resume I'd rather remove my name than writing that I know C/C++.


From a perspective of IDE/editor selection, does this matter?


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.

----

[1] that's my experience with the http://cscope.sourceforge.net/


A C IDE is barely usable with C++.


Surprisingly nice layout.

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!


Why combine c and c++ together. If you are using mostly C with some C++, you are really using C++. If you are using C++, well you are using C++.


Love gedit personally. Does all the basics that i need without a load of crap that i dont want. For those that want the crap there are plugins.


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.


I like it that there are at least 2 other programmers out-there using Python's IDLE. All this time I thought I was the only one using it :)


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.)


ActivePython is surely most often edited in Komodo? They are both ActiveState products.


He may mean PythonWin, which is a part of the pywin32 package, which ActiveState has distributed for quite a long time.


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?


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.


Damn! Can't type ω with option-03C9 even with the unicode hex input turned on in macosx! Hope CΩ satisfies them :)


Why not to share results instantly?


I'm guessing this just goes into a spreadsheet, and at the end of the survey the results will be parsed into some kind of blog post.


I might write about it, but I don't mind sharing the spreadsheet. After all, the content is owned by the readers!!

https://spreadsheets.google.com/ccc?key=0An4bm34gQOpddHhwMm9...


Hey, three votes so far for ed! (Including mine, that is.)


Been using Wingwares python IDE. Not bad.


HTML/CSS isn't a 'programming' language.



Yes, they are, even if their style is not imperative but declarative.

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.


vim,vs


HASKELLERS, UNITE


Well, I use Windows and am writing Visual Basic .NET with some ADO.NET, ASP.NET, more usage of .NET, and a little usage of C. I write command line scripts in ObjectRexx.

For how I'm typing in the code, I'm a happy camper.

I have various copies of Visual Studio and SQL Server Management Studio (SSMS). My reaction to these two: I deeply, profoundly, bitterly, hate and despise the intentions and the results.

I looked up their 'intellisense' in a dictionary and didn't see it. So, their 'intellisense' is more undefined gibberish.

Similarly for 'dockable'. It's not in my Funk and Wagnalls. So, more inarticulate, illiterate programmers making up gibberish.

When I start Visual Studio, I see tiny windows, 'panels', as sub-windows of the main window. The 'panels' are too small to be useful, and I have no hint or clue about the purpose or usage of any of these 'panels'.

No, I don't want to see language key words and my identifiers in different colors on the screen.

No, I don't want to type 'If' and have some software automatically type 'Else' and 'End If' or type 'Try' and have some software automatically type 'Catch' and 'End Try'. The idiot is that software and the fools who wrote it, not me, and I don't want to be treated like an idiot.

No, I don't want some software to reformat my code. I have some tools to format my code, and I do NOT want some 'studio' software to ruin what I already did.

No, I don't want popups, pulldowns, rollovers, or upchucks.

No, I don't want command completion or argument list suggestions.

No, I don't want a program for "Hello world" to start with some dozens of files in several subdirectories taking up 50 MB of space. And when things break, I don't want to have to figure out what's in each of those dozens of files to diagnose the cause of the break.

No, so far I've had no need for line by line interactive debugging changing values of variables, etc.

No, I don't need Visual Studio to be able to create a DLL. The Visual Basic command line compiler creates DLLs just fine with just a simple command line option that takes only a few minutes to find, learn, use, and confirm that it works.

I got told that of course I'd really need to use Visual Studio: As I made progress from command line programs in Visual Basic to a working Web site with Visual Basic, ASP.NET, and ADO.NET, there were super happy days as I learned that, step by step, I didn't need Visual Studio.

I DO like the command line Visual Basic complier: It's fast, easy to use, with meager necessary command line options, with decent error messages, so far, for me, 100% bug free, and generates surprisingly small EXE files, has no trouble finding the 'namespaces' in Import statements, etc. I'm happy.

I have used SQL Server Management Studio to inspect the results of what I did with T-SQL statements executed with the standard program SQLCMD.EXE. Still, even for system management and administration of SQL Server, I preferred to write T-SQL scripts, GREATLY preferred.

Now that I've had some experience with SSMS, I can see that it's not good: E.g., if use T-SQL to grant permissions to a user, then at least commonly there will be no evidence of that in SSMS.

Besides, at first glance SSMS is a total train wreck: E.g., Name dbo is a user, a role, and a schema, and THAT'S confusing. Then, what is in the role and the schema is not easy to discover. Really apparently SSMS is not based very directly on T-SQL but on another, Microsoft proprietary API called SQL Server Management Objects (SMO). Gee, I just want to get MY work done, for database as much as possible with just T-SQL, and for me SMO is a big detour. Thus, so is SSMS.

So, for my 'IDE', I use my favorite text editor KEdit. I've been typing into versions of KEdit for 25 years so have good facility and, thus, don't want to type into anything else. I do a lot of typing and do nearly all of it into KEdit -- blog posts, e-mail, notes, abstracts of Web pages of documentation, letters, technical papers, Windows command line scripts, KEdit macros, other code, etc.

So I'm thrilled that actually KEdit works fine for writing Visual Basic .NET ADO.NET, ASP.NET, more usage of .NET, C, etc. Still so far all or nearly all programming language source code is in just simple text -- GREAT!

Here's where IDE's go wrong:

(1) Software still has to be typed in, and a good editor is a good place to type; the editors for IDEs suck, major suckage.

(2) IDE designers believe that what the 'beanbag cognitive psychos' at Xerox PARC with 'graphical user interfaces' (GUIs) has to be the foundation for all human-computer interaction. WRONG.

(3) The IDEs are conceptually constipated and obsessed with a single 'window' into which they try to cram many 'panels'.

Instead, there is lots of 'windowing' functionality with just Windows. Currently as I type this, I have 13 windows open, arranged with the UL corners on a line from UR to LL so that I can easily find any window I want and see it without moving any windows. Net, when I write software, I have lots of windows open and, thus, ready access to much more information than in just the little IDE 'panels'.

(4) With a good editor, e.g., KEdit, I can write macros, some for general purposes, some for more specific ones. These macros are keys to my productivity.

E.g., in my code, at some point where I should have a reference to some documentation, I put a comment with the tree name of the file, often HTM, on my computer with the documentation, and then a simple KEdit macro let's me display the documentation with one keystroke.

As we know, a lot of code is really quite standard. So, with a good text editor, can readily copy in standard pieces of code. More generally, the ubiquitous Windows 'copy and paste' as the main way to copy blocks of text is not good.

In my work, in a single function, I have standard integer variables return_code, message_tag, and error_code and within the function set these values as needed. Then I have a simple macro that numbers these sequentially in the code. So, I don't have to number them myself. Then, when the code runs, I can take one of these values, look in the code, and see where the value came from. Works fine. That's too much to ask of an IDE!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: