Monoプロジェクトの公式発表ではないが、その主導者であるミゲル・デ・イカザ氏の言葉として、
「Cでプログラミングするには人生は短すぎる」という標語が掲げられている。
http://bit.ly/fJCXb0
探検
「Cでプログラミングするには人生は短すぎる」か?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2011/02/01(火) 00:02:54113デフォルトの名無しさん
2011/02/12(土) 15:03:27 予め用意されたマシン語の命令セットを実行するのと、その場でソースをマシン語に翻訳して実行するのの違いじゃない?
114デフォルトの名無しさん
2011/02/12(土) 15:13:43115デフォルトの名無しさん
2011/02/12(土) 15:16:59 とすると、>>103 の言い分がよくわからんな
116デフォルトの名無しさん
2011/02/12(土) 15:19:26117デフォルトの名無しさん
2011/02/12(土) 15:19:34118デフォルトの名無しさん
2011/02/12(土) 17:11:43 プ
119デフォルトの名無しさん
2011/02/12(土) 18:02:24 >>114
その定義だと、やはりPHPはPHP仮想マシンだなw
その定義だと、やはりPHPはPHP仮想マシンだなw
120デフォルトの名無しさん
2011/02/12(土) 18:03:49 >>117が一番しっくりくるな
121デフォルトの名無しさん
2011/02/12(土) 19:19:27 Pコードインタプリタって仕様をもらって、自分でコンパイルしたプログラムを手で実行したことがあったなぁ。
122デフォルトの名無しさん
2011/02/12(土) 19:46:06 仮想機械の仕様さえ満たせば
インタプリタ実装しようが
コンパイラ実装しようが
ハードウェア実装しようが
同じバイトコードが動く。
インタプリタ実装するにしても、
ベタなインタプリタでもいいし、
JITコンパイラ使ってもいいし、
複数の仮想機械で分散処理してもいい。
あくまで仮想機械の仕様さえ満たせば
コードを動かせる。
それが仮想機械じゃねえの?
インタプリタ実装しようが
コンパイラ実装しようが
ハードウェア実装しようが
同じバイトコードが動く。
インタプリタ実装するにしても、
ベタなインタプリタでもいいし、
JITコンパイラ使ってもいいし、
複数の仮想機械で分散処理してもいい。
あくまで仮想機械の仕様さえ満たせば
コードを動かせる。
それが仮想機械じゃねえの?
123デフォルトの名無しさん
2011/02/12(土) 21:47:35 N88BASICのDOS版ってたしかPコードとJITコンパイラだったはず。
今みたいにインストールなんて概念がなく、
EXEファイルにJITコンパイラを埋め込む仕様で
ファイルサイズが絶望的なほどでかかった記憶がある。
今みたいにインストールなんて概念がなく、
EXEファイルにJITコンパイラを埋め込む仕様で
ファイルサイズが絶望的なほどでかかった記憶がある。
124デフォルトの名無しさん
2011/02/13(日) 02:36:09 >>123
今使えば信じられないほど小さくて速いだろうなw
今使えば信じられないほど小さくて速いだろうなw
125デフォルトの名無しさん
2011/02/13(日) 18:24:09 マシン語でプログラミングするには人生は長すぎる
その前に精神が壊れる
その前に精神が壊れる
126デフォルトの名無しさん
2011/02/13(日) 22:54:39127デフォルトの名無しさん
2011/02/13(日) 23:02:27128デフォルトの名無しさん
2011/02/14(月) 00:02:12 「Cでプログラミングするには人生は短すぎる」と言いつつアセンブラ技術者募集の求人を出すミゲルさんw
http://twitter.com/migueldeicaza/status/9631116499615744
http://d.hatena.ne.jp/atsushieno/20101201/p1
http://twitter.com/migueldeicaza/status/9631116499615744
http://d.hatena.ne.jp/atsushieno/20101201/p1
129デフォルトの名無しさん
2011/02/14(月) 00:08:48 おぉ、迷える子羊よ。彼は犠牲になったのだ
多くの人たちがCでプログラミングしないために
多くの人たちがCでプログラミングしないために
130デフォルトの名無しさん
2011/02/14(月) 01:08:30 >>1
プログラミングをソフトウェアを生み出す為のプロセスとして捉えたらその通りだけど、
プログラミング自体が楽しいなら言語は何でも良いし、どれだけ時間が掛かっても良い。
なぜならプログラムを書く事自体が目的だから。
プログラミングをソフトウェアを生み出す為のプロセスとして捉えたらその通りだけど、
プログラミング自体が楽しいなら言語は何でも良いし、どれだけ時間が掛かっても良い。
なぜならプログラムを書く事自体が目的だから。
131デフォルトの名無しさん
2011/02/14(月) 05:29:49 >>130
納期に追われ、デスマで死にそうな奴にそんなこと言ったら刺されるぞ。
納期に追われ、デスマで死にそうな奴にそんなこと言ったら刺されるぞ。
132デフォルトの名無しさん
2011/02/14(月) 08:23:51 間に合わせなければいいのに。
そうすれば自然と仕事を適切な規模のところに持っていってくれるし
死にそうな目には遭わずに済むのに。
そうすれば自然と仕事を適切な規模のところに持っていってくれるし
死にそうな目には遭わずに済むのに。
133デフォルトの名無しさん
2011/02/14(月) 08:51:06 間に合わせないと無能扱いされて会社を追い出される。追い出されても死にはしないが
金がなくなればやってけなくなる。
金がなくなればやってけなくなる。
134デフォルトの名無しさん
2011/02/14(月) 08:57:27 本当は俺プログラマになりたかったのに、そういう怖い話ばかり聞かされるから
結局ならんかったよ・・・
一日中コーディング出来るってちょっと羨ましい
結局ならんかったよ・・・
一日中コーディング出来るってちょっと羨ましい
135デフォルトの名無しさん
2011/02/14(月) 12:45:12 コーディングって本当に楽しいか?
コーディング前の、どうやって実現しようかとか、
コーディング後の、なんで動かないんだろ、
と考えてる時の方が圧倒的に楽しくないか?
まぁ、そういうのも含めてコーディングって言ってるのかも知れんが
コーディング前の、どうやって実現しようかとか、
コーディング後の、なんで動かないんだろ、
と考えてる時の方が圧倒的に楽しくないか?
まぁ、そういうのも含めてコーディングって言ってるのかも知れんが
136デフォルトの名無しさん
2011/02/14(月) 16:34:30 俺は設計よりコーディングの方が好き、
ステップ数が少なく機能的なコードを書くのが楽しい。
まぁ現状は理想論になりつつあるけど。。
ステップ数が少なく機能的なコードを書くのが楽しい。
まぁ現状は理想論になりつつあるけど。。
137デフォルトの名無しさん
2011/02/15(火) 08:47:57 LispやPerlはコード書くこと自体が楽しい
138デフォルトの名無しさん
2011/02/15(火) 14:32:06 俺はPerlの記号だらけのソースは大嫌いなので見たくもないんだが
139デフォルトの名無しさん
2011/02/15(火) 16:15:40 Perlは書きたくなることはあるが読みたくはないな
なので矛盾はしていない
なので矛盾はしていない
140デフォルトの名無しさん
2011/02/15(火) 20:03:13 俺の中でコーディングというのは感覚的には清書作業に近いな
141デフォルトの名無しさん
2011/02/15(火) 20:58:22 Perlが好きな奴は三ヶ月後の自分への愛が足りない人
142デフォルトの名無しさん
2011/02/15(火) 22:03:19 俺はコーディングしながら考えるタイプだから清書って感覚はないなあ
むしろ俺言語でいいからコードっぽいものに起こさないと
思考が遮られてはかどらないや
むしろ俺言語でいいからコードっぽいものに起こさないと
思考が遮られてはかどらないや
143デフォルトの名無しさん
2011/02/15(火) 22:30:11 Haskell ではコーディングしながら考えてると死ぬ
144デフォルトの名無しさん
2011/02/16(水) 03:27:33 そんなものは使ってはいけない。自分の時間を無駄に捨ててるようなもんだ。
145デフォルトの名無しさん
2011/02/16(水) 03:38:03 そして時間は次から次へやってくる
146西野圭吾 ◆MBzg6vmZNmjx
2011/02/16(水) 05:10:49 あと少しで人生の終点。
147デフォルトの名無しさん
2011/02/16(水) 10:11:18 だから時間を無駄に使うのはやめろということ。使いやすく、開発効率のいい言語を使え。
148デフォルトの名無しさん
2011/02/16(水) 10:12:19 そんなものはない
149デフォルトの名無しさん
2011/02/16(水) 11:05:04 ないと思うなら自分で作れ
150デフォルトの名無しさん
2011/02/16(水) 11:18:10 言語とか開発環境の変化について行くだけの人生とかありえない
生産性(笑)
生産性(笑)
151デフォルトの名無しさん
2011/02/16(水) 12:22:07152デフォルトの名無しさん
2011/02/16(水) 12:42:56 1.よし!作ろう
2.作るために、「使いやすく、開発効率のいい言語」を探す
3.何とか使えるのを探して作り始める
4.出来上がったら、不満があるところを改良していく
5.最初の目的が達成されたら公開する
だろ
2.作るために、「使いやすく、開発効率のいい言語」を探す
3.何とか使えるのを探して作り始める
4.出来上がったら、不満があるところを改良していく
5.最初の目的が達成されたら公開する
だろ
153デフォルトの名無しさん
2011/02/16(水) 12:55:12 Cが駄目なら、C++があるじゃないか
154デフォルトの名無しさん
2011/02/16(水) 13:11:01 何とか使えるんならそれ使ってりゃいいやん
155デフォルトの名無しさん
2011/02/16(水) 13:16:54 不便で生産性が悪いから改良するんだろ。
日本人は器用だから使いにくい道具をなんとか使いこなしてしまうが、西洋人は先に使いやすい道具を作る。
道具がいいと生産性が高くなるし誰でも使えるから生産コストがうんと下がる。
器用なことが必ずしもいい結果にならない。
日本人は器用だから使いにくい道具をなんとか使いこなしてしまうが、西洋人は先に使いやすい道具を作る。
道具がいいと生産性が高くなるし誰でも使えるから生産コストがうんと下がる。
器用なことが必ずしもいい結果にならない。
156デフォルトの名無しさん
2011/02/16(水) 14:27:56 Cで書かれている現役ソフトウェアは大量にある。
157デフォルトの名無しさん
2011/02/16(水) 15:41:34 全てをJavaで置き換えられると錯覚しそして破滅する。
158デフォルトの名無しさん
2011/02/16(水) 16:43:10 Cでダメな場面があまりないな
159デフォルトの名無しさん
2011/02/16(水) 16:47:23 相当慣れないと面倒なだけで
160デフォルトの名無しさん
2011/02/16(水) 17:23:19 Cで正規表現で置換。
161デフォルトの名無しさん
2011/02/16(水) 17:31:02 POSIX正規表現 regex.h
162デフォルトの名無しさん
2011/02/16(水) 17:43:59 検索はできても、置換は実装する必要があるのだよ。
163デフォルトの名無しさん
2011/02/16(水) 17:51:51 え?まさかその程度のこともできないなんてことはないよな?
164デフォルトの名無しさん
2011/02/16(水) 18:06:38 置換が必要なアプリだと、簡易的でもGCか賢いコンテナがないと
ヒープメモリがズタズタになってメモリリークしまくりとか。
ヒープメモリがズタズタになってメモリリークしまくりとか。
165デフォルトの名無しさん
2011/02/16(水) 18:20:18 >>163 クソコードだけど。
#include <stdio.h>
#include <stdlib.h>
#include <regex.h>
#define BUFSIZE 1024
#define NUMBER_OF_BRANKETS 10 /* 0の方が高速 */
/*
*dst : 置換後の文字列を書き込む領域確保済みのバッファ
*src : 置換前の文字列
*st_string : 置き換える文字列
re : コンパイル済み正規表現
*/
int replace(unsigned char *dst,
const unsigned char *src, unsigned char *st_string, regex_t re);
main()
{
regex_t re; /* 正規表現コンパイル結果を格納する構造体 */
unsigned char *re_string = "[0-9]+"; /* 正規表現 */
unsigned char *st_string = "[number]"; /* 置換後の文字列 */
unsigned char *dst, *src, *emsg;
unsigned int ecode; /* エラーコード */
/* 正規表現をコンパイルする */
if(0 < (ecode = regcomp(&re, re_string, REG_EXTENDED))){
// コンパイル失敗時はエラーメッセージを出して終了
emsg = malloc(BUFSIZE);
regerror(ecode, &re, emsg, BUFSIZE);
fprintf(stderr, "%s\n", emsg);
#include <stdio.h>
#include <stdlib.h>
#include <regex.h>
#define BUFSIZE 1024
#define NUMBER_OF_BRANKETS 10 /* 0の方が高速 */
/*
*dst : 置換後の文字列を書き込む領域確保済みのバッファ
*src : 置換前の文字列
*st_string : 置き換える文字列
re : コンパイル済み正規表現
*/
int replace(unsigned char *dst,
const unsigned char *src, unsigned char *st_string, regex_t re);
main()
{
regex_t re; /* 正規表現コンパイル結果を格納する構造体 */
unsigned char *re_string = "[0-9]+"; /* 正規表現 */
unsigned char *st_string = "[number]"; /* 置換後の文字列 */
unsigned char *dst, *src, *emsg;
unsigned int ecode; /* エラーコード */
/* 正規表現をコンパイルする */
if(0 < (ecode = regcomp(&re, re_string, REG_EXTENDED))){
// コンパイル失敗時はエラーメッセージを出して終了
emsg = malloc(BUFSIZE);
regerror(ecode, &re, emsg, BUFSIZE);
fprintf(stderr, "%s\n", emsg);
166デフォルトの名無しさん
2011/02/16(水) 18:21:03 fprintf(stderr, "%s\n", emsg);
free(emsg);
exit(-1);
}
/* メモリーを取得 */
src = malloc(BUFSIZE);
dst = malloc(BUFSIZE);
while(!feof(stdin)){
/* 標準入力から1行入力 */
if(NULL==fgets(src, BUFSIZE, stdin))
continue;
/* 置換を実行 */
replace(dst, src, st_string, re);
/* 置換した文字列を標準出力へ出力 */
printf("%s", dst);
}
/* メモリーを開放 */
free(src);
free(dst);
/* 構造体を開放 */
regfree(&re);
return 0;
}
free(emsg);
exit(-1);
}
/* メモリーを取得 */
src = malloc(BUFSIZE);
dst = malloc(BUFSIZE);
while(!feof(stdin)){
/* 標準入力から1行入力 */
if(NULL==fgets(src, BUFSIZE, stdin))
continue;
/* 置換を実行 */
replace(dst, src, st_string, re);
/* 置換した文字列を標準出力へ出力 */
printf("%s", dst);
}
/* メモリーを開放 */
free(src);
free(dst);
/* 構造体を開放 */
regfree(&re);
return 0;
}
167デフォルトの名無しさん
2011/02/16(水) 18:21:46 int replace(unsigned char *dst,
const unsigned char *src, unsigned char *st_string, regex_t re)
{
unsigned char *p, *q;
unsigned int i; /* 入力文字列のための添字 */
regmatch_t *pmatch = NULL; /* 一致データの格納先 */
unsigned int ecode; /* エラーコード */
pmatch = calloc(NUMBER_OF_BRANKETS + 1, sizeof(regmatch_t));
/* パターン・マッチング */
if(REG_NOMATCH == (ecode = regexec(&re, src, NUMBER_OF_BRANKETS + 1, pmatch, 0))){
pmatch[0].rm_so = -1;
}
/* 置換処理用のポインターをセット */
q = dst; i=0;
/* コピーと置換処理 */
while('\0' != src[i]){
/* 正規表現とマッチする位置に来たときの処理 */
/* pmatch[0]が一致文字列全体、pmatch[1]以降が括弧内の部分一致部分の情報 */
if(i == pmatch[0].rm_so){
/* q - dst < BUFSIZE - 2 はバッファー・オーバーフロー対策 */
for(p = st_string; '\0'!=*p && q - dst < BUFSIZE - 2; p++){
*q++ = *p;
}
/* 入力文字列の文字位置を表す添字に加算 */
i += pmatch[0].rm_eo - pmatch[0].rm_so;
/* 再帰でグローバル・マッチングにする */
q += replace(q, src + i, st_string, re);
/* 再帰先で処理が終了しているのでループを抜ける */
break;
const unsigned char *src, unsigned char *st_string, regex_t re)
{
unsigned char *p, *q;
unsigned int i; /* 入力文字列のための添字 */
regmatch_t *pmatch = NULL; /* 一致データの格納先 */
unsigned int ecode; /* エラーコード */
pmatch = calloc(NUMBER_OF_BRANKETS + 1, sizeof(regmatch_t));
/* パターン・マッチング */
if(REG_NOMATCH == (ecode = regexec(&re, src, NUMBER_OF_BRANKETS + 1, pmatch, 0))){
pmatch[0].rm_so = -1;
}
/* 置換処理用のポインターをセット */
q = dst; i=0;
/* コピーと置換処理 */
while('\0' != src[i]){
/* 正規表現とマッチする位置に来たときの処理 */
/* pmatch[0]が一致文字列全体、pmatch[1]以降が括弧内の部分一致部分の情報 */
if(i == pmatch[0].rm_so){
/* q - dst < BUFSIZE - 2 はバッファー・オーバーフロー対策 */
for(p = st_string; '\0'!=*p && q - dst < BUFSIZE - 2; p++){
*q++ = *p;
}
/* 入力文字列の文字位置を表す添字に加算 */
i += pmatch[0].rm_eo - pmatch[0].rm_so;
/* 再帰でグローバル・マッチングにする */
q += replace(q, src + i, st_string, re);
/* 再帰先で処理が終了しているのでループを抜ける */
break;
168デフォルトの名無しさん
2011/02/16(水) 18:22:30 } else if(q - dst < BUFSIZE - 2){
/* 1文字コピー */
*q++ = src[i++];
}
}
/* NULL文字をつけ足す */
*q = '\0';
free(pmatch);
/* 置換後の文字数を戻す */
return q - dst;
}
http://uncorrelated.no-ip.com/20101023.shtml からコピペ
/* 1文字コピー */
*q++ = src[i++];
}
}
/* NULL文字をつけ足す */
*q = '\0';
free(pmatch);
/* 置換後の文字数を戻す */
return q - dst;
}
http://uncorrelated.no-ip.com/20101023.shtml からコピペ
169デフォルトの名無しさん
2011/02/16(水) 18:23:27 Perlだと一行で正規表現で置換できるんだが、POSIX Cだとこんな感じらしい。
170デフォルトの名無しさん
2011/02/16(水) 19:03:47 これは…人生が短く感じるな
ちなみに、Perlで言うところのどんな操作なんだ?
ちなみに、Perlで言うところのどんな操作なんだ?
171デフォルトの名無しさん
2011/02/16(水) 19:29:21172デフォルトの名無しさん
2011/02/16(水) 20:13:31 つまり数字が連続している文字列を [number] という文字列に変換するってことか?
PerlやRubyでも-peとかやったら1行になりそうだ
sedならむしろ2行以上に伸ばすほうが面倒だな…w
PerlやRubyでも-peとかやったら1行になりそうだ
sedならむしろ2行以上に伸ばすほうが面倒だな…w
173デフォルトの名無しさん
2011/02/16(水) 20:23:32 正規表現だけではなく、Cではリストやハッシュ等のコンテナがないので、せっせと実装することになる。
174デフォルトの名無しさん
2011/02/16(水) 20:24:51 ハッシュ関数も自前で用意する事になるが、数学的に周期が短い関数になると、値が偏るので注意しないといけない。
175デフォルトの名無しさん
2011/02/16(水) 20:27:14 ANSIには浮動小数点を文字列に変換する関数もない。
printfを使うと速度的に遅いため、高速な変換関数を用意する必要がある。
printfを使うと速度的に遅いため、高速な変換関数を用意する必要がある。
176デフォルトの名無しさん
2011/02/16(水) 20:28:26 ANSIのソート関数は、比較関数のオーバーヘッドが大きいため、クイックソートやマージソートを必要に応じて実装する。
177デフォルトの名無しさん
2011/02/16(水) 20:30:03 ANSI Cには標準的な機能が定義されていない。スレッドや排他処理、共有メモリ、GUIなどの現在のOSでは当然に使えるものの大半が、機種依存コードになる。
178デフォルトの名無しさん
2011/02/16(水) 20:35:37 Cには、メモリ開放を忘れるリスクと同時に、解放後のポインタにアクセスしてしまうリスクがある。
ポインタが適切な位置を指しているかは、コンパイラはチェックしない。
ポインタが適切な位置を指しているかは、コンパイラはチェックしない。
179デフォルトの名無しさん
2011/02/16(水) 20:37:03180デフォルトの名無しさん
2011/02/16(水) 20:39:35 そういう時はC++使うんじゃないの
181デフォルトの名無しさん
2011/02/16(水) 20:41:39 ANSIの仕様にある物もない物も、実装済みである確率はさほど変わらない
182デフォルトの名無しさん
2011/02/16(水) 21:01:25 最近はJavaからスクリプトを実行できるから面白い。
ある種開き直ったテンプレートエンジンとして使えるな。
ある種開き直ったテンプレートエンジンとして使えるな。
183デフォルトの名無しさん
2011/02/16(水) 21:45:02 なんつうか、どうでもいい部分ばかりだな。
184デフォルトの名無しさん
2011/02/17(木) 00:27:07 >>1のGLib作者みたいな人と一般PGでは認識が違うのは当然
185デフォルトの名無しさん
2011/02/17(木) 15:51:25 スクリプトやJava等は、結局環境に応じた実行環境をネイティブ言語で書いておかなければならない。
所詮他の言語が存在しないと役立たずの分際で、デカイ顔してるんじゃないよ。
所詮他の言語が存在しないと役立たずの分際で、デカイ顔してるんじゃないよ。
186デフォルトの名無しさん
2011/02/17(木) 16:48:56 UI自体が言語だった時代には、Cとshなど複数言語が存在するのが当然だった。
GUIのせいで単一の言語にこだわる人間が増えた。
Cでプログラミングするのは何の問題もない。
問題は単一の言語にこだわることだ。
Cをよく知っている人はむしろこだわらない人の方が多い。
GUIのせいで単一の言語にこだわる人間が増えた。
Cでプログラミングするのは何の問題もない。
問題は単一の言語にこだわることだ。
Cをよく知っている人はむしろこだわらない人の方が多い。
187デフォルトの名無しさん
2011/02/17(木) 18:38:45 iPadみたいなキーボードレスなのが主流になったら、プログラミングも変わるのだろうかね。
188デフォルトの名無しさん
2011/02/17(木) 21:41:35 MacBookにはキーボードが付いてるだろ?
189デフォルトの名無しさん
2011/02/17(木) 22:42:28 >>187
iPad のソフトウェアキーボードを触らせてもらった事あるけど、使い易かったよ
ガシガシ入力するなら Bluetooth のキーボードを使うんじゃないかな
文字を入力する必要があるのはプログラマだけじゃないし
iPad のソフトウェアキーボードを触らせてもらった事あるけど、使い易かったよ
ガシガシ入力するなら Bluetooth のキーボードを使うんじゃないかな
文字を入力する必要があるのはプログラマだけじゃないし
190デフォルトの名無しさん
2011/02/17(木) 23:02:15 >>189
寝言は
寝言は
191デフォルトの名無しさん
2011/02/17(木) 23:08:56 むにゃむにゃ
192デフォルトの名無しさん
2011/02/17(木) 23:11:52 もう食べられないよお
193デフォルトの名無しさん
2011/02/17(木) 23:27:12 >>189
スマホよりは使いやすいわな。
スマホよりは使いやすいわな。
194デフォルトの名無しさん
2011/02/18(金) 12:35:15 Macの超絶クソなアイソレートキーボードより、iPadのソフトキーボードの方が使いやすいくらいだしなw
195デフォルトの名無しさん
2011/02/18(金) 16:35:53 ねーよ
196デフォルトの名無しさん
2011/02/19(土) 17:24:39 >>3
そもそもcはランタイム支援のない環境でインフラを
構築するために作られた言語。
基礎が整った環境でcを使うなとk&rやlinusも
言っている。
目的を達成できるならshellやら
出来るだけ抽象的なものを使うべき
そもそもcはランタイム支援のない環境でインフラを
構築するために作られた言語。
基礎が整った環境でcを使うなとk&rやlinusも
言っている。
目的を達成できるならshellやら
出来るだけ抽象的なものを使うべき
197デフォルトの名無しさん
2011/02/19(土) 17:26:57 昔は crt って無かったのかな
C は C で進化してるんだよね
次のスペックではマルチスレッドも採用されるみたいだし
C は C で進化してるんだよね
次のスペックではマルチスレッドも採用されるみたいだし
198デフォルトの名無しさん
2011/02/19(土) 17:36:10199デフォルトの名無しさん
2011/02/19(土) 17:38:27 まぁアプリ全体でずっとnewしてるわけじゃないから
200デフォルトの名無しさん
2011/02/19(土) 17:46:41201デフォルトの名無しさん
2011/02/19(土) 17:47:22 Microsoftは潰れてないじゃん。比較にもなってない
202デフォルトの名無しさん
2011/02/19(土) 17:53:15203デフォルトの名無しさん
2011/02/19(土) 18:50:36 マルチスレッドが普及してから15年以上経って、仕様に取り込むところがC。
204デフォルトの名無しさん
2011/02/19(土) 19:06:35 軽佻浮薄に流行を追いかけるチャラ男よりも、一本芯が通った時代遅れ。
それでいいじゃないか。
それでいいじゃないか。
205デフォルトの名無しさん
2011/02/19(土) 19:09:33 爺にウケるわけだ
206デフォルトの名無しさん
2011/02/19(土) 19:12:43 C++ の仕様にスレッドって入ってたっけ?
207デフォルトの名無しさん
2011/02/19(土) 19:26:15 最近入ったかも
208デフォルトの名無しさん
2011/02/19(土) 19:55:15.80 >>202
スタックフレームを自作するとかな。
ベクトル用スタックフレーム
行列用スタックフレーム
四元数様用スタックフレームと。
それぞれあらかじめ30個位インスタンスぶちこんどくんだ。
あれ?これってC++の方が楽じゃね?
スタックフレームを自作するとかな。
ベクトル用スタックフレーム
行列用スタックフレーム
四元数様用スタックフレームと。
それぞれあらかじめ30個位インスタンスぶちこんどくんだ。
あれ?これってC++の方が楽じゃね?
209デフォルトの名無しさん
2011/02/19(土) 23:22:26.81 C++0xで入る
210デフォルトの名無しさん
2011/02/20(日) 05:43:23.73 でもまあ、Cでのマルチスレッドとか、ずいぶん前から、APIとしてほぼすべての環境にあったし。
というか、マルチスレッドを言語の機能にする方が間違ってると思うんだが。俺としては。
あくまで、OSが提供する機能だろう?ならばやっぱり、APIとして提供される形こそが理想だと思う。
なんでも言語の機能にすればいいというものではないと思うな。
というか、マルチスレッドを言語の機能にする方が間違ってると思うんだが。俺としては。
あくまで、OSが提供する機能だろう?ならばやっぱり、APIとして提供される形こそが理想だと思う。
なんでも言語の機能にすればいいというものではないと思うな。
211デフォルトの名無しさん
2011/02/20(日) 06:03:02.75212デフォルトの名無しさん
2011/02/20(日) 06:17:18.55 >>210
言語仕様と言う意味では、その言語のコア機能だけで実装出来ない機能は
言語仕様に入れて良いと思う。C のコア機能だけではスレッドは実装する事が
出来ないので、スレッドを言語仕様に入れるのは問題無いでしょう。
それ以外にも、よく使用される機能が何度も繰り返し再実装されるのを避ける為に
言語仕様を定めるのも理に適っていると思う。昨今の CPU 実装の変化を考えると
スレッドはますます使用頻度が増えて行くのは確実で、言語仕様に入れるのは
正しいと思う。
標準仕様に含める事で、ポータビリティが上がるという利点もある。統一的な
仕様を決めておく事で、色々なプラットフォームで動作するプログラムを
効率よく実装する事が出来る。移植性の高いマルチスレッドのコードが書ける
様になるのは歓迎すべき事だと思う。
副次的な効果として、C の教科書でスレッドを教えるのが容易になるという点も
意外と重要じゃないかと思う。標準仕様で定まっていれば、初学者が学習する際に
迷う事が少なくなり、マルチスレッドプログラミングの普及がより進むと思う。
Programming languages should be designed not by piling feature on top of feature...
という一節が有名だけど、今の時代、スレッドは言語に含まれてしかるべき
機能だと思うよ。
言語仕様と言う意味では、その言語のコア機能だけで実装出来ない機能は
言語仕様に入れて良いと思う。C のコア機能だけではスレッドは実装する事が
出来ないので、スレッドを言語仕様に入れるのは問題無いでしょう。
それ以外にも、よく使用される機能が何度も繰り返し再実装されるのを避ける為に
言語仕様を定めるのも理に適っていると思う。昨今の CPU 実装の変化を考えると
スレッドはますます使用頻度が増えて行くのは確実で、言語仕様に入れるのは
正しいと思う。
標準仕様に含める事で、ポータビリティが上がるという利点もある。統一的な
仕様を決めておく事で、色々なプラットフォームで動作するプログラムを
効率よく実装する事が出来る。移植性の高いマルチスレッドのコードが書ける
様になるのは歓迎すべき事だと思う。
副次的な効果として、C の教科書でスレッドを教えるのが容易になるという点も
意外と重要じゃないかと思う。標準仕様で定まっていれば、初学者が学習する際に
迷う事が少なくなり、マルチスレッドプログラミングの普及がより進むと思う。
Programming languages should be designed not by piling feature on top of feature...
という一節が有名だけど、今の時代、スレッドは言語に含まれてしかるべき
機能だと思うよ。
213デフォルトの名無しさん
2011/02/20(日) 06:18:44.59 >>211
言語の機能として実装する場合、その言語を実装する環境すべてでその機能が無いといけない。
つまりOSが無い環境へのコンパイラでも、マルチスレッドを実装するコードを生成しなければならなくなる。
言語の機能として実装する場合、その言語を実装する環境すべてでその機能が無いといけない。
つまりOSが無い環境へのコンパイラでも、マルチスレッドを実装するコードを生成しなければならなくなる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 [お断り★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★2 [お断り★]
- 山里亮太、フィリピンに子ども食堂を建設 「偽善者」「日本の子どもを助けるべき」の声があっても活動を続ける理由 [Anonymous★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★3 [Hitzeschleier★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 [少考さん★]
- 【芸能】粗品 「間違ったお笑いの常識が放送されている」「テレビ見てる素人って、笑い声でしか面白いかどうか判断できない。可哀想」 [冬月記者★]
- ( ・᷄ὢ・᷅ )博士ってイヤイヤ言っててもパンツ脱がす時には自然と腰を浮かせてきそう
- デフレ、円高👈こいつが叩かれた理由 [943688309]
- MacBook Air使い始めて今日でちょうど2年
- ミニスカ←わかる 超ミニ←これなんなの
- 残クレ自転車 チャリファード
- 【悲報】ココナッツサブレ、なぜか売り切れ続出する🤔 [733893279]
