プログラムが全くわからない

  • 1二次元好きの匿名さん23/08/05(土) 09:22:53

    そもそも情報分野に対する知識が薄いから基礎から教えてもらいたいんだけどさ、例えばHello worldの表示プログラムってどういう理屈なの?てかプログラムって物理的には電気?

  • 2二次元好きの匿名さん23/08/05(土) 09:24:19

    お前は何を言っているんだ?

  • 3二次元好きの匿名さん23/08/05(土) 09:24:48

    >>2

    おれも何言ってるかわからん

  • 4二次元好きの匿名さん23/08/05(土) 09:25:10

    本屋で子供向けのプログラミングの本でも買って読んだほうがいいんじゃないかしら

  • 5二次元好きの匿名さん23/08/05(土) 09:25:54

    掲示板で教えられる事じゃなくない?

  • 6二次元好きの匿名さん23/08/05(土) 09:26:38

    >>4

    子供向けだとプログラムはコンピュータの言葉だよ!としか説明がないからそのあたりをくわしく知りたい。


    わかった、コンピュータにプログラムがどうやって読み取られてるか知りたいんだ俺

  • 7二次元好きの匿名さん23/08/05(土) 09:26:58

    >>5

    天下のあにまんでもできないことあんの?

  • 8二次元好きの匿名さん23/08/05(土) 09:27:25

    プログラムの書き方というよりはプログラムがなぜ成立するかがわからんってことか
    機械言語でググればヒントになるかも

  • 9二次元好きの匿名さん23/08/05(土) 09:28:07

    その程度の仕組みならググれば出てくるやろ…というか本気で学びたいならこんなとこで聞くな
    黙って本屋に行ってプログラム入門の本でも買え

  • 10二次元好きの匿名さん23/08/05(土) 09:28:22

    >>7

    天下のグーグルに聞くという方法もある

  • 11二次元好きの匿名さん23/08/05(土) 09:28:27

    プログラムは電気だと思うけど、人間が体動かすのに電気信号流すのと同じような感じに思ってればいいのでは

  • 12二次元好きの匿名さん23/08/05(土) 09:30:10

    機械がどう認識してるかなら0と1で合図を送ってそれに合わせて動作させてるわけだけど
    そういう事でなくて?

  • 13二次元好きの匿名さん23/08/05(土) 09:30:57

    0と1だけでなんで計算できるの的なデジタル回路の話をしたいのか、
    それともプログラム言語からコンピュータへの命令に変換する所の話をしたいのか、みたいなのでだいぶ変わってくる

  • 14二次元好きの匿名さん23/08/05(土) 09:32:52

    0と1の信号をデジタル機器が認識してるのは朧気にわかってるんだけどさ、その信号がどうしてHello worldを表示できるのか詳しく教えてくれ。しかもプログラムって0101とか打つんじゃなくてif とかなんか書くんだろ?
    プログラム言語を0101に変えてる方法も教えてほしい

  • 15二次元好きの匿名さん23/08/05(土) 09:32:56

    ハローワールドの表示の理屈とプログラムそのものへの理屈
    それぞれ話が違うから混ぜない方がよくない?と思ったけど
    そこの違いもまだ知らないからそれ含め教えてほしいかんじ?

  • 16二次元好きの匿名さん23/08/05(土) 09:36:44

    >>14

    そこの翻訳を担当してくれる中間管理職がいるから

  • 17二次元好きの匿名さん23/08/05(土) 09:36:52

    >>14

    残念ながらこれに関しては大学の講義15コマでも収まらないくらいなのでこのような掲示板で貴方が納得出来るレベルの知識を得るのは難しいと思う


    一応この辺が参考になるかなぁ


    コンパイラは翻訳ソフト - 苦しんで覚えるC言語コンパイラは翻訳ソフト - 苦しんで覚えるC言語9cguide.appspot.com
  • 18二次元好きの匿名さん23/08/05(土) 09:37:19
  • 19二次元好きの匿名さん23/08/05(土) 09:37:45

    >>15

    たのむ

  • 20二次元好きの匿名さん23/08/05(土) 09:38:25

    見えないものつかうの嫌い!!

  • 21二次元好きの匿名さん23/08/05(土) 09:38:40

    プログラムのスレ画としてそれ選ぶの、本当に何も知らないことが行動に現れててなかなか興味深い
    ちょっとでも齧った人からは出ない発想は貴重

  • 22二次元好きの匿名さん23/08/05(土) 09:38:51

    >>9

    プログラム入門の本は最近だと言語が高級(個人的にこの言い回しは好きじゃないんだが)になりすぎてて、この辺りの理論や歴史はスッ飛ばされることも少なくないからなあ…

  • 23二次元好きの匿名さん23/08/05(土) 09:39:11

    >>20

    酸素吸うなよ

  • 24二次元好きの匿名さん23/08/05(土) 09:39:32

    仕組みって言うか理屈だろ?

    飯食ったらなんでうんこでるのかを知らなかった時期があるようなもんだし
    胃の活動とかを知ればわかるようになるよ

    なにがどういう役割をしてるか知らないだけ

  • 25二次元好きの匿名さん23/08/05(土) 09:42:04

    電気で動くスイッチを作りました(トランジスタ)
    スイッチを寄せ集めていろんな動作をする回路を作りました(フリップフロップみたいな電子回路)
    回路とかを制御して動く仕組みを作りました(アセンブリ言語)
    より人間の言語で理解しやすいプログラム言語を作りました(C言語とか)
    プログラム言語でプログラムを作るプログラム(コンパイラ)やプログラムを制御するプログラム(OS)を作りました

    みたいな認識。合ってるかは知らん

  • 26二次元好きの匿名さん23/08/05(土) 09:44:07

    HellowWorld みたいな文字を処理できるの文字表示を委託する先があって printf はそれを呼び出しているから(stdioってのがそれ)
    端末上で動かした場合はそれが端末の文字表示に紐付けられているから表示されるってのがC言語のレイヤでできる説明かな
    もちろんこの先にはその端末上の文字表示がどうやって実現されているかって話もあるんだが
    全部説明するとむっちゃ長くなるしぶっちゃけ自分も正確な理解はできてねーしほとんどの人もそうだと思う

  • 27二次元好きの匿名さん23/08/05(土) 09:44:44

    プログラム言語自体が何指示してるか分からんってなら
    日本語プログラミング見たら分かりやすいんじゃないか
    とりあえず英語よりは何を指示してるか分かるし

    ハローワールドなら

    指示を開始する
    モニターに「」内の文字を表示:「ハローワールド」
    ここまで

    的な事を指示してて、パソコン等にはその指示をを01に翻訳してくれる存在が組み込まれてるから
    ハローワールドも表示できる的な
    ふんわりbot作るくらいの知識しかないから正しいかはしらん
    プログラム君は最適化だのなんだの度外視したら多少めちゃくちゃでも動いてくれるから好きだよ

  • 28二次元好きの匿名さん23/08/05(土) 09:45:26

    >>27

    プログラムくん割と感覚で動いてくれる時あるよね

  • 29二次元好きの匿名さん23/08/05(土) 09:46:08

    プログラムって日本語あんの!?

  • 30二次元好きの匿名さん23/08/05(土) 09:47:05

    >>28

    逆にどんだけ合ってても気分で動いてくれない日あるよね

    昔廃材でプログラムが動きますように…ってお祈り鳥居作ってる人の話みて分かる…ってなった

  • 31二次元好きの匿名さん23/08/05(土) 09:47:14

    日本語でプログラム組めるおもちゃ…というか
    入門用ソフトみたいなのは中学で触った覚えがある

  • 32二次元好きの匿名さん23/08/05(土) 09:47:23
  • 33二次元好きの匿名さん23/08/05(土) 09:47:40

    >>29

    自分が知ってるのなでしこくらいだけど

    日本語プログラミングは存在するよー

    なでしこ:日本語プログラミング言語なでしこ:日本語プログラミング言語nadesi.com
  • 34二次元好きの匿名さん23/08/05(土) 09:47:44

    >>25

    電気で動くスイッチを作りました(トランジスタ)

    スイッチを寄せ集めていろんな動作をする回路を作りました(フリップフロップみたいな電子回路)

    回路とかを制御して動く仕組みを作りました(アセンブリ言語)

    ここまではわかる。リレーとかPLCとかもあるからわかる



    こっからわからん

    より人間の言語で理解しやすいプログラム言語を作りました(C言語とか)

    プログラム言語でプログラムを作るプログラム(コンパイラ)やプログラムを制御するプログラム(OS)を作りました

  • 35二次元好きの匿名さん23/08/05(土) 09:50:23

    >>29

    調べたらオランウータン用のプログラム言語もあるらしい

    同じサルなんだから日本猿向けの言語もあるやろHAHAHAなノリかもしれない

  • 36二次元好きの匿名さん23/08/05(土) 09:52:57

    >>34

    より人間の言語で理解しやすいプログラム言語を作りました(C言語とか)

    →01機械語をより分かりやすい翻訳辞典が出来たみたいなもん


    プログラム言語でプログラムを作るプログラム(コンパイラ)やプログラムを制御するプログラム(OS)を作りました

    →指示したらとってこいやお手ができるよう躾した犬をご用意したみたいなもん

  • 37二次元好きの匿名さん23/08/05(土) 09:53:33

    >>34

    コンピュータは英語しか分からない人だと思ってくれ

    逆に我々は日本語しか分からない

    英語をアセンブリ、日本語をC言語に置き換えてもらうと分かるかな

    コンパイラは通訳みたいな感じ

  • 38二次元好きの匿名さん23/08/05(土) 09:54:32

    とりあえずこれで遊んだら良さそう

    https://www.nintendo.co.jp/switch/awuxa/

  • 39二次元好きの匿名さん23/08/05(土) 09:55:03

    その基礎理解してるプログラマどのぐらいいるんだろうな 単にコーディングを理解するだけならもうその基礎スルーしてモノ作るのが手っ取り早いんだけど、根底を理解せずにいるのが気持ち悪いのもまぁわかる

  • 40二次元好きの匿名さん23/08/05(土) 09:56:26

    >>37

    あーわかってきたかもしれない。単語が新しくポンポン出てくるからこんがらがってきたんだわ

  • 41二次元好きの匿名さん23/08/05(土) 10:05:05

    機械言語→コンピュータが理解できる命令(ハローワールドを画面に表示しろみたいな)。
    コンピュータはONとOFFの2状態しかわからないので、全て二進数で書かれるので人間にはまず読めない

    プログラミング言語→機械言語を人間が読めるように翻訳したもの

    コンパイラ→プログラミング言語で書かれた命令を実際に翻訳してコンピュータが理解できる命令にしてくれる人

  • 42二次元好きの匿名さん23/08/05(土) 10:08:19

    >>39

    大学でちゃんと情報科学やってないと知らんと思う


    普通にhttpsの暗号通信の仕組み知らんエンジニアとかおるし

  • 43二次元好きの匿名さん23/08/05(土) 10:12:06

    0と1の並びがなんで計算機になるのかって原理の話ならチューリングマシンとかで調べればいいのかな

  • 44二次元好きの匿名さん23/08/05(土) 11:17:40

    こち亀のパソコン回を読め

  • 45二次元好きの匿名さん23/08/05(土) 14:22:15

    浮動ゲートを用意して
    トンネル効果で電子ブチ込んで
    そうすると電流の流れやすさが変わるから
    それで01を記憶して置けるのはしってる

  • 46二次元好きの匿名さん23/08/05(土) 14:36:55

    プログラミングとしては結構低レベル層(内容の程度が低いというわけではない)の内容なのでちゃんとしっかりした本に当たるのがいいかもしれんね ネットではあまり情報が転がってなさそう

  • 47二次元好きの匿名さん23/08/05(土) 14:40:00

    そこいらについて詳しく載ってるのはどちらかというとコンピュータアーキテクチャの本が詳しいかな?

  • 48二次元好きの匿名さん23/08/05(土) 14:42:44

    適当なバイナリエディタであいうえおとかABCってテキストを開いてみると
    機械語をちょっと理解できてちょっとワクワクするぞ

  • 49二次元好きの匿名さん23/08/05(土) 14:55:07

    確かそういうのを理解するのに丁度いい教材なかったけ?
    16bitアセンブラシミュレーターとかいう奴

  • 50二次元好きの匿名さん23/08/05(土) 15:51:51

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

  • 51二次元好きの匿名さん23/08/05(土) 16:50:16

    >>48

    それで機械語は理解できないと思うが…

  • 52二次元好きの匿名さん23/08/05(土) 16:57:58

    >>49

    それは見つからんかったけどsteamでNANDからCPUをくみ上げてさらにそのCPUからアセンブリ言語までもっていくシミュレーションならあるみたいね

    Turing Complete on SteamLearn CPU architecture with puzzlesstore.steampowered.com
  • 53二次元好きの匿名さん23/08/05(土) 17:13:59

    なんで動いてるのか分かるのってプログラマーでも極少数だろ
    結構ハイレベルな内容

  • 54二次元好きの匿名さん23/08/05(土) 17:20:07

    俺らが指を動かそうとしたらどう言う理屈で指が動くか理解してる奴はそうそうおらんのと一緒や

  • 55二次元好きの匿名さん23/08/05(土) 17:25:37

    1と0だけでも以下のようなことは指示できる
    1や0を入力する
    1や0を出力する
    1や0を移動する
    1や0をコピーする
    1や0を削除する
    1や0を比較する(=)
    1や0を加算減算する
    1や0を代入する(Xとは101と仮定すれば1をX(101)に代入可能) 等
    hello worldなんかのソースコードを字句単位に分解して構文規則やプログラム仕様なんかに沿って上記みたいな処理に変換する
    ざっくりこんな理解だけど基盤は専門じゃないから間違ってるかも

  • 56二次元好きの匿名さん23/08/05(土) 17:39:05

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

  • 57二次元好きの匿名さん23/08/05(土) 17:44:34

    俺は生物屋だからなんで指が動くかとかは説明できるんだ
    もしかしてコンピュータも電気的な外部刺激さえあればカエルの足みたいに出力できるのか?

  • 58二次元好きの匿名さん23/08/05(土) 18:10:04

    >>57

    ディスプレイを電気的な外部刺激で光らせたりはできる

    特定の画素に電圧をかけて文字を出力することもできる

  • 59二次元好きの匿名さん23/08/05(土) 18:15:02

    マイクラでゲーム作るYouTubeとか最初から見れば理解できるかもしれない

  • 60二次元好きの匿名さん23/08/05(土) 18:24:21

    命令を与えると動くのは分かる なんで命令を与えると動けるのか?は確かに難易度高い気がする、いや全然ほとんど何もしらねぇ…

  • 61二次元好きの匿名さん23/08/05(土) 18:36:31

    こういうのがプログラミング言語
    そんでこれをコンパイルするとコンピュータが理解できるようになる

    そのコンパイルが分からないってことか?

  • 62二次元好きの匿名さん23/08/05(土) 19:14:10

    コードは適当
    プログラミング言語
    if (a ==10) { xxx }
    アセンブリ言語
    mov a,%eax
    cmp $0xa,%eax
    jne …
    機械語
    8B45F483F80A750F…

    機械語はバイナリだけど、2進数だと桁数が多くなりすぎるから普通は16進数で書くぞ
    機械語も命令コード+パラメータでできてるから人間が見て全く分からないこともないんだけど、複雑なプログラムを人間が書くのは無理ゲーやから機械語と一対一に対応させたアセンブリ言語が作られたんや
    アセンブリ言語を機械語に変換するプログラムができるまでは全部人間が機械語でコーディングしてたわけやな(最初から機械語で考えるのは無理ゲーだから、独自に変換表を作ったりして人力アセンブルしてた)

オススメ

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