- 1 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 00:13:54 ]
- これからプログラミングを始める初心者の人に言語を薦めるスッドレ
質問者の方へ どのプログラミング言語を最初に覚えるべきかは なぜプログラミングを始めたいのか、何を作りたいのかによってまったく変わってきます。 なんとなく、でもかまわないので動機、用途、使っているOSを明記しましょう。 各言語の特徴はこちらを参照 Wikipedia Category:プログラミング言語 ja.wikipedia.org/wiki/Category:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E Part7 pc11.2ch.net/test/read.cgi/tech/1200807067/ Part6 pc11.2ch.net/test/read.cgi/tech/1193132235/ Part5 pc11.2ch.net/test/read.cgi/tech/1187886538/ Part4 pc11.2ch.net/test/read.cgi/tech/1177285633/ Part3 pc11.2ch.net/test/read.cgi/tech/1152778344/ Part2 pc8.2ch.net/test/read.cgi/tech/1122205164/ Part1 pc8.2ch.net/test/read.cgi/tech/1034505166/
- 880 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:23:27 ]
- >>877
レッテルがデタラメすぎてワラタ
- 881 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:30:49 ]
- >>879
Googleよりも300倍すごく、 GEよりも3000倍弱い
- 882 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 02:33:29 ]
- 今時、前世紀の遺物vi何か使ってるなんて、アホかいな!
- 883 名前:デフォルトの名無しさん [2008/05/13(火) 03:35:35 ]
- いやemacの拡張ってlispっていう言語がわからないと弄れないんでしょ敷居たかいよ
とにかく悩む前に行動がいいみたいだな言語ひとつ覚えちゃえば応用きくみたいだし
- 884 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 04:06:49 ]
- Notepad.exeで十分
- 885 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 05:25:42 ]
- 統合環境についてるエディタでいいよね…。良いって言ってよ。
- 886 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 06:07:59 ]
- >>885
あんたがそれでいいなら、いいんじゃない?
- 887 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 06:18:46 ]
- だね。
- 888 名前:839 mailto:sage [2008/05/13(火) 06:42:33 ]
- 使いやすいかどうかより慣れてしまった方が良いということでしょうか?
- 889 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 06:51:48 ]
- 自分が使いやすいの使えばいいんじゃない。
- 890 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 07:26:38 ]
- 自分で作るという選択肢もあるのかもしれない。
- 891 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 11:54:10 ]
- 自分で作るにしても、そのプログラムを書くエディタは必要だ
- 892 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 12:00:38 ]
- emacsとvimは過去の資産がバカみたいにあるから
web検索する能力があれば簡単に使いこなせるようになるよ
- 893 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 13:12:24 ]
- プログラミング初心者にお勧めのエディタという物は特にありません。
統合環境を使うつもりなら付属のエディタを使って下さい。 Winの場合、テキストエディタで直で起こすつもりなら、シェア、フリー問わず ある程度有名なエディタなら大抵プログラミングの支援機能がついてます。 シェアウェア:秀丸エディタ、EmEditor.....etc フリーウェア:サクラエディタ、MKEditor、TeraPad、VxEditor、Apsaly、無印エディタ....etc UNIXでよく使われているエディタの移植、Emacs系、Vim系は 使いこなせれば高機能を発揮できますが、そこに至るまでの学習コストも高いです。 使う場合はそれを覚悟して下さい。 これ以上エディタについて語りたい場合は、こちらへ pc11.2ch.net/test/read.cgi/prog/1160200777/
- 894 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 13:26:41 ]
- LinuxならKWrite。WinならNotepad++お勧め
- 895 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:25:40 ]
- うぁぁ、レスポンス度外視の満艦飾アプリが来た〜
- 896 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 04:06:47 ]
-
◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催 system-trading.jp/news/index.php?cID=3 5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。 デモトレードの優勝者には賞金三百万円がプレゼントされます。 ▼トレード部門 初期資産500万円で、デモ取引のトレード収益を競っていただきます。 www.fx-gp.com/about/ ▼賞金総額 ■社長特別賞(シストレソフト買取価格) 10,000,000円 ●シストレソフト部門賞 1位300万円 2位100万円 3位50万円 ●トレード部門賞 1位300万円 2位100万円 3位50万円 ●前期MVP賞 50万円 ●後期MVP賞 50万円
- 897 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 17:38:08 ]
- 今時コーディングにIDE使わない奴は低能
- 898 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 19:22:11 ]
- 年取ると新しい環境に対応できないんだろ
ボケの始まりだな
- 899 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 19:29:40 ]
- PowerShell Plusでシェルスクリプト書きながら
.NETのクラスや変数に突っ込んだXMLのノードを補完できるのを見て時代は変わったと思ったよ。
- 900 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:49:03 ]
- >>838>>840
そのあとに言語の特徴でも書こうか迷って、点だけ打って終わったの。
- 901 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:56:19 ]
- >>897
TTY接続上でも動作するなら使う
- 902 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:59:05 ]
- IDEの補完ってMS製言語の一部を除けば貧弱すぎるし…
- 903 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 22:18:17 ]
- >>902
M$様が殆どの特許お取になってるし 都度使いやすいものについて チェックと法的措置をちらつかせるから 誰もやらない
- 904 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 22:32:17 ]
- ここにいる人たちはテキストエディタでばりばりコーディングして
コマンドからコンパイルしてると勝手に思い込んでた
- 905 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 22:35:31 ]
- 失礼な
makeぐらい使ってますよ
- 906 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:24:17 ]
- パンチカード抱えて計算機センターまで通ってます。
- 907 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:39:38 ]
- おもろないわ。
- 908 名前:デフォルトの名無しさん [2008/05/14(水) 23:41:58 ]
- アセンブラについて質問です
まず、アセンブラとは最終的にコンパイラを用いて機械語になおすためのもので、 C言語などと同じく、人が比較的簡単にプログラムを組むためにあるものですよね そして、C言語に比べて簡単な言語であるが、複雑な命令をするのには向かない言語と考えていいのでしょうか また、機械語というのは例外なしで0と1の数字の組み合ですよね となると、逆アセンブルをかける対象もまた0と1で組み合わせられた機械語ということになると思うのですが 自分は今まで0と1で構成されているファイルなどを見たことがないのです 例えば、自分がまったくわからない言語のファイルを見つけたとき、それを自分が理解できる形にしたい そういったときに、その言語のわからないファイルをいったん機械語に直し、さらに逆アセンブラをかけアセンブラに直すということになるのですか? 最後に、先ほどもいったように、自分は今まで0と1によって構成されているファイルをみたことがありません というか、多分そうなると莫大な数の数字が並んで、かなり重いファイルになってしまうと思うのですが まず今流通しているファイルは殆どが人間語(?、Cやアセンブリ言語など)で構成されており、実行プログラムを介して自動的にコンパイルされ機械語になおされると考えてもよいでしょうか? 回答よろしくお願いします (アセンブラ=アセンブリ言語)
- 909 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:47:06 ]
- 実行ファイルは機械語で書いてある
- 910 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:47:16 ]
- exeやDLLの主要部分は機械語。ヘッダや中身に人間語が含まれることはある。
- 911 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:48:35 ]
- >>908
>自分は今まで0と1によって構成されているファイルをみたことがありません あなたが見たファイルはすべて0と1によって構成されています。
- 912 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:49:02 ]
- 0と1っていうのは…まあ、ああいうのは説明も悪いなあと思ったことはある
ビットとバイトについて学ぶと何かわかるかも
- 913 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:50:21 ]
- バイナリエディタで開いても、16進で表示されるしな。
- 914 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:52:19 ]
- いいえ、10進表示のバイナリエディタもあれば、8進表示のバイナリエディタもありますね。
- 915 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:54:31 ]
- 厳密には0と1「ではない」のがややこしいかもしれん
計算が楽だから0と1という概念を使ってるだけで、 0という文字と1という文字がどこかに刻み付けられているわけではない
- 916 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:54:39 ]
- > そして、C言語に比べて簡単な言語であるが、複雑な命令をするのには向かない言語
簡単とか複雑というのが、人間が作業する場合の話なのか、コンピュータ側にとってなのか、 それとも言語自体の文法とかのことなのかで意味が違うだろう。
- 917 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:59:49 ]
- >>908
昔々は、機械語で書かれた命令(0と1の羅列)を 人間が手打ちしていたらしいんだが、あまりにもやりにくい そこで「じゃあ機械語の命令に分かりやすい名前(ニーモニック)を付けて、 それを機械語に変換するようにしたら良くね?」ということで考えられたのがアセンブリ言語 アセンブリ言語と機械語は表裏一体。互いに一対一で対応している add命令は00110とか。今の数字は適当だけど だから逆アセンブルとかアセンブルってのは容易。人間の手作業でもできるぐらい
- 918 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:03:08 ]
- >>916
大昔、ファミコンの開発を手伝ったとき、16bitのCPUの経験があるって言ったら、 6502(ファミコンのCPU)は命令が少なくて簡単だろって言われたなぁ。 実際は逆で、命令少ないからパズルちっくになって、むずかしかった。
- 919 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:05:44 ]
- >>918
インストラクションが多いCPUを見ると、DSLに見えてくる。
- 920 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:13:46 ]
- 今だとLISPで似たような経験ができるな
全部の処理は数個のプリミティブな処理の組み合わせで表現できるが自前でそれはめんどくさい、みたいな
- 921 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:17:18 ]
- >>908
実際全てのファイルは0と1で構成されてるよ、貴方にそう見えないようにパソコンに見せられてるだけで。 写真も音楽も動画もプログラムも全てね。だから重くなったり軽くなったりはしない。 知らない言語のソースファイル見つけてもコンパイルして逆アセンブルかけることはあまりやらないと思う。 今流通してるプログラムはコンパイラでソースファイルから機械語プログラムにコンパイル済みであると考えてよいと思う。
- 922 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:18:58 ]
- 命令が多くても、実際には複雑な命令は重いので使わない、
とかもあるから難しい所だ。
- 923 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:40:17 ]
- 0と1ではないよな、確かに
便利だから0と1になってるだけ 2つの状態であるという意味しかない ONとOFF
- 924 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:43:32 ]
- 2進数は0と1だ
- 925 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:45:33 ]
- 電圧が高いか低いか
- 926 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:49:03 ]
- まあ、物理的なレイヤーで見たら電圧の問題かもしれんけど。
- 927 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 01:54:52 ]
- スレッショルド云々な
電子回路めんどくさす
- 928 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 02:02:42 ]
- ハードもソフトも、非同期パラレルが今の流行り。
- 929 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 08:13:53 ]
- うせろよお前ら
- 930 名前:908 [2008/05/15(木) 17:48:16 ]
- 多くの回答をいただいたのに返信がおくれてしまいました、ありがとうございます
0と1でのファイルを見たことがないというのは、眼に見える形で0と1で書かれているものを見たことがないという意味です つまり、そのファイルをクリック、もしくはtxtに直してからみたときには、アセンブリ言語、C言語など、比較的わかりやすい言語で書かれているので ファイルというのはすべて、実行プログラムを通して起動(?)する瞬間までは、コンパイルされていない人間語(プログラム言語?)の状態にあるのではと思い質問させてもらいました 最終的にコンピューターでの操作は機械語でなされていて、例えば今自分が書き込んでいるこの文字も これが掲示板に反映される段階や、入力の段階では日本語ですが、実際は機械語(0、1)で書かれているというのも一応理解しているつもりです。 >>910 人間語=日本語や英語 機械語=0と1、C言語やアセンブリ言語ということでしょうか? 今回>>908では、 機械語=0,1(コンピューターが理解できる言語) 人間語=人がプログラムを作る段階でもちいる言語(アセンブリ、C) とさせていただきました。 人間語という表現が、会話に使う言語と捉えられてしまい、御幣だったようです。
- 931 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:05:17 ]
- >>930
×御幣だった ○語弊を招いた 一般的に、実行モジュールは(所謂)機械語で書かれている。 それは、*.exeも*.dllも同じ。 コンピュータが扱うデータは全て、0と1で表されると言うのは正しい。 その点では、文字も全て0と1で表し得る。 しかし、それは単に「全ての数は2進数で表現できる」のと同じ程度のこと。 音声や画像の場合も同じように0と1で表現できるが、こちらは文字と違い単純には視覚化できない。 文字の場合は、比較的簡単に視覚化できると言うことが違うだけと言ってもいい。 さて、プログラミング言語の場合はどうか。 これらは単純に人間が読み書きしやすい形で「プログラム」を表現するためにある。 しかし、CPUがそれを実行時に一々解釈していたのでは埒が明かないので、コンパイルするわけだ。 コンパイルされて出来上がったもの、すなわち実行モジュールと言うこと。 アセンブリ言語の場合も、コンパイラの代わりにアセンブラを使うと言うこと以外たいした違いはない。
- 932 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:22:51 ]
- >>930
>ファイルというのはすべて、実行プログラムを通して起動(?)する瞬間までは、 >コンパイルされていない人間語(プログラム言語?)の状態にあるのではと思い質問させてもらいました それじゃあインタプリタだ。 拡張子が「c」で中身がC言語のファイルを、拡張子「exe」に変えても実行も起動もできない、実行時に自動的にコンパイルとかもない。 >機械語=0,1(コンピューターが理解できる言語) >人間語=人がプログラムを作る段階でもちいる言語(アセンブリ、C) >とさせていただきました。 じゃなくてそれでいい。
- 933 名前:908 [2008/05/15(木) 18:25:21 ]
- >>931
回答ありがとうございます どうやら、自分は実行プログラムとそうでないものそれぞれの定義があいまいだったようです そこは一先ず置いといて、 >文字も全て0と1で表し得る ということは、0と1ではないとコノピューターが理解できない、つまり、機械語=0,1というわけではなく 0,1の二進数というのはあくまで機械語の一種でしかないということでしょうか? 今まで、最終的にコンピューターが理解する言語は、何のプログラム言語が元であろうと0,1だと思っていたのですが また、最後の5行については 「実行プログラムを通して解釈する、(つまり実行プログラムを起動した際にコンパイルする)のではなく 予めコンパイルをすませているファイルを実行プログラムが読み取る」 ととってもよろしいでしょうか ちなみに用語はwikiで調べています ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E8%AA%9E こちらが機械語についての項目なのですが、こちらを見て 機械語は2値(=0,1)のことであると解釈していました あとでもう一度読み直してみます。
- 934 名前:908 [2008/05/15(木) 18:29:26 ]
- >>932
ありがとうございます つまり、簡単にいうとC言語やアセンブリ言語をどれだけ見事に構成しファイルを作り上げても コンパイルし機械語になおさなければ、ただの文字の羅列、意味のないものということでしょうか
- 935 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:40:14 ]
- >>934
うん
- 936 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:41:40 ]
- >0,1の二進数というのはあくまで機械語の一種でしかないということでしょうか?
全然違う。これは、データをどう表現するかということだけ。 つまり、あんたと私が0と1だけで会話を成立させることもできる。 # 恐ろしく不便ではあるが。 先ずは、2進数と言う表現に固執した考えを捨てろ。 >「実行プログラムを通して解釈する、(つまり実行プログラムを起動した際にコンパイルする)のではなく >予めコンパイルをすませているファイルを実行プログラムが読み取る」 これもおかしい。 実行プログラムは、機械語が書き込まれているファイルのこと。 それをどう実行するかは基本ソフトウェアであるOS次第。 プログラムには概ね入力と出力があるわけだが、その辺りも理解できていないように感じるので例を挙げておく。 プログラムの種類 入力 出力 コンパイラ プログラム言語の書かれたファイル 実行ファイル 画像表示ツール 画像の書かれたファイル 画面表示 テキストエディタ 既存ファイルと文字入力 テキストファイル OS キーボード、マウス、ディスクなど諸々 画面、ディスクなど諸々
- 937 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:46:07 ]
- 適当なデータファイルがあったとして、そいつのデータをCPUに順に食わせてやったときに
何か意味のある結果が得られればそいつは実行ファイルだろw つーか、お前らスレ違いだ。
- 938 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:46:11 ]
- 長文を書き込む前にリロードしたい。
- 939 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 19:34:34 ]
- 次スレのテンプレに入れといて
vipprog.net/wiki/which_lang.html
- 940 名前:908 [2008/05/15(木) 20:04:26 ]
- ありがとうございます
一つ目についてですが ーーーーーーー wikipedia-機械語 実用化され、普及しているコンピュータのほとんどは、機械語及びファイルを2進数データの組合せで論理的意味を持ち、 機械語でかかれたプログラムファイルを2進数を4bitずつ16進数に変換して表示すると、かろうじて認識が出来る状態になる場合が多い。 ーーーーーーー とあるのですが、やはりこれを見ると、コンピューターの実行ファイルは2進数によって構成されていて、 16進数に変換する=機械が読み取れる言語ではなくなるが、人にはある程度理解しやすくなる と取れると思うのですが、どうなのでしょうか、つまり「二進数は機械語」「16進数もC言語も人間語」ということを言っているように思えてしまいます よろしければ、具体的な機械語を簡単でもよいので書いてもらえれば、わかるかもしれません
- 941 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:26:27 ]
- 配信打開おめー
ぽこおつ
- 942 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:26:49 ]
- 誤爆スマソ
- 943 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:27:17 ]
- ググって適当に見つけてきたぞ。
ttp://ant0x.udap.jp/material/mat_ExeFile.htm 2進数ではかかれてないけど16進数でもいいだろ?
- 944 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:32:40 ]
- >>940
結構勘違いしている人が多いんだけど、そもそも「進数」っていうのは、 ある値を「どう表記するか」の違いでしかないんだよ。 たとえば、1ダースのリンゴがテーブルの上にポンポンポンと置かれているのを思い浮かべてくれ。 そのリンゴは2進数? 10進数? 16進数? もちろん答は「リンゴの数に進数なんか無い」。 そのリンゴ達は、2進数なら1100個、10進数なら12個、16進数(を0-9A-Fで表記した場合)ならC個に なるというだけの話だ。 だから「16進数に変換する」というのは、0と1(あるいは無と有でも何でもいいけど)を4つずつまとめて 1つの数値として表記していく、ということであって、値のほうをどうにかすることではないんだよ。 「12個のリンゴを16進数に変換する」ところを想像してくれ。それは、リンゴをどうにかする行為か?
- 945 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:51:59 ]
- >>940
掲示板で聞くだけじゃなくて実際にやらなきゃ理解できないですよ。 機械語といっても機械が言葉を理解するわけないんだけど..わかってますか? とりあえず『CODE コードから見たコンピュータのからくり』を読んでから 『独習アセンブラ』読んで勉強しゃさい。
- 946 名前:908 [2008/05/15(木) 20:59:02 ]
- 回答ありがとうございます
>>944 2進数を10進数、10進数を16進数で、更に言うと、2進数をC言語などで表すこともできる C言語で表記したとしても、同じ意味を持たせることができる、というのはわかるのですが 機械が理解できるのは、やはり「二進数」に限られるのでは? 例えば、C言語と2進数が同じ内容を表すことができるといっても、 C言語や16進数で書いたファイルをexeなどの実行プログラムとすることはできないのではないか、という質問をさせていただいています
- 947 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:59:16 ]
- もしかして、2進数、16進数の意味もわかってないんじゃないかと・・・
- 948 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:06:35 ]
- >>946
> 機械が理解できるのは、やはり「二進数」に限られるのでは? >>925と同じことを言うようだけど、機械が理解できるのは「低い電圧」と「高い電圧」だけ。 > C言語や16進数で書いたファイルをexeなどの実行プログラムとすることはできないのではないか、という質問をさせていただいています 「16進数で書いたファイル」というこの表現は、進数がわかっていない人間しか書かないんだよ。
- 949 名前:908 [2008/05/15(木) 21:09:25 ]
- 機械が理解
というのは確かに少しおかしいかもしれません んー・・・機械が二進数でこのような組み合わせがきたらこう実行すると定義付けているといった感じでしょうか 例え二進数を様々な言語で表すことができ、それぞれ法則ができあがっていたとしても(2:1011⇒16:Bのように)、それを理解しているのは人間だけ あくまで機械の中で定義付けられているのは、0と1についてのみ というのが自分が調べて得た考えなのですが
- 950 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:11:50 ]
- >>949
> 例え二進数を様々な言語で表すことができ、 「○進数を×で表す」という考え方がおかしいの。 「○を×進数で表す」というのが、進数というものの存在意義であり、使い方。
- 951 名前:デフォルトの名無しさん [2008/05/15(木) 21:17:56 ]
- >>950
しかしある言語を二進数で表すことができるということは 逆に二進数をある言語に表す、というか直すということもできるということですよね 表現はおかしいかもしれませんが、結局949でいいたいことは、 二進数と他の言語がそれぞれ同じ意味を持つことはできるが、しかし 機械の中では、二進数で書かれたものしか読み取れないのでは ということです、
- 952 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:18:47 ]
- >>950
コンピュータの仕組み ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061220/257441/?ST=system とりあえずここら辺読んどけ
- 953 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:22:22 ]
- ・10110000 01100001(2進法表示)
・B0 61(16進法表示) ・MOV AL, 61(アセンブリ言語) 上二つは表示方法による違いでしかないんだってば、バイナリレベルで見たら一緒。 バイナリエディタってのを探してダウンロードしてきて、適当なプログラムを読み込んで表示させると理解が早いかも。 リアルタイムで逆アセンブルして表示するプログラムってのは無いと思う。 それとメモ帳開いて「0」と「1」という数字を用いて、「0」と「1」という数値のつもりで機械語プログラムを書いても実行することはできないよ。 数値と数字の違いを知るといいかも。 メモ帳で2進法に使われる「0」と「1」をいっぱい書いたファイル作って、バイナリエディタで読み込んで見てみそ、 あと同じ様にメモ帳で16進法に使われる「0〜F」をいっぱい書いたファイル作って、やっぱりバイナリエディタで読み込んで見る。
- 954 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:22:32 ]
- 非常に簡単でいい加減な具体例を書いておこうか。雰囲気だけでも
二つの値を足して、その結果を返すCの関数 int add(int a, int b) { return(a+b); } これは、コンパイラでアセンブリ言語に変換するとこうなる (Borland C++ Compiler 5.5の場合) push ebp mov ebp,esp mov eax,dword ptr [ebp+8] add eax,dword ptr [ebp+12] pop ebp ret さらにこれを機械語に変換したものを16進数表記すると 55 8b ec 8b 45 08 03 45 0c 5d c3
- 955 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:23:51 ]
- >>951
「○進数で書かれた〜」という考え方がそもそもおかしいって言ってるのに、 なんでそこで粘るんだよw
- 956 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:26:06 ]
- >>954
ついでにソースコードも16進表記してあげたほうがいいと思う。 908にまず必要なのは、その辺の認識じゃないかと。
- 957 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:29:41 ]
- 人間はどうしたって自分の中のルールというかものさしというか、
その枠の中でしかものを考えることができないということだ バカという人種はその枠が極端に絶望的に狭い
- 958 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:31:52 ]
- ちっちぱん ちっちぱんぱん
- 959 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:32:44 ]
- >> 953
> それとメモ帳開いて「0」と「1」という数字を用いて、「0」と「1」という数値のつもりで機械語プログラムを書いても実行することはできないよ。 ああ、なるほど。 言われてみれば、>>908はそういう理解してそうだな。
- 960 名前:908 [2008/05/15(木) 21:33:30 ]
- すみません、折角たくさんの回答をいただいたのですが、色々な情報が混ざってしまって余計にわからなくなりそうですので、
サイトなどをみて、自分で調べてみます。 >>952にあるサイトをみても、「機械が読み取れるのは二進数」という自分の考えが間違っているようには思えませんし、 失礼な言い方ですが、ここで回答された情報がすべて正しいという保障もありませんので おそらく自分の聞きたい内容と、皆さんが受け取った自分の質問内容が若干ずれているんだと思います スレを読み直していくと回答者の中でも意見が食い違っていますし
- 961 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:33:42 ]
- debug.exeの出番だな
- 962 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:42:00 ]
- >>960
がんば
- 963 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:53:14 ]
- >>960
結局、 「機械が理解できるのは2進数だけですよ」 って言ってもらえれれば満足なんでしょ?
- 964 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:55:39 ]
- >>960
お前は挫折する だから頼む 挫折したそのときは決して2chに戻ってくるな 荒らしたり、粘着するな
- 965 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:00:37 ]
- メモリ内では2進(のシグナル)状態でプールされてるってことを言いたいのでは
- 966 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:07:15 ]
- CPU はむしろレジスタサイズでしか理解できないんだが
- 967 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:09:49 ]
- 表示が0と1しかないバイナリエヂタを作ってやれば納得してくれそう
- 968 名前:デフォルトの名無しさん [2008/05/15(木) 22:10:10 ]
- >>おそらく自分の聞きたい内容と、皆さんが受け取った自分の質問内容が若干ずれているんだと思います
これがわかったので書き込みます ここで後半言っていた二進数というのを1,0といえばわかってもらえるでしょうか 表現の方法などは関係なく、あくまで1、0というのが何度も述べているように「機械が理解できるコード」であるのか と聞いていたのです。 とはいえそれについても否定はされていたのですが 回答はいりません、それを正しいかどうか判断できないので、取りあえず自己完結しておきます。 今回はただお互い何か有耶無耶なまま終わってしまうのもあれなので書き込みました
- 969 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:16:26 ]
- >>925
- 970 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:20:28 ]
- そうね。2進数ではなく、電圧の高低でしか読み取れない(ってのもちょっと違うか?)って
書き方の方が良かったかもね。
- 971 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:23:56 ]
- >>908はコンピュータ云々の前に電子回路を理解するべきだと思った
- 972 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:27:01 ]
- 厨房やオッサンが覚えたてでよく理解してない単語を使って失敗するパターンだったな
- 973 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:28:36 ]
- 960の最初の2行だけにしといて、引っ込んでおけばよかったのにな。
- 974 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:31:17 ]
- >>968
>スレを読み直していくと回答者の中でも意見が食い違っていますし あまりにも常識的すぎる事で、誰も間違ったことは言っちゃいないよ。 これよんどけ。プログラミングを志す人に必ずしも必要とは思えないが、あんた向けだな。 www.amazon.co.jp/CPU%E3%81%AE%E5%89%B5%E3%82%8A%E3%81%8B%E3%81%9F-%E6%B8%A1%E6%B3%A2-%E9%83%81/dp/4839909865
- 975 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:33:39 ]
- 内容はまともそうだが、表紙がヒドイなw
- 976 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:35:45 ]
- 断片的で不正確なネットで聞きかじるより体系的に学んだ方が手っ取り早いと思うけどな。
俺はその手の基礎知識は やさしいコンピュータ科学 Great Ideas In Computer Scienceで学んだな。 今ならもっと今風の本があるのかもしれないけど。
- 977 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:41:33 ]
- まず「プログラムはなぜ動くのか」とかをすすめたいような
なかなか良書
- 978 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 23:08:37 ]
- 謙虚に学ぼうとしています、という態度をとりつつ、
自分の浅はかな頭で思いついた「独自設定」に手を入れる気はまったく無い人、 たまにいるよな。
- 979 名前:936 mailto:sage [2008/05/15(木) 23:08:44 ]
- 書いたことを全く理解してもらえなかった俺涙目。
- 980 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 23:11:08 ]
- 分数の1/2と小数の0.5は違う値かと言えば
908もこれは同じ値だと思うに違いない。 944が言っていう進数の違いは表記の違いでしかないということと 近い例をあげるとしたらこれだと俺は思っている。
|
|