- 1二次元好きの匿名さん24/05/28(火) 11:25:32
- 2二次元好きの匿名さん24/05/28(火) 11:27:51
コンピュータへの指示書書いてるだけ
- 3二次元好きの匿名さん24/05/28(火) 11:28:18
- 4二次元好きの匿名さん24/05/28(火) 11:29:03
機械ちゃんにやらせたい処理を命令してる
機械ちゃんは人間の言葉が苦手だからそれ用の言葉=プログラミング言語でやってる - 5二次元好きの匿名さん24/05/28(火) 11:29:48
- 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
どういうところを詳しく知りたいの?
- 10二次元好きの匿名さん24/05/28(火) 11:32:15
(横レス)
例えばこのスレにレスするとなったら
・このスレを開く
・レスの入力欄に何か書く
・投稿ボタンを押す
って手順が要るからそのとおりの指示を出す
ただ相手が日本語わかんねえから別の言葉でやってるだけ
- 11二次元好きの匿名さん24/05/28(火) 11:33:30
コンピューターくんは機械語っていう言葉しか知らない(よく0と1で表現されるやつ)
その機械語と人間の言語の中間がプログラミング言語
そのプログラミング言語を書くのがプログラマー
リンゴって文字を画面に表示したい ○人間語
↓プログラマーが翻訳
printf("リンゴ") ○プログラミング言語
↓(色々あるけど省略)
💻<010010101…… ○機械語
OK!リンゴって文字を表示するよぉ!
って感じ?もっと図で起こせたらいいんだけどムズいわ - 12二次元好きの匿名さん24/05/28(火) 11:33:30
- 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
- 17二次元好きの匿名さん24/05/28(火) 11:38:38
人間は「近くの果物屋でバナナ買ってきてくれ」で買ってこれるだろ?これは人間の脳はざっくりした説明で手順を構築できるからだ。ところがコンピュータはそうはいかない。ざっくりした説明では何もできない
そこで鉤括弧の部分を細かく具体的に指示するのがプログミング
つまり
変換前→「近くの果物屋でバナナ買ってきてくれ」
を
変換後→「まずは真っ直ぐ歩く→200m先で右に曲がる→果物屋を見つけたらそこで止まる→果物屋に入る→バナナを探す→バナナがあったら手に取る→レジに向かう→バナナの金額の分のお金を用意する→計算してお釣りがあったらその分を回収する→買ったバナナを持って果物屋を出る→来た順を戻る」
にする訳だ - 18二次元好きの匿名さん24/05/28(火) 11:38:47
- 19二次元好きの匿名さん24/05/28(火) 11:39:28
プログラミングそのものについては専門家じゃなくてもわかる
各言語での書き方については専門家じゃないとわからんけど - 20二次元好きの匿名さん24/05/28(火) 11:39:46
日本人は不利だよな
英語圏の人はもうちょっと直感的に理解してそうな気がする - 21二次元好きの匿名さん24/05/28(火) 11:40:23
そら無駄な行数稼ぎはあかんと思うけどそうじゃないなら処理のために必要な行数(手順・命令)が多い=それだけ大変な作業になるんでない?
あと行数そのもので給料決めるってより行数から作業の規模割り出して……って感じが正確じゃないかな
- 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
- 27二次元好きの匿名さん24/05/28(火) 11:44:56
- 28二次元好きの匿名さん24/05/28(火) 11:45:33
colorの綴り見るとアメリカ英語でムカついてないんだろうかイギリス人って思う
- 29二次元好きの匿名さん24/05/28(火) 11:47:42
昔の頭のいい人がそういう翻訳機能を作ったから
- 30二次元好きの匿名さん24/05/28(火) 11:48:00
コンピュータ向けの言語を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
人間が書いた言語からコンピュータが理解できる内容に変換してるから
- 33二次元好きの匿名さん24/05/28(火) 11:48:24
- 34二次元好きの匿名さん24/05/28(火) 11:49:36
しまった半角スペース消されるんだった
- 35二次元好きの匿名さん24/05/28(火) 11:49:37
大学でプログラミングのさわりの部分の授業があって成績もかなり良かったんだが
後日自分で調べた「割り込み」が結局イマイチ理解できずにプログラミングは諦めてしまったな
どうやって割り込んでるかの仕組みが理解できなかった - 36二次元好きの匿名さん24/05/28(火) 11:49:44
- 37二次元好きの匿名さん24/05/28(火) 11:50:18
光の速さでアキネイターやってるようなもんじゃん
- 38二次元好きの匿名さん24/05/28(火) 11:50:40
- 39二次元好きの匿名さん24/05/28(火) 11:50:51
- 40二次元好きの匿名さん24/05/28(火) 11:51:03
- 41二次元好きの匿名さん24/05/28(火) 11:51:12
- 42二次元好きの匿名さん24/05/28(火) 11:53:17
学問ならともかく、実務だとある程度仕組みがわからないところは、そういうもんだと捉えるのも大事
ただし、それやりすぎるとバグのもとになるから、どこまで理解する必要があって、どこからはそういうもんだと捉えるかの線引がむずい
- 43二次元好きの匿名さん24/05/28(火) 11:53:39
でもプログラミングは人類が作ったんやで
- 44二次元好きの匿名さん24/05/28(火) 11:53:42
このレスは削除されています
- 45二次元好きの匿名さん24/05/28(火) 11:54:21
ゲームブックみたいなもんじゃないの
知らんけど - 46二次元好きの匿名さん24/05/28(火) 11:56:08
- 47二次元好きの匿名さん24/05/28(火) 11:56:15
その説明をする前に論理回路を理解する必要がある かなり長くなるぞ
- 48二次元好きの匿名さん24/05/28(火) 11:56:35
公式がマニュアル作ってたり、個人が入門サイト作ってたりもするよ
- 49二次元好きの匿名さん24/05/28(火) 11:57:29
エクセルのマクロとかしか組んだことないわ
- 50二次元好きの匿名さん24/05/28(火) 11:57:30
- 51二次元好きの匿名さん24/05/28(火) 11:58:08
100年以上前に発表された相対性理論が未だに殆どの人類に理解されてないんだからもう早い遅いの問題じゃないと思うんだわ
- 52二次元好きの匿名さん24/05/28(火) 11:59:24
基礎的なのなら今だとchatgptに指示すると以外とどうなってるのか理解できたりする
- 53二次元好きの匿名さん24/05/28(火) 11:59:37
プログラミングチョットデキル
- 54二次元好きの匿名さん24/05/28(火) 12:00:11
- 55二次元好きの匿名さん24/05/28(火) 12:00:37
PCの中身の話とかは電磁気学とかになるんだろうけど
あれ難しすぎ - 56二次元好きの匿名さん24/05/28(火) 12:01:01
ダニングクルーガー効果が最も良く現れている一例
- 57二次元好きの匿名さん24/05/28(火) 12:01:31
- 58二次元好きの匿名さん24/05/28(火) 12:03:18
正直仕組みを理解するところまではやらなくても何とかなるんじゃないかな
道具の使い方さえ覚えてしまえば - 59二次元好きの匿名さん24/05/28(火) 12:04:11
- 60二次元好きの匿名さん24/05/28(火) 12:05:00
スマホとか自動車の仕組み理解してるやつほぼいないと思う
- 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
それこそ
リンクのurlがx.comになってるとtwitterへの埋込リンクにならないのを何とかしてほしい……|あにまん掲示板だけど管理人ちゃんの手を煩わせることはしたくない……というわけで機能自作の時間だおらーbbs.animanch.comでミュート機能の実装とか見るのいいねJavaScript
- 65二次元好きの匿名さん24/05/28(火) 12:11:56
プログラマでも専門分野以外だと謎ってのはよくあるからな
ネット系のプログラマならゲームとかどうやってあんな複雑なことしてるか想像するのは難しいし
100均の電子機器とかそんな性能で良く組めるもんだなとしか言えないようなことしてるし - 66二次元好きの匿名さん24/05/28(火) 12:14:30
TRUEが0とか変な言語が入力ツールとして使われてるの信じられないんだけど
- 67二次元好きの匿名さん24/05/28(火) 12:15:04
- 68二次元好きの匿名さん24/05/28(火) 12:16:37
書いた俺が言うのも何だけど参考にするにはちょっと……
- 69二次元好きの匿名さん24/05/28(火) 12:17:49
このレスは削除されています
- 70二次元好きの匿名さん24/05/28(火) 12:22:39
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
- 74二次元好きの匿名さん24/05/28(火) 12:34:05
- 75二次元好きの匿名さん24/05/28(火) 12:34:49
RSは電子回路の教材として良いよね
- 76二次元好きの匿名さん24/05/28(火) 13:03:31
そこで「0」「1」と数字に置き換えるから理解を拒む人がでてくるんじゃないかな?
他米でも書かれてるが、プログラムについてはYES NOの2択、あるいはデータ全体については色がついている・ついていない2種類のブロックだけで記録してるとかのほうが分かりやすい気もする
- 77二次元好きの匿名さん24/05/28(火) 13:09:17
電気の話から始めないとなんでコンピュータが 0 と 1 しか使わないか説明つかないんだよな
中途半端な電圧は使いづらいという簡単な話なんだけど、その上に論理回路の話や符号化の話が載って、そこでコンピュータの話ができるので長過ぎる - 78二次元好きの匿名さん24/05/28(火) 13:25:49
それじゃパーツのカテゴリ別にヒープみたいなのを記憶空間上に作成してその中からランダム出力してる感じか
- 79二次元好きの匿名さん24/05/28(火) 13:45:00
電子機器なんだから電流が流れてる流れてないの話でシンプルにONOFFだと思うの
- 80二次元好きの匿名さん24/05/28(火) 14:09:32
- 81二次元好きの匿名さん24/05/28(火) 14:12:57
コンピューターくんは素直だから拒否とかしないのよ
「あれやってこれやって」って言えば素直に聞いて実行してくれるの
Aボタン
↓
翻訳機(Aボタンが押されたってことは……)「プレイヤーがジャンプしてって言ってるよ」
↓
コンピューター「OK!ジャンプ!」
ってなる
- 82二次元好きの匿名さん24/05/28(火) 14:14:29
予め「スイッチ押されたらマリオをジャンプさせる」って決めておくわけじゃん?
実際にスイッチ押したら機械がスイッチ押された状態になるわけじゃん?
スイッチ押されたんだから決められた通りマリオをジャンプさせるじゃん?
具体的には画面上の表示を変えたり内部計算上の座標を変えたりするじゃん?
- 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
このあたり機械的な仕組みを説明しようとすると論理回路の話とか長くなるからな
- 88二次元好きの匿名さん24/05/28(火) 16:07:00
最初は人間が手で 01 を入力してたんだ
流石に辛いのでアセンブリ言語っていう CPU の命令と 1 対 1 になるプログラミング言語が作られたわけ
その後はアセンブリ言語に変換するプログラミング言語が出てきたのはご存知の通り
- 89二次元好きの匿名さん24/05/28(火) 16:07:38
暇があればコンピュータのしくみみたいな記事を書きたいなと思ってる
暇があればね - 90二次元好きの匿名さん24/05/28(火) 16:08:40
QiitaかZennに書いて
- 91二次元好きの匿名さん24/05/28(火) 16:14:36
- 92二次元好きの匿名さん24/05/28(火) 16:41:32
- 93二次元好きの匿名さん24/05/28(火) 16:57:22
スイッチ押したらON/OFFが切り替わるよね。
機械的にはスイッチのON/OFFを認識してるだけ。
スイッチをONにするかOFFにするかは人間が考えてるから、人間がやりたい動作をさせるってことで「命令」って言ってる。
- 94二次元好きの匿名さん24/05/28(火) 16:58:34
- 95二次元好きの匿名さん24/05/28(火) 17:01:18
- 96二次元好きの匿名さん24/05/28(火) 17:02:04
- 97二次元好きの匿名さん24/05/28(火) 17:06:00
- 98二次元好きの匿名さん24/05/28(火) 17:09:54
- 99二次元好きの匿名さん24/05/28(火) 17:11:39
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
サンキュースレチの話するなおじさん
- 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
ちょこっと勉強になったよありがとう