差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
mikanbox:first-step-guide:first_langages [2025/05/19 15:10] – [BASIC] freemikanmikanbox:first-step-guide:first_langages [2025/07/02 03:46] (現在) – [Python] 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://gambaswiki.org/website/en/main.html|Gambas]]、[[http://2484.de/yabasic/|Yabasic]]などがあります。+BASIC言語の子孫は数多くあります((参考: [[http://basic.mindteq.com]] [[https://github.com/JohnBlood/awesome-basic]])) 
 +しかし、自由かつ無償で利用できて開発が継続さているものは意外に少ないです。 
 +いくつか見つけることができたものを挙げておくと[[https://www.freebasic.net/|FreeBASIC]]、[[https://smallbasic.github.io/|SmallBASIC]]((MicrosoftのSmall Basicとは別物です。))、[[https://gambaswiki.org/website/en/main.html|Gambas]]、[[https://qb64.com/|QB64]]、[[http://2484.de/yabasic/|Yabasic]]などがあります。
  
 BASICのこのような現状を踏まえて、初めて本格的に学ぶ言語に向いているかを検討してみます。 BASICのこのような現状を踏まえて、初めて本格的に学ぶ言語に向いているかを検討してみます。
行 92: 行 94:
 [[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の実行環境も普及していて、これらを利用すれば伝統的なスタイルでプログラミングを学習することも出来ます。
行 106: 行 108:
 おすすめ度: ⭐⭐⭐⭐☆ おすすめ度: ⭐⭐⭐⭐☆
  
-[[wpjp>Python]]は、学びやすさと実用性のバランスの取れた言語です。初期の頃はPerlやRubyと並んで、ちょっとした仕事のために手軽に使える言語のような位置いました。Pythonを含めたこれらの言語はそれぞれの方面で人気を獲得していきました。Pythonは現在、AIプログラミングやデータサイエンスの環境が整備されていて、大々的なプロモーションが行われています。プログラミング教育やAI技術のプロモーションと並行して行われていることもあり、今までプログラミングとはおおよそ無縁のところにいた人たちを多くを巻き込んで、新たなユーザーを獲得することに成功しています。Pythonは学びやすい言語であることから、かつてJavaとオブジェクト指向の流布のために行われた大々的なプロモーションのときのようには混乱と破滅をもたらすものとはなっていないようで、必ずしも悪い傾向であるとは言えないです。しかし、こうした異様なまでにもてはやされている言語には何か裏があると勘ぐるのは自然なことです。初めて本格的に学ぶ言語にPythonを選択した場合は、現状、そういう状況にあることを認識しておくことは必要です。先に述べた認識は、私個人の主観的なものです。まず、自分自身で情報収集をして、流行にのるべきなのか別の言語を選択したほうが良いのかを判断する必要があります。流行中の言語は不必要に多くの情報がインターネット上を中心に飛び交います。これが良いことなのか悪いことなのかは人によります。情報が少なすぎたらそれもまた大変な問題です。しかし、どうしても学習中に集中力を乱されることは避けることが出来ません。+[[wpjp>Python]]は、学びやすさと実用性のバランスの取れた言語です。初期の頃はPerlやRubyと並んで、ちょっとした仕事のために手軽に使える言語のような位置いました。Pythonを含めたこれらの言語はそれぞれの方面で人気を獲得していきました。Pythonは現在、AIプログラミングやデータサイエンスの環境が整備されていて、大々的なプロモーションが行われています。プログラミング教育やAI技術のプロモーションと並行して行われていることもあり、今までプログラミングとはおおよそ無縁のところにいた人たちを多くを巻き込んで、新たなユーザーを獲得することに成功しています。Pythonは学びやすい言語であることから、かつてJavaとオブジェクト指向の流布のために行われた大々的なプロモーションのときのようには混乱と破滅をもたらすものとはなっていないようで、必ずしも悪い傾向であるとは言えないです。しかし、こうした異様なまでにもてはやされている言語には何か裏があると勘ぐるのは自然なことです。初めて本格的に学ぶ言語にPythonを選択した場合は、現状、そういう状況にあることを認識しておくことは必要です。先に述べた認識は、私個人の主観的なものです。まず、自分自身で情報収集をして、流行にのるべきなのか別の言語を選択したほうが良いのかを判断する必要があります。流行中の言語は不必要に多くの情報がインターネット上を中心に飛び交います。これが良いことなのか悪いことなのかは人によります。情報が少なすぎたらそれもまた大変な問題です。しかし、どうしても学習中に集中力を乱されることは避けることが出来ません。
  
 以上は、Pythonを選択してもよいかどうかの唯一の懸念材料です。Python自体は初めて学ぶのに決して悪くない言語です。流行を過剰に警戒して、Pythonを選択肢から外してしまうのは慎重すぎると言わざるを得ません。AIプログラミングやデータサイエンスを本当に学びたいと思っているのならば、まず候補にあがります。それ以外の領域であってもそつなく仕事こなせます。Pythonのクリーンな性質は、言語の詳細を学ぶために費やす時間を減らしてくれて、より高度なプログラミングの概念や技術を学ぶためにその時間をまわすことが出来ます。このことを考えると、原因と結果を逆にみることができます。つまり、Pythonが学びやすい言語であるからこそ流行しているということです。 以上は、Pythonを選択してもよいかどうかの唯一の懸念材料です。Python自体は初めて学ぶのに決して悪くない言語です。流行を過剰に警戒して、Pythonを選択肢から外してしまうのは慎重すぎると言わざるを得ません。AIプログラミングやデータサイエンスを本当に学びたいと思っているのならば、まず候補にあがります。それ以外の領域であってもそつなく仕事こなせます。Pythonのクリーンな性質は、言語の詳細を学ぶために費やす時間を減らしてくれて、より高度なプログラミングの概念や技術を学ぶためにその時間をまわすことが出来ます。このことを考えると、原因と結果を逆にみることができます。つまり、Pythonが学びやすい言語であるからこそ流行しているということです。
行 129: 行 131:
 これはPythonに対する明らかなRubyのアドバンテージです。 これはPythonに対する明らかなRubyのアドバンテージです。
 Pythonの過熱ぶりに警戒している人、かつ、オブジェクト指向プログラミングが嫌ではない人にとって、とても良い選択肢となることでしょう。 Pythonの過熱ぶりに警戒している人、かつ、オブジェクト指向プログラミングが嫌ではない人にとって、とても良い選択肢となることでしょう。
- 
-===== Rust ===== 
- 
-===== JVM言語 ===== 
- 
-===== C# ===== 
- 
-===== Go ===== 
- 
-===== Lua ===== 
  
文書の先頭へ