非天マザー by B-CHAN

iPhoneの使い方、IT、ビジネス、金融、経済、不動産、保険、音楽、映画、ニュース、自己啓発その他。

プログラミング言語の文法を知っていてもプログラムは組めない

プログラミング言語

 

 

ボクは銀行、保険、不動産などの営業系の仕事をやって来たんですが、それは自分にとって一番遠い世界を仕事に選んだから。

変人なんですよね。

得意なことや好きなことを仕事にすれば伸びるのに。

逆に苦手なことを仕事にして苦労する方を選びました。

 

小学生の頃からプログラミングを学んでいたのに。

 

ボクが小学生の頃はパソコンなんてほとんど無くて、学校のクラスでパソコンを使っているのなんてボクだけでした。

BASICと言うプログラミング言語で遊んでいました。

 

中学、高校、大学とずっと趣味でBASIC。

それ以上は学びませんでした。

 

で、上記の通り、社会人ではITと無関係。

 

そして現在、数十年ぶりに新しいプログラミング言語を学んでいるわけです。

先日、Rubyと言う言語を学びはじめたと書いたんですが、気が変わって、今はJavaScriptを学んでいます。

 

 

JavaScriptとは

 

 

JavaScriptはその名のとおり、スクリプト言語だと言われるんですが、正直言って、ボクにはよくわかりません。

昔はオマケ、オモチャと言われたJavaScriptですが、今やトップクラスの人気。

 

ウェブブラウザでHTML、CSSと並んで直接動かすことのできる唯一の言語であり、しかも、環境も整って、アプリ開発もできるようになっています。

 

おまけに言語としての厳格さが低い、緩い。

多少、文法が違っていても、許されるんですよね。

 

例えば、変数を宣言する際に、

 

var hensu;

 

と言う風に、varが必要なんですが、varが無くても動いてしまうと言う。

それは言い換えれば、間違っていても動いてしまうことがあるので、間違いに気付きにくいと言うデメリットでもあるんですが、学習者にはハードルは低めです。

 

なにせ、実行環境がカンタン。

テキストエディタとウェブブラウザがあれば、動いてしまいます。

しかも、ウェブページがすぐに動くので、楽しい。

 

ただ、先日、プログラマーである友人に教えてもらったんですが、結局、どの言語であっても、本質的な概念は同じで文法が違うだけ。

 

変数やら条件分岐やらループやら出力やら。

 

プログラミングができると言うのは文法を知っていることでは無く、自分が作りたいモノを作れるかどうか。

 

昔、リブルラブルと言うゲームがあったんです。1983年のゲームです。


1983 [60fps] Libble Rabble 1811480pts part 1 of 2

 

 

自分のキャラが2つあって、2本のレバーで操作して、敵キャラを囲むとやっつけられるんですよ。

この、囲んだ範囲内に敵がいるかどうかの判定がとても難しいな、と。

非常に複雑な形に囲んでも、きちんと判定される。

これは、プログラミングの技術では無く、数学的な問題なんですよね。

 

野球のルールを完全に知っていても試合に勝てるとは限らない。勝つためにはルールとは別にスキルや戦術が必要です。

プログラミングも同じ。

ちょっと楽しくないですか。