Cって関数型言語なの?

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレ

C#って死滅しちゃうの? Part5
http://pc2.2ch.net/test/read.cgi/tech/1042963420/
2デフォルトの名無しさん:03/02/01 02:51
くそすれ2げっと
44 :デフォルトの名無しさん :03/01/19 18:33
>>42 それ微妙
CからC#への移行なら生産性あがって当然よ。
関数型言語からオブジェクト指向言語に移行するわけだから。

C++からC#への移行はどうかな。生産性は対して変わらんよ。
ん?Cのどこが関数型言語なの?
5デフォルトの名無しさん:03/02/01 02:55
Cが関数型言語でなければなんだというのだ・・
6デフォルトの名無しさん:03/02/01 02:57
関数の中で関数を定義できるのが真の関数型言語。C は似非
副作用だらけだろ。Cは。
タイトル的には多少まともな技術論が期待できそうだが。
9デフォルトの名無しさん:03/02/01 03:14
手続き型でしょ?
おいおい、お前ら。ここはC#死滅スレですよ
たとえJava厨が憎くても、たとえ恥をかかされたとしても、
荒らしに荷担するのは止めましょう。
>>3
しかし恥ずかしい書き込みだよなあ。(w
13デフォルトの名無しさん:03/02/01 03:35
関数型言語からオブジェクト指向言語に移行するわけだから。
14デフォルトの名無しさん:03/02/01 03:35
Cはアセンブラ型言語です
Cは高級アセンブラ。

>>12
??生産性上がって当然だろ?ていうか他に何を求めてのC++++なんだよ。
C#、関係無いけど、個人的にはdelegateが面白いと思った。
死滅しようがなんだろうが、ちょと使ってはみたい。

ただインタフェースを「実装」じゃなくて「継承」と考えるってのがなんか
納得できない。
死滅するなら使いたくない
人生の無駄
>>17
そう言って新しい物に食指が動かないヤツは「お前の存在が無駄」ってな事になりかねん。
...って、「この忙しいのにそんな事してるヒマあるか!」なら...ま、同意。(笑
悪い物を見極められる技術者としての心眼が必要
>>19
悪いの理由によりけりだな。
言語仕様的には面白いと思うが。つーか各種言語のリミックスっぷりがヤらしい。
そして、俺はインデクサがどうも気持ち悪い。
単純に、マルチでないVMなど意味がない
言語がマルチなど、開発者も望んでいない
(個別にライブラリを起こすパワーがMSに無い?)
どんなにマシンが速くなっても、ユーザーは速度を求める
開発が簡単で開発者が楽でも、ユーザーは満足しない
>>21
何が言いたい(主題)のか良くわからんが、ま、極論(暴言?)で言えば、
CLRを包む対応言語って、結局大仕掛けのシンタクスシュガーでしかないよな...って、
それ言ったら、既存の言語も機械語に対して、同じ事なんだけど。

ま、「なんでそうしたかったの?ゲイツ」って部分はある。
#じつはOSの設計レベルでの、壮大なリファクタリングという話もある。(笑
> どんなにマシンが速くなっても、ユーザーは速度を求める
あ〜。間違い間違い。そんな歴史は無い。
極端なのは別だが、重いのより便利さを選んでる。
回りよく見てみ。とことん軽いのを求めてるのはマニアだけ。
>>23
お前は普通のアプリばかり使ってる厨房か?
市販アプリは優秀な技術者が、大抵C++でつくってる。
遅いったって、充分実用的なレベル。
大規模開発で才能のない技術者と一緒に仕事して、
JavaやVBのクライアントアプリでユーザーに文句いわれれば、
.NETに対する見方も変わるだろ。
2522:03/02/01 04:45
>.NETに対する見方も変わるだろ。

ていうか「客先のインフラ整ってます」ていうベースありきの話だよね。
..そこらへんが綺麗になってるんなら、やっぱやってみたいよな。
>>24
えっなに? ほぼ独占状態にあるソフトがC++で作られてる
(そりゃ当時は選択しないしねぇ)からユーザは速度求めてるって?
あんた、エディタとかさ、二つ以上の選択肢があるソフトで選ぶ基準に
速度が重要視されてるか?って考えるのが筋じゃんよ。

> 遅いったって、充分実用的なレベル。
あはあは。 遅いったって、充分実用的なレベル。 ならC#でもいいじゃん。あはあは。
頭悪すぎて、書き込む気力が失せる。
市場に出せるようなのは、それなりの性能・機能・速度がある。
その中での遅いと、C#やJavaやVBの話は次元が違う。
Javaがどんなに高機能で使い安くても、実用的にはならない。
C#が実用的なんて、誰がいった?
2825:03/02/01 04:59
>>27
横槍失礼。でも「実用的か否か」は対象によると思うよ。
リアルな言い方したら、「工数と保守性」にかかるコストの方が
(もちろん仕事の内容によるが)問題になる訳で。

...って、市販のゲームのコードとかだとたぶん>>27の言う「市場デフォルト」の
力が強いんだろうな。
ただ、.NETベースの見てる物って、そっちじゃないからな。
>>27
> 市場に出せるようなのは、それなりの性能・機能・速度がある。
> その中での遅いと、C#やJavaやVBの話は次元が違う。
なにが言いたいんだ? いーみわかんねぇど。
勝手に次元が違うことにしている意見になーんの意味があるんだか。
問題は実用になる速度かだろ。
次元が違うの一言で片付けるのは楽でいいね。頭つかわねぇんだから。

Java? あーりゃだめだ。起動が遅すぎる。
3028:03/02/01 05:12
>>27 の言う所を突き詰めると、最後には「アセンブラが最強なんだよ!」てな事になるな。
って、そこまで極端でなくても、それに近いパフォーマンスを出せる、
「同じ手間なら早い方がいいに決まってるだろ!」てな話に行き着くな。

でも、開発者的には、保守コストって大事な部分なんだよ。
大体OOな世界のデザインパターンだって、「再利用性」とか
「保守性(技術者間の意識の透過性含む)」ていう意味でコスト削減できる(はず)な
代物なんだし。

「実用性」のベースに置くものを、その対象毎に切り替えて考えなきゃ。
あれぇ。れーすつかねぇな。ねーちゃおっかな。

あー。無理することねぇど。例えC#が実用になる速度でも
次元が違うって一言で片付けりゃええから。

「使えるくらい実用的でも次元が違うから使えない。」

なんてあたまいいセリフなんだ。これ言われたらなにも
いえなくなっちまうってばよ。

企業様様にはコスト下げて安くして品質良い物を早くリリースして
くれることを一ユーザとして深く深くお願いいたします。

フリーならどーでもええど。
でも、やっぱりできるだけバグバグじゃなくて早くだしてな。
>>30
あのな、速度だけで保守性0とか、保守性だけで速度0とか、
そんな非現実的な話しても、しょうがないだろ。
こんな事はいわなくても大前提だろ。
市販アプリは優秀な技術者が、大抵C++でつくってる。
おそらく、保守性だって充分良いと思うぞ。
しかし1社のためだけの大規模開発で、大量の優秀なC++技術者なんて用意できるか?
人員的にも金銭的にも、通常の企業には無理だろ。
結局馬鹿でも使える、VBとかJavaとかC#になる。
馬鹿は安く使えるし、大量に用意できる。
しかし市販アプリを使い慣れたユーザーは、VBやJavaだと、文句言うんだよ。
なのに何で、.NETは意味もなくVMにすんだって話。
3330:03/02/01 05:39
>>32
うーん、なんか話が混ざってる気がする。 ....ていうか、何思い浮かべてその話してる?

>しかし市販アプリを使い慣れたユーザーは、VBやJavaだと、文句言うんだよ。

これはわからんでも無いんだが。...ちなみに俺は

>1社のためだけの大規模開発

↑それをやってるSI会社の人間なので >>30 に書いた意見が真っ先に来るんだよ。
後、

>優秀な技術者が、大抵C++でつくってる
>結局馬鹿でも使える、VBとかJavaとかC#になる

俺の中では↑これはリアルじゃない。
>>31
この板だけにかじりついてるわけでも、
2ちゃんだけにかじりついてるわけでもない。
市販アプリは、C++が多いだろ。
C++を使える奴は多いが、馬鹿に使わせると悲惨なことになる。
結局、C++で開発するなら優秀な奴が必要になる。
VB・Java・C#なら、多少馬鹿でも大丈夫。
3630:03/02/01 05:50
ちなみに俺の中での「優秀な技術者」の定義って、「ハード叩きが出来る」でも無ければ、
「APIの効率的な使い方に熟知している」でも無い。
「時間と予算内で『客が求める結果』を満たせる判断&コードが書ける」とか、
「それが今後の要件を妨げない方向でナレッジとして蓄えられる」ってのが
良い技術者の条件だと思ってる。

だから、問題なのは、言語じゃない。
3736:03/02/01 05:56
>>35
>馬鹿に使わせると悲惨なことになる。

笑)それはなんでも一緒。

凄い馬鹿が書いたjavaのコードなんて、見るに耐えないぞ。
継承やインタフェースの概念すら理解できないまま投入された新人が書いた
サーブレットなんて、リファクタするだけで吐き気がしてくる。ていうか

>多少馬鹿でも大丈夫。

要するに、多少馬鹿が書いたコードでも大丈夫なレベルの VB , Java , C#のコードしか
見てないのかな?と思ってしまう。
俺の中で優秀とは、そんなマネジメントまで要求しない。
そんな事出来る奴はほとんどいない。
物が作れりゃ充分。
そしてこれには、言語が大きく関わる。
C#は、簡単に作れるが速度がいまいち、
保守性に優れるが拡張性に乏しいと感じる。
もっと分かりやすい例を出せば、COBOLならかなり馬鹿でもいけるぞ。
優秀な人間は優秀だし、馬鹿な人間は馬鹿だが、
現実には両極端な人間は少なく、グレーな奴が多い。
言語による違いに影響されることはあるとおもうが。
4036:03/02/01 06:10
..今俺が書いた内容が消えてる...鬱だ。

>>38
..たぶんね、普段見ている業界が違うんだよ。(学生さん?)
俺の方だと「出来る奴はほとんどいない」じゃ困るんだよ。
「出来て当然」ていうか、それが仕事。趣味でやってる訳じゃないんだから。
出来上がりのレベルはもちろん差はあるよ。結果として。ただ「それが仕事」。
じゃないと案件も来なくなってしまう...って、これはマ板行きな話か。あと、

>拡張性に乏しいと感じる。

↑これは、言語というよりむしろ設計の話だと思う。でも、

>現実には両極端な人間は少なく、グレーな奴が多い。

これは同意。つーかマジ。
実際には.NETの特性だが、C#=.NET見たいなもんだからな。
出来てるつもりの奴は多いが、出来てる奴はほとんどいない。
それがこの業界だろ。
まあ、俺が知ってるのはX村X研とかXTXデXタとか、かなり偏った人材かもしれんがな。
4240:03/02/01 06:36
>>41
うーん。
俺も >>40 な事は書いてるが、本当は技術指向なんで、言いたい事はわかるんだが、
ただ「.NETを適用したい」なんて話は、どっちかと言うとこっちの業界向けな話なんじゃないかな。
ソフト屋とか、パッケージ商品開発とかだと、確かに「んだよこのクソMS!」て感じになると
思うんだが、ただ大っき目な企業のインフラは大抵MSべったりなのが現実で、(Excel使ってませんなんて聞いた事無いし)
.NETって、そういう部分での包括的なソリューションだっていう認識が俺の中にはある。

で、その辺の事(Integrateな話)を踏まえつつ、その辺のアーキテクチャを理解して、
きちんとPGには書いて欲しい。だけど、

>出来てるつもりの奴は多いが、出来てる奴はほとんどいない。

↑これはリアル(笑
4342:03/02/01 06:44
ま、俺の場合、1研究者としての気持ちなら「それってどんなん?」ってわくわくするし、
でもやりたい事が決まってるPGとしてなら「ウゼーって」て思う。「なんでわざわざそれでか」と。
そしてSEとしての立場なら、
「客がそれが本当に必要だ」ってんなら.NETだろうがなんだろうが使う。
職人としての、良い物をつくる指向と、
マネージャとしての、客の望む最低限の物を提供し利益を上げる指向と、
経営者としてのビジョン。
これらは全て異なる。
客の求めるままに人員をシフトしても、長期的に最善とは限らない。
まあ当面は、こちらから.NETを勧めて断られることはあっても、
客から.NETを求めてこないだろうが。
>>22
OSの利ファクタリングじゃないだろ。
OSの上に安全なコードの実行環境を乗るのが目的なわけで。
逆に言えば、下のレイヤーのOSはなんだっていい。プロセスという
概念がなくてもいい。ただ.NETはCOMとシームレスに繋ぐことで
パフォーマンス上げてるから、OSがなんだっていいという
ことにはならなそうだな。かといってJavaはSunががっちり抑えてて
萎え萎えだし。
46デフォルトの名無しさん:03/02/01 12:38
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。 Cは手続き型言語。
47デフォルトの名無しさん:03/02/01 12:42
>>46
ハァ?
プログラミング言語だろ?
4847:03/02/01 12:45
おい!
つっこめよおめーら!
>>48
このスレの削除依頼でも出してください、より妥当なスレが別にあるんだから・・・
>>49
自分で出せば。むこうの>>1さん
5148:03/02/01 14:35
>>49
ハァ?なんで俺が?
なんか勘違いしてる人(>>1とか>>3とか)がいるみたいだけど、
C言語の様に副作用がメインにくる言語は関数型とは言わない。
もちろん、C言語でも関数型言語の様式に習って、副作用を
起こさない風にも書くこともできるけど、これは、
「C言語でもオブジェクト指向ができる」と言い張るのと似ていて、
それぞれの様式に特化した言語と同じ手軽さで書けるわけではない。
>>52
それをわかってないのは、元の発言者だけだと思われ。
54デフォルトの名無しさん:03/02/03 14:11
55デフォルトの名無しさん:03/02/03 22:27
あとクロージャー作れないしね。C言語は。
56デフォルトの名無しさん:03/02/09 15:43
>>55
static変数で十分だろ
57デフォルトの名無しさん:03/02/11 23:08
C言語を関数型言語だと勘違いしてる人っていっぱいいるの?
ちがうでしょー
59デフォルトの名無しさん:03/02/11 23:16
c言語はgoto文をつかゑなくした最初の言語
60最凶VB厨房:03/02/11 23:21
>>59
ぉぃぉぃ。
goto使う必要がないってだけであって普通にgoto使えるぞ。

まあエラー処理とか例外的な例もあるけど。
↑mailto:xxxli
最強は塗歩型言語。使いこなせない屑は死ね。
64山崎渉:03/04/17 15:58
(^^)
65山崎渉:03/04/20 04:04
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
66デフォルトの名無しさん:03/05/16 22:11
アホアンチあげ
女でもできる馬鹿プログラミング言語VB厨も暇だな。
女に教えてもらえたら、VB厨になってもいい。
アホくせー
それだからVB厨は不謹慎
なんだ?どうした?
VB厨は死んだ
72デフォルトの名無しさん:03/05/17 06:07
アホアンチ(ゲラ
73r:03/05/17 10:05
>>67
女ができるプログラミング言語だといいのになぁ
74デフォルトの名無しさん:03/05/27 18:33
今.NETやってる人は、仮に.NETがダメになっても
新しいモンに乗り換えるんでしょ?大丈夫じゃん。
75山崎渉:03/05/28 20:30
     ∧_∧  
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
>>74
今.NETやってる人のうち99%はVBが死滅しちゃったから仕方なくVB.NETをやってるだけ。
女に教えてもらえたら、VB厨になってもいい。
78デフォルトの名無しさん:03/06/26 05:01
>>52-53
Cは関数型ではなくて、手続き型というのはあっているのだが、
お前らの関数型言語の認識も世間一般の認識とは、ずれてるぞ。
副作用があったら関数型言語じゃないというのなら、
Lisp、Scheme、ML、OCamlは関数型言語じゃないな。(w
79デフォルトの名無しさん:03/06/26 06:06
おっぱいとまんこ
http://www.k-514.com/
80_:03/06/26 06:16
>>59
使えなくしたのはC言語ではなくC言語プログラマ
82山崎 渉:03/07/15 10:30

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
83山崎 渉:03/07/15 14:12

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
84デフォルトの名無しさん:03/07/25 17:15
100% PureJavaが現実的でないのと同様、
純粋関数型言語にも意味がない。
技術者のオナニーに過ぎない。
85デフォルトの名無しさん:03/07/25 17:21
オナニーを楽しめないなら、生きる意味がない!
86山崎 渉:03/08/02 02:19
(^^)
楽しいか楽しくないかじゃなくて、実用的でないってことがいいたいんだろ
ようは飯が食えるかということ
俺は飯を食うだけでは満足できないね。
89山崎 渉
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン