見出し画像

プログラミング言語ってどれがいいの?

どうも~~!オレオレエンジニアスクール専任講師のおれです。

今日は、プログラミング言語の紹介をします。

プログラミングとか知らない人でも、どなた様でも、ゼロから分かるように書いてるつもりです。これからの人生、最小の努力で、自分にとって最適な立ち回りがしたい!という方のために、書いてます。無駄なこととか、したくないですよね?

プログラミング言語の仕様とかは軽めに、実際、その言語を覚えたら、自分の人生がどうなってしまうのか?という観点を重視して書いてます。

どういう順で紹介すべきか、悩みましたが、古い順に紹介します!「えー、新しいやつがいい~!」っていう声もありそうですが、古いやつを改良しながら、新しいやつがでてきるって面もあるので、やっぱり、古いのから行ったほうが、話を積み上げやすいかな、と。

--------------------------------------------------

とは言え、一瞬でざっくり把握したい方も居るかもしれないので、分かりやすい印を付けようと思います。

静的型付け言語:[ネ]、[仮]、[ト]のどれか(詳細は次節)
動的型付け言語:無印

なんか、いきなり、難しそうなのが来たな~、って感じかもしれません。でも、この2つの違いは結構でかいので、要注目です。

静的型付け言語っていうのは、コンパイルっていう仕上げの処理をしてから、実行するやつです。コンパイルのついでに、色々埋め込んで、調査、解析しやすいようにできる!っていうのが、売りです。

動的型付け言語っていうのは、コンパイルはしません。いきなり実行です。調査、解析はそんなにやりやすくないかもしれないけど、コンパイルが要らない分、すぐ動かせるっていうのが売りです。

結局、どっちがいいんだよ?って思われそうですね。賛否両論ありそうだけど、個人的には静的のほうがいいかな~。動的のほうは、1人とか2人とか少人数で作るとか、使い捨てのやつを作るだけとかいうんだったら、早くていいかもしれないけど、長期間とか、大勢とかでメンテしていくやつを作ると、エグくなるのが早い印象です。何もない所に自分でゼロから作れるんだったら、どっちでも、やれなくはないけど、出来上がった所に後から新人などとして来た場合、調べやすさとかが結構違う気がします。まぁ、動的しかやってない人だったら、「そんなもんなのかな~」って思っちゃうかもしれないけど、静的の経験ある人は、実は色々不便を感じています。

動的言語もRuby on Railsとか、それにインスパイアーされた系のフレームワークがPHPとかにどんどん登場してた頃(2004~2010あたり)は、結構もてはやされてた気がするんですが、Scalaが実用的に使われるようになってきたあたりから、徐々に静的言語が盛り返してきて、TypeScriptが出て来ると、目に見えて静的勢が強気になってる感があります。おっさんから見た感じだと、ですが。。Scalaの構文って、ぱっと見、Rubyの構文に似てる気がするんですよね。つまり、動的言語の軽い書き味を静的言語に取り入れ始めたってことなのかな、と。

--------------------------------------------------

はい、次です。静的言語の中での分類です。

[ネ]:ネイティブコードが生成できるやつ。
[仮]:仮想マシン向けコードが生成できるやつ。
[ト]:トランスパイル言語。他の言語のコードが生成できるやつ。

また、なんのこっちゃ?って感じかもしれません。ネイティブコードっていうのは、ある環境に最適化した、そこでしか動かない専用のやつってことです。専用だとその分速かったりします。ハードウェアとかインフラに近いやつってことになりますね。全然違う所で動かしたい場合は、再生成が必要です。

ハードウェアとかインフラって、それが面白いって人ももちろん居ると思うけど、お手軽な人にとっては「そんな所、気にせずに済めばいいのになぁ~」って思っちゃうかもしれない部分です。お部屋の模様替えを楽しみたい人なのか、床を剥がして、まずはしっかり基礎工事が大事でしょ!って思う人なのか、そういう違いかな?

一方、仮想マシン向けのコードっていうのは、1回それを生成したら、色んな所で動かせるってやつです。そういう意味では動的言語もこっちに近いですね。

トランスパイル言語っていうのは、ここでは、1個しかないですね(TypeScript)。まぁ、要するに、Javascriptが書きづらいから、他の気の利いた言語で書いて、Javascriptを生成できたらいいじゃない?って、そういう話です。

--------------------------------------------------

次はおすすめ度です。

どういう観点で、分けるか?なんですが、知識ゼロの人が会社に行くと、親切な先輩が居て、教えてくれるって言ってるけど、それ教わったほうがいい?っていうものです。

★★★:精神を統一して聞くべき。
★★:
聞いといて損ってことはない。
★:あえて聞かなくてもいいような。

--------------------------------------------------

では、行ってみましょう!

0. COBOL(1959)★ [ネ]

全部書いてから1週間くらいして思い出したので付け足しました。そのため、番号が0になってます。COBOL、全然おススメしないです。むしろ、要注意です。太古の言語なんですが、今も金融機関とかでちょっと残ってるらしいです。Javaが盛り上がって来てた頃、COBOLからJavaへの作り替えの仕事も結構あったようです。今もちょいちょいあるのかな。今時、COBOLなんてやりたい人はなかなか居なくて希少なので、ある意味貴重な人材なので、意外と単価(≒給料)いいとかって噂も聞きますが、将来のキャリアを犠牲にしてる対価をもらってるだけです。いや、もらえればいいほうです。実際はやりたい人、やれる人を見付けてくるのが難しくて、仲介業者が入りまくって、マージン抜かれまくりで、全然儲からないんじゃないですか?いい所、まるで無しです。このページで取り上げる言語の中では、絶対やめたほうがいいやつです。プログラミング言語なんて、どれも同じって思ってる、マジで、なーんも知らん人がハメられるやつです。気を付けて下さい。

1. C言語(1972)★ [ネ]

C言語は確かに主要な言語ではあるんですが、これをなまじ知っます!アピールすると、組み込み系とかの仕事になりやすそうですね。現代的な仕事をしたいのであれば、知ってても黙っておくのが吉かも。。組み込み系以外でも、使い道はあるんだけど、日本は製造業がメジャーな国だから、そういう製造業で作った色々なデバイスに入れるやつってことで、組み込み系に流されやすいんですよね。IT系っていうか、メーカー系になりやすそう。そういうのがやりたい人向け。

あ、感銘を受けた言葉を1つ紹介しておきます。

「C言語で書くには人生は短すぎる」

Linux(無料のOS)のデスクトップ環境のGNOMEとか、LinuxのC#実行環境の開発をした、ミゲル・デ・イカーザさんの言葉です。次のC++でも半分当てはまってると思います。

もちろん、GNOMEとかC#環境とか、もしくは言語そのものを作るには、C言語やC++を使ってるとは思いますけどね。どの言語もC/C++を分かってる人が作ってるから、どれも大枠の見た感じはC/C++に似てるって面もあると思います。

2. C++(1985)★ [ネ]

これも、C言語と似た立ち位置ですね。C言語よりは、もうちょっと進化してるのはいいんだけど、これも組み込み系での需要が大きいから、そこは要注意。C++はC言語の完全上位互換で、C言語の文法はC++では全部使えます。だからって、バリバリC言語スタイルで書く人、イヤすぎですけど。。

C++では、Windowsアプリ(ExeclとかWordみたいにWindows上で直で動作するアプリ)も作れて、昔はそういうのも多かったようだけど、今では、ほとんど、C#で作るようになってると思うから、出番なしです。

あ、ビットコインのコードはC++ですね。ビットコインをフォークした(=マネた)やつもビットコインのコードを流用してるからC++ですね。とは言え、一般の方はスルーでいいような気がします。Pythonとの合わせ技で爆速化!とかそういう使い道もあるんですけど。。それにしても、一般人がやるやつじゃないです。オタク向け。

3. Perl(1987)★ 

昔、ひろゆきとかが、2ch(現5ch)を運営するのには、バリバリこれで書いてたとか聞いた気がしますがけど。。今となっては、関わりたくないですね。ぐじゅぐじゅの謎コード、秘伝のタレになってそう。

4. Python(1991/2)★★★

Pythonは結構古いんですが、Python Ver2とVer3で結構違ってて、Ver3になってしばらくてしてから、データサイエンスだのAIだの、ナウい(死語)用途が増えてきて、一躍、人気者になっています。とは言え、データサイエンスやAIのモジュールが使えるって部分がイイ訳で、Pythonそのものがいいか?っていうと、結構、微妙な気がします。まぁ、データサイエンスやAIをやる人は必修、やれるか分からないけど、あわよくば、そういうのやりたい、って人にも、やるメリットはありますね。(あ、仮想通貨自動売買botの人もPython必修かも。使ってる人多いです。少なくとも他の人のbotコードを読むのには必要。)

Pythonでも、Django(じゃんご)とか使えば、ウェブシステムも作れますけど、それほどメジャーってこともないです。たまに見かける、ってぐらいです。「データサイエンスやAIあわよくば」勢には、Djangoもいいとは思います。

とは言え、「あわよくば」勢の都合とか無視するとしたら、Python使うのは、データサイエンスやAI限定でいいかな。AIを他システムから連携したい、って場合は、API化して、他のシステムはPython以外の気の利いた言語で書いたほうがいいかも。。まぁ「全部独りでやります!」とかいう規模だったら、全部、Pythonで揃えるメリットもありそうだけど、それなりの規模の会社だったら、Pythonに寄せて、いいことあるか微妙な気がするなぁ。。

ちょっとしつこくなるけど、データサイエンスやAIにはいいと思います。データサイエンスやAIやる!って決めてる人は、むしろ、Pythonしか知らないことにしたほうがいいかも。。他のやつ色々知ってるってバレたら、むしろ、他のことやらされたりするかもだし。。個人的には、他にもどれか1つ静的言語を勉強だけしてあって(入門書1冊でもいい)、でも、表向きはPythonしか知らないってことにしとくのがおすすめ。ガチでPythonしか知らなかったら、色々なことに気が付かなくて、前時代的な変なコード書いてそうだから。。まぁ、おっさんの偏見かもだけど。。

あ、Pythonは動的言語ですが、型宣言(どんなデータ型なのかの情報)を付けることもできるようになってます。mypyとかPyRightとかの専用のツールを使うと、型に違反してると警告してくれるようになります。面倒って面もありますが、大勢で仕事するなら、そのほうが分かりやすいです。とは言え、既存のほとんどのコードには型宣言は書かれてないでしょうけどね。AIやデータ分析オンリーの仕事だったら、型宣言までは書いてないかな。運用とかの仕事で使ってるコードで、ゼロから書けるような類のものだったら書いてるケースもあるかも、っていうくらい。書いてたら結構意識高いほうだと思います。まぁ、要するに、型を意識するっていう文化が、静的言語から徐々に輸入されてきてるってことです。

5. Visual Basic(1991/5)★

いや~、Visual Basicは、おっさん、イヤですね。本当にイヤ、これだけはイヤ。何がイヤって、まず、見た目が他と全然違うもん。「見た目が違う」っていうか、「ダサい」って感じちゃう。イケてる人になりたいなら、マジでやめといたほうがいいです。これやるくらいだったら、Perlがまだマシ。

6. HTML(1993)★★★

HTMLはウェブ系やるんだったら、必須です。異論は無いと思う。誰でも、知ってて当然。

7. Java(1995/5)★★ [仮]

Javaはそこそこ年数経ってるけど、今でも、結構使われてるとは思う。SIerとかで働くなら、たぶん、最初に習うの、Javaがまだまだ多いような。「ザ・スタンダード」っていう感じかな?ウェブシステムを作れますね。

Androidアプリも作れますけど、それについては、Kotlinを主力言語化していく方向って聞いてます。

Java製のシステムは多いから、Javaを始めると、そのまま、ずっと、Javaってパターンもありそうですね。とは言え、ハッピーなのかどうかっていうと、ちょっと分かりません。擬人化すると、黒づくめのスーツを着た、没個性化した集団っていう感じです。SIerが使ってるケースが多いせいかな。Androidに使えるようになってから、幾分その印象は薄らいできたけど。。

昔は、C#と軍拡競争みたいに発展してたんだけど、開発元のサンマイクロシステムズがOracleに買収されてから、あんまり活発じゃなくなったような。。まぁ、おっさんとしては、嫌いってことはないです。ただ、飽きたかな。さらにいいやつが出て来てるってのもあります。

脱線。Oracleが買った所は大体ダメになる説。MySQLとかは、明らかにダメにするために買ったケースかと。。Javaはダメになったほどでもないけど、Googleに、AndroidでJava使ってる件について金請求したりとかしてた。意味が分からない。あ、ご心配なく。普通の会社がJava使う分には無料です。

8. PHP(1995/6)★★

ウェブ系だったら、PHPに出くわす機会はそれなりにあると思います。Javaと比べると、もうちょっと、お手軽なシステムに使われてることが多いような気がします。たとえば、Javaが金融機関、官公庁向けだとしたら、PHPはポータルサイトとかECサイトとか。。もちろん、100%そういうすみ分け!って話ではないけど、そういう傾向がある気がします。というわけで、Javaよりも私服の職場がやや多めかな。

これ、Pythonの所にも書いた話ですが、PHPでも、新しいバージョンでは、関数の引数に型宣言を付けられるようになってます。何が渡されるかはっきりするようになるので、そのほうが絶対いいと思います。フレームワークで言うと、Laravelってやつからそういう感じになってるようです。自分が仕事でメンテさせられるコードには、型宣言あるのか無いのか、に着目しておくと、少しでも新しい環境で仕事できるでしょう。

9. Javascript(1995/12/4)★★★

Javascriptはウェブ系だと必ず出て来ますね。クライアントサイドって言って、ネットを見てる、ユーザーのPCの中で直接、Javascriptのコードが動くっていう使われ方が多い。そこが他の言語と違って、Javascriptの特別な所です。その分野に関しては、Javascriptの専売特許ってことですね。ブラウザのグルグルマーク(読み込み中アイコン)が回ってない時に、画面がヌルヌル動いてる場合は、Javascript君がやってくれてるのが多いかも。。

とは言え、Javascriptの文法は結構、特殊です。一応、動的言語ってくくりにはなっているけど、その中でも、かなり特殊です。プロトタイプベースの言語なんて言ったりする。まぁ、補助的にちょっとだけ使ってるってくらいでは、さほど意識しないかもしれないけど、Vue.jsとか、Javascriptフレームワークとかでガッツリ出てくる時は「こいつは普通の子じゃないわ~」って意識せざるをえないと思います。

とは言え、クライアントサイドを独占できてるせいで、ここまで生き残ってる感じです。そうじゃなければ、とっくに消えてなくなってそう。。

あ、他に、クライアントサイド以外でも、使われるケースがあります。NodeJSって出てきたら、それ。NodeJSが絡んでくると、ほとんどあっちこっちにJavascriptが首を突っ込んでくる感じになります。

とは言え、Javascript君は特殊なので、こいつを直接いじるのはしんどい、ってことで、TypeScript君の出番になるんですが、それについては後ほど。。

10. Ruby(1995/12/21)★★

Rubyは結構、流行ってた時期もあるんですけどね。いや、Rubyが流行ってたっていうか、Ruby on Railsが流行ってたってことですね。ウェブアプリをサクッと、お手軽に作れるっていう感じで。。今でも、サクッとっていう所は変わってないと思うんだけど、やっぱ、サクッと作った後のメンテが、それなりに手間ってことなのかな。レールの上に乗ってる時はいいけど、レールをそれると、困ることがあるという。。どんどん作って、どんどん納品して、ハイ!次のお客さん!って回転よくやるにはいいんでしょうね。でも、同じお客さんとながーく、メンテしてねって話になると、最初作った人が居なくなると、なかなか厳しいという。。そういう感じだと理解してます。まぁ、Rubyは勉強しかしたことない、おっさんだけど。。

11. CSS(1996)★★★

CSSも、HTMLやJavascript同様、ウェブ系なら絶対出てくるやつです。レイアウトとかデザインを決めたりするのに、使うやつです。

12. C#(2000)★★ [仮]

Javaの所でもちょっと書いたけど、Javaとよく比較されるやつです。Microsoftさんが、Java的なやつを作ったら、これになった!っていうやつですね。おっさん的には、開発環境のVisual Studioが有料っていう所が気になるんだけど、それは考えないとして、便利かどうかで言ったら、便利だと思います。Javaに置き換わることを目指して作られてるので、ちょっと気の利いた所があります。とは言え、Javaも負けじと競争していったので、Javaもそこそこ悪くはない感じにはなってると思いますけどね。とは言え、有料っていう所以外では、やっぱり、C#のほうが便利なんだろうなぁ。。まぁ、「タダ is 正義!」が、おっさんのモットーなので、おっさんがC#に戻ることはなさそうだけど。。あ、おっさんも昔1年くらいC#やってたこともあります。

でも、開発環境は基本的に有料だけど、運用環境については、Windows ServerっていうMicrosoftさんが作ったOS以外に、無料のLinuxでも動くようになってるそうです。.NET Coreっていうのを使うと。。結構、昔から、Linuxでも動かせたらしいけど、Microsoftさんが直接対応したのは、.NET Coreからのようです。というわけで、Windows Server買わなくてよくなった、っていうところは、「タダ is 正義!」を満たすので良しです。あ、他の言語では、基本的に、どれもLinux OKですよ。

それとC#って言葉の語源ですが、C++++です。C+2ってことです。C言語から2歩進んでるってことです。+を4つ四角く並べたら#になりますよね。C++はもちろん、C言語から1歩進んでるということです。ただ、C#はC++の完全上位互換、というわけではないです。C#の中でC++を限定的に使うことはできますけどね。C++の完全上位互換の言語としては「C++/CLI」なるものがありましたけど、今使ってる人は居ないでしょう。

2022/2/6 追記。他の記事のコメント欄で聞いたので補足。Visual Studio Community Editionっていうのを使うと、個人とか少人数なら、無料で使えるらしいです。大人数でもオープンソース開発なら無料らしいです。

13. Visual Basic .NET(2001)★ [仮]

Visual Basicって、さっきに出てきたでしょ?って思われるかもしれないですが、こっちは「.NET」って付いてます。要するに、コンパイルすると、C#と同じ中間コードになるってことです。あと、C#と同じライブラリ(再利用可能なコードの山)が使えます。とは言え、見た目は、Visual Basicですから、おっさんは遠慮しときますね。

14. Groovy(2003)★ [仮]

これは、コンパイルすると、Javaと同じ中間コードになるってやつです。とは言え、まず使う場面無いと思います。あるとすれば、JavaやKotlin使う時に、インターネットからモジュールを取ってくるのに、Gradleってものが使えるので、その設定ファイルの文法がこれですね。それくらいかな。

15. Scala(2004)★★ [仮]

これも、コンパイルすると、Javaと同じ中間コードになるってやつです。TwitterがRuby on Railsから、ほとんど、これに乗り換えたっていうので、話題になってた気がします。とは言え、その後、Kotlinが出てきたので、今から覚えるってメリットはあんまり無いような。。

16. Go(2009)★★ [ネ]

Googleさんが作った言語です。Dockerいう有名なツールはこれで作られてるらしいです。

ウェブシステム本体を作る以外に、それが日々稼働するのをお世話する、運用って仕事があるんですが、運用で必要なスクリプトは、Pythonとか、シェルスクリプトとか、日本だとRubyとか、そういうので書かれるのが多いんですが、Goは「その部分ができますよ、それも、PythonやRubyに比べると、速く動くのが書けますよ」っていうのを売りにしてるみたいです。

ただし、そうだからと言って、みんなPythonやRubyから乗り換えたのか?と言うとそうでもなく、特に速くしたい所では乗り換えたケースもあるかもしれない、というぐらいじゃないでしょうか。

ちなみに、Go製のウェブフレームワーク(ウェブシステムが作れるやつ)とかもあるらしいですが、メジャーではないと思う。。

あと、文法がシンプル!っていうのも売りにしているけど、おっさん的には、シンプル過ぎて、必要なものまで色々削っちゃった感があるような。。

17. Rust(2010)★★ [ネ]

Rust(らすと)は、C++の代わりになるっていうのが売りのやつです。C++っていうと組み込み系に多いとかって書きましたけど、とにかく、速くしたい部分をC++で書く、っていう側面もあります。そういう意味じゃ、組み込み系以外でも出て来ます。RustはC++のその役割を、より安全で快適に置き換えようってことで出てきました。Goについても速くできるって書きましたけど、Goは簡単に書けて速いってことで、スピードだけで言ったら、Rustのほうが速いようです。あ、ただし、並列処理って言って、複数のCPUをフルに使ってやれる場合は、Goのほうが得意とも聞きますけどね。一方、CPU 1個だとか、処理の中に並列できるような部分がない場合は、Rustのほうが速いようです。とは言え、Rustの中の人たちは、並列もできるよ、とか言ってます。詳しいことは、おっさん、分かりません。まぁ、玄人向けのやつだと思います。新人がいきなり触るやつじゃないかと。。そのへんはC++と同じ。

あ、C言語の所にも書きましたけど、言語そのものはC言語やC++とかのネイティブ言語で作ってます。それと同じで、Rustでも、言語そのものを作れるってことです。実際、Rustは最初はC++とかで作ってたと思いますけど、途中から、手前のバージョンのRustで新しいバージョンのRustを作るようになってるそうです。不思議な話ですが、まぁ、可能でしょうね。C/C++の新しいやつも、手前のバージョンで作ってるのかもしれません(未確認)。アセンブリー言語とか、さらにその前段階の言語で書くとかいうのは、実際、今さら、無理でしょうしね。

18. Kotlin(2011)★★ [仮]

これも、コンパイルすると、Javaと同じ中間コードになるってやつです。Java一門の中では、一番、先進的なやつですね。C#のいい所とかも取り入れてるそう。主な用途はAndroidアプリかな。あと、Javaの代わりになるってことなので、ウェブシステムとかも作れると思う。

Kotlinを作ったのは、JetBrainsって会社です。IntelliJっていう、Javaをはじめとする色々な言語の開発環境を作って売ってる会社です。

あ、書いてなかったけど、Javaの開発環境としては、Eclipseっていうのがよくあるやつです。あまり新しいとも言えなくなって来てるけど、だいぶ前からあって、今も使えてます。IntelliJはフル版だと有料なこともあり(基礎的な部分のみなら無料かな)、Eclipseよりは色々と気が利いてます。IntelliJの機能を使って、JavaのコードをKotlinのコードに丸ごと変換したりもできますが、Kotlinで書きたいなら、変換とかじゃなく、最初から、Kotlinで書いたほうがいいと思う。Javaだと、nullってやつを許容するんだけど、Kotlinは基本的にnull NGなんですよね。そのへんが、変換で妙なことになります。やってみたら分かる。

追記。Javaのコード資産やモジュールは、Kotlinで全て再利用できます。つまり、Kotlinは新しい言語だけど「全くゼロからスタート」ではないということです。

19. TypeScript(2012)★★★ [ト]

さ~、ラスト、TypeScriptです。やはり、一番最後なので、他の言語のいい所をあれこれ取り込んでます。Microsoftが作った言語です。が、開発環境は、無料のVisual Studio Codeです。「タダ is 正義!」の哲学に合致するので良いです。しかも使いやすいです。行き届いてます。VSCodeは、他にも、PythonやJavascriptで使っても使いやすい。エディタの最高峰でしょう。それが無料ですから、使わない理由がないですね。しかも、TypeScriptでは、TypeScriptっていう言語と、開発環境のVSCodeと、両方がMicrosoft製なので、相性抜群です。EclipseやIntelliJと違って、VSCodeでは、設定ファイルで開発環境の設定情報をみんなで共有できるところも、スッキリして好きです。

で、TypeScript本体についてなんですが、TypeScriptで書いて、コンパイルすると、Javascriptのコードが出来上がります。「最初から、Javascriptで書けばええやん。回りくどい。」って思われるかもしれないですが、Javascriptの所にも書いた通り、Javascriptは凄い、特殊なんです。それでしかも動的言語なんで、なかなか、調査・解析(デバッグとも言う)がやりづらいんです。TypeScriptで書くことで、TypeScriptでデバッグできて、Javascriptのことは考えなくてよくなるので、とてもラクになります。

で、NodeJSって話もチラッと書きましたよね。NodeJSを使うことで、Javascriptをクライントサイドだけでなく、PHPやJavaのように、サーバサイド(=インターネットの向こう側)でも使えるようになります。そのコードをTypeScriptで生成すれば、つまり、TypeScriptでサーバサイドも行けるってことです。もちろん、クライントサイドも行けますから、ウェブシステムは全部TypeScriptで作れるってことです。そういう時代になってきてます。

NodeJSでデスクトップアプリとかスマホアプリも行けるので、もう、なんか、全部、TypeScriptでいいじゃない?ってなってきてるみたいです。いや~、おっさん、おったまげただ~。

追記。これはちょっと知識ゼロの人向けの話から逸脱するかもしれませんが、Javascriptのモジュールはnpmjs.comに掲載されてるものが利用できるんですが、そこのサイトを見ると、モジュール名の右隣に、白地に水色で「DT」ってマークが付いてたり(=>例)、青色で「TS」ってマークが付いてることがあります(=>例)。こういうマークが付いてるやつは、TypeScriptでも利用可能という意味です。となると、実は、Javascriptの主要なモジュールというのは全部TypeScriptでも使えるということなんです。TypeScriptは新しい言語ではありますが、利用可能なコード資産は、メジャーなものが大量にあるということなんです。Javascriptをいじってる人は一番人口が多くて(WEBのクライアントサイドを独占できてるから)、モジュールの数も一番多いです。それが使えるってことなんですね。凄くないですか。そういう意味でも、新参とは侮れないです。ちなみに、「DT」は、別途必要なモジュールを入れればTypeScriptで使えるという意味で、「TS」は追加で何か入れる必要なくTypeScriptで使えるという意味です。「TS」のほうが、より、行き届いていると言えます。

おわりに

いかがだったでしょうか?まだまだ色々書けそうな気がしますが、読むのも書くのも疲れそうなので、このへんにしておきます。これで、人生のショートカットができる人が居たら、幸いです。では、また~ ♪ あ、なんか変なこと書いてたら、コメント欄でよろしくお願いいたします。あと、SQL書いてないな。SQLはデータベースで絶対出てくるやつです。Swiftは・・・おっさん、Android勢だからスルーです。では。

追記1

おっさんのここまでの歴史に興味ある方はこちら。

追記2

bot作りたい人向け。

追記3

RustとTypeScriptについての後日談です。






この記事が気に入ったらサポートをしてみませんか?