2020-12-22

最初プログラミング言語は何がいいか

最初プログラミング言語として最もおすすめなのは、Bourne (Again) Shell。通称sh(bash)です。shUNIX標準的シェルであり、bashはその拡張です。現在、多くのLinuxディストリビューションでは、bashが標準のシェルです。以下、これらのシェルの上で動作するコマンド言語およびそれによって作られたプログラムを指して「シェルスクリプト」と呼ぶことにします。

シェルスクリプトを最初プログラミング言語おすすめする理由は、主にその実用性にありますほとんどのプログラミング学習者にとって、プログラミングで実現したいことは、「10000以下の素数を求める」などの教科書課題のようなものではなく、大量のファイルから情報検索するとか、インターネットから定期的にコンテンツを取得する、などの具体的なタスクのはずです。シェルスクリプトを使えば、後者のような実用的なプログラムを手軽に作成できます。一方、多くのプログラミング入門書には、制御構文などの細かい説明はあっても、後者のようなトピックはあまり載っていません。というのも、そのような機能は汎用的なプログラミング言語(C、JavaPythonRubyなど)のコアの機能ではないからです。それらの機能は通常、ライブラリによって提供されます。したがって、汎用的なプログラミング言語実用的なことをしようと思えば、外部モジュールの読み込みや、場合によってはパッケージ管理ツールを使ったライブラリインストール方法などを学ばなければいけません。これらは、初学者はいささかハードルが高いです(たとえば、Webフロントエンドツール群を初学者が独学でインストールするなどは、ほぼ不可能でしょう)。一方、シェルスクリプトでは、grepsedawkのようなシェル上のユーティリティは全て、他の言語における組み込み関数と同様です。つまりモジュールインポート初期化処理などを行わず使用することができます

また、シェルスクリプトは、より本格的な言語フレームワークステップアップする過程としても非常に適していますプログラミング入門書ではほとんど語られないことですが、プログラミングにおいては「プログラミング言語以外の技術」がプログラミング言語自体と同様に重要です。たとえば、ファイルディレクトリ操作するには、OSファイルシステムにアクセスしなければいけませんし、インターネットからコンテンツを取得するには、HTTPというネットワークプロトコルを知らなければいけません。シェルスクリプトを使う場合、それら「プログラミング言語以外の技術」を自然に利用します。それらは、プロエンジニアを目指す上でも欠かせない知識です。また、多くのプログラミング言語では、制御構文を用いて変数の値を更新していくプログラミングスタイルが取られます。一方、シェルスクリプトでは、コマンドの出力を他のコマンド入力に渡してデータを変換するプログラミングスタイルが取られます後者スタイルは、現代ソフトウェア開発では多くの場合、良いスタイルだと認識されていますシェルスクリプトを最初に学ぶことで、そのような良いプログラミングスタイルが身につきます

シェルスクリプトを体系的に学ぶならば、次の文献が信頼できます

また、多くのコマンドは「man コマンド名」で使用法を調べることができます

  • その流れで言えば、おそらく perl こそが最適な言語になるのでは。

    • なぜ?

      • 読みづらい文章だから読みづらい言語を勧めた

      • まさに、「大量のファイルから情報を検索するとか、インターネットから定期的にコンテンツを取得する、などの具体的なタスク」のために開発された言語だからです。

  • そっか、じゃあ私、ユニケージで業務システム作るね 東急ハンズのblogおもしろいな、「中核を占めるもののひとつ」とされていたユニケージ開発手法が https://t.co/TCuvQsblEN クラウドでや...

  • 国語

  • 作業効率化のためにシェルスクリプトで書いたツールは今も使っているが、JavaやRubyやPythonで作ったツールはほとんど使っていない JavaやRubyやPythonは、何でもできてしまうから、ちょっ...

    • Excelは何でもできる(見た目だけ気にするならば)からかえって保守困難になるのと同じだな。

  • サーバー管理したりするようになったら絶対に触るのだから、最初から触っておいた方がいい。

  • あとで読む📚

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん