1 :
デフォルトの名無しさん:
さあ、超初心者のオレにおまいらの好きなプログラミング言語を押しつけてくれ!
汎用的な言語で頼む。
その前に客人の頭のスペックを知りたい
3 :
デフォルトの名無しさん:2009/11/22(日) 16:00:15
4 :
デフォルトの名無しさん:2009/11/22(日) 16:07:13
テンプレ
年齢: ガキ | 若年 | 中年 | おじいさま
頭のLv. ☆(ヴァカ) 〜 ☆☆☆☆☆☆☆☆☆☆ (神)
環境: (OSとか)
目的: (何をしたいか)
コメント: (お好きに一言!)
5 :
デフォルトの名無しさん:2009/11/22(日) 16:09:31
イラネww
6 :
デフォルトの名無しさん:2009/11/22(日) 16:15:52
年齢: 若年
頭のLv. ☆☆☆
環境: Windows
目的: 実用的なツールを作りたい
コメント: おまいら、頼むぜ!
7 :
1:2009/11/22(日) 16:19:38
アイちゃんはどの言語が好みなの?
9 :
うy:2009/11/22(日) 17:25:10
年齢: ガキ
頭のLv. ★★★★★★★★★★ (至高神)
環境: Windows7
目的: プログラマはカスばっかりだから俺より強い奴に会いに行く
コメント: おまえら全滅しろRubyやれば許す
Windows7カックイイ
11 :
デフォルトの名無しさん:2009/11/22(日) 17:41:45
Rubyキモス
誰か仕事ください
スレ沈没の悪寒
またRuby厨か
15 :
デフォルトの名無しさん:2009/11/22(日) 21:32:49
age
PG言語
C# 神
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
でた、アイちゃん
22 :
デフォルトの名無しさん:2009/11/24(火) 21:08:37
PGってなあに?
プロクター アンド ギャンブル
24 :
デフォルトの名無しさん:2009/11/25(水) 00:04:18
プロギャンブラー
プロゴルファー 石川遼
とりあえずC言語やっとけば間違いないよ。
C言語知ってればたいていのプットラフォームでプログラムできる。
C++とかJavaは言語仕様が巨大なので移植されていないケースがある。
>>23 この名前を聞くたびに、マクマン&テイト社を思い出してしまう。
28 :
デフォルトの名無しさん:2009/11/25(水) 17:16:17
プットラフォームww
29 :
デフォルトの名無しさん:2009/11/29(日) 13:30:48
プット・ラ・フォーム (Put la Forme, 1595年10月20日 - 1653年9月16日)
30 :
デフォルトの名無しさん:2009/11/29(日) 15:25:20
え、ほんとにいんの?
いいから Haskell やれ
Haskellは3大言語の一つと言ってもいい
ただ、
実 用 性 は ゼ ロ だ
C言語、あとは、、、
なんだろな
>>32 一般的に必要とされるような機能は一通り揃ってるから
実用性0なんかじゃない
安く大量にプログラマを集められるかどうかは実用性とは違う
36 :
デフォルトの名無しさん:2009/11/29(日) 20:37:52
Haskellってバイナリ作れるの?
C言語、Lisp、Perl
番外 Html Xml
こんな感じじゃないかと予想。LispはHaskellでもいいし
Perl??
違う気がするな
C、Lisp、もう1つはOOPLの何かかなー?
SmallTalkじゃ弱いか。
Objective-C、APL、Lispあたりで
C#
むしろ自分の好きな言語を使うのは俺だけでいい
初心者には適当に流行りの言語すすめる
43 :
デフォルトの名無しさん:2009/12/03(木) 22:47:19
今はやりの言語って?
C++
C+++
C++に++がひっついてC#になったというのは、本当け?
++をズラしたら#になったと聞いた。
ゲイツに。
でもどう見てもJavaです
本当に(ry
49 :
デフォルトの名無しさん:2009/12/04(金) 23:40:30
Java厨って何が良くてJava使ってんの?
年齢: ガキ
頭のLv. ☆
環境: Windows
目的:色々弄って遊びたい。最終的にはメニ―コア対応仮想PC作りたい。どうせ無理なのは知ってる
コメント: カスでもわかるマルチパラダイムで関数型とオブジェクト指向もった奴
IDEも必須な。関数型の機能包括的にもった奴でよろ。勉強したいからな。
51 :
デフォルトの名無しさん:2009/12/05(土) 08:37:00
日本人ならRubyを使え
Ruby以外を使う奴は売国奴
年齢: ガキ
頭のLv. ☆(ヴァカ)
環境: 処女
目的: 生殖行為
コメント: よろしくお願いします
とあるOSSのドキュメント翻訳やっていて眠いんだがネタにマジレスするか。
>>50 まずお前がやることはVirtualBOXのソース落としてビルド環境を構築する。
言語はC++だな。初心者が仮想マシン作るのに限らずやったことのない
分野のソフトを作る場合はそっからやる。
環境を構築し終えたら参考書と技術資料片手に毎日ソースをいじったり
読んだりすることだな。IDEなんか汎用品あるから探してくればいい。
ただし開発できるようになるまで3〜5年はかかる。
頭の悪さは勉強すれば治療できるから最後は継続しかない。
んで失敗して大火傷する覚悟はいいかい?
生半可な覚悟じゃあの規模のソフトは作れんよ。
55 :
デフォルトの名無しさん:2009/12/07(月) 09:49:33
年齢: 若年
頭のLv. ☆
環境: windowsXP
目的: ゲェム作りたいです><
コメント: vbaぐらいならさわれるレベルです><
>>39 OOPLはRubyでいいんでね?
あとSmalltalkのtは小文字な。
>>55 そういえば VBA でゲームプログラミングとかいう本があったな。
それでも本格的ゲーム開発ができるそうなので VBA でいいんじゃね?
俺は C++ とDXライブラリでゲーム作ってるけど。
58 :
デフォルトの名無しさん:2009/12/07(月) 22:53:00
ゲームならHSPだろ
HSPは昔はよかったが今だと使う意味がない。
ただしHSPのソースをいじりながらC++を勉強するには些細なことである。
もっとも、今だったらLGPじゃないかと。
るby
なんでもいいよー。
Flash(ActionScript)は割と手頃かもねー。値段が高いけどー。
VBAは、使ったこと無いから分からないなー。
63 :
デフォルトの名無しさん:2009/12/11(金) 16:56:43
うy◆e6.oHu1j.o
ってRuby厨?
ネットに日本語の資料が揃っててC、C++につなげられる超簡単な言語は?
C,C++から呼べるのか、その言語からC,C++の関数を呼べるのか
Javaじゃね?
67 :
デフォルトの名無しさん:2009/12/16(水) 22:11:43
C#
以上
Javaは話にならん
C#やったらポインタとかマジ余裕だし。
むしろC#とC++の違いを知ることによってより深くC#を知ることができるし。
69 :
デフォルトの名無しさん:2009/12/16(水) 22:20:47
Javaのライブラリと.NETってサイズはどっちもどっちなのに
.NETは批判されるの??
教えてエロい人
.NET は、実質 Windows 限定だから。
実は、Mono もそれ自体はいけてるんだけど、互換性がいまいち。
>>70だと誤解を招くな。
というか、実質Windows限定という言葉がマズいだけなのだが。
オープンソースなライブラリが使える個人開発では大抵問題にならない(吸収されてる)からいいんだけど
そうでない時には不便。
あとブラウザ上で動かすものについてはMonoのほうがかなり遅れている。
こんなとこか。
最近は.NETそのものはそれほど批判されてない。
最近多いのは.NETに関連する一部ランタイムへの批判。
同一バイナリでかつ互換性のある必要があるブラウザ上のアプリ環境についてのもの。
GUIを持ったデスクトップアプリについての別OS間の互換性については需要が高くない、というと間違いだが
そのままどこでも動くものがJavaにしろなんにしろほとんど無いせいもあって
.NET全体の互換性批判は落ち着いている
73 :
デフォルトの名無しさん:2009/12/17(木) 12:20:02
JAVA厨だがいつもVB厨とケンカになる
超簡単に習得できるが次にC,C++を習得する時に違和感なかったり役に立ったりする言語は?
75 :
デフォルトの名無しさん:2009/12/17(木) 12:49:11
俺の学科はC厨ばっか
しかもそういう奴らに限ってなぜか行コメントを使うという
C++を勉強すればCに便利な機能が増えたって感じになるのに
76 :
デフォルトの名無しさん:2009/12/17(木) 12:49:53
必要なら仕方ないが、いまから C++ってどうかと思う。
>>63 Ruby厨っていうより、自分が今使ってる言語が全てって思っちゃうタイプ
まあちんこ氏みたいなもんだ
京大と専門の差はあれど
>>76 忘れてた
Firefoxのアドオン作りたかったしこれからいくらでも役に立ちそうだし
さっそく始めるわthx
80 :
デフォルトの名無しさん:2009/12/17(木) 16:57:20
WPFで開発してる人いる?
>>64 和訳文章があるのは Lua, Euphoria, Squirrelあたりかと。一般的にはLuaが主流かな。
和訳文章は無いがほかにも組み込み言語ではFerite, Falcon, Agenaなんかもあるがな。
厳密に言えばEuphoriaは組み込みではないが、CトランスレータでCソースだけではなく
DLLも生成できるんできちんとインタフェース用意すれば使える。しかし一般にはお勧めしない。
82 :
デフォルトの名無しさん:2009/12/18(金) 23:39:28
wikipediaを読んで独学している僕はあまちゃんなんでしょうか??
>>82 日本語版しか読んでないならあまちゃんです。
84 :
デフォルトの名無しさん:2009/12/19(土) 02:10:47
プログラムなんて基本は独学だから。
ボロノートPC
(NEC, 32bit, Vista Home Premium, RAM 2GB,
シングルコア, グラフィックスチップ内蔵(超貧弱))
にVS2010 Beta2を入れた。
意外とよく動くもんだな。
Beta1はカクカクで使えなかったのに。
・・・誰かC++0xを教えてくれ
86 :
デフォルトの名無しさん:2009/12/19(土) 21:04:57
うちのボロパソじゃ動かん
ノーパソでVistaにRAM2GBとかハイエンドだろ
>>87 そうでもないな。
2,3年前くらいのスペックだろうな。
たしかに3年過ぎればボロと言っても過言ではない。
90 :
デフォルトの名無しさん:2009/12/21(月) 19:02:43
今の最新ノートPCってどんなの積んでんの?
年齢:若年
頭のLv. ★★★★★★☆☆☆
環境: xP
目的: ブラウザゲーム
コメント:fLASHとかjAVASCRIPT以外でよろしくお願いします
超初心者なので超わかりやすく教えてください。
HTMLでリンクをたどっていって冒険するゲームでも作れば?
その名も「リンクの冒険」
なんつってw
fLASH
かっこいいな、なんか
95 :
デフォルトの名無しさん:2009/12/25(金) 19:40:33
>>93 なんか今とても寒かったんだけど、なんだろう?
96 :
デフォルトの名無しさん:2009/12/25(金) 20:30:02
SilverLightで作れば
97 :
デフォルトの名無しさん:2009/12/25(金) 22:02:10
年齢: 若年
頭のLv. ☆(キラッ)
環境: えっくすぴー
目的: 最強言語を作りたい
コメント: 俺TUEEEEEEEEEEEEEしたいんです^^
98 :
デフォルトの名無しさん:2009/12/25(金) 22:17:44
とりあえずドトネトあたりで俺仕様インタプリタを作りましょう
99 :
デフォルトの名無しさん:2009/12/25(金) 22:33:49
string[] s = {"END"};
Array.ForEach<string>(s, delegate(string ope)
{
switch (ope)
{
case "END":
MessageBox.Show("終 了");
break;
}
});
100 :
デフォルトの名無しさん:2009/12/26(土) 20:24:29
初心者なんだけど、これからは.NETあたりやっておけばおk??
日本語
英語のがいいよ
>>100 マジレスすると、C と LispかOCaml。
OCamlってなあに?
坊やさ
106 :
デフォルトの名無しさん:2009/12/27(日) 00:13:53
いいえ、オカメの英語表記です。
107 :
デフォルトの名無しさん:2009/12/27(日) 03:05:11
しかたないな。マジレスしてやろう
Ada
Adaってなあに?
マジレスして何がしたいんだよ!
>>109 何を使ってここに書き込んでいる?
その端末は人に聞くためのものか?
それしかできない、考えないんなら
プログラミングなんて向いてないよ
やめちまえ
>>110
>>112 ( ´∀`)オマエモナー
釣りにマジレスカコ(・∀・)イイ!!
あ・・・あれをマジレスというのか・・・?
____∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜' ____(,,゚Д゚)< 逝ってよし!
UU U U \________
死語の世界だ・・・
吊ってきます
何この2000年代前半w
>>100 ちゃちゃ入ったが、C++/Java/C# どれやるにしろ C は必須。
手続き型とは異なる概念を知る意味で関数型言語もひとつ。
OCaml は、Visual Studio にも、F#の名前で入っている。
始まったよC至上主義…
ここは押し付けるスレだぞw
そういやそうだw
122 :
デフォルトの名無しさん:2009/12/29(火) 20:32:26
C++ってとってもいいけど
C言語との互換性を保とうとしてるからめちゃくちゃなんだよね
誰かネイティブC#を作んないかな
一応、ILをネイティブにするものがあるので、実質的にネイティブC#コンパイラはある。
Javaも同じく。
ngenか
Mono の方。
126 :
デフォルトの名無しさん:2009/12/29(火) 23:48:35
kwsk
Java は gjc。GCCは単なるフロントエンドで、
Java → bytecode コンパイラと bytecode → ネイティブ コンバータがつながっている。
129 :
デフォルトの名無しさん:2010/01/04(月) 20:41:12
monoをお勧めします
Malbolgeでもやってろ禿
>>130 そのネタありふれて面白くないのでやめろ。
____∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜' ____(,,゚Д゚)< 逝ってよし!
UU U U \________
>++++++++[<++++++++>-]<++.>>++++++++[<++++++++>-]<++++++++++++++++++.>
>++++++++[<++++++++>-]<+.>>++++++++[<++++++++>-]<+++++++++.>
>++++++++[<++++++++>-]<++++++++++++++.>>++++++++[<++++++++>-]<++++++.>
>++++++++[<++++++++>-]<+++++++++++++++++++++.>>++++++++[<++++++++>-]<+++.>
>++++++++[<++++++++>-]<+++++++++++.>
手続き型でありながら適度に関数型のいいとこも含んでて、インデントが強制されるので、いい癖をつけられて、
標準ライブラリがそれなりに豊富なため、追加インストールなしである程度のことができるPythonがおすすめ。
……と言いたいんだけど、2.x系が主流なのに3.x系が既に出てて、大きな仕様変更があることを考えると、
今はあんまりおすすめできないんだよなぁ。
それを言ったらPerlもRubyも…
仕様変更がいやなら枯れてるlispを使えばいいのに
138 :
デフォルトの名無しさん:2010/01/15(金) 15:53:24
ほしゅ
Lisp系のインデントの入れ方を教えてほしい。
未だに謎。
>>117 母「おい、おまいら!!夕食ができますた。リビングに集合しる!」
父「詳細キボーヌ」
母「今日はカレーですが、何か?」
兄「カレーキターーーーーーーーー」
妹「キターーーーーーーーーー」
姉「カレーごときで騒ぐ奴は逝ってヨシ」
母「オマエモナー」
父 --------終了-------
兄 --------再開-------
妹「再開すなDQNが!それより肉うpキボンヌ」
母「ジャガイモうp」
姉「↑誤爆?」
兄「タマネギage」
父「ほらよ肉>家族」
妹「神降臨!!」
兄「タマネギage」
母「糞タマネギageんな!sageろ」
兄「タマネギage」
姉「タマネギage厨uzeeeeeeeeeeee!!」
母「ageって言ってればあがると思ってるヤシはDQN」
セールスマン「イタイ家族がいるのはこの家ですか?」
母「氏ね」
父「むしろゐ`」
兄「タマネギage」
妹「兄 、 必 死 だ な ( 藁 」
>>141 それが2000年代前半の日本の典型的な食卓風景なのか!
日本スバラシイネ。
「スレ違い」が一度も出てこなかったとはどういうことだ
タマヌギage
2ch語スクリプトがあっても良いと思う
うp = ファイル書き込み
ろだ = ふぁいる読み込み
age = スレッドの優先度が上がる
DQN = スレッド同期
キボンヌ = メッセージ待ち
オワタ = 終了処理
146 :
デフォルトの名無しさん:2010/01/24(日) 15:09:42
147 :
デフォルトの名無しさん:2010/01/24(日) 20:57:11
うーん 何を押し付ける?
lispかSmalltalk、あるいはLogo
149 :
デフォルトの名無しさん:2010/01/25(月) 20:48:17
lispは暇人の遊び
だからこそ、押し付けるんじゃ無いかw
151 :
◆FsIC04d.QN6s :2010/01/26(火) 17:37:58
152 :
デフォルトの名無しさん:2010/01/26(火) 19:47:42
カキコ "うんこ"
154 :
デフォルトの名無しさん:2010/01/26(火) 20:23:58
うp "vb.txt" "くそ"
うp "cs.txt" "楽"
うp "cpp.txt" "面倒"
つ vb cs cpp
ろだ vb "vb.txt"
ろだ cs "cs.txt"
ろだ cpp "cpp.txt"
カキコ "VB:"
カキコ vb
カキコ "C#:"
カキコ cs
カキコ "C++:"
カキコ cpp
オワタ
オワタ
156 :
デフォルトの名無しさん:2010/01/30(土) 18:47:20
まあ、いいんじゃないかな
>>139 閉じ括弧をまとめるとかみたいな、ある程度の傾向はあるが
やっぱ手続き型と同じく、個々人の好みもあるぞ
まぁ、Emacs系エディタにはよくLispコードの自動整形機能が付いてるのでそれを使えばおk
Lispをやりたいんだけど、
いい入門サイトとかある?
また青木か
どんな言語でもいいけど
printf("My name is 鳩山");
みたいに自分の名前を表示するだけ
程度のプログラムを書ける日本人って全人口のうち何人くらいいるんだろうな
この程度ができるだけでも一般人から見れば天才なんだろうかな
>>161 理系で大学、高専、高校出た人は99.9%できるだろ。
文系でも、さわりを多くの人はやってると思う。
若い世代なら、情報の授業で登場している。
50歳以上になると、なにも知らない人がとたんに増えるような気はする。
>>161 一般人から見たら一体何がうれしくてそんなことやってるのか訳が分からない
164 :
デフォルトの名無しさん:2010/02/15(月) 21:00:16
一括してリネームだの、画像フォーマット変換だのやるとか、
テキストファイルの特定のパターンにマッチする行だけに何か処理を施すとか、
そのくらいは自分でスクリプト書いちゃった方が楽だよな。
なのに、その程度すらエンドユーザなら やらない or できないのが
当たり前って現状はおかしい。
原因は、
・フリーソフトがあるから。(かゆいところに手が届かないこと多し)
・プログラミングは難しいから。(昔のBASICくらい単純だったら誰でもできるのだが)
オブジェクト指向は基本的な部分に限定すれば難しくない。
だが、これが普通の人をプログラミングから遠ざけたという面は否定できない。
おおよそ今時の言語入門書ならばクラス、オブジェクト、モジュールみたいな部分だけでも
かなりのボリュームになる。
このため、オブジェクト指向に関わる機能が膨大なので、多くの人が消化不良を起こす。
「実世界と似ているから簡単」と言っても普通のエンドユーザは納得しない。
何かをやろうとする時、普通の人がオブジェクト指向で考えることはないだろう。
数学の問題を解いたり、仕事の作業工程を考えるのにオブジェクト指向的発想をするだろうか?
そんなことはありえない。そういう場合、手続き指向で考えるはずだ。
つまり、普通の人にとっては手続き型のほうが自然な思考なのだ。
「頭の柔らかい子供なら実世界そのままのオブジェクト指向の方が楽だろう」
というのもやはり眉唾。
大人であれ子供であれ、普通の人の思考なんてたいして違わない。
稀有な天才少年だったらそうかもしれないが、ほとんどは大人と同じように思考する。
ひどいのになると
犬がワンとなき、猫がニャーと鳴くのがオブジェクト指向です(オーバーライド?)です
みたいなとんでもない嘘書いてる本もあるからな。
>>165 中2のころそういう説明がされてるC++のサイトを見て挫折した。
去年C++を言語仕様の面から体系的に教えてるサイト見たらできるようになった。
ってーか犬が標準出力に「ワン」と出力するなんてありえないからw
>>164 プログラミング? C/C++やれ!という風潮が長く続いたのもあるかもしれないね(別にC/C++の悪口を言うつもりは無いが)。
それ以前に手続き型であっても文字列操作の記述方法が古かったり組み込み命令文一発でデータ構造をダンプできない
ブラックボックスにしか見えない言語のほうが圧倒的だと思うから仕方ないかと。
色々探すと自然な構文で習得しやすく扱いやすい言語はあるけど、ローカライズされてないんだよな。
好きな言語ってより、むしろ好きなライブラリ押し付けだが、Qtライブラリ超おすすめ。
俺もAnimalを継承したDogがワン、Catがニャーの説明を散々読まされて「で?」って感じだったんだが、
Qtライブラリ使って初めて、動作を持ったオブジェクトがあって、それが何らかの動作をすること、
継承により、親の機能を拡張したクラスができるということ、
それがいかにプログラムを簡単にするかを身をもって体験できた。
あのライブラリは、C++でのオブジェクト指向の面白いところをギュッと詰め込んだライブラリだと思うよ。
そうそう。オブジェクト指向は、犬を動物にするためにあるんじゃなく、面倒を避けるためにある。
ttp://anond.hatelabo.jp/20090310135942
>>165 なんで嘘を書くかなぁ
ポリモーフィズムだろ
四つ足、犬、猫での説明を批判する人は、ポリモーフィズムをどうやって説明したらいいと思ってるんだろうか?
多重継承でトノサマバッタも相当酷いだろ
トノサマクラスから引き継いでるの名前だけじゃねーか
具体性が無いからだよ…
実際のプログラムでわんこやにゃんこが出てくる場面て
ペットショップ以外であるの?
オブジェクト思考って何?
CでFILEがあるじゃん、fopenしたりfreadしたり。
これもオブジェクト指向なん?
>>172 そりゃそうなんだけど、じゃあどうするんだ? 実際のコードがいきなりきたら、もっとちんぷんかんぷんだと思う。
>>174 実際のコードでいいだろ。
猫がニャーとか実用性のないサンプルより実際のコードのほうがわかりやすいわ。
実際のコードだとそのまま使える人以外には抽象的なものよりわかりにくい
オブジェクト指向を何となくでも理解したいならJavaを学ぶのが一番だろう。
C だとC的にも書けてしまうので、かえって学びにくい。
犬だの猫だの比喩をずっと聞かされるよりはだいぶまし。
C#だろ
Javaとか貧弱
>>171 Javaでいうところのインターフェースですねわかります
>>173 広い意味でオブジェクト指向の一部になると思う
ただし
隠蔽化出来ていないとか
クラスにメソッドがある訳じゃないとか
いくつか足りない部分があるので類猿人レベル
class 図形
class 三角形 : 図形
class 四角形 : 図形
図形 = new 三角形
図形.面積()
図形 = new 四角形
図形.面積()
別にそんなのオボジェクト指向じゃなく、C言語でも問題なくできる。
struct 三角{
double たて;
double よこ;
}
double 三角面積(三角 t){
return t.たて*t.よこ;
}
C言語だとだいたいこんな幹事?
C言語だと
三角面積、四角面積
といったようにいくつか作る必要はあるけど別に変わらないよね。
そのために switch 文っていう便利なのがあるよね
>>182 お前なにもわかってないねw
まったく抽象化できてないじゃんw
struct 三角{
int 型;
double (*area)(void);
double 底辺;
double 高さ;
};
struct 矩形{
int 型;
double (*area)(void);
double たて;
double よこ;
};
union 図形{
int 型;
struct 三角 triangle;
struct 矩形 rectangle;
};
double 面積(union 図形 f){
switch(f.型){
case 三角_t: return f.triangle.area();
case 矩形_t: return f.rectangle.area();
default: return 0;
}
}
おまえ本当に分かってないな。
五角形あとから実装するとでどうするの? 関数ポインタ使え。
enum {triangle_t, rectangle_t};
struct _figure;
struct _triangle {
int t;
double (*area)(struct _figure *);
double base, height;
};
struct _rectangle {
int t;
double (*area)(struct _figure *);
double height, width;
};
struct _figure {
union {
struct _a {int t; double (*area)(struct _figure *);} a;
struct _triangle triangle;
struct _rectangle rectangle;
} f;
};
double triangle_area(struct _figure *f){ return f->f.triangle.base * f->f.triangle.height * 0.5; }
double rectangle_area(struct _figure *f){ return f->f.rectangle.height * f->f.rectangle.width; }
int main(int ac, char **av){
struct _triangle ta = {triangle_t, triangle_area, 3.0, 4.0};
struct _rectangle ra = {rectangle_t, rectangle_area, 5.0, 6.0};
struct _figure *f0 = (struct _figure *)&ta;
struct _figure *f1 = (struct _figure *)&ra;
printf("triangle: %f\n", f0->f.a.area(f0));
printf("rectangle: %f\n", f1->f.a.area(f1));
return 0;
}
と、このような変態コードを書かなくても、オブジェクト指向ならば簡潔に実装できます^^
拡張する時も、このコードのように、enum や struct _figure に手を加える必要がありません^^
それにしても、わざわざ関数ポインタを持たせるくらいならば、メンバ関数にしてオブジェクト指向にしちゃえばいいのにね〜^^;
それでは、また来週お会いしましょう!さよなら〜(*^_^*)ノシ
C#みたいに、ちょっとしたことするのもいちいちクラスや構造体使わなきゃならないものより
C++みたいにC言語にクラスを付け足しました
みたいなもののほうがいいわな。
sinとかcosもとめるのにいちいちMath.SinとかMath.Cosとか後ろにMathついててマジきもいわ
190 :
デフォルトの名無しさん:2010/02/17(水) 11:04:24
わんにゃん場ー
191 :
デフォルトの名無しさん:2010/02/17(水) 11:05:48
double 三角面積(三角 t){
return t.たて*t.よこ;
}
マジきもい
>それにしても、わざわざ関数ポインタを持たせるくらいならば、メンバ関数にしてオブジェクト指向にしちゃえばいいのにね〜^^;
kwsk
ライセンス上、2chに投稿したら著作権が2chに移っちゃうのでそこだけは注意
>>192 関数(主)にデータ(従)を渡すのが手続き型
データ(主)に、それを操作するメソッド(従)を加えてカプセル化したものがオブジェクト指向
オブジェクトしこー
>>189 C++ の using namespace みたいなのが C# にあったはず
>>196 そりゃなんの解決にもならない。
あんなやつは、FORTRANでも使わしといたらいい。
わんにゃんしこうでいいよ
お前らスレ違い
ここはPG言語を押しつけるスレでつよ
つbraunfuck
つwhitespace
つJava
202 :
デフォルトの名無しさん:2010/02/19(金) 11:23:00
中国製は勘弁してほしい
ネトウヨうぜえ
確かに中国製は怖い
中国は平気でバックドア仕込むからなー
気にするなって方が無理だろ
脊髄反射のネトウヨ連呼厨以外は
焼きはらえー |:|\\:::::||.:.||::::://|
|:l\\\||.:.|l///|
__ ィ ,. -――- 、 |:|:二二二二二二二 !
/ L / \. |:l///||.:.|l\\\|
/ ̄ ̄ ̄ ̄ 7 / / f / / l l l lハ |:|//:::::||.:.||:::::\\|
ト、 ,.  ̄ ̄Τ 弋tァ― `ー / 从 |メ|_l l_.l斗l |ヽ V |:| ̄ フ  ̄ ̄ ̄ ̄ ̄
ヽ \__∠ -――く __ .Z¨¨\ N ヒj V ヒソ l .l ヽ\| / /
ヽ ∠____vvV____ヽ < ≧__/ ゝ、t‐┐ ノ .|┐ ./ /
. \\_____ivvvvvvvv| V. ( ( /Tえハフ{ V / /
\! | / 入_.V/| >-ヘ \:::∨::∧ / ∠ ____
__ |\ l/V _{_____/x| (_|::::__ノ }ィ介ーヘ ./ ,. ---―――
)-ヘ j ̄} /| /___/xx| _Σ___/| | |V::::ノ/ ∠___
{ V /`7. /___./xXハ ( |:::::::::::::::::ハ >' ____二二二
. \_ |/ /___l XX∧ __≧__::::::::/:∧/ `丶、
| ヽ /____|]]∧ __|__L.∠ ム' <`丶 、 `丶、
| ', { |]]]>' __ ∧ l\ \ 丶、 ` 、
ノ } l ̄ ̄ ̄.|] >' ,. '  ̄ / .// :/ V' \ ヽ `丶\/
/ ∧ { \ | .|>' / // :/ :/ : ', l \ ヽ ,.-――┬
入ノ. ヽ く ヽ______7 ー―∠__ 〃 l :/ :l l \V
`ー′ \ `< | { / | /〃 :|/ __V/ ̄| ̄ ̄{_
>>173 いいセンスしてるね!
Cはオブジェクト指向に向いてない言語だからコード的にはそれっぽくないけど、概念としては近い。
オブジェクト指向でない、Cの考え方では、FILE構造体ひとつひとつを、
ファイルの読み書きに必要な情報が記された「データの集合」とみるのだが、
オブジェクト指向的には、それは抽象化された「ファイル」そのものと見る。
ファイル操作のための関数群は、非オブジェクト指向的には、引数に指定した「データの集合」を操作する関数だが、
オブジェクト指向では、「ファイル」を操作する関数と考える。
ファイル操作に、FILE構造体の中身を一切知らなくてもいいことも、オブジェクト指向的。
FILE構造体の内容を一切気にすることなく、用意された関数を使うだけで利用できるのは、カプセル化の思想。
ただ残念ながら、FILEでは、継承の例を挙げるのは難しい。
ポリモーフィズムの例を挙げるとすれば、fprintfとsprintfの関係?いや、違うかな……
>>209 オブジェクト指向に継承は必須じゃないが、FILE*には多態性もない。
>fprintfとsprintfの関係
だといいんだけど char * をストリームとして扱えればね・・・
どっちかというと socket なんかが FILE* のポリモーフィズム
>>210 コンソール出力もファイル出力も、デバイスへの書き込みもできるというのは、多態だと思うが。
もっとも、それを実現してるのは言語じゃなくOSだが。
出力先をきにしなけれならない時点でOOでないよな。
>>213 インタフェース指向設計って書籍では
多態の説明としてそれが使われてたな。
たたいはアップキャストでvirtualなポリモーじゃねーの
ん?継承でポリモーは当たり前だろ
C++が特殊レアケースなだけだw
virtualのときしかポリモー出来ないなんて
他の言語と比べても糞すぎ
っつーより今は継承を使わずにポリモーするとしたら?って話では?
>>217 関数ポインタ使ってテーブル自作するか
テンプレートで擬似継承するくらいじゃねーの?
型安全無視でやるんならバグが怖いな
Rubyはブロック末端のendがきもいお
でもPythonみたいなブロックのためのインデント強制は、
2chにソースコードを貼り付けたときとかにインデントが崩れたらおしまいだからきもいお
だからインデントで表現して且つ括弧もある半インデント強制なLispがいいお
>2chにソースコードを貼り付けたときとかにインデントが崩れたらおしまい
ん?
まあインデントが見えなくなるからな
え?
┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
>>168 そのリンク先は初心者の俺には超タメになった
ありがとん
2chもブラブラ見てみるもんだな
プロトセイバーか
アバンテこそ至高
>>228 私がまだ若々しい書生であった頃に大好きだったラジコンと同じ名前だからちょっとなびきそうだわ。
>>219 Pythonコードを張り付けるときには、&nbsp;をたっぷり使って整形するが良い。Pythonが
使いこなせれば簡単なことだ。
Haskellは初心者向けにも良い言語だと思う