21 Dec What editor do you write code in? What is an IDE?
Every beginner who reads about a programming language comes up with the idea that a program is text. And since it’s text, it must be written in a text editor. Everything is logical and understandable. Moreover, this is exactly how it used to be. Ancient editors like Emacs were created to make it easy for programmers to write code in them. But that was a long time ago. Now even the youngest languages, which are less than a week old, not to mention the most widespread, have an Integrated Development Environment, an IDE for short.
Why do you need an IDE?
Why no one writes in a text editor these days? The Integrated Development Environment, in addition to a great editor, has a synthesis with hylighting (keyword highlighting), it makes the code very easy to read. You can tell at a glance where which structure began and ended, you can see keywords, class fields, parameters, etc.
The IDE also supports autocompletion (i.e. you start writing something from the words you wrote here earlier, and you don’t have to finish it up – you’ll be presented with options for completions). This greatly speeds up your code writing time.
Besides any IDE has error highlighting. It is very easy to navigate through the code: you can click on a word you don’t understand, for example, the name of a class, and go to the description of this class. Or method call – you go to the method. So you can walk around the code as if it were a hypertext page and from each word you can jump to its description. Without such IDEs it would be much harder for programmers to maintain huge projects.
The IDE automatically calls the compiler and runs the program. As soon as you press a certain button (in some IDEs as soon as you save the code) it automatically compiles everything and shows you where you had errors. As a result, you are constantly working on compiled valid code.
The IDE also supports integration with a large number of additional tools, such as: build systems, bug tracking systems, messaging systems, version control systems.
The IDE has a huge amount of functionality. In fact, the programmer may not run anything else on his computer, just one IDE. Even the servers will run within it.
Of course, all this requires a rather powerful computer. I recommend at least 8GB of RAM.
IDE for different languages
For every popular language there is a huge number of such systems, for Java there are probably several hundreds. Not all of them are equally useful. The criterion for selection is simple – usability and glitch-free. If the IDE is very buggy, it will not survive on the market long, because there are a huge number of analogues of equal value. The only exception is Jdeveloper by Oracle. Terrible buggy system, but Oracle push it so well and make programmers to support many of their systems with Jdeveloper, that there is no other choice – they continue to use it.
For C#, Visual Studio is the most popular option. Here, by analogy, Microsoft really wants this system to be used. But again, there are so many IDEs to choose from.
In Java, there is no single leader, but at the moment, the most popular IDE is IDEA by JetBrains. It is a nice IDE with great user interface. However, for new programmers, I really do not recommend to learn from IDEA. Why not? It is really too smart. And most of the work you have to do later on by yourself you just can’t do. You may not know what to do with the code, how it should be arranged, because IDEA hides all this from you. In what situations could it happen that you would give up on IDEA? For example, if it does not support your server or if you need to do something without IDE at all (for example, on a server or on a new installation).
IDEA is perfect for experienced developers because they already know what they need to do, and here you just push one button and IDEA does everything.
For newbies, I recommend to learn on some alternative IDE. There are three most popular IDEs for Java: IDEA, Eclipse and NetBeans. For the students at my school, I recommend Eclipse. Yes, it is inferior in interface to IDEA, but it also works great when configured correctly.