-
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #34 from ipapoutsidis/codeEditors
Code editors
- Loading branch information
Showing
2 changed files
with
52 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
1-js/01-getting-started/3-code-editors/corrected_article.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Code editors | ||
|
||
A code editor is a place where programmers spend most of their time. | ||
|
||
There are two main types of code editors: IDEs and lightweight editors. Many people use one tool for each type. | ||
|
||
## IDE | ||
|
||
The term [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Development Environment) refers to a powerful editor with many features that usually operates on a "whole project". As the name suggests, it's not just an editor, but a full-scale "development environment." | ||
|
||
An IDE loads the project (which can be many files), allows navigation between files, provides autocompletion based on the whole project (not just the open file), and integrates with a version management system (like [git](https://git-scm.com/)), a testing environment, and other "project-level" stuff. | ||
|
||
If you haven't selected an IDE yet, consider the following options: | ||
|
||
- [Visual Studio](https://code.visualstudio.com/) (cross-platform, free). | ||
- [WebStorm](http://www.jetbrains.com/webstorm/) (cross-platform, paid). | ||
|
||
For Windows, there's also "Visual Studio", not to be confused with "Visual Studio Code". "Visual Studio" is a paid and mighty Windows-only editor, well-suited for the .NET platform. It's also good at JavaScript. There's also a free version [Visual Studio Community](https://www.visualstudio.com/vs/community/). | ||
|
||
Many IDEs are paid but have a trial period. Their cost is usually negligible compared to a qualified developer's salary, so just choose the best one for you. | ||
|
||
## Lightweight editors | ||
|
||
"Lightweight editors" are not as powerful as IDEs, but they're fast, elegant and simple. | ||
|
||
They are mainly used to open and edit a file instantly. | ||
|
||
The main difference between a "lightweight editor" and an "IDE" is that an IDE works on a project-level, so it loads much more data on start, analyzes the project structure if needed and so on. A lightweight editor is much faster if we need only one file. | ||
|
||
In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompletes, so there's no strict border between a lightweight editor and an IDE. | ||
|
||
The following options deserve your attention: | ||
|
||
- [Atom](https://atom.io/) (cross-platform, free). | ||
- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform, free). | ||
- [Sublime Text](http://www.sublimetext.com) (cross-platform, shareware). | ||
- [Notepad++](https://notepad-plus-plus.org/) (Windows, free). | ||
- [Vim](http://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them. | ||
|
||
## Let's not argue | ||
|
||
The editors in the lists above are those that either I or my friends whom I consider good developers have been using for a long time and are happy with. | ||
|
||
There are other great editors in our big world. Please choose the one you like the most. | ||
|
||
The choice of an editor, like any other tool, is individual and depends on your projects, habits, and personal preferences. |