テクノロジー

プログラミング言語についてまとめてみた

積分定数's icon'
  • 積分定数
  • 2020/12/09 11:25

お久しぶりです。積分定数です。

今日は、現役エンジニアである僕がプログラミングのあれこれについて書いていこうと思います。

1. Ruby

Content image

Rubyは日本発の言語ということもあり、国内スタートアップベンチャーはほとんどがRubyを採用している印象があります。そして何よりRubyのwebフレームワークであるRuby on Railsがあまりにも強力です。Railsと言うだけあって、レールに沿った開発が超得意です。レールから逸れると地獄らしいですが、逸れたことがないのでよくわかりません。

よくいろんな記事で「Rubyは終わった」などと見かけますが、終わりません。終わったと言われ続けてもう何年経つでしょうか。きっと来年もオワコン呼ばわりされて生き残ります。Railsが有る限り不滅の言語と言っても良いかもしれません。webフレームワークにおいてRailsに勝るものは僕の知る限りではないです。

そんなRailsを学びたい方はぜひRailsチュートリアルをやってみてください。Railsを使って実際にTwitterのようなサービスが作れます。HTMLとCSSも学べます。書いてあることをコピペすれば必ずできるのですが、意外とつまづきます。ぶっちゃけ難易度めちゃ高いです。ですが、もしこれを完遂できればRailsエンジニアとして一生食っていけます(知らんけど)。あと当然日本語文献が多いのもメリットです。

2. Python

Content image

昨今のAI人気により人気沸騰中の言語。「AIといえばPython、PythonといえばAI!」と言わんばかりの人気ですな。別にAIってPythonの専売特許ではないんですけどね?

まあでも確かにめっちゃ便利なんです。文法も簡単だし、数値計算ライブラリの豊富さも段違いです。試しに大学入試数学をPythonで解いてみましたがちゃんとできましたね。グラフの描画もできちゃうのでびっくりです。

Content image
大学入試数学の有名問題のグラフも書けちゃいます。

ちなみにPythonにもDjango(ジャンゴ)っていうwebフレームワークがあります。機械学習でPython使うからバックエンドもPythonにしよー的なノリだと思いますが、「機械学習のためだけにRailsの開発効率を捨てるってどうなんだろう?機械学習の結果をAPI経由でRailsに渡せばよくね?」って思ってしまいます。Pythonしか使ったことがない(でもPythonめちゃできる)人とか、日本語読めないって人ならわかりますけどね。正直Pythonって数値計算以外であんまり取り柄ないですからね(数値計算は間違いなく最強)。

3. JavaScript

Content image

今時のwebサービスにおいて、JSが使われてないものはないでしょう。React.js、Vue.js、Angular.jsと言ったイマドキのフロント開発にも使われている言語です。そしてなんとReactNativeを使えばスマホアプリも作れちゃいます!(ちょっと癖あるけど)

そんでnode.jsの登場によってバックエンドもJSで書けるようになりました。あまり流行ってるとは言い難いですが、JSだけでフロントもバックエンドもできるのは良いですね。

4. PHP

Content image

Railsが日本で普及するまではweb開発といえばPHPって感じだったのかな?2000年代のweb系企業(Yahoo!とかオープンワークとか)がPHPを採用している印象が強いです。ですが、周りにペチパー(PHPエンジニアのこと)がいないためか、PHPについての良い噂を聞いたことがなく、昔読んだ記事では「最悪の言語」とか「補助輪のない三輪車」とかボロクソに書かれていました。

そんなPHPですが、Laravelという非常に優秀なフレームワークが存在します。Stack Overflowの質問数でも他のPHPのwebフレームワークがシェアを落とす中、Laravelはシェアを上げているというほど人気なようです。

先に紹介したRails、Django、Laravelと合わせて3大webフレームワークと言われおり、Githubのスター数では3つの中で一番多いようです。

5. Julia

Content image

何やら可愛らしい名前の言語が出てきましたね。しかしこのJulia、可愛らしい名前からは想像もつかないほどスゲー言語なのです。

Juliaは2012年にリリースされた比較的新しい言語です。開発者は欲深いおじさんです。このおじさん、本当に欲張りなことに「C言語並みに速く、Rubyのように動的で、Pythonのように汎用的に...etc」とか言い出したんです。基本的にこういった機能はトレードオフです。実行速度が早いけど冗長なコード、動的だけどバグが起きやすい、数値計算は得意だけど実行速度が遅いって感じですね。

この、言語特有の一長一短な機能を全部盛り込んじゃったのがJuliaなのです。汎用的にも使えるし、高度な数値計算もできるし、動的に扱える…スゲー!!実際に使ってみましたが凄い!エンジニアの言葉にならない不満を見事に解決してくれたような言語です!

これから少しずついろんな分野でシェアを獲得していくんじゃね?って思わせられるような言語でした。

6. どうやって勉強したら良いんや!ってあなたへ

Content image

プログラミング初学者にとって一番の難関かもしれません。どうやって勉強するのかわからん。で、エンジニアに聞くと「本読め」とか「ネットで調べろ」って言われて心折れますよね。

なので僕からは競技プログラミングをお勧めしたいと思います。いろんな競プロがありますがAtCoderがオヌヌメです。で、AtCoderでもいろんなコンテストが開催されていますが、最初はAtCoder Beginner Contest(ABC)をやれば良いと思います。問題もA, B, C, D, E, Fにランク分けされており、A, Bは比較的簡単なのですがCから急に難易度が上がります。

さらに実際にコンテストに参加すると、ユーザーのレベルに応じて色が振られます。一番下が灰色で、一番上は赤です。自己紹介で「赤コーダーです」と言えばみんな土下座をして命乞いしてきます。ちなみに青コーダーあたりからつよつよエンジニア認定されがちです(僕は水色です…)。

問題形式だと楽しくプログラミングと向き合えるので初学者の方には取り掛かりやすいと思います。わからない問題に出会ったら本を読むかネットで調べてください!

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 5人がサポートしています
獲得ALIS: Article like 94.38 ALIS Article tip 16.30 ALIS
積分定数's icon'
  • 積分定数
  • @alis-constant
好きなものは数学とブロックチェーンとプログラミング。現在は主にRuby on RailsとPythonを使っています。2017年5月参入。社会人です。

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

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

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

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

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

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

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

「ハッシュ」とは何なのか、必ず理解させます

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

Uniswap v3を完全に理解した

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

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
他カテゴリ

ALISのシステム概観

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

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

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

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

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

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

Like token Tip token
69.82 ALIS
Eye catch
ゲーム

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

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

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS