コマンドラインとは

f:id:junpei-Y:20200528190125p:plain

 

ざっくり言うと、キーボードからの入力でコンピュータを操作することです

 

皆さんはキーボードも使いますが、マウスも使いますよね?

 

マウスでコンピュータを操作する場合、例えばどのファイルを削除するのか視覚的に理解できるため初心者でも比較的操作しやすいと思います

 

イメージ的には、これと同じことをキーボード入力だけで行うのです

 

 

操作によってはマウスよりもキーボード入力のほうが効率よく行えます

 

ネットサーフィンする程度であれば全く馴染みがないかもしれませんが、

プログラムを開発するとなると、しばしば使うこともあります

 

 

義務教育にプログラミングが組み込まれる時代となりました

時代に乗り遅れないためにも、少しずつでいいので一緒に勉強していきましょう!

ソフトウェア開発のフロー

f:id:junpei-Y:20200531220718p:plain

 

ソフトウェア開発のフローはウォーターフォール型とアジャイル型の2つに大別されます

昔はウォーターフォール型が主流で、工程ごとに別の人が行っていました

コーディングの前からきっちりと形を構想するため、間違いが少なくなります

しかし、現在は正確さよりもスピードが重視されるため、アジャイル型が日本でも主流になりつつあります

そうすると、これまでウォーターフォール型で開発をやってきた人は自分だけではできない工程がでてきます

例えば、長年要件分析や要件定義などの上流工程だけをやっている人はコーディングのやり方を忘れてしまっています


結果として、ソフトウェア開発に長年携わっているにもかかわらず、

転職先が見つからないためにスクールなどに入って一から勉強しなおす人も多くいるようです

 

これからのソフトウェアエンジニアには一人で最初から最後まで開発ができるようなスキルが求められます

 

今からプログラミングを始めるのであれば、それを意識したうえで学習を進めていきましょう

オブジェクト指向とは

f:id:junpei-Y:20200528190125p:plain

 

オブジェクト指向とは大規模なソフト開発において

分担して開発を進めたり、大量の文字を整理するための手法です

この説明にはよく車が例に挙げられます

オブジェクト指向を考えずに、車に使われるソフトウェアを開発すると

トラックのソフトウェア、バスのソフトウェア、スポーツカーのソフトウェア・・・

というように車ごとにそれぞれ作成すると思います

更にフィットなのかアクアなのか・・・・とシリーズごとにも分けないといけません

とてつもなく膨大な量になります(;^_^A

では、それぞれの車で同じような機能はないのでしょうか?

例えば、ハンドルの操作だったりワイパーの動作だったり

同じような機能の部分については1つ作っておいて、

それぞれの車で共有したほうがスマートだと思います

もっといろいろあるのですが、ざっくり説明すると

オブジェクト指向とはこのような考え方のことを指します


他の部分に関してはまた後日取り上げたいと思います

ありがとうございました

プログラミング言語とは

f:id:junpei-Y:20200527215745p:plain

 

プログラミング言語というと何か難しいと感じる人もいるかもしれませんが、

外国語と同じような認識で全く問題ありません

あなたと翻訳機とパソコンがあるとします

あなたとパソコンは言葉が通じないので 翻訳機を使います

 
日本語でパソコンに向かって何か命令しても動いてくれませんよね?

SiriやGoogleアシスタントがいれば別ですが....

 

あなたが翻訳機に入力したプログラミング言語がパソコンへ機械語で出力されます

それを受け取ったパソコンが、あなたの命令通りに動くというわけです

日本語をプログラミング言語に変換してくれる翻訳機があれば、
みんなプログラミング言語を学ばなくてよいのです

しかし、そういうものがないからプログラミング言語を学んでいるのです
自分が無知なだけかもしれませんが (;^_^A

 


プログラミングの学習は英語の学習と同じと考えてください!!

毎日使ってなれていくしかないのです

ルールを覚えたからすぐに使えるはずがありません

もし仮にそれができるのなら、英語も中学生で文法を覚えたら

すぐにアメリカ人と上手に話せるはずです

そんな天才のような人ばかりではないと思うので、

普通の人は英語を勉強する感覚で少しずつ勉強していきましょう!!