【システム】「Hello world」という世界。プログラミングの話をしよう。

【この記事で対象になる方】
暇な人。コンピュータの技術については特にお話しませんし、ご質問にも回答はいたしません。

言語や技術的なことはどんなサイトにも大体かかれているので「血糖さくら組」では、
カテゴリーを追加して「読み物としてのコンピュータ」について書こうとおもうくま。

くまさん🐻はシステムエンジニアで世界的に有名な企業の研究発表で登壇した実績もあるよ。
ただのくまのぬいぐるみなのに。

くまさん🐻はくまのぬいぐるみなのでマイクの横でお座りしてただけくま。
プログラミングに敬意を示す言葉「Hello world」
私は最近流行のPythonやGo言語でも、古代語レベルといわれているアセンブラやC言語でも、はたまたVisual Basicだろが、プログラミングをはじめるときの最初のサンプルは「Hello world」であってほしいと思う。なぜなら、コンピュータはサイエンスであり、歴史が積み上げてきたものが「今」を与えているからだ。
いままで多くの研究者や天才プログラマーがモニター画面に「Hello world」と表示してきたに違いないと信じている。私は敬意を払いたいのだ。
システムエンジニアとして飯を食うには日頃からアンテナを巡らせて、新しい技術に目を光らせる必要はあるが、「新しいものに取り組む前」には、気持ちを新たにする言葉が必要で「Hello world」とは「その新しい世界へ入るためのパスポート」として素敵な言葉だと思う。
もしも、 「Hello world」 ではなく「千夜一夜物語」のアリババが唱えた「Open Sesame」だったらなんとも締まらないとは思わないだろうか。やはり「Hello world」のほうが新しい扉をあけるにはふさわしいと私は思う。 (余談だがアリババの「開けゴマ」の由来についてはいまだよくわかっていないようだ)
「Hello world」はきっと「いばらの道」の先にあった。
勝手なイメージだが「Hello World」は研修でつかわれる代名詞だ。そもそも由来はC言語を開発したブライアン・カーニハンが最初といわれているがこれも本当かはわからない。だが、自分の作ったC言語コンパイラで、モニターに「Hello world」と表示するだけでも相当に大変な時代だったと思う。
WindowsのようにOSが多くの機能を肩代わりしてくれる時代ではなかったはずだからだ。Windowsがいかに高機能であるかについては、たぶんプログラムを志す人間なら理解できると思うが、Windowsは「自分がほしいプログラム」以外はコーディングしなくてもよいスペシャルなOSだからだ。ディスクからデータを取り出すためにシークすることも、キーボードからの入力を制御するドライバーも開発しなくてよい。スピーカーも使い放題。
とても快適なプログラミング環境で、Windowsが与えてくれた「快適な開発環境」はデファクトスタンダードとして当たり前となっている。今ではキーボードのドライバーを開発するなんてことは相当な特殊な場面だ。ちなみに私はWindows世代の為、APIを呼び出せば何とかしてくれる現代の開発しかしたことはないため、ドライバーの自作の苦労は先人の言葉である。
これからプログラミングをはじめる方に。
最近はプログラミングスクールやオンライン学習サイトなどで手軽に言語を習得することができるようになった反面、複数の言語の組み合わせや、フレームワークといわれる「開発する際、楽にしてやるからおまじないに従え」といったお作法についての理解が求められるようになった。
どの言語がどのような開発に向いているのか。これについても多くの選択やポリシーがありたびたび衝突するのをTwitterや技術系のコミュニティでみるのだが、「退屈な話なのであまりとらわれる必要がない」
なぜなら、「あなたがどの言語で開発するかを選んで、そのスキルが役に立つ現場」を選ぶことが現在のIT業界では可能であるし、なによりエキスパートになると「言語なんてどれでもいいので、決まってから習得しても間に合う」という猛者もたくさんいる。
技術を習得すれば、環境はあなたが選べる。そのためには「モチベーションを高くもつことができる言語や興味を持てるプラットホームを見つけること」がこれからプログラミングをはじめる方にとってはなによりも重要で、一度なにかの言語に「ハマれば」ほかの言語でも応用は効くため次の言語の習得は楽になっていく。
最初が肝心。ここでつまずくと「本当は楽しいプログラミング」を知らずに「プログラミングとかつまらないし、よくわからない。つらいだけ。」で終わってしまう。「好きなものは好きだ。」をみつけだし、大切するんだ。それが一番自分の力になる。
職業SEとして社会人として 「Hello world」 を志す方へ

会社に入社する前に独学でプログラミングを学習するのは、志としてはすばらしい。同期よりも先じることもできるかもしれない。
でも、プロで食べていくためには、プログラミングも素人が勉強した「ソースコード(書いたプログラム)」では、正直むずかしいかもしれない。お金がもらえるソースコードは、あまり楽しいコーディング(プログラムを書く)ではなく、ルールと規律にしばられた「面倒で退屈」なものであることがほとんどだから。プログラミング後のテストにしても膨大なケースを作成し、「絶対、問題ないけどテストする」不毛なことも当たり前に発生する。
それでも職業SEをめざして 「Hello world」を画面に表示し、未来を目指すあなたに 「まずはプログラミングを楽しんで」ほしい。仕事のプログラムはただの製造業だ。職業SEになってしまう前に「楽しい」という体験を沢山してから職業SEになってもらいたい。
データストアにAPIやSQLをぶん投げて、データを取得して、ユーザーの入力情報を更新するプログラムに楽しさなんてこれっぽちもない。
職業プログラムは入社してからでも十分間に合う。これから先を不安に思う必要はないが、いままでとは違うプログラミングの世界になってしまうことは間違いない。
今の楽しいプログラミングを大切な体験にするんだ。
まとまりのない話を終える。
・ 私は「Hello world」 から勉強ははじめたい。最新がものをいう世界であるから余計に 歴史に敬意を払いたい。
・プログラミングをはじめるなら 「モチベーションを高くもつことができる言語や興味を持てるプラットホームを見つけること」
・職業SEになるための事前準備はいらない。その前に「プログラミング」や「コンピュータの哲学」が楽しいと思えるほうが重要。
ディスカッション
コメント一覧
まだ、コメントがありません