【独学】プログラミング言語を学ぶことは可能か⁉

プログラミング

【独学】プログラミング言語を学ぶことは可能か⁉

 

はじめまして、今現在とりあえず、WEB言語から学ぼうと思いHTMLを勉強中です。このブログを立ち上げた理由は、やはり時代の流れを見ていても2020年、今年から小学校でもプログラミングが必修科目と位置付けられており、これはやばいなぁと思い、プログラミングをブログを通じて発信することにより、自分も学ぼうと思った所以です。

 

本当に、ド素人で右も左ももちろんソースコードすらもほとんど読めない状態ですが、どこまで素人が本気で挑戦することによりどのくらいの成長をするのか経過を綴ろうと思います。

 

まず、結論から言います。

  • 現代は、インターネットによる情報社会だから、それなりに、あちこちに必要な情報が落ちているから独学で学ぶことは、可能です!

 

ド素人
ド素人

なんで、可能なのか?と思った方は、是非、下までスクロールしてみて下さいね。

未経験でもWEB業界に挑戦したい!【.pro】

そもそも、プログラミングってなに

コンピュータープログラミングとは、ある特定のコンピューティングの結果を得ることを目的として、実行可能なコンピュータープログラムを設計・構築するプロセスのことである。

 

インターネットでは、このように書かれているけど、正直文系の僕からしたら、全く理解することができませんでした。(汗)

 

私たちはすでに無数のプログラムに囲まれています。そんなプログラムを作ることをプログラミングといいます。

 

  • ざっくりいうと、コンピュータに指示を出すことですね。

 

例えば、会社で例を挙げると、自分の部下に当たる後輩に指示を出して書類を作成するように頼むこと、または仕事の一部の内容を指導や指示すること、すなわちこれは「マネジメント」と呼ばれています。

 

「プログラミング」とは、これが人ではなくパソコンもしくはコンピュータに右に少し移動してほしい、上にポイントを当ててほしいなどといった指示をコンピュータ上に出すことが「プログラミング」ですね。

 

フロントエンドコース【.pro】

 

  • 人に指示を出す=マネジメント
  • コンピュータに指示を出す=プログラミング

 

ド素人
ド素人

ざっくりと、分かりやすくまとめるとこうゆう構図になっています。

そもそも、プログラムとは?

コンピュータプログラムとは、コンピュータに対する命令を記述したものである。コンピュータが機能を実現するためには、CPUで実行するプログラムの命令が必要である。 コンピュータが、高度な処理を人間の手によらず遂行できているように見える場合でも、コンピュータは設計者の意図であるプログラムに従い、忠実に処理を行っている。

 

要は、人間である設計者があってはじめて、正確に実行に移せるということですね。

 

ってことは、この設計者のことをプログラマーと言うのですか?

 

はい、そうです。一般的な定義としては、プログラマとは、コンピューターのプログラムを作成する人全般を指します。

 

 

 

 

簡単に噛み砕いて、説明しますと、、、。

  • パソコンを動かすための命令の集まりを、パソコンが理解できる形式で記録したものです。

2020年、プログラミング教育が小学校で必修化!

高度なIT人材の不足、論理的思考力の育成……など

さまざまな背景があっての必修化されましたね。時代を感じます。

 

一見すると、パソコンに詳しくなるだけかと自分も思っていたけど、実はこの必修化の裏にはプログラミング的思考」といのが本質にありました。

 

未経験でもWEB業界に挑戦したい!【.pro】

プログラミング的思考とは

「プログラミング的思考」とは、簡単に言うと、コンピュータやプログラミングの概念にもとづいた問題解決型の思考です。例えば、コンピュータで処理する対象を細かくして実行しやすくしたり、それらの処理を実行するために繰り返しや条件分岐を用いたりします。大きなプログラムを開発する場合は、処理できる単位を細かくして実行しやすくします。

 

この考え方は、社会問題の解決においても同様に活用することができます。複雑な問題を小さな単位に分割して解きやすくしたり、問題の中でも適切な側面だけを取り上げるなど、考え方次第でかなりの応用がきく思考ですね。

 

現実社会の問題解決にも応用できる思考能力ということができます。

 

このような図式で、理解するのが分かりやすいと思います。

分解

大きな動きを解決可能な小さな動きに分けること。特に複雑な問題の場合には、解決できる小さな問題に分解して、問題を解決しやすくする。
<具体例>
・サンドイッチを作るとき、パンを並べる、バターを塗る、マスタードを塗る、などの活動内容を書きだすこと。
・正多角形の作図においては、正多角形が持っている「辺の長さがすべて等しい」、「角の大きさがすべて等しい」、「円に内接する」、「中心角の大きさがすべて等しい」などの正多角形の意味や性質など。

抽象化

目的に応じて適切な側面・性質だけを取り出し、他の部分を捨てること。
<具体例>
・サンドイッチを作る活動内容の中から、目的に応じて必要な内容だけを選ぶ。
・正多角形の作図においては、内角と辺の長さで作図する場合は、正多角形の意味や性質の中から、「辺の長さがすべて等しい」「角の大きさがすべて等しい」とう意味や性質を選ぶなど。

一般化

ものごとの類似性や関係性を見出すこと。さらにそれを別の場合でも利用できる内容にすること。一般化することで予想しやすくなったり、より汎用的に問題を解くことができる。例えば、順序や規則性、属性情報を見出すことで、次の「組合せ」のパターンを選ぶことができる。
<具体例>
・順序がある⇒順次(組合せ)
・規則性がある⇒繰り返し(組合せ)
・属性情報がある⇒条件分岐(組合せ)

組合せ

目的に合わせて試行錯誤しながら、明確でより良い手順を創造すること。組合せ方法には「順次」、「繰り返し」、「条件分岐」などが含まれる。

 

https://beneprog.com/2018/07/13/computationalthinking/より引用

 

【挑戦!】初心者でも独学でプログラマーになれる!

最後までご覧いただきありがとうございました。

 

まだまだ、僕自身もコンピュータまたプログラム及びプログラミングに関して体系的に理解できていない部分が多いですが、今後できれば週に2.3回の頻度で更新するたびに、いろいろな言語を理解することができたらいいなぁと思っています。

 

 

タイトルとURLをコピーしました