「Cでプログラミングするには人生は短すぎる」か?

1デフォルトの名無しさん2011/02/01(火) 00:02:54
Monoプロジェクトの公式発表ではないが、その主導者であるミゲル・デ・イカザ氏の言葉として、
「Cでプログラミングするには人生は短すぎる」という標語が掲げられている。
http://bit.ly/fJCXb0

2デフォルトの名無しさん2011/02/01(火) 00:09:31
もっと有意義なことで人生を楽しみなよ

3デフォルトの名無しさん2011/02/01(火) 00:49:33
CでGC機能のあるライブラリは作れないのか?
 → アセンブラで書いてリンクすればできる。

CでOOな設計は出来ないのか?
 → 構造体でいいだろ。

Cで名前の干渉のないようにできるか?
 → それなりの長い名前をつければ問題ない。

なぜCで超便利で現代的なライブラリを用意してくれない?
 → わからん。標準ライブラリにこだわる必要もないのにね。

Cでプログラミングするには人生は短すぎる。
 → むしろ、なぜそういう境遇に追い込まれてるんだろう?

4デフォルトの名無しさん2011/02/01(火) 01:21:04
> むしろ、なぜそういう境遇に追い込まれてるんだろう?
生命科学の発達が遅いから

5デフォルトの名無しさん2011/02/01(火) 02:37:45
全部Cでやろうとするから無駄な時間を浪費してしまう。
台部分は生産性のいいOOP言語で作り、時間がかかってしょうがないところだけCで書けばいい。
柔軟に考えれば解決策はいくらでもある。ミゲルさんは頭が固いだけ。

6デフォルトの名無しさん2011/02/01(火) 03:24:19
Monoが使い物になる前に俺の人生が終わりそうだ。

7デフォルトの名無しさん2011/02/01(火) 05:37:08
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

8デフォルトの名無しさん2011/02/01(火) 07:07:43
と言いつつGTK+をCで書くミゲールさん

9デフォルトの名無しさん2011/02/01(火) 07:30:26
C + アセンブリ言語で十分高い生産性を維持できる。

10デフォルトの名無しさん2011/02/01(火) 08:12:12
冗談もほどほどにな。

11デフォルトの名無しさん2011/02/01(火) 12:15:35
>>8
むしろGTK+をCで書くようなことをやってるからこその言葉なんじゃねえの

12デフォルトの名無しさん2011/02/01(火) 19:04:22
phytonのGTKならええの?

13デフォルトの名無しさん2011/02/01(火) 19:25:06
phytonのGTKってただのラッパーじゃないの?

14デフォルトの名無しさん2011/02/01(火) 20:41:46
たいていのものは、何かのラッパーなんだけどね。

15デフォルトの名無しさん2011/02/01(火) 20:49:46
>>14
いや、そういう意味じゃなくて

>>11 の発言を受けて >>12 の返しなんだよね

>>11 は GTK+ というライブラリそのものを C で書く話だから、
その返しとして >>12 だったら、もしかして >>12 は phyton の GTK は
phyton で作られていると勘違いしているのかなと思って

16デフォルトの名無しさん2011/02/01(火) 22:48:36
強烈すぎる

17デフォルトの名無しさん2011/02/01(火) 23:08:12
PyPy, Cython の出番のようだな

18デフォルトの名無しさん2011/02/02(水) 00:54:28
いやBoo言語の出番に違いない

19デフォルトの名無しさん2011/02/02(水) 01:12:20
ゲシュタルト崩壊しそうなスレだな
phytonってなんだ?

20デフォルトの名無しさん2011/02/02(水) 01:33:17
>>19
phpの亜種

21デフォルトの名無しさん2011/02/02(水) 01:40:20
これはなかなかだね

22デフォルトの名無しさん2011/02/02(水) 02:24:56
paison

23デフォルトの名無しさん2011/02/02(水) 09:25:01
ファイトン糞ワロタwwwwwww

24デフォルトの名無しさん2011/02/02(水) 10:47:28
C言語に固執している奴は馬鹿
エコじゃない

25デフォルトの名無しさん2011/02/02(水) 14:28:23
無駄なメモリを使わず、遅いCPUでも速く動いてくれる言語はエコだろう。
もし世の中のサーバで動くソフトが全部Cで書いてあったら何台のサーバが不要になるか。

26デフォルトの名無しさん2011/02/02(水) 14:54:34
人生が短すぎるというよりむしろ逆にプログラミング言語の寿命が短すぎると思う

27デフォルトの名無しさん2011/02/02(水) 16:17:54
開発者が消費する熱量
 v.s.
サーバーが消費する熱量

だれか糞真面目に分岐点を出せ

28デフォルトの名無しさん2011/02/02(水) 19:24:00
>>25
リアルタイムで搭載CPUを調べて、レジスタ数やサポートしている拡張命令などに
ガチガチに依存したネイティブコードを生成するJITコンパイラの方が未来はある。

.NETもVC++比で、その差4%程度まで来ているし抜くのも時間の問題。
C言語自体もclangで中間コード/JITコンパイルの方向に進んでいるし。

29デフォルトの名無しさん2011/02/02(水) 20:32:50
>>3
構造体がOOだと思っちゃう奴って…

30デフォルトの名無しさん2011/02/02(水) 20:42:18
はじめからソースコードで配布できればよかったんやけど

31デフォルトの名無しさん2011/02/02(水) 20:43:23
当たらずとも遠からずってやつだろ。COMのインタフェースとか構造体で表現してるだろ、あれ。

32デフォルトの名無しさん2011/02/02(水) 21:39:11
GNOME完成しそうにない宣言

33デフォルトの名無しさん2011/02/02(水) 23:34:59
>>3の上3つを掲げ、4つ目のごとく標準ライブラリ(GTK)を作り続けた結果が、5つ目もとい>>1

34デフォルトの名無しさん2011/02/02(水) 23:36:10
ようするに>>3が全て。
俺にはほど遠い世界。

35デフォルトの名無しさん2011/02/03(木) 01:04:33
プログラムと呼べるのはCぐらいなもんだろ。
JAVAやC#は女子供のお遊びみたいなもん。アセンブリは知らん。

36デフォルトの名無しさん2011/02/03(木) 01:06:16
心ではみんなそう思ってるだろ。大声では言えないだけで。

37デフォルトの名無しさん2011/02/03(木) 01:41:03
JavaやC#がおもちゃなら
PythonやRubyはどうなるんだよ

38デフォルトの名無しさん2011/02/03(木) 03:39:15
むしろオモチャこそが理想じゃね?
Cはオモチャの範疇を超えちゃってるのがいけない

39デフォルトの名無しさん2011/02/03(木) 03:42:41
>>28
clangは俺も期待してるが、まだCとObjective-Cくらいしか動かないからこれからだね。
多くの人はAjax環境とかPHP、Rubyなんかの遅いものばかり使ってるからね。
Ruby->clangだったら楽できそうなんだが。

40デフォルトの名無しさん2011/02/03(木) 04:37:32
CにはCのよさがあるからね
その処理に向いた言語を使うだけ

41デフォルトの名無しさん2011/02/03(木) 09:30:16
適材適所
それこそシェルスクリプトで十分な超簡単なものをC言語で
書いてれば時間が無くなるのは当然。

42デフォルトの名無しさん2011/02/03(木) 13:12:14
この短い人生では、あんなめんどくさい言語やってる余裕はないっす。
strcpyとか今更勘弁してほしいっす。

43デフォルトの名無しさん2011/02/03(木) 15:06:33
仕事ではUNIX Cで開発している。
で、部分的には(擬似的な)OOPの考え方をCでの開発に導入している。
GNOMEのGObjectと同じ発想だけど、それほど洗練されていないし、
一貫したOO的な設計にはなっていない。

以前は、もしC++/JavaのようなOOPに置き換えられたなら、
幸せになれるのではないかと考えていた時期もあった。
ただ、Smalltalk/Rubyのような動的で純粋なOOP言語を知ってしまった今、
それらと比較するとC++/Javaは「いびつなOOP言語」にしか見えない。
CからC++/Javaへ移行することで多くの利点はあるかもしれないけれど、
その代償として新たな問題(STL/総称型/動的型)の問題を抱えるのがリスクになる。

趣味のプロジェクトであれば試しにC++でやってみるか?も可能だけど、
失敗した場合を考えると、それは許されない世界。
(理想は試作(C++)と本番(C)を別部隊に分離することだと思うが、自分にそんな権限は無い)
だから、最終的な納品物はonly Cで、その開発支援ツール類は、部品がRubyでそれらを
sh/awk/makeで統合する、というスタイルになっているのが現在の姿。

今は、makeをrakeへ全面移行すべきか?、あるいはこの先もrubyを選択し続けることが
はたして正しいのか?(他の言語はどうよ?)、が検討課題だったりする。

44デフォルトの名無しさん2011/02/03(木) 18:03:36
だから初めから Haskell にしとけばよかったんだよ

45デフォルトの名無しさん2011/02/03(木) 21:01:30
衰退してしまったSmalltalk
衰退しつつあるRuby
言語が崩壊してしまっているC++
中途半端な仕様になってしまったJava

46デフォルトの名無しさん2011/02/03(木) 21:03:51
何をするにしたって 人生は短すぎる

47デフォルトの名無しさん2011/02/03(木) 21:10:32
驚くことに、人生をすればちょうど人生とぴったりの時間

48デフォルトの名無しさん2011/02/03(木) 22:37:49
なにもしないでいるには人生は長すぎるが、何かを成すためには人生は短過ぎる。

49デフォルトの名無しさん2011/02/03(木) 22:38:30
昔、テキスト処理するツールをCでひーひー言いながら書いたことが何度かある。
今はPerlでもPythonでもRubyでも軽々動くからな。本当にいい時代。

50デフォルトの名無しさん2011/02/03(木) 22:44:23
適材適所を知らんバカと、ITメディアや@ITあたりの記事に踊らされて
流行の言語()とか乗っちゃってるバカ。

51デフォルトの名無しさん2011/02/04(金) 00:03:54
SmalltalkはObjCの中で生き残ってんじゃないの

52デフォルトの名無しさん2011/02/04(金) 00:26:38
ふつーにSmalltalkとして生き残っていんだけどな…。しょぼーん。
http://smalltalk.cincom.jp/
http://squeak.org/

これらはXEROX謹製Smalltalkの直系子孫だけど、他にも企業やファンの独自実装も多数。

商用でも使われているし、プロダクトはTwitterや米海軍関連に買われたり地味に頑張っている。
http://dabbledb.com/
http://www.teleplace.com/

53デフォルトの名無しさん2011/02/04(金) 01:13:44
何故に、Smalltalkなんかで製品を実装したのか小一時間問い詰めたい
Smalltalkって処理速度どうなの?Javaと比べてどんなメリットがあるんだ
Javaですらも、NaClがまともに動き出したら、消えてしまいそうな気がするけど

54デフォルトの名無しさん2011/02/04(金) 01:42:22
30 年前ならいざ知らず、LL 全盛の現在では Smalltalk の開発効率の高さは
相対的に低下してしまったと思うな。それでいて、イメージベースの扱い辛さとか、
GUI と結びつきが強すぎるとか、最適化がし辛いとか、負の面は変わってないから
ちょっと使い辛い。

Lisp みたいに Hacker 気質を持ったプログラマを惹き付ける様な事もないし。

>>53
超対話的環境だから、プロトタイプが作り易い。

55デフォルトの名無しさん2011/02/04(金) 11:48:47
だからってC#は変態すぎると思うんだ

56デフォルトの名無しさん2011/02/04(金) 14:00:43
>>53
> 何故に、Smalltalkなんかで製品を実装したのか小一時間

SeasideやCroquet(先のDabble DBやTeleplaceが使っている変態FW)を
Smalltalk以外のまともな言語で組んでみたらどんなことになるのか
逆に、興味がわくな。

57デフォルトの名無しさん2011/02/04(金) 18:03:18
なんで変態FWなんか使うの?
まともなFWはないの?

58デフォルトの名無しさん2011/02/04(金) 18:07:44
まともなFWじゃできないことがあったからだろうJK

59デフォルトの名無しさん2011/02/04(金) 19:01:47
いや、だからまともなFWじゃできないことってなんなのよ
まともなFWでは物理的に不可能ってわけじゃなければ、
普通は変態FWの仕組みをまともFWに取り込むことを考えるでしょ

60デフォルトの名無しさん2011/02/04(金) 19:51:57
GemStone Smalltalkはすばらしかった。
一度あれに慣れると他のDBMSがカスに見える。

61デフォルトの名無しさん2011/02/05(土) 02:16:11
MongoDBと比べるとどうなの?

62デフォルトの名無しさん2011/02/09(水) 22:11:56
Javaてsunがjreを配布しなくなったら即おわってしまうね。
Cはどこがつぶれようとコンピューターがあるかぎり永遠に続くよ。

63デフォルトの名無しさん2011/02/09(水) 22:16:03
>>62
Android

64デフォルトの名無しさん2011/02/09(水) 22:28:13
C++で使いやすい部分だけ使えばいいじゃない。

65デフォルトの名無しさん2011/02/09(水) 22:45:44
>>62
は?JREって、色んなとこが出しているんじゃないの?
ってか、せっかくデファクトになったのに、
無料配布しないと競合する.NETが広まるだろうし
オラクルだって金を取りたくても取れないでしょ

66デフォルトの名無しさん2011/02/09(水) 23:17:07
だからその色んなところがつぶれたら終わるでしょう。

67デフォルトの名無しさん2011/02/09(水) 23:18:25
>>66
そうですね。

68デフォルトの名無しさん2011/02/09(水) 23:40:30
>>62
思い込みで書き込む前に事実関係を多少とも調べようとしなかったの?
そんなに人生は短すぎるの?

69デフォルトの名無しさん2011/02/10(木) 00:08:22
おおもとのsunがjreやめたら、色んなとこもいずれ皆javaをやめるだろ?

70デフォルトの名無しさん2011/02/10(木) 00:29:42
>>69
Apache Foundation が何をやっているかとか、IBM が何をやっているかとか、
GCC や LLVM がどうなっているかとか、Dalvik って何だろうとか、
Open JDK とは何なのかとか、Bluray プレーヤーに何が乗っているのかとか、
少しでも調べる気はないの?

71デフォルトの名無しさん2011/02/10(木) 00:56:11
じぶんもそんなに知らないくせに偉そうに書きなさんな。

72デフォルトの名無しさん2011/02/10(木) 01:01:03
相手も知識が無いかもしれないから自分も知らないで良いと思い込む人間と、
知らない事があったら調べようと思う人間は、何が分かれ道だったんだろうなあ

73デフォルトの名無しさん2011/02/10(木) 02:14:44
と さらに知ったかぶりをしてみると。

74デフォルトの名無しさん2011/02/10(木) 02:16:49
反論出来ないからと言って斜に構える必要は無いんだぜ
みんな分かってる事だから

75デフォルトの名無しさん2011/02/10(木) 03:08:53
Javaが無くなったら食いっぱぐれる連中を
からかってるだけだって。
そんなムキになんなよ。

76デフォルトの名無しさん2011/02/10(木) 03:10:46
という事にしたいのですね。分かります。

77デフォルトの名無しさん2011/02/10(木) 04:04:15
ヘッダファイルって自動で作れないものなの?

78デフォルトの名無しさん2011/02/10(木) 04:41:39
>>66, 69
そしたらMSがおいしくいただきます。

79デフォルトの名無しさん2011/02/10(木) 08:52:17
Javaほど現実に負けた言語も珍しい
理想が高すぎたのだろうな

80デフォルトの名無しさん2011/02/10(木) 19:57:05
実際は Java は現実を指向した言語で、現実に広く受け入れられている言語でもある。
勿論、現実と言うのはネットに住まう有象無象じゃなく産業界の話だがな。

81デフォルトの名無しさん2011/02/10(木) 20:29:36
現実志向でない言語ってWhitespaceとかか?

82デフォルトの名無しさん2011/02/10(木) 20:33:58
you name it.

83デフォルトの名無しさん2011/02/10(木) 22:46:00
Javaはもともとは組み込み向け。

84デフォルトの名無しさん2011/02/11(金) 03:02:11
あんな遅くででかい言語のどこが組み込み向けかと

85デフォルトの名無しさん2011/02/11(金) 03:21:00
ブルーレイやケータイに乗ってるの知らんのか

86デフォルトの名無しさん2011/02/11(金) 03:34:35
てんでバラバラな仕様のため、互換性がまるで無い組み込み界で
相互の移植がしやすい言語を、と開発されたんだっけ?

87デフォルトの名無しさん2011/02/11(金) 04:13:03
>>84
ライブラリがでかいだけでVM自体は小さくできる。
カードにも組み込まれたこともある。

88デフォルトの名無しさん2011/02/11(金) 10:51:26
VMって言っても元祖MS-BASICのパクリみたいなもんだからな。
MS-BASICでさえROMに格納されてたくらいだし、今となってサイズなんて知れてるわな。
http://ja.wikipedia.org/wiki/Microsoft_BASIC

89デフォルトの名無しさん2011/02/11(金) 11:11:15
組み込み系とかほざいてるバカがいるな
Javaでの組み込みなんて全体の1割にも満たないだろ

90デフォルトの名無しさん2011/02/11(金) 11:22:49
>>89
そもそもどこまでを組み込み系って言ってるのかわからんし、
ソースコードの量なのか組み込まれている実行コードベースの
話かも示さずに1割云々と語ってるやつのほうがバカに見える。

91デフォルトの名無しさん2011/02/11(金) 11:27:11
>>89
組込ライセンスと意味なら、Java使ったサーバーサイドのシステムが1つ売れる間に数千数万のケータイが売れてると思うよ

92デフォルトの名無しさん2011/02/11(金) 11:53:22
>>88
MS-BASICよりもっと古いp-codeのパクリ。
p-codeになったのは、Visual Basicになってから。
というか、スタックマシンをパクリって言うやつまでいるのか。

93デフォルトの名無しさん2011/02/11(金) 13:44:15
>>92
なにを言ってるんだお前は?
無知にもほどがある

94デフォルトの名無しさん2011/02/11(金) 17:49:54
>>93
何を言いたいのか分からない。
JavaのVMとMS BASICのインタプリタは似ていない。

95デフォルトの名無しさん2011/02/11(金) 21:23:59
>>93>>94
MS BASICはエミュレータ+インタプリタだからな。
JavaのVMに似てはいるが、Javaそのものと言うよりはJRubyなんかに近い。

96デフォルトの名無しさん2011/02/11(金) 23:06:30
Java VMはMS BASICなんてパクってないだろ
どう考えてもSmalltalk-80のVMのパクりw

97デフォルトの名無しさん2011/02/11(金) 23:30:21
MS BASICのi8008エミュはVMはVMでもVMwareとかのノリだし、
単語は同じでも「仮想マシン」の意味が違うだろ。

Javaが目指したJavaチップを順序は逆だが実現していたという
意味では先進的だが。

98デフォルトの名無しさん2011/02/12(土) 00:45:21
>>96
俺もそう思うけど、世の中の若人は Smalltalk なんて知らないのかもね...

もし若人でないのに知らないなら目も当てられないけど...

99デフォルトの名無しさん2011/02/12(土) 00:54:26
>>97
MS BASICのi8008エミュっていったい何のことを言いたいのか?

100デフォルトの名無しさん2011/02/12(土) 00:59:21
Javaはコレクションのクラス設計が、Smalltalkに似てた気がする。

101デフォルトの名無しさん2011/02/12(土) 07:39:57
>>100
Smalltalk-80のCollectionをJavaのヘッポコCollectionsやArraysと一緒にすんなやw

102デフォルトの名無しさん2011/02/12(土) 07:44:46
ただの中間コード+インタプリタを'Java仮想マシン'と言い張ったJavaの営業戦略は大したもの

103デフォルトの名無しさん2011/02/12(土) 08:02:20
>>102はかわいそうな人ですね
技術センスゼロだから転職したほうがいいよ
さようなら

104デフォルトの名無しさん2011/02/12(土) 08:24:38
>>103
技術センスゼロの人にもわかるように違いを説明できるの?

105デフォルトの名無しさん2011/02/12(土) 08:42:51
今は、インタプリタではないJava VMが主流ではないか。
ネイティブで実行するCPUもあるし。

106デフォルトの名無しさん2011/02/12(土) 09:07:01
VMはインタプリタだろ。少なくともネイティブコンパイラではないし、ネイティブコードを実行するものでもない。
Java CPUはほとんど使われてないだろうし、一般的でもない。

107デフォルトの名無しさん2011/02/12(土) 09:13:07
「ランタイム」と言えば角が立たない

108デフォルトの名無しさん2011/02/12(土) 09:26:40
>>106
Java VMをインタプリタで実装するならわかる。

109デフォルトの名無しさん2011/02/12(土) 13:09:58
JavaチップだのJITコンパイラだのは後付けのだからねぇ。
インタプリタ高速化技法のひとつとして考えた方がいいと思うぞ。
とくにJavaのJITは起動時ではなくインタプリタで実行中に裏でコンパイルするというものだし。

110デフォルトの名無しさん2011/02/12(土) 13:33:25
PHP3まではインタプリタ、PHP4からはPHP仮想マシン
ok?

111デフォルトの名無しさん2011/02/12(土) 13:37:12
仮想マシンとインタプリタの違いは何?

112デフォルトの名無しさん2011/02/12(土) 13:53:14
BASICとの比較のコンテキストでインタプリタといったら、ソースコードと中間コードが同値という意味か、コンパイラの反対語か。

113デフォルトの名無しさん2011/02/12(土) 15:03:27
予め用意されたマシン語の命令セットを実行するのと、その場でソースをマシン語に翻訳して実行するのの違いじゃない?

114デフォルトの名無しさん2011/02/12(土) 15:13:43
>>111
中間言語をネイティブに変換してから実行するのが仮想マシン
インタプリタは、中間言語を使わず、ソースコードのまま
毎回命令を解釈してから実行するもの

115デフォルトの名無しさん2011/02/12(土) 15:16:59
とすると、>>103 の言い分がよくわからんな

116デフォルトの名無しさん2011/02/12(土) 15:19:26
>>114
じゃあ、Java VM はどちらでもないの?

中間言語は使うが、実行中に必要な部分だけ
(ロードされた部分だけ)ネイティブに変換する

117デフォルトの名無しさん2011/02/12(土) 15:19:34
>>114
ハズレw

仮想機械は仕様
インタプリタは実装

118デフォルトの名無しさん2011/02/12(土) 17:11:43
プ

119デフォルトの名無しさん2011/02/12(土) 18:02:24
>>114
その定義だと、やはり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コンパイラ使ってもいいし、
複数の仮想機械で分散処理してもいい。
あくまで仮想機械の仕様さえ満たせば
コードを動かせる。

それが仮想機械じゃねえの?

123デフォルトの名無しさん2011/02/12(土) 21:47:35
N88BASICのDOS版ってたしかPコードとJITコンパイラだったはず。
今みたいにインストールなんて概念がなく、
EXEファイルにJITコンパイラを埋め込む仕様で
ファイルサイズが絶望的なほどでかかった記憶がある。

124デフォルトの名無しさん2011/02/13(日) 02:36:09
>>123
今使えば信じられないほど小さくて速いだろうなw

125デフォルトの名無しさん2011/02/13(日) 18:24:09
マシン語でプログラミングするには人生は長すぎる
その前に精神が壊れる

126デフォルトの名無しさん2011/02/13(日) 22:54:39
>>125
人間なんだから少しは工夫しよう。今ならマクロ使えばCに近い書き方ができるし、
使いやすいライブラリを多く用意してそれらを活用すればだいぶ見やすく書ける。

127デフォルトの名無しさん2011/02/13(日) 23:02:27
>>126
昔は実際そうだったな。
今なら、そんなことするぐらいならC使って、パフォーマンスいるところだけグリグリやるところだけ。

128デフォルトの名無しさん2011/02/14(月) 00:02:12
「Cでプログラミングするには人生は短すぎる」と言いつつアセンブラ技術者募集の求人を出すミゲルさんw
http://twitter.com/migueldeicaza/status/9631116499615744
http://d.hatena.ne.jp/atsushieno/20101201/p1

129デフォルトの名無しさん2011/02/14(月) 00:08:48
おぉ、迷える子羊よ。彼は犠牲になったのだ
多くの人たちが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:07
>>149
1.よし!作ろう
2.作るために、「使いやすく、開発効率のいい言語」を探す
3.「そんなものはない」事に気が付く
4.1へ

152デフォルトの名無しさん2011/02/16(水) 12:42:56
1.よし!作ろう
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);

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;
}

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;

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 からコピペ

169デフォルトの名無しさん2011/02/16(水) 18:23:27
Perlだと一行で正規表現で置換できるんだが、POSIX Cだとこんな感じらしい。

170デフォルトの名無しさん2011/02/16(水) 19:03:47
これは…人生が短く感じるな
ちなみに、Perlで言うところのどんな操作なんだ?

171デフォルトの名無しさん2011/02/16(水) 19:29:21
>>170
こんな処理
while(<>){
s/[0-9]+/[number]/g;
print;
}

172デフォルトの名無しさん2011/02/16(水) 20:13:31
つまり数字が連続している文字列を [number] という文字列に変換するってことか?
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を使うと速度的に遅いため、高速な変換関数を用意する必要がある。

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:03
>>165-168 >>174-178 の問題はJavaやスクリプト言語では解決済み。

180デフォルトの名無しさん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をよく知っている人はむしろこだわらない人の方が多い。

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 のキーボードを使うんじゃないかな
文字を入力する必要があるのはプログラマだけじゃないし

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やら
出来るだけ抽象的なものを使うべき

197デフォルトの名無しさん2011/02/19(土) 17:26:57
昔は crt って無かったのかな

C は C で進化してるんだよね
次のスペックではマルチスレッドも採用されるみたいだし

198デフォルトの名無しさん2011/02/19(土) 17:36:10
>>28
C++の肩持つ訳じゃないが4%ってどっから出てきた数字だ?
テンプレ関数+スタック変数 (C++)
vs
オーバーライド+new (C#)

だと10倍近く差が出たんだがな。

199デフォルトの名無しさん2011/02/19(土) 17:38:27
まぁアプリ全体でずっとnewしてるわけじゃないから

200デフォルトの名無しさん2011/02/19(土) 17:46:41
>>66
vb6何て死んだも同然だけど
いまだに使われてるよな。
32bitのサポートが終わったら完全にしぬだろうけど。

201デフォルトの名無しさん2011/02/19(土) 17:47:22
Microsoftは潰れてないじゃん。比較にもなってない

202デフォルトの名無しさん2011/02/19(土) 17:53:15
>>199
ベクトル(線形幾何)演算やってると悲惨だぞ。
使うであろう座標、ベクトル、行列をstaticにするなり、
配列に集めるなりしてあらかじめ確保しとかにゃならん。

203デフォルトの名無しさん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++の方が楽じゃね?

209デフォルトの名無しさん2011/02/19(土) 23:22:26.81
C++0xで入る

210デフォルトの名無しさん2011/02/20(日) 05:43:23.73
でもまあ、Cでのマルチスレッドとか、ずいぶん前から、APIとしてほぼすべての環境にあったし。
というか、マルチスレッドを言語の機能にする方が間違ってると思うんだが。俺としては。
あくまで、OSが提供する機能だろう?ならばやっぱり、APIとして提供される形こそが理想だと思う。

なんでも言語の機能にすればいいというものではないと思うな。

211デフォルトの名無しさん2011/02/20(日) 06:03:02.75
>>210
言語の機能と API という区分がよく分からないけど、
C1x のスレッドはライブラリなんじゃないの?

212デフォルトの名無しさん2011/02/20(日) 06:17:18.55
>>210
言語仕様と言う意味では、その言語のコア機能だけで実装出来ない機能は
言語仕様に入れて良いと思う。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が無い環境へのコンパイラでも、マルチスレッドを実装するコードを生成しなければならなくなる。

214デフォルトの名無しさん2011/02/20(日) 06:55:12.78
>>213
実際は、freestanding の環境では複数のスレッドを起動しなくても良い事になってる。
C1x の 2010/12 のドラフトの 5.1.2.4 に書いてあるよ。

215デフォルトの名無しさん2011/02/20(日) 06:59:02.67
はて? C言語ってOSがない環境で
ファイル読み書きできたっけ?

216デフォルトの名無しさん2011/02/20(日) 07:29:20.57
>>215
それ、C言語とかんけいない。

217デフォルトの名無しさん2011/02/20(日) 07:57:10.99
まぁ普通OSが無くてもFW経由で読み書きできるんでないかい

218デフォルトの名無しさん2011/02/20(日) 10:05:25.33
>>216
標準ライブラリはISOのC言語仕様の一部ですよ
勿論ファイル入出力はそれに含まれています

219デフォルトの名無しさん2011/02/20(日) 14:09:46.65
>>218
言語の仕様には入っていない。

220デフォルトの名無しさん2011/02/20(日) 14:38:11.08
>>212
昨今の変化を考えるというなら
簡単に変化できないような堅苦しい仕様書を作ってはいけない

221デフォルトの名無しさん2011/02/20(日) 14:41:53.09
JavaのThreadは1994年から、ほとんど使い方に変化が無い。

222デフォルトの名無しさん2011/02/20(日) 15:30:16.47
>>220
今度の仕様で策定される様な部分はスレッドの本当に基本的な部分で
長年の実績に基づいた機能だから簡単に変化する様な物ではないと思われ

むしろ基本の部分の仕様が固まる事で、その上に様々なライブラリを
構築する事が容易になって、言語の発展に大いに寄与する事と思われる

223デフォルトの名無しさん2011/02/20(日) 15:34:09.91
>>221
Thread Classがあまり変わっていないだけで、それの使い方は大いに変わっている。

224デフォルトの名無しさん2011/02/20(日) 15:54:43.52
Class を変えずに色んな使い方が出来るなら結構な事じゃない
どう転んでも新しい技術の脚を引っ張らないって事でしょ

225デフォルトの名無しさん2011/02/20(日) 15:59:04.92
>>222
長年の実績で固まった機能が言語の発展に寄与した。
これは過去の話だ。
まともな人間なら「固まる事で、寄与する事と思われる」なんて言わない。

226デフォルトの名無しさん2011/02/20(日) 16:05:58.98
普通に言うだろ。
まともな人間は本筋に関係無い所で無意味な難癖をつけたりはしない物だよ。

227デフォルトの名無しさん2011/02/20(日) 16:06:50.77
だな

228デフォルトの名無しさん2011/02/20(日) 16:21:54.11
>>221
んなこたーない。
例えばスレッドの止め方一つ取っても当時と今じゃ全く違うだろ。

229デフォルトの名無しさん2011/02/20(日) 16:40:02.04
>>228
詳しく。

230デフォルトの名無しさん2011/02/20(日) 16:46:05.03
deprecateされてるだろ

231デフォルトの名無しさん2011/02/20(日) 16:46:40.08
>>226
難癖つけるやつがいないなら、厳密な仕様書も要らない

232デフォルトの名無しさん2011/02/20(日) 16:48:01.46
そいつは結構、好都合

233デフォルトの名無しさん2011/02/20(日) 16:52:16.64
昔からスレッドはkillすると、システムが不安定になるもんです。API的には用意されているけどね。

234デフォルトの名無しさん2011/02/22(火) 08:46:18.42
>>215
I/Oの機械語コード並べた配列を関数ポインターにぶちこんで呼ぶか、
あればメモリマップドI/Oを使えばいい。
でも、これ物理デバイスを制御できるだけでファイルシステムは自前で
作らなきゃならん。

235デフォルトの名無しさん2011/04/12(火) 10:56:28.52
「Cでプログラミングするには人生は短すぎる」か?
http://hibari.2ch.net/test/read.cgi/tech/1296486174/

236デフォルトの名無しさん2011/04/28(木) 05:31:53.80
工学や理学の問題を解きたくてプログラム勉強し始めたのに、
プログラミング技術の果てしない探求に取り付かれて
プログラムは手段である事をすっかり忘れちゃうよね。
解決したい問題をさっさと解ける可能な限りの高級言語を使うのがいいと思った。

237デフォルトの名無しさん2011/05/12(木) 05:14:24.87
手段が目的になっちゃうね

238デフォルトの名無しさん2011/05/13(金) 11:29:26.32
手段が目的になる。大いに結構。
目的が感嘆には達成されないからこそ人類の発展があったんだよ。
そうじゃなきゃメシ食ってSEXして寝るだけの存在になってただろう。

239デフォルトの名無しさん2011/06/21(火) 08:41:39.60
「今こそAndroidはJavaを捨ててMonoを採用する時です」
http://twitter.com/#!/migueldeicaza/status/81755106231599104

240uy ◆yyC0rYWEq2 2011/06/21(火) 15:14:06.84
>>238
気持ち悪いんだよ 氏ねゴミ


マジレスすると、Cはもうそんなに使えなくても良い
JAVA以外をやれよksが

241デフォルトの名無しさん2011/06/21(火) 20:29:51.43
>>239
つ Go

242デフォルトの名無しさん2011/06/22(水) 20:44:36.76
>>241
Go(笑

243デフォルトの名無しさん2011/06/22(水) 20:59:49.67
>>242
楽しそうだなw

244デフォルトの名無しさん2011/06/22(水) 21:06:13.19
www#

245デフォルトの名無しさん2011/06/22(水) 21:08:41.67
u(o#www#o)y

246デフォルトの名無しさん2011/06/23(木) 08:57:39.37
>>245
かわいい

247デフォルトの名無しさん2011/06/24(金) 05:17:33.18
てst

248デフォルトの名無しさん2011/07/08(金) 21:31:07.14
>>240
Javaはオワコン

249デフォルトの名無しさん2011/07/09(土) 01:33:21.10
cが重厚プログラムだと思ってるやつが馬鹿。

250デフォルトの名無しさん2011/07/09(土) 21:14:05.84
>>236
そんなこと言ってる研究室のハゲは、
ポインタを理解していないどころか、構造体の意味も理解していない、
随所にマジックナンバーを埋め込んで、
数値計算ライブラリの利用方法も知らずに
逆行列を求める自作のプログラムをよこしてきて、
極めつけにはループ用変数のi,j,kをグローバルにしている

そんなヤツにソースコードが汚いと言われる日々
地底の情報系研究室は地雷だらけだぜ

251デフォルトの名無しさん2011/07/14(木) 23:06:21.64
こんなのを見た日には、Cが嫌いになる。

a+++++b;

252デフォルトの名無しさん2011/07/14(木) 23:33:04.84
そうか?頭の中で違和感なく一瞬で
a++ + ++b;
に変換されたんだけど。

253デフォルトの名無しさん2011/07/14(木) 23:36:04.76
じゃあ最初からそう書けば良い。

254デフォルトの名無しさん2011/07/15(金) 14:21:22.95
そんな書き方するやついないし

255デフォルトの名無しさん2011/07/15(金) 15:02:45.42
c+++++love

256デフォルトの名無しさん2011/07/16(土) 17:46:18.12
int orz=3;

257デフォルトの名無しさん2011/07/20(水) 23:03:57.00
IOCCC(The International Obfuscated C Code Contest
国際邪悪なCコードコンテスト)のコードは凄まじいな。仕事で似たような
コードをやられたらたまらん。

258デフォルトの名無しさん2011/07/21(木) 00:01:42.58
トリッキーなコード書きたくてしょうがない人のガス抜きになっているという説もある>IOCCC

259デフォルトの名無しさん2011/07/21(木) 01:38:39.55
教えてあげないよ雀

260デフォルトの名無しさん2011/07/24(日) 03:28:42.72
トリッキー → ポ●ンキー かw

261デフォルトの名無しさん2011/07/30(土) 17:28:17.03
トリッキー トリッキー 錯覚系の秘密はね

262デフォルトの名無しさん2011/08/03(水) 23:40:59.79
ホシュ

263デフォルトの名無しさん2011/09/18(日) 17:00:55.65
俺も次が最後のプログラム

264デフォルトの名無しさん2011/10/18(火) 16:12:07.54
C++でプログラミングするには人生は短すぎる

265デフォルトの名無しさん2011/10/31(月) 21:33:27.99
結論:Cでプログラミングをすると人生が短くなる

266デフォルトの名無しさん2011/11/29(火) 12:04:51.63
わらたw

267デフォルトの名無しさん2011/11/30(水) 01:55:51.54
c#すら面倒なんで、pythonつかうよ

268デフォルトの名無しさん2011/11/30(水) 17:38:21.65
Cは、それ自体が目的と化してしまう。

269デフォルトの名無しさん2011/11/30(水) 23:39:17.33
Cでプログラミングしてると、プログラムをそもそもつくろうとした目的を忘れてしまう
脳の容量がたくさんないとやってられない

270デフォルトの名無しさん2011/11/30(水) 23:47:59.59
高速化、最適化(自分の思い込みが多分)が
目的になってしまうことがあるな

271デフォルトの名無しさん2011/11/30(水) 23:48:50.04
つまりホントの目的が達成できないと

272デフォルトの名無しさん2011/12/01(木) 00:13:39.91
それは苦Cな

273デフォルトの名無しさん2011/12/01(木) 10:26:59.94

274デフォルトの名無しさん2011/12/05(月) 10:56:49.27
たいていのプログラムは20年もあれば完成するよ

275デフォルトの名無しさん2011/12/05(月) 15:32:21.77
80人月のプログラムを一人で作るとか泣きたくなるな

276デフォルトの名無しさん2011/12/06(火) 22:19:29.80
Cじゃなきゃできないこと以外ではCは使いたくないな
めんどくさい

277デフォルトの名無しさん2011/12/13(火) 21:21:04.60
デバイス屋は、C(もしくは、C++)しか使わないという噂は本当か?

278デフォルトの名無しさん2011/12/14(水) 00:22:26.24
x 使わない
o 使えない

ついでに言うと C++ も所謂 better C としての使い方しか出来ない

279デフォルトの名無しさん2011/12/14(水) 13:36:02.58
っていうかC++でプログラミングしててなんかいいことあったの?
自己満足以外で

280デフォルトの名無しさん2011/12/14(水) 16:14:41.24
Cのほうがよかったね

281デフォルトの名無しさん2011/12/14(水) 21:35:22.80
STLには、お世話になった。boostは使ってなかったから、auto_Ptr止まりだけど、メモリ管理からの解放になれると、Cには戻れない。

今はもう使ってないけど

282デフォルトの名無しさん2011/12/14(水) 23:04:11.98
今は使わなくなった理由は?

283デフォルトの名無しさん2011/12/15(木) 00:20:51.07
.NETやってるとレガシーモジュールをラップするのにC++/CLI使わざるを得ないよ

284デフォルトの名無しさん2011/12/15(木) 00:42:50.68
>>282
その頃使ってたフレームワークが廃れてしまったのと、Javaやスクリプト言語に流れたから。

よりメモリ管理から解放されたのが大きい。
最高のパフォーマンスを求めるのであれば、C / C++になるのだろうけど、現状そこまで必要としてないから。

285デフォルトの名無しさん2011/12/15(木) 02:52:36.47
アプリなんてメモリ管理しなくても
終了時にOSが捨ててくれるだろ

286デフォルトの名無しさん2011/12/15(木) 20:14:36.81
Cをやることが目的になってしまう

287デフォルトの名無しさん2011/12/19(月) 23:42:18.60
プログラミング言語にはレイヤーがあるからな。
どの言語も同じレイヤではない。
@OSやさらに上級のプログラミング言語、仮想環境をつくる言語:C,Go
A上記の言語でつくられた環境でプログラミングするための言語:Java、C#
B簡単にコンピュータに対し命令を指示する言語(スクリプト):Perl,Python,Ruby,PHP,Javascript

BをやるためにCで書くのは確かに時間がない
Aを目的としても同じ。
ただし、@をやるためには、Cくらいしか適した言語はないだろう。

288デフォルトの名無しさん2011/12/20(火) 18:17:31.40
おまえの理論ならJavascriptはレイヤ4だ

289デフォルトの名無しさん2011/12/24(土) 04:56:08.18
弘法筆を選ばず

290デフォルトの名無しさん2011/12/24(土) 10:14:13.67
うすうすそうなんじゃないかなって思い始めてたよ

291デフォルトの名無しさん2011/12/25(日) 23:33:13.07
>>287
もちろんそうなんだけど、
CでAやBをやろうとしてた時代があったんじゃないの

292デフォルトの名無しさん2011/12/26(月) 10:57:37.09
そのころはCプログラマの寿命はもっと長かった

293デフォルトの名無しさん2011/12/31(土) 18:04:36.70
寿命が延びたんじゃなくて納期が短くなった
リーナスがLinux作ったみたいに、納期気にしなければ作れるわけで

294デフォルトの名無しさん2012/01/01(日) 04:18:15.42
同意

295デフォルトの名無しさん2012/01/01(日) 04:42:11.17
大半の自称プログラマにはいくら時間があっても無理

296デフォルトの名無しさん2012/01/01(日) 09:15:15.76
自称ってどこまでの範囲

297デフォルトの名無しさん2012/01/01(日) 10:06:48.06
サンプル見ながら打ち込んでコンパイルして実行出来ます(キリッ)

くらい

298デフォルトの名無しさん2012/01/01(日) 13:00:56.92
>>293 みたいのだろ

299デフォルトの名無しさん2012/01/01(日) 18:09:38.45
時間が無限にあれば作れるのは自分がつくったフリーソフトを今誰かが使ってありがとうって言ってくれてるレベルだろ

リーヌスは苦しょっぱい青春しながら+学生としての勉強しながら作ったんだろうから、時間が無限にあった訳じゃない。もっと上だな。

俺?無料に決まってんじゃん

300デフォルトの名無しさん2012/01/01(日) 18:11:26.14
アホか俺
無料じゃねえ無理だろ(鬱

301デフォルトの名無しさん2012/01/02(月) 01:31:56.83
まあ無限は言い過ぎだな
0×∞
を定義しようとしているようなもんだ

302デフォルトの名無しさん2012/01/05(木) 03:26:32.65
プログラミングするには人生は短すぎるお

303デフォルトの名無しさん2012/01/15(日) 10:03:53.57
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html

304デフォルトの名無しさん2012/01/15(日) 17:47:42.43
Cだろうが何だろうが、完成させなきゃ何を使おうが変わらん。
生産性がどうのと語ろうが、現実完成した成果物を出せてないならなんの意味もない。

305uy2012/01/21(土) 00:40:19.14
>>287
名無しにしては随分マシなレスをかくなと思った
入門書の最初にレイヤーについては書くべきだね
そうしないと1個の言語で何もかもやろうとする奴が絶えない

本職でプログラマやる奴は、1,2,3のレイヤークリアして無いとカスだわ
趣味でやるにしてもレイヤー3だけはクリアしてないと正直見てて可愛そう

Rubyは必死にレイヤー2に干渉しようとしてるけど
もっと並列化が進んで速度上がらないと無茶かなぁ

306デフォルトの名無しさん2012/02/08(水) 00:30:32.60
>>304
何を言いたいのか分かりません

307デフォルトの名無しさん2012/02/14(火) 13:49:48.65
>>1
C++も仲間に入れてやってください。

308デフォルトの名無しさん2012/02/25(土) 17:32:29.07
【消しゴム】MONOを使ってみるスレ4【じゃない】
http://toro.2ch.net/test/read.cgi/tech/1329023778/

309デフォルトの名無しさん2012/02/25(土) 17:36:41.40
>>307
この人、C++を拒絶しまくってたからな。

310デフォルトの名無しさん2012/03/12(月) 00:58:54.94
Webコミック「21日でC++を習得する方法」
http://gihyo.jp/dev/clip/01/orangenews/vol56/0009

これでお前らでもC++が使えるようになる!

311デフォルトの名無しさん2012/04/27(金) 06:58:07.99
言語の基礎部分だけなら1週間もあれば充分かもな。
実際VC++の昔のチュートリアル本なんて、びっくりするくらい薄かったし。

312デフォルトの名無しさん2012/09/10(月) 20:58:18.92
何がLinuxデスクトップを殺したか
著者: Miguel de Icaza
日本語訳: yomoyomo
http://www.yamdas.org/column/technique/linuxdesktopj.html

このひと、相変わらずだぜw

313uy2012/09/10(月) 21:09:23.07
よく1週間とか日にちで習得日数いう奴いるけど、
てめーは1日何時間なんだよ

って思う
1日1時間しか集中できないごみ化すなら市ね

314デフォルトの名無しさん2012/09/10(月) 22:46:19.99
エンペツ方面がコケそうだからかね、この兄ちゃんのいいたい事って

315デフォルトの名無しさん2012/12/19(水) 06:30:11.97
>>13
>>14
ヘイ! おまえたちラッパーを馬鹿にするなYO!

>>23
♪闘う君の歌を〜闘わない女が歌うんだろ〜

316デフォルトの名無しさん2012/12/20(木) 02:22:48.83
>>274
プログラムとソフトウェアを混同する人おおいよね

317デフォルトの名無しさん2012/12/20(木) 02:27:47.11
>>279
実験用の書き捨てコードに便利。
javaやc#じゃネストが深いし、ファイル数とタイプ数が多くて嫌

318デフォルトの名無しさん2013/04/27(土) 17:07:20.17
効率もとめて新しいものいちいち追ってる間に
Cで書いたほうがはるかに早いことを悟った
もう新しい言語はいらない

319デフォルトの名無しさん2013/04/27(土) 19:27:54.50
Cの標準ライブラリに連想配列はありますか?

320片山博文MZパンク ◆0lBZNi.Q7evd 2013/04/27(土) 20:02:49.44
>>319
ありません。

321デフォルトの名無しさん2013/04/28(日) 08:29:45.82
なんかそのへんに転がってないっすかね

322デフォルトの名無しさん2013/04/28(日) 11:19:50.88
ggrks

323デフォルトの名無しさん2013/04/30(火) 01:49:37.10
MONOで作るって人生を賭けて作るようなモノじゃないから。
2、3日後の明方には既に腐ってるようなモノだから。

324デフォルトの名無しさん2013/04/30(火) 05:08:06.70
カスw

325デフォルトの名無しさん2013/05/05(日) 11:03:22.58
>>3
Objective-CやれObjective-C

326デフォルトの名無しさん2013/05/05(日) 12:12:32.40
彼らはBASICから得られた体験を ” タブー視 ” しなければいけないため、常に孤立を要求される。

327デフォルトの名無しさん2013/05/21(火) 00:30:26.23
ゲーム業界ではいまだにアセンブリゴリゴリ書くらしくて驚いた

328デフォルトの名無しさん2013/05/22(水) 20:18:47.64
隅から隅までって訳じゃあるまいし
キモのところでアセンブリ書いててもおかしくない
柔軟さが要求される部分ではLua とか使ったりもするらしいし

329デフォルトの名無しさん2013/11/12(火) 21:41:53.92
Cはいくらライブラリ作っても何も蓄積されない感がある。
オブジェクト指向を駆使してもC++じゃ今一歩だめだ。
javaくらいの簡易さでやっとライブラリに価値が生まれるレベル。

330デフォルトの名無しさん2013/11/12(火) 22:36:56.73
Cは詰めが甘いから早く絶滅させるべき

331デフォルトの名無しさん2014/10/29(水) 17:01:21.60ID:t9XzV+QQ
Cでプログラミングするには人生は長すぎるんじゃないか?

人生を記述し切っているCソースを見てみたい

332デフォルトの名無しさん2015/11/23(月) 19:54:49.28ID:7jQqFmWD
muff

新着レスの表示
レスを投稿する