見出し画像

システムエンジニアと言語学習の話。

プログラミングって、とても難しいことをしてるんでしょうねってよく言われるんだけど、全くそんなことはなくて。

僕はよく、プログラミング言語の学習を、自然言語の学習に例える。自然言語とは、つまり、英語とかフランス語とか、いわゆるヒトが話す言語のことね。

コンピュータを動かすためには、プログラミング言語を使って、命令文を並べていく。その記述のための言語には様々な種類があり、同じ言語の中でも、時に流儀が複数あることも、自然言語と同じ。

どちらの場合でも、その言語に初めて触れるとき、まずは単語や文法を学ぶことから始めて、学習が進んでからは慣用句のような、よく使う表現を身に付けることで、実用に耐える能力を磨いていく。

プログラミングをするということは、文章の組み立て作業と同じ。起承転結のような「あらすじ」を頭の中で整理しつつ、題材となる情景などを、自身の考察を加えながら言語化し、浮かんだ言葉を配置していく作業。

だから、自然言語を使った作文と、プログラミング言語によるシステム構築は、ほぼ同じ要領ですすめていく。

もちろん、例えば「組み込み系システム」と言われるような、比較的サイズが小さかったりで制約の多いプログラミングでは、俳句のような型にはめた作品作りのように、ある種のセンスや特殊技術が必要だし、大規模なプロジェクトともなれば、設計、つまり、登場人物の設定や全体の構成、緻密な伏線の配置が重要になる。

また、言語の中には系統があって、同じ起源や似た特性を持つ言語の一方をマスターしていれば、他方の学習は比較的容易になる。

題材にもよるけど、数学的考察や論理的思考が必要なことも多く、そこで挫折する人も多いと思う。でも、文系専攻のエンジニアが意外と多いことから分かるように、必ずしも理系脳がないと手も付けられないような仕事ではないということも確か。

むしろ、言語表現の多様性を理解したり、レトリックを使い分けられて、表現の引き出しの多い人の方が、優秀なエンジニアになれるかもしれない。

プログラミング言語を使ったシステム構築のお仕事は、複雑怪奇に見えて、実は言語を用いた表現者としての振る舞いだったという、とても単純な話。

なので、そんなに身構えないでいただきたい。コツさえ押さえれば、誰にでも始められる、上達していける、そんなお仕事だったりする。

これ、システムエンジニア系のお仕事に関わっている方なら、共感してもらえると思う。

どうです?
プログラミング、始めたくなりました?

いいなと思ったら応援しよう!