テクノロジー

パソコン知識0からプログラミング言語を色々触るまで。→結果Golangを選んだ理由。

Wtr1's icon'
  • Wtr1
  • 2020/04/08 12:58
Content image

 

 最近のプログラミングブームに便乗し、プログラミング言語について色々調べたので書いておきます。

 僕はエンジニアになる気はありませんが新しい技術や研究が好きな科学ファンとして、今まで無頓着だったWeb系の世界を体験したいと思いました。

 

以下、プログラミング開始までのステップです。

1.Macに変えた。

 まず僕が最初にやったことは、、、WindowsからMacbook Airに変えたことです。仲の良い友達にプログラミングを始めたことを話すと、Macに変えた方が書きやすいと聞きました。今までパソコンに興味がなかったため家にあったWindowsのパソコンを使っていましたが、貯金を切り崩しMacを買いました。MacはWindowsよりも起動がとても早いため、理由もないのにパソコンを開きたくなり習慣になりました。キーボードも打ちやすいし、画面もきれい。最高です。Macファンになりました。

 

2.本屋にあったPythonの本を買って始める。

 プログラミングとは何か調べもせずに本屋に行き、本棚の一番真ん中に置いてあったPythonの入門書を買いました。ターミナルを起動し、AtomとPythonをインストール。初めてHello worldや四則演算とかやってると、プログラミングってこんだけ?って感じでした。まあ、段々難しくて意味わからなくなるのですが。関数?オブジェクト指向?意味わからん。ってなりました笑。

 結局僕が買った本では基礎はわかっても何もできないことがわかりました。そして、まだプログラミングで何ができるか全くわからないまま基礎を学んでいました。とりあえずパソコンで何かできるんだろくらいな気持ちです。

 

3.Progate知ってたら無駄な時間かけなくてよかった。

 まともに調べもせずに最初から本を買ったことが、お金の無駄遣いでした。先にネットで調べた方が効率良いです。色々調べた結果、無難ですがProgateやっとけばよかったです。Progateは色々な種類のプログラミング言語の練習ができるサイトです。そもそもたくさんのプログラミング言語があることを全く知らなかった僕にとって、ちょうど良いサイトでした。

 僕は1ヶ月だけ有料会員(月額1000円)になりました。PHP以外簡単に触ってみましたが(なぜphpを除いたか理由は特になく、全部試すのが面倒だったため)、一番しっくりきたのがGo言語でした。Goは誕生が2008年ですが、2,3年前から日本で徐々に使われ始めた言語みたいですね。大規模な開発やクラウドサービスと親和性が高いですから、今後需要が増えてくると思います。

Goを選んだ理由は以下2つです。

1.型付けがしっかりしているので、あいまいな表現をしなくて良いこと。

 Goは静的型付け言語ですので、型の指定について厳格です。厳格というのはいい意味です。変数の型があいまいのまま実行されないので、コードを打っていてモヤモヤする気がありませんでした。また、GoはPythonよりエラー文が詳細に表示されるのでつまづいた部分がはっきりわかってストレス少なめです。

2.面倒な環境構築をせずに済む。

 最初にPythonの環境構築をするときは本当に意味不明でした。理由があります。最近のAIブームから、教材に機械学習の分野があったためです。入門書通りにターミナルに打ち込んでもエラーが出る。例えばpip,numpyを頑張ってインストールする。そして、python3.0をインストールするためにpyenvのインストール。Anacondaの環境設定、、、。Tensorflowどうやって入れるんだ??あーーーガチでわからん。てなりました。たとえwebアプリを作るためにもDjangoをインストールするためにpipだったり、anaconda内のspyderを使って実装すると考えると、めんどい。

 結果的にはなんとか環境構築しましたが、そこから始める前にPythonはやめました。

 その点、Goは環境構築をしません。僕は簡単なWebアプリが作れば満足するので、標準ライブラリ(Goのインストール時、初期に搭載されているパッケージ)で作れます。最初からこっちを選べばよかったです。サードパーティのパッケージを使うのであれば、GoDocから

go get [パッケージ名]

 

でインストールできるので楽です。

 Goはフレームワークを使うイメージがないですが、ginを使ってこんなこともできます↓。

 

3.Goで苦戦していること

 逆に困ったことはというと、基礎として取り上げられるゴルーチンの使い方がわからないことです。並行処理って何で使うの??となってます。これは僕の理解度の問題なので、調べたり参考書でカバーできます。

 

4.目標。

 僕は流行に乗ってプログラミングを始め、初期は目標がないまま基礎だけやっていました。現在、とりあえず簡単なwebアプリを実装することを目標に頑張ります。公式サイトの以下のサイトを参考にしたり、ネット上に情報が転がっているので資料はそろってます。

 本当はjavascriptやRubyなど色々な言語に深く触れた方が良いと思いますが、面倒なので当分はGoだけやって情報発信します。

Supporter profile iconSupporter profile icon
Article tip 2人がサポートしています
獲得ALIS: Article like 76.71 ALIS Article tip 3.10 ALIS
Wtr1's icon'
  • Wtr1
  • @shark5

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS