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?
C-x-C-c
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.
Back in the days I used to use Windows I used PFE, a multi window editor. For the past 14 or so year I have been using Linux and Kate is my favorite editor now. Does syntax highlighting, tabs vs. spaces, tiled views, profiles for project management, and allows multiple windows on multiple monitors. I'm not sure what more I can ask an editor. It's funny how some of us make the editor our "IDE" and do everything else on the command line like you say.
Is that a roll of dimes in your pocket or are you happy to see me?
Delphi. There is still nothing better.
I guarantee that you're not going to find good advice about what IDE is best on a Dice "insights" clickbait page.
Fi on vi, I say, fi! If I must use a CLI editor, I use Mork's editor, nano. Not only is it a full-screen editor (We all know that vi was designed to be used with a teletype as an input device and never outgrew its limitations.) it has the most important editing commands at the bottom of the screen, including the all-important ^G that brings up the rest of the program's help. IMAO, the only reason for anybody to learn such a user-hostile "editor" as vi is for the bragging rights of having done so, and the only reason to continue using it once you've mastered it is masochism, pure and simple.
Good, inexpensive web hosting
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'
My favorite IDE is a computer. When I wrote programs without a computer it was much harder. (I wish I was joking)
“Common sense is not so common.” — Voltaire
Joe's Own Editor. I don't use a traditional IDE, but do still use JOE. Am I alone with this? *sigh*
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!!!
In the past few years I've largely use Eclipse. I tend to write small programs in C, C++, or CUDA C. I like Eclipse because it's free, has easy support for all these languages and others that I expect to use (Python, Java), runs on Debian/Ubuntu/etc., and there's tons of support online.
So far I used Eclipse for Android development, but that's coming to an end. Google forces me to use Android Studio, which is terrible. Which makes me think: how can so many developers prefer AS over Eclipse? What does that say about developers? About me?
no, I don't have a sig
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.
Bullshit. vim is an equivalent tool to emacs (except it has a decent editor :-)
Saying emacs is by far the beat option available is stupid. It would be equally stupid to say the same about vim. Both vim and emacs are similar, and you would never get "laughed off this forum" for using vim rather than emacs. While we always joke about which is better, you'd have to be a moron to believe that emacs is far better than vim, or vice versa.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
As vi/vim usually comes with the base OS by default (especially Unix - i.e. non-Linux - systems), knowing both editors (as I do) is preferable. For most programming work or complicated file edits, I generally use emacs though - since the late 1980s - my current .emacs config file is from 1990 - and, yes, I'm old.
That's exactly why I switched to vi (not vim at that time) in 1995 after using Emacs exclusively since the 80s: I knew it would be available everywhere. I still use Emacs occasionally. I'm 50, that's not old.
Go on then. Demonstrate it.
I wonder what IDE the developers of MS Windows use? I wonder what IDE Linux kernel developers use. Which one is more robust?