K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[1609] Re:prime.milについて
投稿者:(ぱ)こと管理人
2010/07/31 18:19:16

>日経ソフトウエア8月号「MIL」の記事を読んでいます。 > >本編に進む前に、p18のprime.milでつまづいてしまいました。 もうしわけありません。たしかにprime.milは直感的なコードとは 言えないと思います。ふつうに考えて、そもそもループが三重である必要は ないはずですし。 prime.milがこうなってしまった事情はいろいろあるのですが、最終的には 私の責任であると思います。もうしわけありませんでした。 まあ、prime.milはMILの機能を示すためのサンプルコードなので、制御構造や 計算等の機能を使っていれば問題ない、ということで雑になってしまった面は あります。そこまで丁寧に読んでいただけるのは正直想定外でした。 ありがとうございました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1608] Re:prime.milについて
投稿者:yuya
2010/07/30 16:56:16

774RRさん、ご意見ありがとうございます。 >ならば処理上は一見無駄に思えるような記述であっても合目的でおkだと思いますが。 ># その無駄さ自体がイイというか ># どこがどう無駄かを読者に考えてもらうのがイイというか おっしゃるとおりで、おかげで私も自分で組んでみる機会を得て勉強になりました。 >yuya さんの投稿プログラムも「素数の個数」には実用的でないですよね? ええ、あれは元のソースとほぼ同じアルゴリズムを、自分に読めるように書き直したものです。 脇道に気を取られて、本編のことに全然言及していませんが、 いつものとおり素晴らしく分かりやすい解説です。 「車輪の再発明」にもピンからキリまで、 歴然としたクォリティの違いがあるものだな、と改めて思いました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1607] Re:prime.milについて
投稿者:774RR
2010/07/30 10:26:31

# 元ネタは読んでいません 記事(というかサンプルプログラム)の目的は、 素数の個数を求めることではなくて、その独自言語の解説なんですよね? ならば処理上は一見無駄に思えるような記述であっても合目的でおkだと思いますが。 # その無駄さ自体がイイというか # どこがどう無駄かを読者に考えてもらうのがイイというか yuya さんの投稿プログラムも「素数の個数」には実用的でないですよね?
[この投稿を含むスレッドを表示] [この投稿を削除]
[1606] prime.milについて
投稿者:yuya
2010/07/29 10:00:34

日経ソフトウエア8月号「MIL」の記事を読んでいます。 本編に進む前に、p18のprime.milでつまづいてしまいました。 かなり時間をかけて、「確かにこれで素数は求まる」ことは納得したのですが、 それでも疑問がたくさん残ります。 たとえば、c を number / 2 まで回すのなら分かりますが、 小さな number に対しても一律 HALF_OF_MAX まで回す必要があるのでしょうか? はじめ、ソースが複雑なのは言語の仕様を切り詰めているせいかと思いましたが、 自分で書いてみるとこうなりました。 MAX = 1000; number_of_prime = 0; number = 2; while(number <= MAX){ i = 2; while(i < number){ # 2 から number - 1 の範囲の整数で if(number / i * i == number){ # 割り切れたら goto *exit; # 素数ではない } i = i + 1; } print(number); number_of_prime = number_of_prime + 1; *exit number = number + 1; } print("the number of prime is"); print(number_of_prime); 書いたあとで再度p18のソースを見ると、 必要以上の複雑さがかなり含まれていると感じました。 (ぱ)さんの記事はいつも日本語が驚異的に分かりやすいので、 ソースにも同じくらいの分かりやすさを無意識に要求してしまっているのかもしれません。 読者のわがままというものですが……。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1605] Re:Diksamのmakeでエラーとなる
投稿者:(ぱ)こと管理人
2010/07/28 03:30:25

はじめまして。 >>bison --yacc -dy diksam.y >>diksam.y:428 13-14: $$ for the midrule at $2 of 'block' has no declared type >>gmake: *** [y.tab..h] Error 1 本件、おそらく正誤表の以下の件(p.206の件)だと思います。 http://kmaebashi.com/programmer/devlang/book/seigo.html#p206 当時、どのように判断したのかは正直なところあまり覚えていないのですが、 公開しているソースが修正されていないのは問題かと思います。 週末あたりをめどに確認させてください。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1604] bison2.4系列だとDiksamがコンパイル出来ないようです
投稿者:hasim
2010/07/28 01:09:03

こんばんは、hasimと申します。 言語作成に関する詳しい解説、勉強させて頂いてます。 Diksamのソースコードをコンパイルしようとしたのですが、 bisonのバージョンが2.4だとエラーが起きるようです。 bisonのバージョンを2.3に落としたら、無事コンパイル出来ました。 エラー内容は以下のようなものでした。 % bison compiler/diksam.y compiler/diksam.y:748.13-14: $$ for the midrule at $2 of `catch_clause' has no declared type compiler/diksam.y:786.13-14: $$ for the midrule at $2 of `block' has no declared type ご参考になれば幸いです。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1601] 管理者により削除されました
2010/07/05 00:20:27

テスト書き込みはテスト用掲示板にどうぞ。 http://kmaebashi.com/bbs/list.php?boardid=testbbs
[この投稿を含むスレッドを表示]
[1600] 一応できたのでソースをさらします。
投稿者:バッファロー
2010/07/01 09:57:49

助言をいただき、それをむねに一応完成したソースを書き込みます。 変なところがあれば、ぜひ助言をお願いします。 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef int (*Compare)(int,int) ; typedef struct DATA DATA; struct DATA { DATA * next; char * name; int math; int language; int sum; }; #define MAX 256 int AscendinOrder(int a,int b); int DescendingOrder(int a,int b); DATA* merge_sort(DATA* top,Compare); DATA* merge_list(DATA* x, DATA* y,Compare); /**************************************** 機能:線形リストのデータをすべて解放する。 引数:top 線形リストのトップデータ comp 使用した比較関数 出力:無し ****************************************/ void AllFree(DATA *top,Compare *comp) { DATA *temp,*freeData; if(*comp == AscendinOrder || *comp == NULL){ temp = top; while(temp->next){ freeData = temp; temp =temp->next; free(freeData->name); free(freeData); } }else if(*comp == DescendingOrder){ temp = top->next; while(temp){ freeData = temp; temp =temp->next; free(freeData->name); free(freeData); } } } /**************************************** 機能:線形リストのノードを作成。 引数:無し 出力:DATA型の新しいノードのポインタ ****************************************/ DATA* newnode(){ DATA *p; p=malloc(sizeof(DATA)); p->next=NULL; return p; } /**************************************** 機能:合計点を求める 引数:data 合計点を求めるDATA型のポインタ 出力:mathとlanguageの合計点 ****************************************/ int SUM(DATA *data) { return data->math+data->language; } /**************************************** 機能:線形リストの末尾にノードを追加。 引数:p リストの先頭 c リストnameにはいる名前 lang リストのlanguageに入る数値 math リストのmathに入る数値 出力:無し ****************************************/ void add(DATA *p,char *c,int lang,int math){ while(p->next != NULL){ p= p->next; } p->math = math; p->language = lang; p->sum = SUM(p); p->name=malloc(strlen(c)+1); strcpy(p->name,c); p->next=newnode(); } /**************************************** 機能:線形リストの内容を表示。 引数:data リストの先頭 comp 使った比較関数 出力:無し ****************************************/ void ShowData(DATA *data,Compare *comp) { DATA *temp; if(*comp == AscendinOrder || *comp == NULL){ for(temp = data; temp->next;temp= temp->next){ printf("name : %s, language : %d, math : %d, sum :%d \n",temp->name,temp->language,temp->math,temp->sum); } }else if(*comp == DescendingOrder){ for(temp = data->next; temp;temp= temp->next){ printf("name : %s, language : %d, math : %d, sum :%d \n",temp->name,temp->language,temp->math,temp->sum); } } } /**************************************** 機能:表示方法の設定。 引数:無し 出力:表示方法の値。 ****************************************/ int ShowCase() { char c; printf("昇順で表示 :1 ,降順で表示:2\n"); c = getchar(); switch(c){ case '1': return 1; case '2': return 2; default: return 0; } } int main() { char data[MAX] = {'\0'}; char ctemp[100] = {'\0'}; int m,l,type; FILE *fp = fopen("data.txt","r"); char *n; DATA *top = malloc(sizeof(DATA)); Compare comp = NULL; type=ShowCase(); if(type == 1){ comp = AscendinOrder; }else if(type == 2){ comp = DescendingOrder; }else{ comp = NULL; } top->next = NULL; while(fgets(data,MAX,fp)){ if(n = strchr(data,'\n')) *n = '\0'; sscanf(data,"%s%d%d",ctemp,&m,&l); add(top,ctemp,l,m); } if(comp != NULL){ top =merge_sort(top,comp); } ShowData(top,&comp); AllFree(top,&comp); return 0; } /**************************************** 機能:線形リストのマージソートする。 引数:top リストの先頭 comp 使う比較関数 出力:ソート済みのリストのポインタ ****************************************/ DATA* merge_sort(DATA* top,Compare comp) { DATA *a, *b, *y; /* リストに含まれる要素数が0または1個のときは、ソートの必要がない */ if( top == NULL || top->next == NULL ){ return top; } a = top; /* aは先頭の要素を指す */ b = top->next; if( b != NULL ){ b = b->next; } /* bは先頭から3番目の要素を指す */ /* 線形リストを中心くらいから半分に分けるため、中心位置がどこにあるのか探る */ while( b != NULL ) { a = a->next; /* aは常に1つだけ進む */ b = b->next; if( b != NULL ){ b = b->next; } /* bは基本的に2つ進む */ } /* 線形リストを2つに分割する */ y = a->next; /* yは分割後の2つのリストのうちの、後半部分の方の先頭を指す */ a->next = NULL; /* 分割した2つのリスト */ return merge_list( merge_sort( top ,comp), merge_sort( y ,comp) ,comp); } /************************************************************************ 機能:2つの線形リストをマージする。 引数:x マージする2つの線形リストのうちの片方の先頭要素へのポインタ  y マージする2つの線形リストのうちの片方の先頭要素へのポインタ comp 比較関数 出力: マージされた線形リストの先頭要素へのポインタ *************************************************************************/ DATA* merge_list(DATA* x, DATA* y,Compare comp) { DATA z, *p; p = &z; /* xとyをマージしてzを作り上げる */ /* 分割されている2つのリストのいずれか一方が空になるまで繰り返す */ while( x != NULL && y != NULL ) { /* 2つのリストの先頭要素同士を比較する */ if( comp(x->sum , y->sum) ) { /* リストxの方の先頭要素を、マージ後のリストに連結する */ p->next = x; p = x; x = x->next; } else { /* リストyの方の先頭要素を、マージ後のリストに連結する */ p->next = y; p = y; y = y->next; } } /* 先に片方のリストが空になるので、残された方のリストの要素を、マージ後リストに連結する */ if( x == NULL ) { p->next = y; } else { p->next = x; } return z.next; } int AscendinOrder(int a,int b) { return a>=b? 1:0; } int DescendingOrder(int a,int b) { return a <= b?1:0; } data.txtの中身 jon 90 30 sum 40 50 jack 20 100 tom 35 70
[この投稿を含むスレッドを表示] [この投稿を削除]
[1599] Re:自己参照構造体のソートの方法がわかりません
投稿者:バッファロー
2010/07/01 07:40:14

>>線形リストをつくったのですが、リストに値をセットした後連結リストをソートしたい >>のですが、わかりません。どなたか教えてください。 > >だったらマージソート…と思ったのですが774RRさんに先に書かれてしまったので、 >本題からずれますが、 > >> DATA *top = malloc(sizeof(DATA)); > >最初にいきなりダミーのノードを作っていて、そのために以後、 >ループをまわすとき、p->nextを終了判定に使うことになっています。 >add()関数が微妙に楽になる以外、ここにダミーノードを置くことは >あまりメリットがないんじゃないかなあ、と私は昔から思っているのですが >(センス・オブ・プログラミングに書いたりもしましたが)どうなんでしょうねえ。 > >あとまあ、ものすごく細かいことですが、 > >>int SUM(DATA *data) >>{ >> return data->language+data->language; >>} > >ここはdata->math + data->languageですよね。 > >また、連結リストのソートは、効率を気にしないのなら単純選択ソートとかでも >できるんじゃないでしょうか。 > >・連結リストを頭からスキャンして、最大値のノードを探す。 >・最大値のノードをリストから引っぺがし、ソート済みリストの先頭につなぐ。 >・上記操作を繰り返す。 > 貴重なご意見ありがとうございました。 たしかにdata->math + data->languageでした。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1598] Re:自己参照構造体のソートの方法がわかりません
投稿者:バッファロー
2010/07/01 07:11:18

>線形リストのソートは結構めんどくさいので、できればやらずにすむのが理想。 >最初からデータをソート済みの形で保持する構造を使うほうがよい結果が出ることが多い。 >二分木構造とかを使うのが普通(実用上、赤黒木になるかな) > >でもどうしても線形リストをそのままソートしたいのであれば、 >まさにそのような目的のために考案された「マージソート」を使うといい。 >http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%BC%E3%82%B8%E3%82%BD%E3%83%BC%E3%83%88 >http://www.geocities.jp/ky_webid/algorithm/021.html > 貴重なご意見ありがとうございました。 無事ソートできました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1597] Re:自己参照構造体のソートの方法がわかりません
投稿者:(ぱ)こと管理人
2010/07/01 01:53:45

>線形リストをつくったのですが、リストに値をセットした後連結リストをソートしたい >のですが、わかりません。どなたか教えてください。 だったらマージソート…と思ったのですが774RRさんに先に書かれてしまったので、 本題からずれますが、 > DATA *top = malloc(sizeof(DATA)); 最初にいきなりダミーのノードを作っていて、そのために以後、 ループをまわすとき、p->nextを終了判定に使うことになっています。 add()関数が微妙に楽になる以外、ここにダミーノードを置くことは あまりメリットがないんじゃないかなあ、と私は昔から思っているのですが (センス・オブ・プログラミングに書いたりもしましたが)どうなんでしょうねえ。 あとまあ、ものすごく細かいことですが、 >int SUM(DATA *data) >{ > return data->language+data->language; >} ここはdata->math + data->languageですよね。 また、連結リストのソートは、効率を気にしないのなら単純選択ソートとかでも できるんじゃないでしょうか。 ・連結リストを頭からスキャンして、最大値のノードを探す。 ・最大値のノードをリストから引っぺがし、ソート済みリストの先頭につなぐ。 ・上記操作を繰り返す。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1596] Re:自己参照構造体のソートの方法がわかりません
投稿者:774RR
2010/06/30 21:41:22

線形リストのソートは結構めんどくさいので、できればやらずにすむのが理想。 最初からデータをソート済みの形で保持する構造を使うほうがよい結果が出ることが多い。 二分木構造とかを使うのが普通(実用上、赤黒木になるかな) でもどうしても線形リストをそのままソートしたいのであれば、 まさにそのような目的のために考案された「マージソート」を使うといい。 http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%BC%E3%82%B8%E3%82%BD%E3%83%BC%E3%83%88 http://www.geocities.jp/ky_webid/algorithm/021.html
[この投稿を含むスレッドを表示] [この投稿を削除]
[1595] 自己参照構造体のソートの方法がわかりません
投稿者:バッファロー
2010/06/30 11:27:14

線形リストをつくったのですが、リストに値をセットした後連結リストをソートしたい のですが、わかりません。どなたか教えてください。 ソース(free用関数は後で作ります。): #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct DATA DATA; struct DATA { DATA * next; char * name; int math; int language; int sum; }; #define MAX 256 void listSort(DATA *top); DATA* newnode(){ DATA *p; p=malloc(sizeof(DATA)); p->next=NULL; return p; } int SUM(DATA *data) { return data->language+data->language; } void add(DATA *p,char *c,int lang,int math){ while(p->next != NULL){ p= p->next; } p->math = math; p->language = lang; p->sum = SUM(p); p->name=malloc(strlen(c)+1); strcpy(p->name,c); p->next=newnode(); } void ShowData(DATA *data) { FILE *fp = fopen("result.txt","w"); DATA *temp; for(temp = data; temp->next;temp= temp->next){ printf("name : %s, language : %d, math : %d, sum :%d \n",temp->name,temp->language,temp->math,temp->sum); } for(temp = data; temp->next;temp= temp->next){ fprintf(fp,"name : %s, language : %d, math : %d, sum :%d \n",temp->name,temp->language,temp->math,temp->sum); } fclose(fp); } int main() { char data[MAX] = {'\0'}; char ctemp[100] = {'\0'}; int m,l; FILE *fp = fopen("data.txt","r"); char *n; DATA *top = malloc(sizeof(DATA)); top->next = NULL; while(fgets(data,MAX,fp)){ if(n = strchr(data,'\n')) *n = '\0'; sscanf(data,"%s%d%d",ctemp,&m,&l); add(top,ctemp,l,m); } listSort(top); ShowData(top); return 0; } void listSort(DATA *top) { //ここのしょりがわかりません //ちなみにsumで比較 }
[この投稿を含むスレッドを表示] [この投稿を削除]
[1593] Re:spam判定テスト
投稿者:(ぱ)こと管理人
2010/06/13 13:45:23

すみません、ものすごく初歩的なバグがあって本来弾けるはずのspamが来ていました。 修正しました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1592] Re:spam判定テスト
投稿者:(ぱ)こと管理人
2010/06/13 06:19:31

>一時的にテスト用のスクリプトを上げます。 NGワード機能を搭載し、ひととおりの動作テストをしました。 ここで高級バッグの話をしたりするとひっかかるかもしれません。 spammer以外の人には申し訳ないですがご了承ください。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1591] spam判定テスト
投稿者:(ぱ)こと管理人
2010/06/13 05:58:08

一時的にテスト用のスクリプトを上げます。 しばらくは投稿がエラーになる可能性があります。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1577] Re:IF文の判定について
投稿者:通行人B
2010/06/11 17:34:13

管理人さま >どちらについても保証されています。 根拠まで示していただき、ありがとうございました。m(_ _)m 774RRさま、yuyaさま >一方で #define TRUE 1 とかしていることが多いので >func()==TRUE はバグの元だからやらないほうがいいよ 取り急ぎ、アドバイスにお礼申し上げます。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1575] Re:業務連絡:ほげほげ認証をほげぴよ認証に変更しました
投稿者:こくぼ
2010/06/11 09:30:04

>IPアドレスがだめで、かつ、人力でやっているのなら、NGワードのような >「spamでない投稿をspam扱いしかねない」手段しかないんですかねえ。 特定のURLが含まれていたらspam扱いする、としたらちょっとはマシになるかも…?
[この投稿を含むスレッドを表示] [この投稿を削除]
[1573] Re:業務連絡:ほげほげ認証をほげぴよ認証に変更しました
投稿者:(ぱ)こと管理人
2010/06/11 03:07:48

>spamがあまりにひどいので、「ほげほげ認証」のキーワードを「ほげほげ」から >「ほげぴよ」に変更しました。投稿時にはご注意ください。 spam、来ましたねえ…… とほほ。 人力でやっているんでしょうか。やっぱり。 IPアドレスがだめで、かつ、人力でやっているのなら、NGワードのような 「spamでない投稿をspam扱いしかねない」手段しかないんですかねえ。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1572] Re:IF文の判定について
投稿者:yuya
2010/06/10 14:21:06

>ほげぴよ認証のテストを兼ねて ># ってか既に spam ってるんだけど > >C では、偽は0、真は0以外である。 >一方で #define TRUE 1 とかしていることが多いので > >func()==TRUE はバグの元だからやらないほうがいいよ 賛成。 関数が正常終了したら0を返す慣習って、けっこう頭が混乱しますよね。 「この戻り値は、『何かヘンなことが起こりましたか?』という質問に対する答えだ!」と 自分に言い聞かせて納得するようにしてました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1571] Re:IF文の判定について
投稿者:774RR
2010/06/10 13:24:01

ほげぴよ認証のテストを兼ねて # ってか既に spam ってるんだけど C では、偽は0、真は0以外である。 一方で #define TRUE 1 とかしていることが多いので func()==TRUE はバグの元だからやらないほうがいいよ
[この投稿を含むスレッドを表示] [この投稿を削除]
[1569] 業務連絡:ほげほげ認証をほげぴよ認証に変更しました
投稿者:(ぱ)こと管理人
2010/06/10 00:52:01

spamがあまりにひどいので、「ほげほげ認証」のキーワードを「ほげほげ」から 「ほげぴよ」に変更しました。投稿時にはご注意ください。 spammerが機械的に投稿しているのなら効果があるのかも、と思っています。 IPアドレスによる制限も考えたのですが、結構ばらけているみたいで……
[この投稿を含むスレッドを表示] [この投稿を削除]
[1568] Re:IF文の判定について
投稿者:(ぱ)こと管理人
2010/06/10 00:46:38

>if((func_hoge() == 真) && (func_piyo() == 真)) // (1) > 実行文; > >if(func_hoge() == 真) > if(func_piyo() == 真) // (2) > 実行文; > >上記(1)または(2)において、func_hoge()が偽であった場合、 >func_piyo が実行されないことは文法上保証されるのでしょうか? どちらについても保証されています。 (1)は短絡演算子というやつで、JIS X 3010:2003 (ISO/IEC 9899:1999)であれば 6.1.13に以下の記述があります。 | ビット単位の2項&演算子と異なり,&&演算子は左から右への評価を保証する。 | 第1 オペランドの評価の直後を副作用完了点とする。第1オペランドの値が0と | 比較して等しい場合,第2オペランドは評価しない。 「||」も同様です(6.5.14 論理OR演算子より) | ビット単位の|演算子と異なり,||演算子は左から右への評価を保証する。 | 第1オペランドの評価の直後を副作用完了点とする。第1オペランドの値が0と | 比較して等しくない場合,第2 オペランドは評価しない。 (2)はさすがにif文の動作として自明ではないでしょうか。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1567] IF文の判定について
投稿者:通行人B
2010/06/09 10:51:43

初めまして。お邪魔します。 C言語の文法?について質問させて下さい。 if((func_hoge() == 真) && (func_piyo() == 真)) // (1) 実行文; if(func_hoge() == 真) if(func_piyo() == 真) // (2) 実行文; 上記(1)または(2)において、func_hoge()が偽であった場合、 func_piyo が実行されないことは文法上保証されるのでしょうか? ご教示をお願い致します。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1562] Re:C++って使われていますか?
投稿者:(ぱ)こと管理人
2010/06/08 00:31:16

>「使われているそうです」や、「ごくたまにC++を使う機会もあります」 >という表現から考えると、主流ではないようですね。 前回、「.NETってどこで使われているんですか?」と言われた、という話を 出したように、会社や業界により使われている言語はかなりまちまちです。 もちろんそれは私にしても同じですので、私自身が仕事で使う言語の 範囲から「主流ではない」という結論を導かれても困ります。 業界全体でのトレンドを見たければ、たとえば以下のようなページはどうでしょうか。 http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 現時点で、Java, Cに続いて3位です。昔に比べても伸びているようにも見えます。 http://d.hatena.ne.jp/takoratta/20080430/1209512678 前回リンクしたLinusの投稿にしても、「GitってなんでいまどきC++じゃないの?」 という投稿に対する反論ですから、元発言者にしてみれば、「いまどき C++があたりまえ」という感覚だったわけでしょう。 Linuxはさておき、たとえばOpenOfficeのソースはC++ですよね。 もちろん、Hiropyonさんが以下のように思われるのであれば、 >どうもプログラムオタクがひとりよがりで作った言語のような感じがします。 それはそれでひとつの見識ですし(同意する人も多いはず)、根拠を挙げた上で 主張されれば面白い話になるように思います。 >C++を使う場合というのは、今回のソフトウェア開発はC++でいこう! >とか、仕様で決められて、それでコーディングするのでしょうか? どうでしょうか。Windowsでネイティブアプリを作りたいとか、環境によって 決められてしまうことが多いように思いますが。 組み込みとかでリソースが少なくて、JavaやC#は到底使えないけれど、 Cじゃあんまりだよね、とか。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1561] Re:C++って使われていますか?
投稿者:Hiropyon
2010/06/07 18:31:46

管理人様、忙しい中ご回答頂きありがとうございます。 「使われているそうです」や、「ごくたまにC++を使う機会もあります」 という表現から考えると、主流ではないようですね。 C++を使う場合というのは、今回のソフトウェア開発はC++でいこう! とか、仕様で決められて、それでコーディングするのでしょうか? >Hiropyonさん、はじめまして。 > >>単純に思うのですが、実際の現場でC++は使われているのでしょうか? > >これについては774RRさんから回答がついていますが、場所によっては >使われているそうです。私自身も、7~8年くらい前には仕事で使っていました。 >最近は.NETがメインなのですが、ごくたまにC++を使う機会もあります。 > >つい最近、某JavaのMLで、「.NETってどこで使われているんですか?」という話題が出て >「この5年くらいC#ばっかりですが何か?」というようなレスを返したのを >思い出しました…… > >>現にLinuxのプログラムやカーネルソース等もC言語で記述されていて >>だれもC++を使っていないようです。 > >Linuxに関して言えば、Linusさんがこういう人だという理由もあるんでしょう。 > >http://tabesugi.net/memo/2009/1a.html#152154
[この投稿を含むスレッドを表示] [この投稿を削除]
[1555] Re:C++って使われていますか?
投稿者:(ぱ)こと管理人
2010/06/06 21:55:36

Hiropyonさん、はじめまして。 >単純に思うのですが、実際の現場でC++は使われているのでしょうか? これについては774RRさんから回答がついていますが、場所によっては 使われているそうです。私自身も、7~8年くらい前には仕事で使っていました。 最近は.NETがメインなのですが、ごくたまにC++を使う機会もあります。 つい最近、某JavaのMLで、「.NETってどこで使われているんですか?」という話題が出て 「この5年くらいC#ばっかりですが何か?」というようなレスを返したのを 思い出しました…… >現にLinuxのプログラムやカーネルソース等もC言語で記述されていて >だれもC++を使っていないようです。 Linuxに関して言えば、Linusさんがこういう人だという理由もあるんでしょう。 http://tabesugi.net/memo/2009/1a.html#152154
[この投稿を含むスレッドを表示] [この投稿を削除]
[1554] Re:各モジュールについて
投稿者:(ぱ)こと管理人
2010/06/06 21:49:46

HiroakiSoftwareさん、はじめまして。 >メモリ管理モジュール(MEM) >デバッグライト用モジュール(DBG) > >についてなのですが、オリジナルの言語で使用して >作った言語を配布しても問題ないでしょうか? >また、使用にあたって条件等はありますでしょうか? まったく問題ありません。単純なモジュールですが、あんなものでよろしければ いくらでもご利用ください。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1553] 各モジュールについて
投稿者:HiroakiSoftware
2010/06/06 21:09:39

前橋様 はじめまして、HiroakiSoftware(※個人のハンドルネームです)と申します。 メモリ管理モジュール(MEM) デバッグライト用モジュール(DBG) についてなのですが、オリジナルの言語で使用して 作った言語を配布しても問題ないでしょうか? また、使用にあたって条件等はありますでしょうか? これは著作権侵害等のトラブルを防止するために、 確認の意味で本投稿(質問)をさせていただきました。よろしくお願いいたします。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1552] Re:C++って使われていますか?
投稿者:774RR
2010/06/06 07:25:03

Windows の MFC や ATL は C++ Ruby on Rails の passenger は C++ ウチではワンチップマイコンの組み込みにも使っている。 自分の狭い視野だけで判断してない?
[この投稿を含むスレッドを表示] [この投稿を削除]