差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
mikanbox:first-step-guide:first_langages [2025/05/18 07:59] – [Lisp] freemikanmikanbox:first-step-guide:first_langages [2025/06/09 20:40] (現在) – [JavaScript] Fix typo freemikan
行 49: 行 49:
 Microsoftは、VBAとVB.NET以外にも[[https://smallbasic-publicwebsite.azurewebsites.net/|Small Basic]]というものも提供しています。これはプログラミングの学習のために利用されることを目的としたものなので、VBAやVB.NETからは失われた、ビギナー向けであるという性質が保たれていることを期待しても良いでしょう。 Microsoftは、VBAとVB.NET以外にも[[https://smallbasic-publicwebsite.azurewebsites.net/|Small Basic]]というものも提供しています。これはプログラミングの学習のために利用されることを目的としたものなので、VBAやVB.NETからは失われた、ビギナー向けであるという性質が保たれていることを期待しても良いでしょう。
  
-[[http://basic.mindteq.com/index.php|BASIC言語の子孫は数多くあります]]。しかし、自由かつ無償で利用できて開発が継続さているものは意外に少ないです。いくつか見つけることができたものを挙げておくと[[https://www.freebasic.net/|FreeBASIC]]、[[https://smallbasic.github.io/|SmallBASIC]]((MicrosoftのSmall Basicとは別物です。))、[[https://gambas.sourceforge.net/en/main.html|Gambas]]、[[http://2484.de/yabasic/|Yabasic]]などがあります。+[[http://basic.mindteq.com/index.php|BASIC言語の子孫は数多くあります]]。しかし、自由かつ無償で利用できて開発が継続さているものは意外に少ないです。いくつか見つけることができたものを挙げておくと[[https://www.freebasic.net/|FreeBASIC]]、[[https://smallbasic.github.io/|SmallBASIC]]((MicrosoftのSmall Basicとは別物です。))、[[https://gambaswiki.org/website/en/main.html|Gambas]]、[[http://2484.de/yabasic/|Yabasic]]などがあります。
  
 BASICのこのような現状を踏まえて、初めて本格的に学ぶ言語に向いているかを検討してみます。 BASICのこのような現状を踏まえて、初めて本格的に学ぶ言語に向いているかを検討してみます。
行 60: 行 60:
  
 その他のBASIC子孫の言語は日本語の情報が極端に少ないので、英語に問題がない場合だけの候補となります。 その他のBASIC子孫の言語は日本語の情報が極端に少ないので、英語に問題がない場合だけの候補となります。
 +英語の問題さえクリアーできるなら、それらも決して悪くない選択肢です。
  
 ===== Lisp ===== ===== Lisp =====
行 91: 行 92:
 [[wpjp>JavaScript]]は主にWebページを制御するために使われてきた言語でした。インターネットが普及してから2000年代初頭まではおまけ程度の扱いでしかありませんでしたが、その後、Webページがインタラクティブな性質を持つように大きく変化してきて、それに伴いJavaScriptの重要性が見直されてきました。今では、インターネットの花形であるWWWの中心に位置するプログラミング言語の位置にまで上り詰めました。Webプログラミングを専門とする人だけでなく、プログラミングを行う全ての人が学ぶべきである必須科目であると言っても良いでしょう。なぜなら、現代でプログラミングをするのならばWebを利用しないことはないであろうからです。Webには興味ないからといって無視するのは賢い選択とは言えません。よほど意識的に回避しない限り、どこかでWebのお世話になっているはずであり、それらの技術について知っておくことは価値があります。 [[wpjp>JavaScript]]は主にWebページを制御するために使われてきた言語でした。インターネットが普及してから2000年代初頭まではおまけ程度の扱いでしかありませんでしたが、その後、Webページがインタラクティブな性質を持つように大きく変化してきて、それに伴いJavaScriptの重要性が見直されてきました。今では、インターネットの花形であるWWWの中心に位置するプログラミング言語の位置にまで上り詰めました。Webプログラミングを専門とする人だけでなく、プログラミングを行う全ての人が学ぶべきである必須科目であると言っても良いでしょう。なぜなら、現代でプログラミングをするのならばWebを利用しないことはないであろうからです。Webには興味ないからといって無視するのは賢い選択とは言えません。よほど意識的に回避しない限り、どこかでWebのお世話になっているはずであり、それらの技術について知っておくことは価値があります。
  
-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>Ruby]]はとても学びやすい言語です。 
 +PythonとRubyの立ち位置はよく似ていて、かつ学習コストは同じくらいです。 
 +PythonとRubyを比較すると、Rubyのオブジェクト指向プログラミングのサポートが優れている点が光ります。 
 +それどころか、他のどの言語と比べてもRubyのオブジェクト指向プログラミングは洗練されています。 
 +しかし、裏を返せばオブジェクト指向プログラミングを強制されてしまうという悪い捉え方もできてしまいます。 
 +熱心なRubyユーザーに言わせれば、Rubyはそのような強制はしないし、オブジェクト指向プログラミングに頼らないプログラミングにも問題ないでしょう。
  
-===== Lua =====+Rubyを取り巻く状況はとても良いです。 
 +決してマイナーということはなく、かつ過剰にもてはやされていることもありません。 
 +学習に必要な情報は過不足なく入手できることが期待できるでしょう。 
 +まったく見つからないということないし、Pythonみたいにゴミ情報にあふれていることもありません。 
 +15年程度前には、Ruby on RailsというWebフレームワークの大ブレイクにより現状のPythonのように馬鹿みたいもてはやされていた時期がありました。 
 +それも落ち着いて、今やそれほど警戒せずに安心して学習することができるようになっています。 
 +これはPythonに対する明らかなRubyのアドバンテージです。 
 +Pythonの過熱ぶりに警戒している人、かつ、オブジェクト指向プログラミングが嫌ではない人にとって、とても良い選択肢となることでしょう。
  
文書の先頭へ