About Compiling


I am just a little confused about why some text editors have compilers and some do not. Does it take more time to create a compiler inside of a text editor or something? Because I feel like it would be the first thing you would add to a text editor; something to run the program you create fast. I often use bluej, but I prefer Atom’s text editor. The only reason I use Bluej is because 1. my professor told me to and 2. It gets annoying going to command prompt and typing javac project then java project.java EVERY time and accidently exiting cmd and having to find the folder the .java file is in. Is there some alternate way of compiling that I do not know about? Or are coders nowadays so badass that they can type out the entire project without even looking at the outcome…



Is this a serious question? Because it really sounds like a troll. You’re asking if doing two jobs, let’s call them A and B, takes longer than doing just A?



Say an IDE is A and A contains a and b, and a text editor is a. (b being the part that compiles the program) Basically, I meant that I don’t understand why text editors never have an auto compile function like an IDE has, because it seems like it would be of convenience to have one. I hear people say that it would be overkill to use an IDE in most situations, but I just don’t understand why someone would use a text editor as opposed to an IDE as it seems that an IDE is just a text editor and more. (in a text editor, you must use the cmd to run the project everytime, so it just doesn’t seem reasonable)



Can you name an IDE that offers all of its features for every language and every framework? Not only editing and syntax highlighting, but compilation, debugging, intelligent code completion and documentation lookup, refactoring, symbol generation and searching, etc etc?



Oh ok, that makes sense, but I just think it would be neat if there was a way to fuse something like atom with a basic compiler. Basically, you mean that both specialize in their own strength(text editor dedicates production time to code completion, IDE to debugging)?



Perhaps you should check the FAQ:

No, I mean that IDEs are almost always built and provided by a company that has a vested interest in seeing a particular language (or tightly related set of languages) and/or framework succeed in the marketplace. Whereas over my lifetime I have written programs that other people have used in the following languages:

  • 6502 Assembler
  • Pascal
  • C
  • x86 Assembler
  • C++
  • PHP
  • ASP v1
  • Perl
  • Java
  • Python
  • C#
  • PowerShell
  • Ruby
  • R
  • CoffeeScript/JavaScript

Give me a text editor, a web browser and a terminal window and I can provide all of the typical IDE features for myself in any of the above languages. (Not to mention all of the frameworks and libraries I might use on top of those languages.) Additionally, I wouldn’t have to learn a new editor each and every time I switched languages because most of my tools would work for whatever language I chose. I just change some configurations and :boom: I’m productive. Every time you have to switch IDEs, you have to start over from scratch.



I only know basic java at the moment, so maybe that is why I am not seeing the logic, because whenever I run a program I make from a text editor, I need to first open the command prompt, find the folder the file is in, convert it to .java, then run it, as opposed to just clicking the run button and having the thing compile and run instantly. It is more of a convenience thing; it takes like 2 minutes of typing as opposed to a single click on an IDE. Basically, why isn’t it possible to upload a compiler for java to Atom and be able to instantly compile and run the program you are working on without having to type so much every time. For example: Bluej has a java compiler built in. Couldn’t you take the java compiler and make it work with a text editor like Atom? The java compiler itself is provided by Oracle right?



You may be interested in a Java IDE. All of those are either free or have a free version:

IntelliJ IDEA

Basically, why isn’t it possible to upload a compiler for java to Atom and be able to instantly compile and run the program you are working on without having to type so much every time.

The difficulty is not supporting a single compiler. It is supporting a hundred of them for all different possible languages.

I may add in the case of java, it’s a very bureaucratic language so an IDE is very interesting to save you some time. There’s plenty of very good ones and it may not be the best decision to re implement one just so “atom could do everything”



I guess you didn’t read my last reply where I pointed you to the FAQ that answered these very questions?