差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
mikanbox:first-step-guide:first_langages [2025/05/18 07:59] – [Lisp] freemikan | mikanbox:first-step-guide:first_langages [2025/06/09 20:40] (現在) – [JavaScript] Fix typo freemikan | ||
---|---|---|---|
行 49: | 行 49: | ||
Microsoftは、VBAとVB.NET以外にも[[https:// | Microsoftは、VBAとVB.NET以外にも[[https:// | ||
- | [[http:// | + | [[http:// |
BASICのこのような現状を踏まえて、初めて本格的に学ぶ言語に向いているかを検討してみます。 | BASICのこのような現状を踏まえて、初めて本格的に学ぶ言語に向いているかを検討してみます。 | ||
行 60: | 行 60: | ||
その他のBASIC子孫の言語は日本語の情報が極端に少ないので、英語に問題がない場合だけの候補となります。 | その他のBASIC子孫の言語は日本語の情報が極端に少ないので、英語に問題がない場合だけの候補となります。 | ||
+ | 英語の問題さえクリアーできるなら、それらも決して悪くない選択肢です。 | ||
===== Lisp ===== | ===== Lisp ===== | ||
行 91: | 行 92: | ||
[[wpjp> | [[wpjp> | ||
- | JavaScriptは実質、Webブラウザが解釈して実行できる唯一のプログラミング言語です。最近人気を集めているTypeScriptは、トランスパイラと呼ばれ、TypeScript言語で書かれたプログラムから、JavaScriptのプログラムを生成します。WebでJavaScript以外の言語を使用したいと言った場合、こういった手法がとられます。最終的にはJavaScriptのプログラムになることから、やはりJavaScriptについて知っていないと難しい状況にあります。 | + | JavaScriptは実質、Webブラウザが解釈して実行できる唯一のプログラミング言語です。最近人気を集めているTypeScriptは、トランスパイラと呼ばれ、TypeScript言語で書かれたプログラムから、JavaScriptのプログラムを生成します。WebでJavaScript以外の言語を使用したい場合、こういった手法がとられます。最終的にはJavaScriptのプログラムになることから、やはりJavaScriptについて知っていないと難しい状況にあります。 |
JavaScriptはWebブラウザのための言語として登場しました。そのため、JavaScriptを学ぶにはWebブラウザの環境の中でプログラミングをしなければなりませんでした。これはやや特殊なプログラミングスタイルであり、伝統的なものとは違うので、これで本当にプログラミングの基礎が学べるのか疑問なところもありました。Webブラウザの環境でプログラミングを学ぶのが悪いわけではないのですが、VBAのときと同様に、何をしたいかばかりに気を取られて言語の基礎を学ぶことがおろそかになってしまう危険性があります。またJavaScriptだけを学ぶことは不可能であり、HTMLやCSSを同時に学んでいかなければなりません。その結果、本筋からそれてしまうことがあり、人によっては効果的でも楽しくもない体験になる可能性が大いにあります。現在では、Node.jsに代表されるWebブラウザを必要としないJavaScriptの実行環境も普及していて、これらを利用すれば伝統的なスタイルでプログラミングを学習することも出来ます。 | JavaScriptはWebブラウザのための言語として登場しました。そのため、JavaScriptを学ぶにはWebブラウザの環境の中でプログラミングをしなければなりませんでした。これはやや特殊なプログラミングスタイルであり、伝統的なものとは違うので、これで本当にプログラミングの基礎が学べるのか疑問なところもありました。Webブラウザの環境でプログラミングを学ぶのが悪いわけではないのですが、VBAのときと同様に、何をしたいかばかりに気を取られて言語の基礎を学ぶことがおろそかになってしまう危険性があります。またJavaScriptだけを学ぶことは不可能であり、HTMLやCSSを同時に学んでいかなければなりません。その結果、本筋からそれてしまうことがあり、人によっては効果的でも楽しくもない体験になる可能性が大いにあります。現在では、Node.jsに代表されるWebブラウザを必要としないJavaScriptの実行環境も普及していて、これらを利用すれば伝統的なスタイルでプログラミングを学習することも出来ます。 | ||
行 111: | 行 112: | ||
===== Ruby ===== | ===== Ruby ===== | ||
- | ===== Rust ===== | + | おすすめ度: |
- | + | ||
- | ===== JVM言語 ===== | + | |
- | + | ||
- | ===== C# ===== | + | |
- | ===== Go ===== | + | [[wpjp> |
+ | PythonとRubyの立ち位置はよく似ていて、かつ学習コストは同じくらいです。 | ||
+ | PythonとRubyを比較すると、Rubyのオブジェクト指向プログラミングのサポートが優れている点が光ります。 | ||
+ | それどころか、他のどの言語と比べてもRubyのオブジェクト指向プログラミングは洗練されています。 | ||
+ | しかし、裏を返せばオブジェクト指向プログラミングを強制されてしまうという悪い捉え方もできてしまいます。 | ||
+ | 熱心なRubyユーザーに言わせれば、Rubyはそのような強制はしないし、オブジェクト指向プログラミングに頼らないプログラミングにも問題ないでしょう。 | ||
- | ===== Lua ===== | + | Rubyを取り巻く状況はとても良いです。 |
+ | 決してマイナーということはなく、かつ過剰にもてはやされていることもありません。 | ||
+ | 学習に必要な情報は過不足なく入手できることが期待できるでしょう。 | ||
+ | まったく見つからないということないし、Pythonみたいにゴミ情報にあふれていることもありません。 | ||
+ | 15年程度前には、Ruby on RailsというWebフレームワークの大ブレイクにより現状のPythonのように馬鹿みたいもてはやされていた時期がありました。 | ||
+ | それも落ち着いて、今やそれほど警戒せずに安心して学習することができるようになっています。 | ||
+ | これはPythonに対する明らかなRubyのアドバンテージです。 | ||
+ | Pythonの過熱ぶりに警戒している人、かつ、オブジェクト指向プログラミングが嫌ではない人にとって、とても良い選択肢となることでしょう。 | ||