>>56 > そちらが、僕を馬鹿にするなら、その共通概念をあらわすべきだと感じる。
だからさ、31がおかしいところを指摘してるじゃん。
その処理系がインタプリタかコンパイラか、っていう議論がそもそも不毛だという意図で書いたんだが・・・
まぁ、解かってもらえなくてもしょうがないかな。
最初に,インタプリタにするかコンパイラにするかを、強く意識して設計された言語もあるし、
そうでない言語もある。
コンパイラを強く意識して設計された言語でも、インタプリタな処理系がある場合もあるし、その逆もある。
>>29 ところで、「言語」と「処理系」の違いは、わかってる?
63 :
デフォルトの名無しさん:02/02/18 04:11
>>56 > 64バイトとかの型はなぜ作られなかったのだろう。
> 工夫すれば作れないことはないはずである。
128 バイトも、3バイトもな。
> 算術演算なら、沢山の数が扱えたほうがやりやすいだろうし・・・。
そんなこと言い出したら、分数だとか、複素数だとか、マトリックスだとかキリがないでしょ。
数値計算に使うことが前提になっている FORTRAN なんかならともかく、
C は基本的に汎用なんだから、問題に特化した部分はライブラリで提供するもんだと思ってたよ。
むやみに色々な型や機能を規格に盛り込んでしまうと、Common LISP みたいに実装するのが難しくなると思われ。
と、学生のくせに言ってみるテスト。
初心者相手によくやるね。
放置すりゃいいのに
蚊もうるさきゃ叩かれる。
>64 以後、気をつけます。
>> 56
>
>>42 > 電波ね・・・。貴方は39か?
31、37ですが何か?
聞く耳持たず俺理論を撒き散らす人間を表す言葉としては、
“電波”はしごく適切だと思いますけど。
> 敵対心持った人が増えるばっかり・・・。
みんな諭してんだよ、間違った認識を振りかざしている貴方をね。
(´−`)。o ○ (
>>56って、C++の将来性スレの189を思い出させる…)
いそっちのおさげかわいい
70 :
デフォルトの名無しさん:02/03/03 15:10
最近、C++ソースのリファクタリングに凝ってる。
で、たとえば『単独で存在する後置インクリメント』を全部
『前置インクリメント』に置き換えたかったりするわけなんだが。
こういうのをうまいこと処理してくれる言語って何? Perlか?
>>70 ちゃんと処理したかったら、
正規表現で誤魔化すよりもパーサ書くほうがよさそうだね。
単独で存在する後置インクリメントといっても色々なパターンがありそうだし。
たとえばfor(i = 0; i < max; i++)とか。
でも、C++のパーサなんて1から書いてたら大変だから
適当なプリプロセッサとか拾ってきたほうがいいかもね。
よくわからんけど…。プリプロセッサってことは、ソースは後置インクリメントの
ままだけど、コンパイラが見る時点では前置インクリメントということになっている
ってこと?
ソース自体が前置インクリメントになってくれてた方が見た目に安心できるんだけど。
>>72 いや、ソースを変換して出力するフィルタみたいなプログラムの例として
プリプロセッサがあるからそれを参考にすれば、という話でしょ。
べつにプリプロセッサの出力先がコンパイラでなきゃいかん、つーわけじゃないだろ?
>>73 なるほど、そういう意味ね。
で、プリプロセッサを探すのはいいけど、そっからどうすればいいのよ?
『単独で存在する後置インクリメントを全部前置インクリメントに置換する
機能が付いているプリプロセッサ』を探すわけじゃないんだよな?
どういう手順を踏んだら実際にこの置換が出来るようになるのか、
まったく先が見えないんだけど。
75 :
John ◆0z.4Is5E :02/03/03 21:26
> 64バイトとかの型はなぜ作られなかったのだろう。
64bitの間違いかな?
どっちでもいいんだけどプログラムで何とでもできるよ。
桁が足りなくなったら、新しくメモリ確保すればいい。
使わなくなったら解放してもいいし。
ちなみに、コンパイラ=ネイティブコードを出力するもの
でいいのかな?
>『単独で存在する後置インクリメント』を全部『前置インクリメント』
「単独で存在する」の意味はよくわかんないけど、
アルゴリズムが結構難しいんじゃないかな。
function(i++,i++)
とかさ。
> どっちでもいいんだけどプログラムで何とでもできるよ。
勘違いデムパは消えろよ。
言語規格の話だろうが。
> 「単独で存在する」の意味はよくわかんないけど、
式の中に存在するインクリメントの前置と後置を入れ替えたら、
式の意味が変わるでしょ。
> function(i++,i++)
C++でこんなコード書いていたら張っ倒したくなるんですが。
77 :
John ◆0z.4Is5E :02/03/03 21:42
>言語規格の話だろうが。
C言語がなんで64ビットあるいはバイトをサポートしなかったのかの話じゃないの?
「単独で存在する」=前置と後置を入れ替えても意味が変わらない
という事なら、まあどの言語でやっても簡単だね。
>C++でこんなコード書いていたら張っ倒したくなるんですが。
後置を前置に変えられない例。
自分の想像の範疇をサポートするプログラムなら別に問題ないけどね。
> function(i++,i++)
C++でこんなコード書いていたら張っ倒したくなるんですが。
> C言語がなんで64ビットあるいはバイトをサポートしなかったのかの話じゃないの?
「プログラムで何とかする」と「言語仕様に含まれる」が等価なのですか?
あー、まあとりあえずだ。
function(i++,i++)
なんてのは、誰も書かないから気にする必要はない。
>>75だって、単に例としてあげただけで、実際に書きは
しないだろう。
一応俺が想定している「単独で存在する〜」は、
こんな形だ。
i++;
for(int i=0;i<MAX;i++)
「単独で存在しない〜」はこう。
while(i--)
*Dst++ = *Src++;
function(i++,i++) ;// もちろんこんなコードは書きゃしない
>「単独で存在する」=前置と後置を入れ替えても意味が変わらない
>という事なら、まあどの言語でやっても簡単だね。
そうそう。そういう意味だ。で、実際どの言語でやるのがおすすめ
なのか教えてくれないか?
だってインタプリタ=大きい数が扱える、と比較してるからさ・・・
s/78/75/
人外…
なんで? まずくないのかあのコードは…
∧||∧
( ⌒ ヽ ・・・
∪ ノ
∪∪.
AA探してる間に訂正されてた。
でもどうせだから吊っておこう…
∧||∧
( ⌒ ヽ ・・・
∪ ノ
∪∪.
すでにいなくなった電波相手に戦い挑むやつのいるスレはここですか?
いいえ、ここは、電波がハンドル替えて、仕返しをしようとあがくスレです。
漏れの電波だお前の俺の俺の
単独インクリメントなんて処理系で最適化できそうだが、そうでもないのか。
>>43 これらの具体的な言語は何?
とりあえず適当に答えてみたんで間違ってたら修正頼む
> ○処理系はあらかじめ仮想コードへコンパイルするが、
> 実行時は仮想コードインタープリタが動く。
具体例:Java
> ○処理系は整数演算をネイティブコードにコンパイルするが、
> 実行時まで型のわからない変数へのメッセージ送信は
> メッセージ処理ルーチンを呼び出す。
具体例:SmallTalk?
> ○処理系はソースとともに起動され、実行時にソースを解釈する。
> しかし、ソースは一旦ネイティブコードにコンパイルされ実行される。
具体例:perl?
> ○処理系はソースをすべてネイティブコードにコンパイルするが、
> 文字列をソースとして実行するeval関数をサポートしている。
> さらに、evalで実行されるコンテキストから、呼び出し元の環境にアクセスできる。
具体例:Lisp?
>>90 いや、リファクタリングといってるんだから、
ソースコード自体を変換したいんだろう。
少なくとも変換すべきじゃないものは絶対変換しない保障はいるだろうな。
変換できるのを見逃すのはまあ妥協できるだろうが。
がんばれば正規表現でできるか?
それとも急がば回れでパーサ書くのが正解か?
まあ後々インクリメント以外にも対応したくなるかもしれなくて
その後々やりたくなった事が正規表現じゃあ苦しくなるかもしれないなら
パーサ書いたほうがいいかもね。
#俺ならPythonかな
> > ○処理系は整数演算をネイティブコードにコンパイルするが、
> > 実行時まで型のわからない変数へのメッセージ送信は
> > メッセージ処理ルーチンを呼び出す。
> 具体例:SmallTalk?
いや、Smalltalkは一応は整数演算も動的束縛してるだろ。
(動かしてるうちにインクリメンタルコンパイラがほげほげしてくれるかもしれんが)
>>91 (3)については
>>53 MSXべしっ君は、行番号でコンパイル個所を指定できたりで、けっこう便利だった。
2とかターボとかも出てた、検索すればいくつか引っかかるよ。
Smalltalkは、最近の実装は知らんが、少なくともSmalltalk80は(1)だ。
95 :
デフォルトの名無しさん:02/03/16 00:53
プログラミングを独学で本買ったりして、はじめたいんですけど、
言語はなにから始めたらいいですか?
だから言っているでしょう。
結城 せんせぇのC言語プログラミングレッスソとK&Rで十分だと。
98 :
デフォルトの名無しさん:02/03/16 00:56
それだけで、Cをマスターできるんですか??
99 :
デフォルトの名無しさん:02/03/16 00:56
英語。
あとローマ字。
101 :
デフォルトの名無しさん:02/03/16 08:54
>>1 言語の用途
怒る、罵倒する。> ハングル
言い訳をする。バックれる > 中国語
説教を説く。物事を検証する >ドイツ語
相手を懐柔する。物事をうやむやにする。 > 日本語
女性をナンパする > イタリア語
その軟派した女性とデート、ベットイン > フランス語
んなところ?
Ruby!!!!!!!!
>>98 101が言うようにイタリア語とフランス語を学んでCをマスターすれ。
104 :
デフォルトの名無しさん:02/03/16 10:52
「世の中の言語をすべてマスターしたものは哲学を学ぶ必要がない」
と言う古人の教えとおり、全てやるのがいいと思う。
>>104 100の言語を片言のみ喋れる奴より
自分の母語をしっかりと語れる奴のほうが
ずいぶんとマシだと思うぞ。
>>104 全てをマスターできれば良いかも知れんが、普通はできんぞ。すべてやろうとした
ら中途半端になるのがおちだから、とりあえず一つを極めた方が良いって言ってん
だと思うよ、
>>105 は...。
>>104 どんな人も受け入れ、愛し、助け合える、捉われない人になるのがよいと思います。