プログラミングとかいう専門家以外まったく分からない概念

  • 1二次元好きの匿名さん24/05/28(火) 11:25:32

    ずっと謎なんだがプログラミングってあれ何をやってるの?
    言語がどうとか言うけど

  • 2二次元好きの匿名さん24/05/28(火) 11:27:51

    コンピュータへの指示書書いてるだけ

  • 3二次元好きの匿名さん24/05/28(火) 11:28:18

    >>2

    詳しく教えてくれ

  • 4二次元好きの匿名さん24/05/28(火) 11:29:03

    機械ちゃんにやらせたい処理を命令してる
    機械ちゃんは人間の言葉が苦手だからそれ用の言葉=プログラミング言語でやってる

  • 5二次元好きの匿名さん24/05/28(火) 11:29:48

    そんなあなたにゆるコンピュータ科学ラジオ

    聞いて解った気になろう

    コンピュータ科学をやるのに、コンピュータは不要【アルゴリズム1】#1


  • 6二次元好きの匿名さん24/05/28(火) 11:30:00

    最近は学校の授業で習うでしょ

  • 7二次元好きの匿名さん24/05/28(火) 11:30:08

    コンピュータへの指示を人間にわかりやすい言語に変換したものがプログラミング言語
    日本人が作ったら日本語だったかもな

  • 8二次元好きの匿名さん24/05/28(火) 11:31:10

    プログラミングって電報みたいに一文字何円とかで給料計算するのかね

  • 9二次元好きの匿名さん24/05/28(火) 11:31:55

    >>3

    どういうところを詳しく知りたいの?

  • 10二次元好きの匿名さん24/05/28(火) 11:32:15

    >>3

    (横レス)

    例えばこのスレにレスするとなったら

    ・このスレを開く

    ・レスの入力欄に何か書く

    ・投稿ボタンを押す

    って手順が要るからそのとおりの指示を出す

    ただ相手が日本語わかんねえから別の言葉でやってるだけ

  • 11二次元好きの匿名さん24/05/28(火) 11:33:30

    コンピューターくんは機械語っていう言葉しか知らない(よく0と1で表現されるやつ)
    その機械語と人間の言語の中間がプログラミング言語
    そのプログラミング言語を書くのがプログラマー

    リンゴって文字を画面に表示したい ○人間語
    ↓プログラマーが翻訳
    printf("リンゴ") ○プログラミング言語
    ↓(色々あるけど省略)
    💻<010010101…… ○機械語
    OK!リンゴって文字を表示するよぉ!

    って感じ?もっと図で起こせたらいいんだけどムズいわ

  • 12二次元好きの匿名さん24/05/28(火) 11:33:30

    >>8

    文字っていうか何行書いたかみたいな基準があったはず

  • 13二次元好きの匿名さん24/05/28(火) 11:33:32

    いろんな命令をブロックみたいに組み立てるもんかな

    カルネージハートのように、ロボットのプログラムを簡単に組めるゲームもあった
    最近はマインクラフトでプログラミングとかやれるけど

  • 14二次元好きの匿名さん24/05/28(火) 11:35:13

    今は義務教育の範囲だからね
    一回やってみたらそんなに難しいもんでもないと思うよ

  • 15二次元好きの匿名さん24/05/28(火) 11:35:55

    このレスは削除されています

  • 16二次元好きの匿名さん24/05/28(火) 11:36:24

    >>12

    行数多いほうが稼げるの?

    出来るだけ短い行数(処理数)で機能満たした方が優秀なイメージあるから意外だ

  • 17二次元好きの匿名さん24/05/28(火) 11:38:38

    人間は「近くの果物屋でバナナ買ってきてくれ」で買ってこれるだろ?これは人間の脳はざっくりした説明で手順を構築できるからだ。ところがコンピュータはそうはいかない。ざっくりした説明では何もできない
    そこで鉤括弧の部分を細かく具体的に指示するのがプログミング

    つまり
    変換前→「近くの果物屋でバナナ買ってきてくれ」

    変換後→「まずは真っ直ぐ歩く→200m先で右に曲がる→果物屋を見つけたらそこで止まる→果物屋に入る→バナナを探す→バナナがあったら手に取る→レジに向かう→バナナの金額の分のお金を用意する→計算してお釣りがあったらその分を回収する→買ったバナナを持って果物屋を出る→来た順を戻る」
    にする訳だ

  • 18二次元好きの匿名さん24/05/28(火) 11:38:47

    >>16

    昔は知らんが、今は稼働時間で金とるか、最終的に要件を満たした成果物を納品することで金取るから、行数とか関係ないよ

    行数だけ長い冗長なプログラムがゴミなのはそう

  • 19二次元好きの匿名さん24/05/28(火) 11:39:28

    プログラミングそのものについては専門家じゃなくてもわかる
    各言語での書き方については専門家じゃないとわからんけど

  • 20二次元好きの匿名さん24/05/28(火) 11:39:46

    日本人は不利だよな
    英語圏の人はもうちょっと直感的に理解してそうな気がする

  • 21二次元好きの匿名さん24/05/28(火) 11:40:23

    >>16

    そら無駄な行数稼ぎはあかんと思うけどそうじゃないなら処理のために必要な行数(手順・命令)が多い=それだけ大変な作業になるんでない?


    あと行数そのもので給料決めるってより行数から作業の規模割り出して……って感じが正確じゃないかな

  • 22二次元好きの匿名さん24/05/28(火) 11:41:15

    コンピューターがわかる言葉に翻訳する翻訳機があって
    それに対して指示書を描くようなもんかな
    で、その翻訳機がわかる言葉がプログラム言語

  • 23二次元好きの匿名さん24/05/28(火) 11:41:57

    ITパスポート勉強したら分かりやすく書いてあるよ

  • 24二次元好きの匿名さん24/05/28(火) 11:42:55

    「なでしこ」みたいな日本語プログラミング言語もあるよ

  • 25二次元好きの匿名さん24/05/28(火) 11:44:33

    素人が勉強するにあたって各言語ごとに辞書みたいなのあるんだろうか

  • 26二次元好きの匿名さん24/05/28(火) 11:44:40

    コンピュータって0と1の命令でどうして動くのかがどうしても腹落ち出来ない
    そういうもんだと認識してるけども

  • 27二次元好きの匿名さん24/05/28(火) 11:44:56

    意味がわからん
    なぜコンピューター用の言葉を入力したらその通りに動くの?

  • 28二次元好きの匿名さん24/05/28(火) 11:45:33

    >>20

    colorの綴り見るとアメリカ英語でムカついてないんだろうかイギリス人って思う

  • 29二次元好きの匿名さん24/05/28(火) 11:47:42

    >>27

    昔の頭のいい人がそういう翻訳機能を作ったから

  • 30二次元好きの匿名さん24/05/28(火) 11:48:00

    >>27

    コンピュータ向けの言語を0と1に変換する機能があるから

  • 31二次元好きの匿名さん24/05/28(火) 11:48:04

    include hoge //使いたいhogeツールの読込

    function hage(int 引数){ //関数宣言、あとでhageを使える様に作る
    int 返り値 = 引数 // 返り値という変数をint型で作って引数で貰った値を入れる
    for(int カウンタ=0;カウンタ<=10;カウンタ++){ //カウンタという変数に0を入れて1回繰り返す毎に+1増やしていく、10以下の間だけ{}の中をループ
    if(カウンタ%2){ //カウンタを2で割った余りが1以上の時{}の中を実行
    返り値=返り値+1 //返り値を返り値+1に変更
    }
    }
    return 返り値 //関数の答えとして返り値を戻す
    }

    int 初期値 = 10 //初期値という変数を作って(略)
    初期値 = hage(初期値) //hage関数の引数を初期値ということにして実行し、答えを初期値に突っ込む
    hoge.disp(初期値) //hogeツールのdisp関数(画面に表示する機能)に初期値を渡して画面に出して貰う

  • 32二次元好きの匿名さん24/05/28(火) 11:48:19

    >>27

    人間が書いた言語からコンピュータが理解できる内容に変換してるから

  • 33二次元好きの匿名さん24/05/28(火) 11:48:24

    >>26

    そこからか…。エンジニアでもちゃんと説明できる人あんまりいなそう。ちゃんと学問的に勉強してる人は別として。

    >>5の半導体の回をみればわかった気にはなれると思う。

  • 34二次元好きの匿名さん24/05/28(火) 11:49:36

    しまった半角スペース消されるんだった

  • 35二次元好きの匿名さん24/05/28(火) 11:49:37

    大学でプログラミングのさわりの部分の授業があって成績もかなり良かったんだが
    後日自分で調べた「割り込み」が結局イマイチ理解できずにプログラミングは諦めてしまったな
    どうやって割り込んでるかの仕組みが理解できなかった

  • 36二次元好きの匿名さん24/05/28(火) 11:49:44

    >>26

    膨大な数のはいといいえを繰り返して行動を決定してると捉えるといいぞ

  • 37二次元好きの匿名さん24/05/28(火) 11:50:18

    >>36

    光の速さでアキネイターやってるようなもんじゃん

  • 38二次元好きの匿名さん24/05/28(火) 11:50:40

    >>26 >>27

    単純な回路だってスイッチオンオフで豆電球がついたり消えたりするだろ?

    複雑な回路が組めれば豆電球の付き方・消え方も複雑にできるだろ?

    あとはスイッチのオンオフをどうやるか予め決めておいた命令群をそのとおりに実行させるだろ?

  • 39二次元好きの匿名さん24/05/28(火) 11:50:51

    >>25

    教本はある。なんの言語も触ったことない人だと教本で入ったほうがいい。

    辞書的なのはある(ライブラリとか呼ばれる)けど、初心者には理解するのきついので、ある程度習熟してる経験者向け

  • 40二次元好きの匿名さん24/05/28(火) 11:51:03

    >>26

    そもそもコンピュータの頭脳の中心部みたいな所には0と1しか無い

    アルファベットも十進数も無い

    だから0と1で表せる言語を読み書きしてるしこちらもその言語で話すしかない

  • 41二次元好きの匿名さん24/05/28(火) 11:51:12

    人類にプログラミングはまだ早いだろ
    理解できる人間がどれだけあるんだって話

  • 42二次元好きの匿名さん24/05/28(火) 11:53:17

    >>35

    学問ならともかく、実務だとある程度仕組みがわからないところは、そういうもんだと捉えるのも大事

    ただし、それやりすぎるとバグのもとになるから、どこまで理解する必要があって、どこからはそういうもんだと捉えるかの線引がむずい

  • 43二次元好きの匿名さん24/05/28(火) 11:53:39

    >>41

    でもプログラミングは人類が作ったんやで

  • 44二次元好きの匿名さん24/05/28(火) 11:53:42

    このレスは削除されています

  • 45二次元好きの匿名さん24/05/28(火) 11:54:21

    ゲームブックみたいなもんじゃないの
    知らんけど

  • 46二次元好きの匿名さん24/05/28(火) 11:56:08

    >>41

    初級者「C++全然わからんw」

    中級者「C++全然わからんw」

    上級者「C++全然わからんw」

    標準化委員会「C++全然わからんw」

  • 47二次元好きの匿名さん24/05/28(火) 11:56:15

    >>26

    その説明をする前に論理回路を理解する必要がある かなり長くなるぞ

  • 48二次元好きの匿名さん24/05/28(火) 11:56:35

    >>25

    公式がマニュアル作ってたり、個人が入門サイト作ってたりもするよ

  • 49二次元好きの匿名さん24/05/28(火) 11:57:29

    エクセルのマクロとかしか組んだことないわ

  • 50二次元好きの匿名さん24/05/28(火) 11:57:30

    >>26

    文字の出力や単純な計算ならまあ「ここにデータを割り当てて文字コードに合致した文字出力してるんやろなぁ」とか単なる二進数の計算かなぁとか思い至ることもできるんだが、ゲームとかどうやってあんなん動かしとんねんとかは間違いなくなる

    生成AIとか二進数でどうやって動いてんだあれ

    きっと、アセンブラやらんとコンピュータの中身の動きなんて一生わからんわね

  • 51二次元好きの匿名さん24/05/28(火) 11:58:08

    >>41

    100年以上前に発表された相対性理論が未だに殆どの人類に理解されてないんだからもう早い遅いの問題じゃないと思うんだわ

  • 52二次元好きの匿名さん24/05/28(火) 11:59:24

    基礎的なのなら今だとchatgptに指示すると以外とどうなってるのか理解できたりする

  • 53二次元好きの匿名さん24/05/28(火) 11:59:37

    プログラミングチョットデキル

  • 54二次元好きの匿名さん24/05/28(火) 12:00:11

    >>53

    何も出来ないかめっちゃ出来るかどっちだ・・・?

  • 55二次元好きの匿名さん24/05/28(火) 12:00:37

    PCの中身の話とかは電磁気学とかになるんだろうけど
    あれ難しすぎ

  • 56二次元好きの匿名さん24/05/28(火) 12:01:01

    >>54

    ダニングクルーガー効果が最も良く現れている一例

  • 57二次元好きの匿名さん24/05/28(火) 12:01:31
  • 58二次元好きの匿名さん24/05/28(火) 12:03:18

    正直仕組みを理解するところまではやらなくても何とかなるんじゃないかな
    道具の使い方さえ覚えてしまえば

  • 59二次元好きの匿名さん24/05/28(火) 12:04:11

    >>50

    いまのAIは学習したものを分類してその中から条件にあうものをランダムに取り出すイメージ

    画像生成なら学者した画像それぞれにpixivのタグ的なものをつけて共通点を割り出して出力してる

    大元は赤と青とかシンプルなところから始めて自動車と人間とか目と鼻とかどんどん細かいパーツにタグをつけていくイメージ

  • 60二次元好きの匿名さん24/05/28(火) 12:05:00

    >>58

    スマホとか自動車の仕組み理解してるやつほぼいないと思う

  • 61二次元好きの匿名さん24/05/28(火) 12:05:33

    1から書いてると思われてるけど99%が他人の書いたソースをコピペしてるから安心して欲しい

  • 62二次元好きの匿名さん24/05/28(火) 12:07:30

    実際触った方が分かりやすいよねプログラミング
    scratchとかティラノスクリプトみたいなのは簡略化されてて分かりやすいと思う

  • 63二次元好きの匿名さん24/05/28(火) 12:08:22

    2進法と自然言語(人間の言葉)の変換原理を知りたいなら電子工作系で理論回路やる方が早い
    命令文の内容とか見るならChrome系のブラウザでどっかのサイトのJavaScriptでも覗くといい

  • 64二次元好きの匿名さん24/05/28(火) 12:10:04
  • 65二次元好きの匿名さん24/05/28(火) 12:11:56

    プログラマでも専門分野以外だと謎ってのはよくあるからな
    ネット系のプログラマならゲームとかどうやってあんな複雑なことしてるか想像するのは難しいし
    100均の電子機器とかそんな性能で良く組めるもんだなとしか言えないようなことしてるし

  • 66二次元好きの匿名さん24/05/28(火) 12:14:30

    TRUEが0とか変な言語が入力ツールとして使われてるの信じられないんだけど

  • 67二次元好きの匿名さん24/05/28(火) 12:15:04

    >>65

    先人の積み重ねでそういうのを意識しないで済むようになってるというのもあるよね

    本当の独力ではコンピュータに足し算すら実行させられないプログラマそれなりにいそう

    俺含めて

  • 68二次元好きの匿名さん24/05/28(火) 12:16:37

    >>64

    書いた俺が言うのも何だけど参考にするにはちょっと……

  • 69二次元好きの匿名さん24/05/28(火) 12:17:49

    このレスは削除されています

  • 70二次元好きの匿名さん24/05/28(火) 12:22:39

    >>26

    0と1といっても実際の命令は1バイトの整数倍だからそこまでじゃないぞ

  • 71二次元好きの匿名さん24/05/28(火) 12:24:35

    プログラミングとはちょっと違うが、例えばあにまんの縦長画像荒らしはCSSの知識があれば自分で対策できる
    普段の身の回りの何かしらを効率化するために勉強始めるのも良いかもね
    今ならChatGPTにも聞けるし

  • 72二次元好きの匿名さん24/05/28(火) 12:29:34

    ハード系やるエンジニアとプログラマだと最低でも農家と料理人くらいの差はあるからな
    なんとなく野菜の作り方知ってたり調理方法をイメージできてもそれぞれ別物の仕事なんよ

  • 73二次元好きの匿名さん24/05/28(火) 12:33:10

    >>67

    マイクラで論理回路やろうぜ

    ソフト操作はプログラマの知識である程度行けるぞ

  • 74二次元好きの匿名さん24/05/28(火) 12:34:05

    >>6

    最近の世代じゃないんでしょきっと


    正直最近の世代がどこまで勉強してるのか判らなくて話の切り出し方に困っている

  • 75二次元好きの匿名さん24/05/28(火) 12:34:49

    >>73

    RSは電子回路の教材として良いよね

  • 76二次元好きの匿名さん24/05/28(火) 13:03:31

    >>40

    そこで「0」「1」と数字に置き換えるから理解を拒む人がでてくるんじゃないかな?

    他米でも書かれてるが、プログラムについてはYES NOの2択、あるいはデータ全体については色がついている・ついていない2種類のブロックだけで記録してるとかのほうが分かりやすい気もする

  • 77二次元好きの匿名さん24/05/28(火) 13:09:17

    電気の話から始めないとなんでコンピュータが 0 と 1 しか使わないか説明つかないんだよな
    中途半端な電圧は使いづらいという簡単な話なんだけど、その上に論理回路の話や符号化の話が載って、そこでコンピュータの話ができるので長過ぎる

  • 78二次元好きの匿名さん24/05/28(火) 13:25:49

    >>59

    それじゃパーツのカテゴリ別にヒープみたいなのを記憶空間上に作成してその中からランダム出力してる感じか

  • 79二次元好きの匿名さん24/05/28(火) 13:45:00

    電子機器なんだから電流が流れてる流れてないの話でシンプルにONOFFだと思うの

  • 80二次元好きの匿名さん24/05/28(火) 14:09:32

    そもそもなんで言語を入力すると「命令」できるの?ここがまずよく分からん
    コンピューターて無機物なのになんで操作できるんだ? 知ってる人からすると馬鹿みたいな話かもしれんけど
    例えばゲームのコントローラーとかAボタン押すとマリオがジャンプしたりするけどあれは何?

  • 81二次元好きの匿名さん24/05/28(火) 14:12:57

    >>80

    コンピューターくんは素直だから拒否とかしないのよ

    「あれやってこれやって」って言えば素直に聞いて実行してくれるの


    Aボタン

    翻訳機(Aボタンが押されたってことは……)「プレイヤーがジャンプしてって言ってるよ」

    コンピューター「OK!ジャンプ!」

    ってなる

  • 82二次元好きの匿名さん24/05/28(火) 14:14:29

    >>80

    予め「スイッチ押されたらマリオをジャンプさせる」って決めておくわけじゃん?

    実際にスイッチ押したら機械がスイッチ押された状態になるわけじゃん?

    スイッチ押されたんだから決められた通りマリオをジャンプさせるじゃん?

    具体的には画面上の表示を変えたり内部計算上の座標を変えたりするじゃん?

  • 83二次元好きの匿名さん24/05/28(火) 14:16:01

    ヒトカス「これこれこーであーで」

    こんぱいらくん(仮称)「ヒトカスの命令文を機械語に翻訳すると
    0010100101010101…」

    コンピュータくん「おかのした」

    間にこんぱいらくん(仮称)がいたりいなかったりするんや

  • 84二次元好きの匿名さん24/05/28(火) 14:21:16

    自分も最初はコンピュータが0と1で動くの分からんかったが電流のオンオフと言われたらしっくり来たな
    めちゃくちゃ雑な言い方すると数え切れんくらい沢山のオンオフを切り替えるスイッチ組み合わせて自在な操作をしてる
    原始的なコンピュータはまさにスイッチの集合体だった

  • 85二次元好きの匿名さん24/05/28(火) 14:42:32

    プログラマの仕事はこんぱいらくん(仮称)との会話なんや
    こんぱいらくん(仮称)「エラーだよ 1234行目ら辺の文章読めなかったよ」
    ヒトカス「さよか ああこの辺の主語が何かはっきりしてへんかったすまんな」
    こんぱいらくん(仮称)「エラーだよ」
    ヒトカス「? どこがエラったん? あれ? おーい」

    ゲーム機とかはもうこんぱいらくん(仮称)を通過して全部翻訳済みになっとるから
    スイッチポチポチで走った電気信号01が来るだけでコンユータくんは数十億個のスイッチガシャガシャ動かしていろんなことをやれる様になっている

  • 86二次元好きの匿名さん24/05/28(火) 14:57:59

    適切にプログラミング言語を使用して指示を出せば誰でも動かせるプログラムがすでに組まれてるからこそプログラマーが職業として成り立ってる

    ならその「言語さえ使えれば誰でも動かせる原初のプログラム」を組んだ時はどう動かしたの?と考えてしまうよね

  • 87二次元好きの匿名さん24/05/28(火) 15:34:49

    >>80

    このあたり機械的な仕組みを説明しようとすると論理回路の話とか長くなるからな

  • 88二次元好きの匿名さん24/05/28(火) 16:07:00

    >>86

    最初は人間が手で 01 を入力してたんだ

    流石に辛いのでアセンブリ言語っていう CPU の命令と 1 対 1 になるプログラミング言語が作られたわけ

    その後はアセンブリ言語に変換するプログラミング言語が出てきたのはご存知の通り

  • 89二次元好きの匿名さん24/05/28(火) 16:07:38

    暇があればコンピュータのしくみみたいな記事を書きたいなと思ってる
    暇があればね

  • 90二次元好きの匿名さん24/05/28(火) 16:08:40

    >>89

    QiitaかZennに書いて

  • 91二次元好きの匿名さん24/05/28(火) 16:14:36

    >>80

    正直そこを理解する必要はない

    なんで人間は歩こうと思ったら足が前に出るんだ?

    なんでハサミは2枚の刃を重ね合わせることでものを切れるんだ?切れるものと切れないものの違いってなんだ?

    みたいなこと厳密に理解できなくても生きているのと同じ

    説明できる人も居るけど理解するのは大抵の人にとって大変

  • 92二次元好きの匿名さん24/05/28(火) 16:41:32

    他カテだけどこれ見ると何となくわかる

    https://bbs.animanch.com/board/2958846/

    https://bbs.animanch.com/board/2970583/

  • 93二次元好きの匿名さん24/05/28(火) 16:57:22

    >>80

    スイッチ押したらON/OFFが切り替わるよね。

    機械的にはスイッチのON/OFFを認識してるだけ。


    スイッチをONにするかOFFにするかは人間が考えてるから、人間がやりたい動作をさせるってことで「命令」って言ってる。

  • 94二次元好きの匿名さん24/05/28(火) 16:58:34

    気になるんだけどスレの保守Botって規約違反?

  • 95二次元好きの匿名さん24/05/28(火) 17:01:18

    >>94

    スレ違いすぎだろ

    特に触れる規約はない

  • 96二次元好きの匿名さん24/05/28(火) 17:02:04

    >>95

    すまん

    ありがとう

  • 97二次元好きの匿名さん24/05/28(火) 17:06:00

    >>91みたいな言い方は好きじゃないな

    解説したところで理解できないだろうことはわかるけど

    それはそれとして疑問はごもっとも!ってポイントじゃん

  • 98二次元好きの匿名さん24/05/28(火) 17:09:54

    >>94

    スレチの話するなおじさん「規約にはないけど故意に多くのスレに保守レスするようならサーバに悪意もって負荷かけたとして罪に問われる可能性ある」

  • 99二次元好きの匿名さん24/05/28(火) 17:11:39

    >>97

    Why じゃなくて How で聞いてくれって話でしょ

  • 100二次元好きの匿名さん24/05/28(火) 17:11:41

    スイッチ一つでオンとオフで2パターンを表せる
    二つだとオンオン、オンオフ、オフオン、オフオフ、これで4パターンまで表せる
    みたいな感じでスイッチの数増やしてパターンに紐付くルールを増やしていく

    そうすると数字とアルファベットくらいは理解できるようになるし
    最初のスイッチは数字とアルファベットを示すみたいな感じでルールを決めて覚えさせていくとパソコンになるんだ

  • 101二次元好きの匿名さん24/05/28(火) 17:12:27

    夏休みの工作とかでさ、投入口から硬貨入れたら種類別に分類してくれる貯金箱あるじゃん
    あれって最初の穴は1番小さい硬貨しか通れないサイズでそれだけ落として後は素通りさせて
    次の穴は2番目に小さい硬貨しか通れないサイズでそれだけ落として……ってのを繰り返すわけじゃん

    プログラミングもコンピュータへの命令次第で似たようなことができて
    入力された値が条件に合致してたら通す、してなかったら突っ返すみたいな処理を組めるのね
    物理法則に縛られないから硬貨よりもっと自由に条件設定できる

    Webサービスで「パスワードは記号を混ぜないとダメ!」みたいなのはそういうことをしている

  • 102二次元好きの匿名さん24/05/28(火) 17:13:30

    >>98

    サンキュースレチの話するなおじさん

  • 103二次元好きの匿名さん24/05/28(火) 17:14:05

    ウミガメのスープとか遊びでも2択のことしたあるかで理解度全然違いそう

  • 104二次元好きの匿名さん24/05/28(火) 17:24:51

    コンピュータの仕組みと交えてざっくり説明。

    【メモリ】
    命令やデータなどの数値(01001110とか11010110とか)を格納する場所。基本的には順番に処理していくけど条件分岐やイベントが発生すると別の位置に移動することもある。(人生ゲームみたいなイメージ)

    【CPU】
    メモリから読み出した命令を実行するやつ。0000なら足し算、0001なら引き算、0010なら条件分岐、0011ならサブルーチンの実行…みたいな感じで読み出した値に応じて実行する処理が決まっていてこの数値を機械語と言う。数値と処理がどのように対応づけされているかは設計次第でCPUごとに異なる。プログラミングで書いたコードは最終的にこの機械語に変換される。

    【入力装置】
    マウスやキーボード、タッチパネルなど。イベントが発生(マウスやキーを押したり)すると「オラ!なんか入力あったから確認しろや!」ってCPUに指示を出す。CPUは今実行してるメモリ位置から発生したイベントに応じたメモリ位置に移動してイベントの処理を実行し、元のメモリ位置(元の処理)に戻る。

    【出力装置】
    ディスプレイとかスピーカーとか。画面や音のデータをCPUから受け取って出力する。

    【プログラミング言語の補足】
    コンピュータができたばかりの頃はパンチカードっていう穴の有無で01を表現したカードなんかを使って人間が直接数値を入力してプログラミングしてた。(機械語をそのまま使ってた)

    しかし01だけじゃ人間にはわかりづらいで「0000をADD、0001をSUBみたいな感じで英単語と置き換えよう」ってなったのがアセンブリ言語(低級言語)。アセンブリ言語で書いたコードを機械語に変換するソフトをアセンブラと言う。

    アセンブリ言語はCPUの差異をもろに受けるため「A社のCPUは掛け算命令があるけどB社のCPUは掛け算命令ないから足し算を繰り返して代用するか…」みたいなクッソめんどくさいことをしなければならず、その辺自動でやってくれよ…って出てきたのがBASICとかC言語なんかの高級言語。高級言語で書いたコードを機械語やアセンブリ言語に変換するソフトをコンパイラと言う。

  • 105二次元好きの匿名さん24/05/28(火) 17:33:37

    上にある通り、1つのスイッチだと2通りしか表せない
    これが2つのスイッチで4通り、3つのスイッチで8通り、10個スイッチがあれば1024通り…となり、沢山のスイッチを組み合わせれば1つだとオンオフの2通りしか表せなくても膨大なパターンを表せる
    半導体という名前をニュースでよく聞くのも、半導体で優秀なスイッチを作れるからで、コンピュータには必須だから

  • 106二次元好きの匿名さん24/05/28(火) 17:55:46

    ちなみにスイッチ1個が1bitって表されるよ
    ファミコンとかの8bitはCPUを指してて最大256個のパターンを処理できた
    8bitあると256パターンもあるからA-zの大文字小文字と数字と?や&の記号が全部扱える
    だから特別に8bitで1Byteって単位になったよ

  • 107二次元好きの匿名さん24/05/28(火) 18:13:29

    このレスは削除されています

  • 108二次元好きの匿名さん24/05/29(水) 05:21:18

    ほす

  • 109二次元好きの匿名さん24/05/29(水) 12:48:14

    ちょこっと勉強になったよありがとう

オススメ

このスレッドは過去ログ倉庫に格納されています