c++始めてみた：Ubuntuも環境構築してみた＆初心者に優しいEditorとは？個人ノート1.6

# Ubuntuも環境構築してみた

## 環境
Ubuntu 18.04.3 LTS
~~gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)~~
g++ version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
GNU Make 4.1

## 参考資料 (help.ubuntu.com)

- [Installing the GNU C compiler and GNU C++ compiler] (https://help.ubuntu.com/community/InstallingCompilers)
- [参照２](https://chrisjean.com/man-pages-for-c-development-in-ubuntu/)

上の記事に従ってbuild-essential( gccとmake )を
一瞬でインストール出来ました。

## 実装してみる

とりあえず, pico で下のコードを書いて

```hello_w.cpp
#include <bits/stdc++.h>
using namespace std;
 
int main() {
  cout << "Hello World!" << endl;
}
```

下の様に指示すると

```
gcc hello_w.cpp
```

エラーが

```
undefined reference to 'std::cout'
```

[stackoverflow](https://stackoverflow.com/questions/28236870/undefined-reference-to-stdcout)を見てみると、gccだとstd::outがby defaultではないらしい

なので

```
g++ hello_w.cpp
```

するとエラー無くいけました

「[GCC and Make Compiling, Linking and Building C/C++ Applications](https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html#zz-1.6)」

上のサイトの解説より
コンパイルした後に出来たファイル「a.out」を
下の様に指示すると

```
chmod a+x a.out
./a.out
```

ちゃんと実行出来ました！

```
Hello World!
```

## 追記

####「[GCC and Make Compiling, Linking and Building C/C++ Applications](https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html#zz-1.6)」

によると
GCC = GNU C compiler
G++ = GNU C++ compiler
なので明らかにg++の方が正しい選択でした
なんでc++を習っているのにcを使おうとしていたのか・・・
ちゃんと最初から読むべきでした・・・( ´д｀ll)

他にもやり方があり、下の指示でも実行出来ました。

```
g++ -o hello_w hello_w.cpp
chmod a+x hello_w
./hello_w
```

---

## 追記２

```
g++ --help
```

上の関数いいですね、g++の使い方が分かりやすく解説してあります。

## さてさて問題の Editor for Beginner

エディタ選びは物凄く悩みます。
（Pythonは簡単なコードしか書かないのでSpyderで満足しています）

なので
プロ（エンジニア）に扱いやすいエディタではなくても
初心者に優しい（扱い易い）エディタでいいのかな？と思いました。

## 初心者に優しいエディタとは？

先ず、MacとUbuntuの両刀使いなので、両方に対応したエディタにしたいですね。
後は、Python（Anaconda Navigator内）もやるので、この際Pythonにも対応したエディタ。
その他にも、初心者を甘やかしてくれる単純、便利機能がついているとGood!
そして、無料。

...ん？

よくよく考えてみると、Anaconda Navigator内に

- Jupyer Notebook
- Spyder
- VS code　←←←！！！
- Glueviz
- RStduio
- Orange 3

**VS code** あるじゃん!!!と気づいてしまいました

それなら初心者は
Anaconda上で
- Spyder(Python)
- VScode(Python/C++)

でいいのでは？

直ぐ始められるし操作も簡単そう

そこから慣れていって、他のエディタに手を出すという具合で

## 追記３

一応調べてみましたフリーエディタ群

参考資料
- [Wiki エディタ比較](https://en.wikipedia.org/wiki/Comparison_of_text_editors)

４０個以上あり、何が何だか・・・

やはり初心者（Anacondaでプログラミングを始めた方）はVScodeから始めればいいのかな？という感じです。

<!-- 草書

対応OS：Linux, macOS, Windows

- Geany
    - 一言：軽量
    - 対応言語：**C++**, **Python**, Java, JavaScript, PHP, HTML, Perl, Ruby, etc. (Wiki)</details>
- Atom
- Visual Studio Code
- Emacs
- Vim
- ~~Sublime Text~~（有料〜無料の間）
    - <details>有料のエディタだが、無料でも使うことができる。「よければ買ってください」というアラートが随時出てくるのさえ気にしなければ。<details>

参考資料
- [Wiki エディタ比較](https://en.wikipedia.org/wiki/Comparison_of_text_editors)
- https://eng-entrance.com/free_texteditor_linux#ed
- https://www.sejuku.net/blog/6376#Sublime_Text3
- https://techacademy.jp/magazine/986
- http://it-novice-growth-diary.blog.jp/archives/3829007.html
- https://tech-camp.in/note/technology/58536/
- http://kinchiki-it.hatenablog.jp/entry/editor-impressions
- https://career.levtech.jp/guide/knowhow/article/15/
- https://proengineer.internous.co.jp/content/columnfeature/3359
- https://teratail.com/questions/158431

-->