これから「英語の次の言語になる」とも言われているプログラミング!
そのプログラミングの基礎的な考え方について、友人のSEからの講義やスタートアップカフェ大阪で得た知識をまとめてみたよ!
プログラミングって何?という人にも基礎や
どんな言語があるのか?
そもそも言語って何?などをこの記事で説明していくよー!^^
- プログラミングって何?
- プログラミングの基礎:テレビのリモコンの例
- プログラミングの基礎:言語って何?全て0と1でできている?
- プログラミングの基礎!C言語って何?
- C言語以外の、基礎的なプログラミング言語たち
- プログラミングで、音データとか画像データってどう分けているの?
- プログラミングの基本の基本:ビットとは処理スピードのこと
- プログラミングの基礎を学ぶには?
- プログラミング基礎を習うならまずは絶対にProgate!
- プログラミングの学び方:ドットインストールの動画を見る
- プログラミングの学び方:Udemyで授業を受けて学ぶ
- プログラミングが学べる場所を活用する
- プログラミング基礎と学び方まとめ
プログラミングって何?
プログラミングは、簡単に言うと、
コンピューターというまっさらな赤ちゃんに教える指示
だね!
人間の赤ちゃんの場合は
- 人間は本能がまずプログラムされていて、
- 生まれてからオギャーといって、
- 人によっては「朝のコーヒー代が馬鹿ならんわ」と言って
- お母さんとお父さんを認識して、
- 食べて、飲んで、歩いて、を行うよね!
でも、コンピューターには本能すらないし、
教えてあげないといけないね!
プログラミングの基礎:テレビのリモコンの例
例えば、テレビのリモコンのチャンネルの場合は、
- 「1」のボタンを押す
- ボタンの裏にある部材が基盤に触れる
- 「1」のチャンネルになる赤外線信号を送ってという指示が出る
- 電流が赤外線に変換される
- リモコンから「1」になる信号を赤外線として出す
- テレビがそれを受診して、チャンネルが変わる
のような流れで、「1個目のチャンネルに合わせる赤外線の信号を送ってね」という電流がを送られるんだ!
その指示を何でしてるか?というとプログラミングの言語で
- 電流を流す/流さない
- どんな電流を流すか
- その電流の道のり
などをプログラミングの言語を用いて制御、指示をしてるんだ!
プログラミングの基礎:言語って何?全て0と1でできている?
その指示を出す言語とは何か?
というと、究極は
「電流を流すか流さないか」の0か1の信号の集まりでできているんだ!
だから、リモコンの1ボタンに関しても、
- 「電気をテレビに信号では流す?流さない?』
- 「赤外線で流す?流さない?」
などのyesかnoでの質問にひたすら
0か1で答える、ということことを行なっていて
その指示を「言語」を使って行うんだ!^^
プログラミングの基礎!C言語って何?
その0か1で指示を送るプログラミング、
それを全部0か1で全部タイピングして信号を送っていたら大変なので、
ある程度の01ルールをまとめた言語があり、
そのベーシックな言語が「C言語」!
C言語以外の、基礎的なプログラミング言語たち
C言語より多くルール化
(もっとコードが短くなるような簡略化したもの)
としてたまに聞くかもしれない下記のような
- html、css(サイトの見た目を作るなど、初心者におすすめ)
- Ruby(直感的、理解しやすい、高い生産性でサービス作れる言語、初心者におすすめ)
- Ruby on Rails(Rubyを更にフレーム化したWebサービス開発用言語、初心者におすすめ))
- jQuery(サイト上などのアニメーションや動きを指示する言語)
- java(大規模からモバイルアプリまで汎用性高い言語)
- PHP(WEB開発に適した言語)
- java script(フロントエンド(デザイン)など用の言語)
- python(人工知能や機械学習などの言語)
- Swift(iphoneアプリを作るための言語)
- Go(Googleが開発したサーバーサイド言語)
などなど用途などに合わせてたくさんのプログラミング言語があるんだ!
自分のしたいことに合わせて、学ぶプログラミング言語を選ぼう!
プログラミングで、音データとか画像データってどう分けているの?
- 画像をカメラで読み込む
- 音楽データを読み込む
などその情報の処理はどうしてるの?って思うよね!
織田なんか、毎日3回は思うかな!(嘘)
そうした情報の種類を分けるために、
「拡張子」があるんだ!よく聞くよね!
上の、言語と同じように、
「画像を読み込む」という指示のくくりとして、
「jpeg」などの拡張子という「くくり方」が用いられるんだって!
プログラミングの基本の基本:ビットとは処理スピードのこと
少しまた基礎的な部分に戻るけど
よく「ビット」という言葉を聞くよね?
上で、プログラミングは究極のところ、
「0と1で電流を送るか送らないか指示の集まり」
と書いたけど、
それの
「0か1」を1回処理するのを1ビット
つまり、例えば64ビットのパソコンなら、
2(0と1)の64乗(回)の処理を同時に行える
という意味になるんだ!いわゆる、処理スピード!
[余談]プログラミングでの「バグ」の言葉の由来(説)
余談だけど、バグっていう言葉があるよね!
実は昔は上の
- 電流を通す
- 電流通さない
というのは、
真空管を実際に手で抜き差しして、
電流を通すか通さないかを調整していたらしいんだ!!!
当時その真空管に虫がとまって
そこに電流が流れてショートを起こしたから、
エラーなどを「バグ(虫)」と名付けられたらしい!(説)
プログラミングの基礎を学ぶには?
という具合に、プログラミングの基礎として
- プログラミングとは?
- 言語とは?
- ビットとは?
- 拡張子とは?
について書いた上で、じゃあ実際にどうやって学ぶかについてもおすすめのサービスをもとに紹介するよ!
プログラミング基礎を習うならまずは絶対にProgate!
プログラミング初心者の教科書としてまずやるべきなのがProg8!
メジャーなプログラミング言語の基礎的な内容を講座を通して無料で学べるよ!
当時東大生だった加藤社長が、「プログラミングがみんなに開かれるように」という願いを込めて作られたサービス!
■プログラミング学ぶならまずは絶対:
Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
プログラミングの学び方:ドットインストールの動画を見る
プログラムを学ぶために無料の3分動画で学べるのがドットインストール!
progateの後にこちらで補足して学ぶのがおすすめだよ!^^
プログラミングの学び方:Udemyで授業を受けて学ぶ
更に深く学ぶなら、世界最大の教育プラットフォームのUdemyがおすすめ!
プログラミングを学ぶ際ももちろんだけど、その他にもデザイン、マーケティング、音楽、学問、ITソフトウェアなどありとあらゆる講義を世界で活躍する一流の講師が教えてくれる!
有料だけど、出す価値は全然あるし、有料といえど1000円代のものもたくさんあるし、セミナー代だと思えばめちゃくちゃ安い値段だよ!^^
プログラミング、デザイン、マーケティング、その他も
本格的に一流から学ぶなら世界最大級のオンライン学習サイトUdemy
プログラミングが学べる場所を活用する
TECH::CAMPとTECH::EXPERT
通えば、転職にも活用できるレベルでプログラミングが学べるということで最近話題のTECH::CAMP!
3ヶ月授業から、最速は1週間で!
アプリ開発、ウェブページ開発、東京ではVRの開発のコースがあるよ!
本当にスタートアップカフェ大阪でも年間400名の起業相談受けるけど、プログラマーって本当に不足しているから、ここでスキルえたら当分食うことには困らない!
まずはお試し体験も可能なので、
TECH::CAMP(エンジニアスクール) もぜひ見てみてね!^^
中でもゼロからプロのプログラマーになるまでをしっかりサポートしてくれる講座であれば、TECH::EXPERTがおすすめ!
■未経験のITエンジニア転職なら【TECH::EXPERT】
独立したい人とかは、プログラミング学んで、
ランサーズやクラウドワークスで受注したり、
自分で起業したり、週3で働くようなベンチャーに入る、
なんていう選択肢もありだね!
ここに週3で働くようなプログラマー向け求人が多くあるよ!
■プログラマー就活、未経験からの転職ならWORKPORT
ほか、面白い転職案件が載っているサイトはこちらに書いてるよ!^^
プログラミング基礎と学び方まとめ
という感じでプログラミングって何?
っていう基礎について書いたよ!
織田もアートで人を感動させるとなった時に、やっぱり今あるすごいテクノロジーはどんどん使っていかないとな!と思うんだ!
そういう意味でも、これからプログラミングも学ぼうと思う!
ちなみに最近Windowsが発表した3Dのペイントとか3D技術がすごい!
ますます、プログラミングや最先端技術に興味がわくね!!!
織田に相談したい人や飲み会参加したい人はLINE@からどうぞ!
様々なジャンルのクリエイターだけでなく、
プログラマーも所属している
織田の運営するみんな表現者についてはこちら!