Even though I have quite some experience in using various tools, I still can't make up my mind whether I prefer using IDE or a simple editor for code editing.
Most IDEs I have experienced are written in Java (like Eclipse) which makes them slow and bulky. What's good about them is that it provides lots of tools.
On the other hand editors are usually VERY fast. They can also be extended to become more similar to IDEs but usually I don't do that. However, there is Sublime Text 2 which has some basic code completion built-in.
My question would be whether most Enterprise companies like Google, Apple, IBM and etc (except Microsoft because they have AMAZING IDE which, I assume, is used by MS developers) force their workers to use IDEs and whether using plain editor with external tools is considered being not professional?
P.S. Not talking about cases like Android development where working without IDE barely possible.
- 1I have use many editors over the past two years (Ruby on Rails development). I have settled on using BOTH a basic one (vi) and an IDE (IntelliJ) depending on this task. Heavy editing of new code - I use vi (vim actually). For heavy reading of code in a new project, examining it's structure, etc. I see an IDE which makes browsing and searching multiple files and directory strutures easy. Finally sometimes when I have a lot of nested code, an IDE is essential for showing danlging end-if's, etc. – Michael Durrant Oct 14 '12 at 15:28
- 1This doesn't answer your question about the big companies (I also retitled the question to reflect the content). but it might help you out with the later part of the question about your personal choice. – Michael Durrant Oct 14 '12 at 15:29
- 4Eclipse isn't slow and bulky because of Java. Its because the programmers sucked on efficiency. – Rig Oct 14 '12 at 15:35
- Vote to close - although arguably a real question it's eliciting answers about individuals "I use" etc, making more of a poll. – mattnz Oct 14 '12 at 20:20
- 1I'm sorry, I don't want to be a troll or a rager, but saying that Eclipse is slow and bulky and MS's IDE is "AMAZING" is, at best, a matter of opinion. Eclipse runs on 3 OSs, supports a plethora of languages, while MS's IDE runs on 1 OS for 1 language. That's at least one area where it is certainly not AMAZING as compared to Eclipse – Shivan Dragon Oct 15 '12 at 8:01
In the two companies I have worked for(Apple and Google), I was allowed to use any IDE of my choice. At Apple, developing for iPhone was kinda restrictive as I had to use Xcode regularly. But at Google, I was allowed to use just about ANY IDE of my choice.
At times, I used to resort to writing code in Vim or Emacs(my favorite of the two).
Most programmers writing java used JetBrains' IntelliJ IDE for java, others liked Eclipse. Some even used Netbeans. I used IntelliJ and Emacs.
So: it doesn't matter what IDE you use as long as you keep to their coding standards. For Python there was nothing better than Emacs.
For C++/C I used Emacs(or VS2010), for Java I used(and still use) Jetbrains' IntelliJ, for C# and others I use Visual Studio 2010.
For VB I use VS2010.
For HTML/css/JS I use a PLAIN text editor(Notepad++).
For Lisp I would recommend Emacs + Slime.
It depends on what you're going to code and your expertise with those editors.
I've been told (personally, no supporting link here: community wiki to invite corrections if my info is out of date) that most teams in Apple are using whatever version of Xcode is current. Those that want to do something else need to get some form of exemption.
The WebObjects (and iTunes Store, apple store etc) teams all can't use Xcode because it no longer supports Java projects. For the most part they use Eclipse with the WOLips plugin.
The kernel team are another one I know who opted out of Xcode, and they've got a make-based build system.
Having worked for quite a few large companies (and government departments) over the years, I can only say that there's great variety not just between but within companies. Some leave you completely free, others have extremely rigid requirements and won't allow their people to use anything else than the "company standard". Some even go as far as to make it impossible to install anything but the standard package provided by the corporate IT department, unless you go through a lot of paperwork first to get permission to request a license to be obtained after which it is installed for you by some sysadmin flunky.
On one project I was involved in, this led to the entire rebuild of the corporate IT landscape to be done as MS Office macros because the IT department would under no condition allow the project team to install IDEs and compilers on their workstations, leaving us no other option.
Why should using an editor and external tools net be professional? Many programmers prefer editors like vi or emacs. Many tools can't be integrated in IDEs anyway. At least not in all use cases. Your IDE may have a terminal integrated, but when you deploy on a server you still must be able to run many tools through a SSH session or something similar. Being dependent on the IDE handling everything for you can be risky.