Choosing the Right IDE
Nerval's Lobster writes: Modern software development often requires working with multiple tools in a variety of languages. The complexity can give even the most skilled developer a nasty headache, which is why many try to rely on Integrated Development Environments (IDEs) to accomplish most of the work; in addition to source-code editors and automation, some even feature intelligent code completion. With so much choice out there, it's hard to settle on an IDE, so we interviewed several developers, who collectively offered up a list of useful questions to ask when evaluating a particular IDE for use. But do developers even need an IDE at all? When you go to smaller, newer developer shops, you're seeing a lot more standalone editors and command-line tools; depending on what you do, you might just need a good editor, and to master the command-line tools for the languages you use.
What IDE do you prefer, if any, and why?
Emacs. Next question.
Dewey, what part of this looks like authorities should be involved?
IDE's don't do any of the work- they take care of the things aren't actually programming.
love is just extroverted narcissism
This is a fucking microsoft ad.
Mod me down, my New Earth Global Warmingist friends!
Use whatever makes you most productive and understand that it will vary from developer to developer. 99% of IDE / Editor debates make stuff all difference to the outcome. Instead focus on:1. Only implementing exactly what you need. 2 Testing the thing, then going back and reviewing the testing with a view to adding more tests. 3. Not let the implementation get ahead of the tests. 5. Get someone else to test. 6 .. Test.
.. test
Test.. test
"Nerval's Lobster writes: "
I'll bet it is a Dice article.
Moving past a text editor is a big help. Sure, it's good to understand the command line and all that, but having a tool that understands code and allows you to manipulate it is really useful. Refactoring support matters. A lot, actually. Safe delete, rename, extract method/parameter/etc. are all basic tools that can make a code base better. Code completion (intellsense, etc) support matters too. What does this thing do. Does it do what I think it should? Why or why not. Add in things like smart templates, etc. and even the most code aware text editors just look like nothing more than keyword colorers.
Personally, I can't recommend Visual Studio/Resharper or the IntelliJ product line enough. Worth every single penny and then some. JetBrains has a laser like focus on just getting things done. High DPI support was a problem for their IDEs, so instead of waiting on Java 8/2D to catch up, they forked it just to get it work, and they admitted it was not a great solution, but a workaround.
The question is: "What language are you writing this project in?"
The language dictates the best IDE for the job.
I do not fail; I succeed at finding out what does not work.
One question I always ask when evaluating a new whizz-bang high sparkle product is: can I turn the features off?
If you use more than one application in your development, you're always bumping into interface inconsistencies. Having to stop and look at the result of what you typed is annoying, time consuming and distracting.
I can type <tab> really, *really* fast, so it makes absolutely no sense to try to overcomplicate things by having the editor try to do some sort of indentation for me - it only means that I have to stop and look every time, and I can't get used to the feature because no other application does it the same way.
For emacs in particular, all the various "electric $LANG" modes have different ideas of which characters are electric, what their behaviour is, and what coding style I should be using. Selecting a coding style to use is about 2 hours of internet search, editing the profile, restarting, and testing. (And that's if you're using one of the approved styles, otherwise you're either stuck or forced to learn lisp. *shudder*)
(And for the record, turning off electric-mode in emacs is wildly difficult to actually do. One pitfall example: having "save state" turned on will override the profile file, leaving you wondering why the profile command from the online tutorial didn't work.)
You can't get used to it, you can't develop muscle memory or take your eyes off the screen because the minute you switch to something else (the browser, E-mail client, putty terminal, LibreOffice or anything else), muscle memory results in errors.
Lots of applications have these inconsistencies. Clicking in a text editor will place the cursor where the mouse is, while clicking on the address bar in the browser *selects* the line and places the cursor at the end. It takes 1 click to insert text normally, it takes 3 clicks to insert into the address bar. Muscles don't remember that.
People spend an inordinate amount of time fumbling the interface without actually thinking about it. Your "rich, user experience" isn't warranted and reduces efficiency.
Just give me a simple, direct interface.
If the langugage is Java (or even Python to a lesser degree), then I haven't come across anything that even comes close to IntelliJ. It's code completion and introspection are so good, that I find I don't need to test as often. And I rarely find any issues when I do.
I also use Eclipse and Netbeans, and everything seems to take an extra step or two and that really adds up, over time. Netbeans is good for C++ though, so I muddle through with it.
According to the article: "Some people love syntax highlighting; others hate it with the fiery passion of a thousand suns."
Is that really true? I've never met someone who hated syntax hilighting.
"First they came for the slanderers and i said nothing."
While I have coded without an IDE in the past, and I still do it occasionally for one-off throwaway programs, when it comes to larger projects, I do find that having an IDE dramatically boosts my productivity. All of the things I do with an IDE could theoretically also be done with vi and an appropriate suite of tools, but for myself, the point of using an IDE is to really just have it all bundled in as one, and not have to switch to a different window just to show a call graph or function definition for what is at the current cursor, for example, when a simple hover-window can do the same thing, and since the window disappears as soon as I start typing or otherwise navigating, I don't even need to switch windows again when I resume editing.
File under 'M' for 'Manic ranting'
When I log into my Xenix system with my 110 baud teletype, both vi *and* Emacs are just too damn slow. They print useless messages like, 'C-h for help' and '"foo" File is read only'. So I use the editor that doesn't waste my VALUABLE time.
Ed, man! !man ed
ED(1) UNIX Programmer's Manual ED(1)
NAME
ed - text editor
SYNOPSIS
ed [ - ] [ -x ] [ name ]
DESCRIPTION
Ed is the standard text editor.
---
Computer Scientists love ed, not just because it comes first alphabetically, but because it's the standard. Everyone else loves ed because it's ED!
"Ed is the standard text editor."
And ed doesn't waste space on my Timex Sinclair. Just look:
-rwxr-xr-x 1 root 24 Oct 29 1929 /bin/ed /usr/ucb/vi /usr/bin/emacs
-rwxr-xr-t 4 root 1310720 Jan 1 1970
-rwxr-xr-x 1 root 5.89824e37 Oct 22 1990
Of course, on the system *I* administrate, vi is symlinked to ed. Emacs has been replaced by a shell script which 1) Generates a syslog message at level LOG_EMERG; 2) reduces the user's disk quota by 100K; and 3) RUNS ED!!!!!!
"Ed is the standard text editor."
Let's look at a typical novice's session with the mighty ed:
golem> ed
?
help
?
?
?
quit
?
exit
?
bye
?
hello?
?
eat flaming death
?
^C
?
^C
?
^D
?
---
Note the consistent user interface and error reportage. Ed is generous enough to flag errors, yet prudent enough not to overwhelm the novice with verbosity.
"Ed is the standard text editor."
Ed, the greatest WYGIWYG editor of all.
ED IS THE TRUE PATH TO NIRVANA! ED HAS BEEN THE CHOICE OF EDUCATED AND IGNORANT ALIKE FOR CENTURIES! ED WILL NOT CORRUPT YOUR PRECIOUS BODILY FLUIDS!! ED IS THE STANDARD TEXT EDITOR! ED MAKES THE SUN SHINE AND THE BIRDS SING AND THE GRASS GREEN!!
When I use an editor, I don't want eight extra KILOBYTES of worthless help screens and cursor positioning code! I just want an EDitor!! Not a "viitor". Not a "emacsitor". Those aren't even WORDS!!!! ED! ED! ED IS THE STANDARD!!!
TEXT EDITOR.
When IBM, in its ever-present omnipotence, needed to base their "edlin" on a UNIX standard, did they mimic vi? No. Emacs? Surely you jest. They chose the most karmic editor of all. The standard.
Ed is for those who can *remember* what they are working on. If you are an idiot, you should use Emacs. If you are an Emacs, you should not be vi. If you use ED, you are on THE PATH TO REDEMPTION. THE SO-CALLED "VISUAL" EDITORS HAVE BEEN PLACED HERE BY ED TO TEMPT THE FAITHLESS. DO NOT GIVE IN!!! THE MIGHTY ED HAS SPOKEN!!!
you can argue all day about whether chocolate ice cream is better than vanilla and there is really no possible way that anything interesting will result from the conversation
No, using an IDE means you are a productive programmer. I swear most of these vi/emacs hipsters are still students or are unemployed.