Skip to content

Code Editors #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 7, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 35 additions & 17 deletions 1-js/01-getting-started/3-code-editors/article.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,63 @@
# Code editors

A code editor is the place where programmers spend most of their time.
<!-- A code editor is the place where programmers spend most of their time. -->
code editor ဆိုတာကတော့ programmers တွေ အချိန်အများကြီး တူတူ ရှိနေတဲ့ အရာပါပဲ။

There are two main types of code editors: IDEs and lightweight editors. Many people use one tool of each type.
<!-- There are two main types of code editors: IDEs and lightweight editors. Many people use one tool of each type. -->
IDEs နဲ့ lightweight editors ဆိုပြီး အဓိက code editors နှစ်မျိုး ရှိပါတယ်။ developer တော်တော်များများက အဲ့ နှစ်ခု ထဲက တစ်ခုကို သုံးကျပါတယ်။

## 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."
<!-- 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." -->
[IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Development Environment) ဆိုတာက project တစ်ခုလုံးအတွက် လိုအပ်တဲ့ features တွေ တော်တော်များများပါတဲ့ editor တစ်ခုပါပဲ။ IDE ဆိုတဲ့ နာမည်အတိုင်း editor တစ်ခုအနေနဲ့သာမက 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.
<!-- 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. -->
IDE တစ်ခုဟာ project files အကုန်လုံးကို load လုပ်နိုင်ခြင်း ၊ file တစ်ခုကနေ နောက်တစ်ခုကို ညွှန်ပေးနိုင်ခြင်း ၊ project တစ်ခုလုံးအတွက် စာရိုက်ရာတွင် အလိုအလျောက် ပေါ်ပေးခြင်း (autocompletion) ၊ version management system တွေနဲ့ အလုပ်လုပ်နိုင်ခြင်း ဥပမာ [git](https://git-scm.com/) ၊ testing လုပ်နိုင်ခြင်း အပြင် အခြားသော လုပ်ငန်းဆောင်တာ တွေကို လုပ်ဆောင်နိုင်ပါတယ်။

If you haven't selected an IDE yet, consider the following options:
<!-- If you haven't selected an IDE yet, consider the following options: -->
တကယ်လို့ ဘယ် IDE ကို သုံးရမလည်း ဖြစ်နေရင် အောက်က IDE တွေကို သုံးကြည့်သင့်ပါတယ်။

- [Visual Studio Code](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/).
<!-- 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/). -->
Windows အတွက် ဆိုရင် "Visual Studio" (Visual Studio Code မဟုတ်ပါ) ကိုလည်း သုံးကြည့်သင့်ပါတယ်။ "Visual Studio" ဟာ paid version နဲ့ window မှာပဲ သုံးလို့ရတဲ့ editor တွေဖြစ်ပြီး .Net platform တွေအတွက် ပြည့်စုံအောင် လုပ်ပေးထားပါတယ်။ ဒါအပြင် JavaScript အတွက်လည်း သုံးလို့ရပါတယ်။ သူ့ကို 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.
<!-- 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. -->
IDE တော်တော်များက paid version တွေဖြစ်ပေမယ့် သူတို့မှာ အစမ်းသုံးခွင့် ကာလ ဆိုပြီး သတ်မှတ်ပေးထားပါတယ်။ သူတို့အတွက်ကျသင့်ငွေဟာ developer တစ်ယောက်ရဲ့လစာနဲ့ တွက်ကြည့်လိုက်ရင် သိပ်မသိသာတာကြောင့် ကိုယ်အတွက် အကောင်းဆုံးကို ရွေးချယ်ပြီး သုံးနိုင်ပါတယ်။

## Lightweight editors

"Lightweight editors" are not as powerful as IDEs, but they're fast, elegant and simple.
<!-- "Lightweight editors" are not as powerful as IDEs, but they're fast, elegant and simple. -->
"Lightweight editors" တွေဟာ IDE တွေလောက် feature အစုံအလင်မပါပေးမယ့်လည်း သူတို့ဟာ မြန်မြန်ဆန်ဆန် အလုပ်လုပ်နိုင်ခြင်း ၊ အထာကျတဲ့ ပုံစံတွေရှိခြင်း နဲ့ ရိုးရှင်းကျပါတယ်။

They are mainly used to open and edit a file instantly.
<!-- They are mainly used to open and edit a file instantly. -->
သူတို့ကို များသောအားဖြင့် file တစ်ခုကို ချက်ခြင်းဖွင့် ပြီး ချက်ချင်း ပြင် ဖို့အတွက် သုံးကျပါတယ်။

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.
<!-- 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. -->
"lightweight editor" နဲ့ "IDE" မှာ အဓိက မတူတဲ့ အချက်ကတော့ IDE တွေဟာ project အဆင့်မှာ အလုပ်လုပ်ပါတယ် ဆိုလိုချင်တာက project တစ်ခုကို စ ဖွင့်လိုက်တာနဲ့ file တွေအများကြီးကို စွဲတင်ရလို့ data တွေ အများကြီးလိုပါတယ်။ ဒါအပြင် လိုအပ်လာရင် project ရဲ့ ပုံစံကို analyst လုပ်ပေးတာ စသည်ဖြင့် လုပ်ပေးပါတယ်။ lightweight editor ကတော့ file တစ်ခုတည်းကို ပဲ ပြင်ချင်တာမျိုး ဖြစ်တဲ့အတွက် ပိုပြီးတော့ မြန်ပါတယ်။

In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompleters, so there's no strict border between a lightweight editor and an IDE.
<!-- In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompleters, so there's no strict border between a lightweight editor and an IDE. -->
တကယ်တန်းတော့ lightweight editors တွေမှာလည်း plugins တွေ အများကြီး ရှိပါတယ်။ ထို plugins တွေက IDE လိုပဲ syntex တွေကို analyst လုပ်ပေးတာ ၊ autocomplete လုပ်ပေးတာ စသည်ဖြင့်လုပ်ပေးနိုင်ပါတယ်။ ဒါကြောင့် lightweight editor နဲ့ IDE တွေမှာ လုံးဝ ကွဲပြားခြားနားတဲ့ အရာတော့မရှိပါဘူး။

The following options deserve your attention:

<!-- The following options deserve your attention: -->
အောက်ဟာ lightweight editor တွေကို တစ်ချက်လေ့လာကြည့်သင့်ပါတယ်။

- [Atom](https://atom.io/) (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.
<!-- - [Vim](http://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them. -->
- [Vim](http://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) သူတို့ကလည်း ဘယ်လိုသုံးရမလည်းဆိုတာ သိရင် တော်တော်မိုက်ပါတယ်။

## Let's not argue
<!-- ## 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.
<!-- 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.
<!-- There are other great editors in our big world. Please choose the one you like the most. -->
တခြား ကောင်းတဲ့ editors တွေလည်း အများကြီးရှိပါတယ်။ ဒါကြောင့် သင့် အကြိုက်ဆုံးဟာကို ပဲ​ရွေးလိုက်ပါ။

The choice of an editor, like any other tool, is individual and depends on your projects, habits, and personal preferences.
<!-- The choice of an editor, like any other tool, is individual and depends on your projects, habits, and personal preferences. -->
Editor တစ်ခုကို ရွေးချယ်ရတာလည်း တစ်ခြား tool တွေကို ရွေးရသလိုပါပဲ ၊​ တစ်ကိုယ်ရည် ကြိုက်တဲ့ feature တွေ အလေ့အကျင့် တွေ နဲ့ project တွေရဲ့ requirement တွေ​အပေါ်မှာ မူတည်ပါတယ်။