見出し画像

❓️どうすれば"プログラミング"がわかる?

マガジン:素朴な疑問

概念から理解しよう

・ざっくりいうと、
やりたい!→どうやろう!なにがいるんだ!→やってみよう!
の流れがプログラミング。
・目的→アルゴリズム→データを扱う
・料理に例えられる。
・カレーを作りたい!
→カレーを作る手順(ジャガイモを煮込む、ニンジンを切る、カレールーを入れる等。)
・この手順がアルゴリズムのこと。
・すると、ジャガイモやニンジンやカレールーがいる。
・この必要な食材がデータ。
・そして包丁やまな板や鍋もいる。
・この調理器具が変数とか関数とか配列とかにあたる。
・プログラミングは目的達成のための手段の一つ。
やりたいことをコンピューターに指示するためのもの。
・とにかくプログラミングをやってみたい!ならweb。
・暗記はしなくていいから、理解する。
・冷凍ごはんが引数、電子レンジが関数、戻り値があたためられたごはん。

プログラミングの要素

・アルゴリズム(料理の手順)は、
1.順に処理していく。
2.条件があったら処理を変えたりする。
3.同じ処理を繰り返す。
の3つ。

・データ(食材)は、
1.取り出す
2.保存する
3.修正したり更新したりする。
4.削除する。
の4つ。

・データを扱う(調理器具)は、
1.変数(ボウルなどの容器のイメージ。)
2.関数(包丁や電子レンジや炊飯器とかで食材を扱っていく感じ。)
3.配列(たくさんのボウル。たくさんの変数。)

・環境構築(キッチン)は、中級者でもつまずきがち。

あの"記号"はいったいなんだ。

!→否定。同じじゃない、を意味する。
; →セミコロン。命令の区切り。
() →丸括弧。関数の引数を表す
{} →波括弧。コードのブロックを表す
<>→山括弧。htmlなどでタグを表す
[ ] →角括弧。配列の内容を表す
==→等しいことを表す。1つだけだと代入するだけになる。


まとめ

・プログラミングは手段だけど、やってみたい!が目的だったらとりあえずやってみればいい。
・とにかくやりたい!なら、visual studioでhtmlからやれば良いと思う。
・プログラミングができるかできないかだとできた方が良い。
・できた方良いから、が目的だと難しい。
・K-popの美人と仲良くなってセックスしたいモチベーションがあるからハングルやる気になる。
・プログラミング自体が楽しい人もいる。
・なぜ料理がしたいのか、どんな料理がしたいのか。決まってる方が良い。料理自体が楽しい人もいる。
・アルゴリズムを賢い人がやるときれいなコードになるってことなのかな。
・キャベツを1枚ずつより10枚重ねて切るように指示できるプログラム、アルゴリズム。
・友達の家の冷凍庫より自分の家の冷凍庫の方が早いとか。
・やりたいことがあって、そのためにプログラミングが必要で、でも難しくって挫折したから概念から調べてみた。
・実はこんな単純だったんだ。
・htmlとcssは楽しかった
・swiftは簡単なtodoアプリならできたが、コードは理解できなかった。
・焦らずにやってこう。少しずつ。
・耳をすませばのおじいさんのマインドならプログラミングが得意かもしれない。
・雫だと焦りすぎてしまう。エラーでパニックになる。
・目的があってコンピューターに指示できたらプログラミングでできる。
・自由に自分で作り出せるようになる。
・ofでソフト作った先生がやばかった。
・変数はaとかxとか。
・aに代入したい。でも整数しか入らないようにしたい。をあらわすとint a。コンピューターはこのintを見ると、「代入やね。あ、整数だけね、わかった!」となる。
・目的のための手順がプログラミング。カレーライスを作るという目的に、カレーライスの作り方という手順。あとは実際に料理してカレーライスが出力されるか。何か違ったら、手順を修正していく。少しずつ。
・舞台芸術でもプログラミングのように、定式化した手順がある。
・新しいことは、手順を1から考える。
・手順が誤っていたらエラーが出る。現実ではエラーはないが、問題が起こる。

🔗参考リンク

http://careersupli.jp/career/programming/

https://www.sejuku.net/blog/3286

https://techacademy.jp/magazine/1268

https://press.forkwell.com/entry/2018/11/13/engineer_component

https://g.co/kgs/MpWVwp

https://products.sint.co.jp/topsic/blog/what-is-algorithm

http://research.nii.ac.jp/~uno/algo_3.htm

https://wa3.i-3-i.info/word16070.html

http://tdak.hateblo.jp/entry/20140406/1396773476

https://eng-entrance.com/what-oop

https://qiita.com/yhay81/items/42f2baf6a0d6b1078578

https://ja.m.wikipedia.org/wiki/%E6%8B%AC%E5%BC%A7

https://wa3.i-3-i.info/word1736.html

https://wa3.i-3-i.info/diff210programming.html

https://eng-entrance.com/java-array-whatis

https://wa3.i-3-i.info/word11926.html

この記事が気に入ったらサポートをしてみませんか?