コンピューター上で命令を出しているのは、全て、プログラムです。

そして、それらのプログラムは、1と0の数字の組み合わせでできています。
その「1と0の数字の組み合わせ」を、人間の言葉のような言語で作ります。

その作業では、プログラミング言語という「英語をさらに簡易にしたような言語」を使って行います。

プログラミングをするためには、プログラミング言語を使いますが、その、プログラミング言語には、複数の種類があります。

プログラミング言語によって、「プログラミング言語でプログラムを記述したものを、0と1の数字に変換するまで」の、【段階】が、異なります。

この、【段階】が、少ないほど、楽にプログラムの実行ができます。

スポンサード

初心者向けプログラミング言語

ウェブプログラミング言語
ウェブプログラミング言語

■JavaScriptとは

jafascriptとjava言語はよく似た名前です。しかし、これらは異なるプログラミング言語です。

JavaScriptは、1995年にBrendan Eich氏(プログラマだった人)によって作成されました。
ウェブブラウザのNetscape Navigator(現在はあまり使われていないブラウザ) 向けのスクリプト言語として、JavaScriptが作られました。

JavaScriptが登場する前は、ほとんどのWebページは、HTMLとCSSで構成されていました。HTMLとCSSだけで作られたウェブページは、文字とイメージなどを表示できるだけです。つまり、それらのページは、開いても動きがないので、静かに情報を読み進むページでした。

JavaScriptを使用すると、ページをより動的にできます。
アニメーションの使用や、メディアの再生ができます。
また、フォームから入力を受け取ったりもできます。

JavaScriptの最も一般的な使われ方がWEBページに動きを付けることです。
クライアントサイドではHTML、CSSといった言語が使われます。
JavaScriptはクライアントサイドでもサーバーサイドでもどちらでも利用可能なプログラミング言語です。

スポンサード

javascriptのプログラミングに必要な道具

browser
browser

他のプログラミング言語は、プログラミング専用のソフトウェアや、開発環境(IDE)というプログラミングを始める時に「プログラムを機械語に変換する流れをまとめたツール」をセットしなければいけません。
プログラミング言語「javascript」の開始は、「楽」なほうです。

JavaScriptは、「InternetExproler」や「GoogleChrome」といったブラウザと、テキストエディタがあればプログラミングができます。

—-JavaScriptのプログラミングに必要な道具—-
ブラウザ
IE インターネットエクスプローラー
FireFox
グーグルクローム
など。

テキストエディタ
メモ帳
テラパッド
など。
——–

プログラミングをまず体験することが大切です。
プログラミング言語初心者が、プログラムを体験するのには、準備がシンプルにできる「JavaScript」はおすすめです。
初心者向けとして、「javascript」(スクリプト言語)は、私がおすすめできる、プログラミング言語の1つです。

スポンサード

プログラミングを少し体験してプログラミング言語を決める

ロボット
ロボット

プログラミング初心者が、プログラミング言語を選ぶには、まず、少しプログラムを体験してみることが必要です。

そこで、自分がそのプログラミング言語の学習に、労力を割いても負担にならないのか、あるいは、楽しくプログラミング言語の習得をすすめられるのかを見極めましょう。

また、自分とそのプログラミング言語の、相性を知ることが必要です。
あなたが幼い頃、レゴが大好きだったならば、ロボットのプログラムを作ることは、楽しいかもしれません。
ハッカーに憧れたなら、ハッキングのプログラムの練習は、興味津々で楽しいかもしれません。

相性は、子供の頃に好きだったことが関係する可能性が大きいです。
子供の頃には、みんな、夢を本気で叶えるつもりだったのではないでしょうか?

その、「あなたの純粋な夢」に、もう一度 光を当ててみましょう。
それが、あなたが、苦痛なく勉強していける分野と、深い関係があるのではないでしょうか。

スポンサード

javascriptの必要な情報だけを選択する

javascriptは、開発環境をセットする手間が少ないプログラミング言語です。
その点は、初心者向けのプログラミングでは、おすすめできる点です。

javascriptは、今まではウェブ用のプログラミング言語でしたが、最近は、ロボット用のプログラム作りにも、使われるようになってきました。
これも、javascript言語が、世の中の流れに適応しているように見えます。

様々なロボット
様々なロボット

ただ、一方で気になることもあります。最近は、javascriptは、今や、簡単なプログラミング言語では、なくなりつつあるように、私は思っています。

不要ITな情報の乱立

プログラミング言語には、後になればなるほど色々な情報が派生してくるという問題があります。
その一つが、プログラミング作りの「サポートを謳(うた)う ITの仕組みの乱立」です。

Node.js
ES5
ES6
Vue.js
React.js
AngularJS

これが一体どういう内容の、どのような物なのか、あなたは区別がつきますか?
私には、上に箇条書きで並べたような、道具の区別がつきません。

IT業界の一番の問題は、この、ツールや情報の乱立だと、私は思っています。

乱立競争
乱立競争

私は、javascriptは、私的に使ったことはありますが、初心者の域です。
※私にとっては、VBAとjavascriptなどのプログラミング言語は、すぐ使い始められるので、便利です。ちょっと計算する、決まったウェブページからまとめて情報を抜き出す、などをするときに、他の言語よりは、セットに労力がかかりません。→まだましだと言っているだけで、それなりに労力と頭は使いますよ。
少し、プログラムが分かれば、楽に使うことができて、非常に便利な言語です。

javascript初心者の、私のような者でも、他のプログラミング言語の経験があるので、安易には決められません。
本気でその言語の専門家になろうと思うならば、言語の学習をどうするのかは、まず、状況を調べてみる必要があります。

Node.js
ES5
ES6
Vue.js
React.js
AngularJS
といった、一つ一つの情報が、それぞれ1冊~の本になるくらいの知識量が必要なシロモノだということは、javascript言語の学習に、手を付ける前からわかります。

こういう新しく出てくるプログラムの道具は、実際に使ってみると、そこまで完成度が高いかどうか、疑問のものが多数あります。

使い方を覚えるという手間が、想像を超えるものが多々あります。
しかも、せっかく覚えても、実はそんなにメジャーなものではないために、次のプログラミング作業には、得た知識を殆(ほとん)ど活用できないこともあります。

プログラマの誰かが、プログラミング言語をサポートするという名目で、自分の作ったプログラミングをサポートするための道具や仕組み(サポートプログラム)を普及させます。
そして、よく検証もされないまま、そういうものの種類が 市場で増えていっているため、本も色々出版されているのが現状です。

しかし、どのプログラムの情報の学習が必要なのかは、事前に選択・淘汰する必要があります。これは、要らないものとわからずに手を出して、たくさん失敗した私なので、「あなたにあったものを選びましょう」と申し上げております。
また、スクールも、あなたの就職までは、責任を持ちません。

■サポートに限界が見える

また、作ったサポートプログラム(ツールや、IDEなどと呼ばれるもの)の普及を開始したものの、途中から、お客さんのサポートに失敗している例も、よくみられます。
自分の公開しているサポートツールはよいものだと宣伝している一方で、プログラミングの道具(ツールや、IDEなどと呼ばれるもの)の、ダウンロードのリンクが、なぜか、意図的に消してあるサイトも見られます。

なぜ、このような事態になっているのか?
それは、お客さんの持っているパソコンの、OSのバージョンなどの違いに、サポートプログラムの開発が追い付かないことが原因でしょう。

大規模な会社でもない限り、たくさんの種類のOS別で、しかもバージョン別に動かせるような多数のサポートプログラムを、作り続けることができないのです。

しかも、インストールそのものが難しい(説明通りに何度やっても上手くいかない)ことも多いため、お客さんから、どうすればよいのか?と質問が来るでしょう。
しかし、お客さんの質問に答えるには、プログラマとして、お客さんの数段も上のレベルの専門性がなければ、説明すらできないと思います。

■大手ではどうなっているのか?
私が、個人的にアップル社のスマホのアプリ開発をしてみた時に、実際にサポートに質問をしてみて分かったのは「彼らが、質問に、答えられない」ことでした。

会社の肩書は立派でも、専門的な知識が十分な人は、あまりいないのです。
まして、プログラミングで使う言語は、英語が基本です。
英語とプログラミング言語の、両方の専門家でなければ、お客さんから出された質問の理解も出来ない可能性が高いです。

サポートセンターの方は、どうやら、こちらがした質問の意味が解っていないようだ、と思いました。
これは、プログラミングで行き詰まったために、サポートセンターを頼るしかないため、質問をした他の人からも、同じような回答が得られました。
「サポートセンターの人、意味わかっていないよね。」と同意が得られました。

私たちは、一生懸命サポートセンターの人に、質問しているのですが、なぜか、的を得た答えが返ってこないのです。

「これは、どうも、サポートセンターの人ご自身が、こちらの出した質問の意味すらわかっていないな」と、対話をやってみるうちに相手の様子がわかってきたのです。

結局、「数十時間のビデオを見ろ→その中から自分で答えを探してください。」となりました。

自分たちで普及させているプログラムの道具(IDEなど)にもかかわらず、所有しているその道具の説明ができなくなっているのです。

「会社で提供しているプログラムの道具の説明ができる社員の絶対数が、全く足りていない」状態なのではないでしょうか。
自分たちのやっていることが、自分で分からなくなっていているのです。

このようなことが、実は、何回もありました。
こうなると、自分でサポート以上の知識を見つけて、自分で解決するしかないのです。

現在、こういう状況にすでになっているものが、沢山あります。
では、現状を知らないまま、首を突っ込んでしまったものの、途中まで進んでしまったあとはどうなるのでしょうか?

そこで何度も発生する問題に、果して「自分で解決できるのか」ということになるのです。
自分で解決するの答えは、「自力で何とかするしかない」です。
自力でも何ともできない場合は、そこから撤退するしかないでしょう。

こういう経験から言えることは、あなたの大切な時間を失わないためには、あなたにとって重要度の低いプログラミングの情報に、引っかからないことです。

誤解を恐れずいうならば、「あなたにとって、どうでもよい分野というものがある」ので、す。

特にプログラミング初心者の方が、独学や、スクールで学習を開始するときに、こういう裏情報を、押さえておいてほしいのです。

プログラミングでは、結果が出なければ意味がありません。
あまりよいことではありませんが、職場では、知識があってプログラミングが作れる人が、自動的に上下関係で上を押さえてしまうのです。

(結局、プログラミング能力の高い人が、たくさんプログラミングに貢献できるので、頼られる存在になります。
上司も、自分がプログラミングをできないならば、プログラミングができる部下にやってもらうしかありません。
プログラムが完成できなければ、お客さんに納品ができません。)

こういう世界では、ブラック企業に就職すると、初心者はいつまでも「上」に行けないように、使い捨てて使われる危険もあります。

資格を取られると、部下のプログラミング能力が上がり、結局、上司(勉強していない)が部下に強いことが言えなくなるからです。

だから、先に、基本的な資格を取ってから入ってくださいと申し上げております。
多分、資格は、複数とったほうが良いと思います。
1つでは、まだ弱いかと思います。

例えば、社内から社外へプログラマを数か月とか貸し出すときには、この、資格が指標になります。

能力のない上司(のパワハラ)から身を守るため、そして、あなたの将来のためには、実は資格はシビアに必要です。※ただし、必要な資格はきちんと選びましょう。

現在、余計な情報が乱立している中で、あなたはご自身が無駄な浪費をさせられる情報には関らないように、最初から注意することが大切だということです。

一見華やかな情報には、実は、嘘がたくさん盛り込まれていることも多いです。特にIT業界では。

マスコミは、常に目を引く話題をニュースにしてアクセスをアップしようとしています。
アクセスがあれば、お金が入る仕組みが裏にあるため、芸能人などは炎上させてでも自分の媒体へのアクセスアップをしている方がおられます。

ITの話題は、こういう質の悪い使い方をされることが非常に多いです。
どうでもよい情報と、必要な情報は、あなたご自身が淘汰する必要があります。

そのプログラミング言語で、あなたは、楽しくプログラミングできそうでしょうか?
あなたが、選んだのは、あなたの未来につながるプログラミング言語ですか?


はやくプログラミングを上達するためには、一次情報にできるだけ触れて、1つのプログラミング言語は、修得することです。

例えば、java言語でウェブ系のプログラマをする場合は、1つのプログラミング言語だけでは足りない現実に突き当たるでしょう。

「.js .html .css .java」などのファイルで、整合性を持たせてプログラムを作ること。そして、皆が共通で使う開発環境といわれるIDE「Eclips」などの使い方の基本的な知識を頭に入れること。

これだけ修得するためには、軽く、数年はかかると、私は思っています。

プログラミング言語で何かを作るときには、ウェブ系である場合は、例えば、java言語だけ知って入れも足りないということです。複数言語の習得が必要になりますが、これは、プログラミング初心者の方には、想像していない事態となるのではないでしょうか?

よって、このような事態が起こると、人により多く頼らねばならなくなります。
プログラマが、自分の分担の部分を自分で自由にプログラミングできると思ったら、それは違います。

プログラマとして、自由にプログラミングで仕事ができるレベルになりたい。
そう思う人が、それを叶えるには、学習年月が必要です。

結局、プログラムができる、でき内には、知識が歩かないかの差となります。

プログラミング初心者の人が、なにか1つプログラミング言語を使えるようになった段階で仕事に就くとします。
そして、基本情報処理試験くらいは、資格を取ったうえ(※先に取得することを強くおすすめします。)で、おそらく、10年未満位の知識のインプットをすることになると思います。

7年くらい人について仕事を教えてもらった上で、やっと、ひとりで動けるようになる段階が来るのではないでしょうか。

仕事ができるようになるには10年はかかります。←某有名起業本社部長の言葉
私の先輩も、初心者からプログラマをはじめて、1人でようやって動けるようになるのに、7年くらいかかったとおっしゃっていました。それまでは、先輩に教えてもらわないと、わからないことだらけだったと。

4年大学で情報系の勉強を済ませて、資格を持って就職しても、さらに何年も、職場の先輩から教えてもらわねば、内部で独り立ちして仕事ができないのです。
なぜならば、そこまで頑張っても、まだ、知識が足りないからです。

2年の情報系の短大卒の同僚Aさんも、「わからないことは、課や部署が違う部屋にいる人であっても、質問できる先輩に質問しにいき続けた。でも、先輩は、【立場が違うので、その人に時間を割いたら、仕事に支障が出るから、Aさんの受け答えに手を出すのをもうやめなさい】と、度々怒られていた。」と話していました。

※先輩に迷惑をかけてこういう形でしつこく質問をする人は、私は好きではありません。一方で、わからないことだらけでどうにもならなくて、Aさんが困っておられることは理解できます。Aさんのような人は、先輩ではなくて上司に相談すべきだと思います。これでは、あまりに先輩がかわいそうです。

知識不足の状態で、四面楚歌の状態になるような部署にAさんを放り込んだ、上司の指導能力に、大きな問題があると思います。

とにかく、プログラムを作る能力は、1年2年で獲得できるものではないということを、まず頭にお入れください。

プログラミング能力を得るためには、長期的な学習が必須です。
そのような世界で、あなたが、どの分野へ進みたいのかを、間違っては時間の無駄になるのです。
よって、自分が何をしたら楽しいのかを、まず精査して欲しいのです。

たとえば、ウェブプログラミングと、ホワイトハッカー(悪意のクラッカーを退治するプログラマ)では、目的が違います。よって、身につけなくてはいけないプログラミング言語などの、学習内容が違います。

また、プログラミングには相性があります。
あなたが将来進みたいプログラミングの分野を決める時に、サボったり、安易に妥協したりすると、必ず後で大きく損害がついてきます。

何の喜びも感じられないものを、続けるのは無理だと私は思います。

よって、あなたが、プログラミングづくりで、妥協できない一線を明確にさせてください。

子供の頃の勉強も、小学校、中学校、高校、大学・・・と、10年以上積み上げるのが当たり前でした。
プログラミングの分野も、10年くらいの学習は必要なんだと思っておくべきだと、私は思っております。