[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 17:51 / Filesize : 63 KB / Number-of Response : 307
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]
|
↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました |
【超高速】C/C++に代わる低級言語を開発したい 2
- 1 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 09:24:04 ]
- 70年代、Cは生まれ、それから30余年、現代においてもなお、低レベルなシステム開発に広く使われている。
しかし、2010年の今、もしもCが発明されていなかったとして、低レベルなシステム開発のためのプログラミング言語を 新たに作るとしたら、Cとは違う言語になるだろう。少なくとも、全く同じにはならないはずだ。 そこで、このスレッドでは、 低レベルなシステム開発のためのプログラミング言語 を一から考えたい。 既存の言語を使って何かをすることが目的ではなく、新たなプログラミング言語を考えることが目的であるから、 「既存のXX言語を使えばいい。」という類の発言は無意味である。 「既存のYY言語のZZ機能は、WWと言う点で有用だから採用したい。」という発言は歓迎だ。 現代の一流のプログラミング言語研究者が、最先端の研究成果を盛り込んで、 一から低レベルなシステム開発のためのプログラミング言語を作るとしたら、どのような言語になるだろうか、 という観点で考えたい。 ◆前スレ 【超高速】C/C++に代わる低級言語を開発したい pc12.2ch.net/test/read.cgi/tech/1268843875/
- 115 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 16:35:45 ]
- >プログラマーの言語仕様の学習不足によるヒューマンエラーを最小限にするために、
そんなコンセプトじゃ無いだろ。 第一、言語仕様が小さいからといってヒューマンエラーが減るわけじゃない。 もしそうだとしたらForth最強じゃないか。
- 116 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 16:38:18 ]
- Forthはインタプリタの実装までを含めて仕様みたいなもんだから、
見た目ほど仕様が小さいわけでもないけどな。
- 117 名前:デフォルトの名無しさん [2010/04/04(日) 16:39:56 ]
- >>115
> そんなコンセプトじゃ無いだろ。 じゃあ、どんなコンセプトなんだ?否定する前に意見を述べよう。
- 118 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 16:49:12 ]
- Cにとって代わるというのがコンセプトだろ。
- 119 名前:デフォルトの名無しさん [2010/04/04(日) 16:51:52 ]
- Cにとって代わるのに加えて、
「プログラマーの言語仕様の学習不足によるヒューマンエラーを最小限にするために、 できるだけ小さな言語仕様にしたい。」 という提案だろ?
- 120 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 17:02:05 ]
- >>119
言語仕様が小さくなったら、ヒューマンエラーは増えると思うが。
- 121 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 17:03:07 ]
- えっ
- 122 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 17:04:18 ]
- 思うのは自由だ。
- 123 名前:デフォルトの名無しさん [2010/04/04(日) 17:20:02 ]
- >>120
言語仕様が小さい方が、言語仕様を知らないことによる人間の失敗は少なくなるよね? 人間の記憶容量は有限だから。
- 124 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 17:32:30 ]
- たとえば、C言語でオブジェクト指向っぽいことをやろうとした時の煩雑さとかどうよ。
言語の支援があったほうがよい機能を全部ユーザーがやるというのは無理がある。
- 125 名前:デフォルトの名無しさん [2010/04/04(日) 17:34:38 ]
- 直感的で一貫性のある仕様がいいね。
- 126 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 18:04:48 ]
- 教育用言語なら、再帰がない方が失敗が少なくなると言えなくもない。
- 127 名前:デフォルトの名無しさん [2010/04/04(日) 18:12:44 ]
- 再帰なんて、単に呼び出す関数がたまたま自分であったと言うだけであって、全く特別なものではない。
それを阻害するような例外(「ただし、自身を呼び出してはいけない」等)を仕様に付け加える方が混乱のもと。有害。 そんな例外は、仕様に絶対に含めるべきではない。
- 128 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 18:19:14 ]
- >>127
auto変数とかいう特別な変数がある
- 129 名前:デフォルトの名無しさん [2010/04/04(日) 18:26:51 ]
- どう特別?スタックに乗るだけでは?
- 130 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 18:31:10 ]
- 変数のためにわざわざスタックを使うのは、再帰があるからだよ
再帰が無いならすべてstaticかグローバル変数でOK
- 131 名前:デフォルトの名無しさん [2010/04/04(日) 18:33:48 ]
- スタックを使わず、「staticかグローバル変数」にした場合のメリットは?
- 132 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 18:36:06 ]
- >>131
超高速。
- 133 名前:デフォルトの名無しさん [2010/04/04(日) 18:36:58 ]
- >>132
どういう理由で?
- 134 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 18:56:59 ]
- 「staticかグローバル変数」にしたら関数の外からでも参照できて危ないとしか思えんのだが
- 135 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:02:02 ]
- スタックポインタに足し算するのに何百クロックもかかる変なマシンを使ってる人が
ここにも登場w グローバル変数は速いと言い張るバカwwwwww
- 136 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:03:57 ]
- 古い言語ではローカル変数をスタックに取ったりはしない。
- 137 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:04:40 ]
- >>134
関数の中でもstaticつかえるよ
- 138 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:05:05 ]
- で?
- 139 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:06:59 ]
- 関数の中のstaticと関数の外のstaticは全く別の物だからな。
同じキーワードを使いまわしてるのは、ほとんど設計ミス。
- 140 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:07:44 ]
- >>123
ヒーマンエラーを減らすためにいろいろな機構があるのに。
- 141 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:08:26 ]
- グローバル変数が高速wwwwwww
- 142 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:16:52 ]
- 静的に一度だけ確保され初期化がされるstaticと、
静的にメモリに配置されアプリケーション終了まで変わらないstatic? ってあれ?グローバルに置かれた変数の方の staticって、 そうでない物と何が違うの?
- 143 名前:デフォルトの名無しさん [2010/04/04(日) 19:20:48 ]
- >>140
その機構が、直感的で一貫性があればいいけどね。 特殊な例外の積み重ねで、プログラマーが勘違いすると、プログラマーの意図と違う結果になるのは避けたい。
- 144 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:25:34 ]
- >>142
名前空間がファイル単位になるんじゃなかったっけ
- 145 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:34:18 ]
- たぶんそれは名前空間じゃなくてスコープだと思う。
- 146 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:34:53 ]
- すまん、無名名前空間の話とごっちゃにしてた
- 147 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:43:06 ]
- file1.cpp ---
int a = 1234; static int b = 6789; file2.cpp --- extern が無いと a も b も見えない。 ------------ file1.h int a = 1234; static int b = 6789; もしも file1.h が複数回includeされていても、b は安泰だが a はエラー
- 148 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:44:35 ]
- >>147
初心者スレでやれ
- 149 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 19:53:39 ]
- まぁ初心者云々はともかくC++におけるstaticの多義性が
>>143の「特殊な例外の積み重ね」であることは間違いないなw
- 150 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 20:18:23 ]
- そもそもCPUが何してるか知らない奴多くね?
- 151 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 20:33:28 ]
- 論理回路の知識がなくてもプログラミングに差し支えはないだろ。
差し支えるようなプログラミング言語というのもあるかもしれんが。
- 152 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 20:53:19 ]
- 仕事する上ではそれほど必要ないかもしれんが
低級言語作りたいって言うんだったら必要だろう
- 153 名前:デフォルトの名無しさん [2010/04/04(日) 20:58:10 ]
- >>150
なぜそう思ったの?
- 154 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:00:13 ]
- Javaでプログラミングするとしても、パフォーマンスを考えるためにある程度の知識は必要だろ。
- 155 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:05:47 ]
- >>153
自分がCPUが何をしているか知らないから、それを知っていることが凄いとでも思っちゃったんじゃないの。
- 156 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:10:17 ]
- vbプログラマとかCPUのことよくわかってないの多いぞ
- 157 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:10:40 ]
- そんなに必要な機能があるなら、C99に取り込まれているだろう。
- 158 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:15:58 ]
- >>156
お前がそういうコミュニティーに属しているというだけだ
- 159 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:27:08 ]
- この流れじゃ、例えPart 3まで行っても何も決まらないだろうな
- 160 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:39:55 ]
- 新言語とかどうでも良くてJAVAを叩ければそれで満足なカスが多すぎる
- 161 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:40:53 ]
- それって、Part3までに決めろよってことだろw
おまえ、ワクワクし過ぎw
- 162 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:42:18 ]
- は?
- 163 名前:デフォルトの名無しさん [2010/04/04(日) 21:43:18 ]
- >>160
Javaなんて別に叩くほどの言語でも無いだろ。どうでもいい。
- 164 名前:デフォルトの名無しさん [2010/04/04(日) 21:58:22 ]
- Javaは使えない言語だが貶すほどでもない
- 165 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:01:06 ]
- 言い方を変えるか
とにかく何でも叩きたいだけの生産力絶無のカスが多すぎる
- 166 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:02:56 ]
- 普及している言語をカスといっているヤツは、その理由がわかっていないカスだから相手にしなくていい。
- 167 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:09:45 ]
- 歴史的理由にすぎない
とかいっているヤツはどうする
- 168 名前:デフォルトの名無しさん [2010/04/04(日) 22:17:08 ]
- どうでもいい。
- 169 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:59:43 ]
- CPUどころか、OSが何してるのか知らない奴が多い。
- 170 名前:デフォルトの名無しさん [2010/04/04(日) 23:00:21 ]
- >>169
なぜそう思ったの?
- 171 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:01:34 ]
- >>169がそういうコミュニティーに属してるんだろw
- 172 名前:デフォルトの名無しさん [2010/04/04(日) 23:09:09 ]
- >>1
TMPできるようにして
- 173 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:16:07 ]
- 世間一般はGUIの出来でOSの評価してるからな
- 174 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:21:07 ]
- OSどころか、コンパイラが何してるのか知らない奴が多い。
- 175 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:27:35 ]
- そりゃ利用者はコンパイラのことなんか知る必要ないからな。
- 176 名前:デフォルトの名無しさん [2010/04/04(日) 23:32:15 ]
- >>174
なぜそう思ったの?
- 177 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:36:39 ]
- ネイティブじゃないからと中間言語を批判しているやつは、コンパイラがなにやっているかわかっていないような気がする。
- 178 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:38:01 ]
- 気がするのは自由だよ。
- 179 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:40:43 ]
- 断定するのも自由だ
- 180 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:41:53 ]
- ということで、新言語の話をどうぞ。
- 181 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:53:44 ]
- お前らホントに>108読んでるのか?
Javaにこだわるやつらは何考えているんだ? 低レベルなシステム開発向け言語というんだったらForthとかPIRとかRTLとかがターゲットじゃないの?
- 182 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:56:34 ]
- PIR、RTLって何?
- 183 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:58:41 ]
- >>181
スレタイ嫁
- 184 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:02:18 ]
- Java bytecodeやCILに代わるものをやるわけではない
- 185 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:05:01 ]
- PIR: Parrot intermediate representation
Parrotで使っている中間言語 RTL: Register Transfer Language GCCで使っている中間言語 さすがにそこまでいくと凄いことになるな。
- 186 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:07:11 ]
- プログラマーが三人集まると何も決まらないというのは本当ですな。
先ずは音頭を取るやつがいないと。誰か一人コテつけて幹事を名乗り出るんだ。
- 187 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:07:41 ]
- ここで開発する言語のコンパイラがRTL吐くってことだよね?
RTLに代わるものを作るわけじゃない。
- 188 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:16:14 ]
- よし、じゃあ何か作ろうぜ。
まず、 int main(void) { // ↓続きよろしく
- 189 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:19:46 ]
- DはC++と異なり、Cとのソースコード互換性を棄ててるから、レガシー排除したC++にあたる。
Cに代わるものは、Dのサブセットから構成できるのではないか。
- 190 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:22:58 ]
- >>189
具体的にサブセットに含まれる機能を提示してもらえると議論しやすい
- 191 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:24:31 ]
- このさい、基本データ型からきめようよ
- 192 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:44:51 ]
- >>189
互換性を捨てたものが普及した試しなんてあるの?Dは互換性捨てたから駄目なんだね。
- 193 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:47:36 ]
- C自体もそれ以前と互換性がないわけだが
- 194 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 01:41:17 ]
- ここの奴らは前スレ埋める事すらしないゴミクズばっかだなw
- 195 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 01:57:30 ]
- 基本データ型はbyteのみ
- 196 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 14:07:29 ]
- 最近じゃエンディアンすらしらねえクズが仕事してるしな
ところでポインタがないから最適化できねえとか本気で書いてんのか アホすぎ
- 197 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 14:35:26 ]
- いまエンディアンを知る必要性なんてほとんどないだろ
昔は通信時なんかで考慮必要だった時もあったけどな
- 198 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 14:40:06 ]
- プログラム組む上で気にしなくてもいいけど知っとくべきだとは思うな
- 199 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 14:42:08 ]
- 何らかのバイナリファイル読む場面なんて普通にあるから
エンディアンくらい普通の常識として知っとくべき。 >>197 は多分高級言語しか触らないか、テキストファイルくらいしか触らない奴と推測
- 200 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 14:48:54 ]
- >>199
アセンブラも書くよ インラインでだけど
- 201 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 14:50:13 ]
- フレームワーク弄ってる分には必要のない知識なのは確かだ。
- 202 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 14:55:48 ]
- ここ低級な言語のスレだよな?
ま、俺は組み込み屋だからエンディアンは関係あり
- 203 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 18:42:54 ]
- >>188
void (far *func)(); *(unsigned long *)&func = 0xffff0000L; func(); }
- 204 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 18:55:32 ]
- もうね、farとか見ただけで飯が鼻から出そうです
- 205 名前:デフォルトの名無しさん [2010/04/05(月) 19:28:40 ]
- nearとかfar二度と見たくね('A`)
でも大半はsmallモデルで動いていたんだよなああの頃は
- 206 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 19:29:58 ]
- あれなんでageになってんだ
- 207 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 19:32:51 ]
- 俺はずっと68kとかRISCが多かったから
あんまx86マシンコードの洗礼受けてないけど 見るたびに悪貨は良貨を...ってのを思い出してた。 今やスパコンを構成する位だもんな 思えば遠くへ来たもんだ
- 208 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 19:47:15 ]
- x86は怒濤のクロックアップ戦争があったからね
これに唯一勝ち残ったPowerPCだけがRISCとして活躍している ARMは低消費電力の観点から別の路線を歩いているし
- 209 名前:デフォルトの名無しさん [2010/04/05(月) 20:32:39 ]
- >>208
なぜ現存CPUコアアーキテクチャで最大勢力のMIPSに言及しないんだ?
- 210 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 20:46:29 ]
- MIPSか
最大勢力という程でもないだろ ARMの方がよほど多い
- 211 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 20:50:15 ]
- 腕っ節でねじりふせたと言う事か。 ARMだけに
とか言ってwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 212 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 20:59:22 ]
- よくわからんけどx86とかPowerPCは電池で動かすのは無理っしょ
ARMは電池で動くのでゲーム機とか携帯電話に多量に使われている
- 213 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 21:38:23 ]
- ppcは高いんだよ
- 214 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 21:41:43 ]
- 需要供給の法則か
まあx86は性能の割りには確かに安い
- 215 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 21:43:51 ]
- あとx86のソフトの豊富さを忘れちゃいけないな
FreeBSDがなければ2chも存在しなかったかもしれん
|

|
[ 続きを読む ] / [ 携帯版 ] 
前100
次100
最新50
▲ [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<63KB
read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef