探検
ねねっちと一緒にプログラムを勉強するスレ第2話 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/03/18(土) 13:03:05.05ID:KGlkA67c ぬるぽって何?
2017/03/18(土) 23:36:20.62ID:Z1poHEqC
今日も一日ガッんばるぞい
2017/03/19(日) 00:18:40.43ID:cSt3/uVu
>>1
れーがい。
れーがい。
4デフォルトの名無しさん
2017/03/19(日) 00:29:34.64ID:dpFhURxm 2ch誕生時ぬるぽ誕生時はねねっちの誕生前史…でも無いか…?
5片山博文MZ ◆T6xkBnTXz7B0
2017/03/19(日) 07:19:32.95ID:lvnI99G62017/03/19(日) 13:14:33.69ID:3j9rxESx
馬鹿が馬鹿に向けてコーチしてるから、いつまでたっても終わらんな
馬鹿は馬鹿の気持ちがわかるから教師に向いてるとかいうけど
まともな言語使役能力がない馬鹿に教師が務まるわけねえだろバーカ
自分の馬鹿さ加減を正当化する以前に相手の立場、聞き手の立場になってライティングする技術を学べよバーカ
馬鹿は馬鹿の気持ちがわかるから教師に向いてるとかいうけど
まともな言語使役能力がない馬鹿に教師が務まるわけねえだろバーカ
自分の馬鹿さ加減を正当化する以前に相手の立場、聞き手の立場になってライティングする技術を学べよバーカ
2017/03/19(日) 13:28:09.26ID:GVCm3UtV
馬鹿が大好きな馬鹿
2017/03/19(日) 13:35:24.13ID:MQWsDRoG
>>6
コーチ任せた
コーチ任せた
2017/03/19(日) 15:26:53.79ID:DJjYEA61
>>6
分からないことがあるから聞いてもいいかな?
分からないことがあるから聞いてもいいかな?
2017/03/19(日) 16:55:32.81ID:MC3Ph5Rd
とりあえずどんなに小規模でもいいからアプリケーション一つ作ってみれば何かしら見えるようになる気はするけど
結局プログラミングって技術だから必要になってから学ぶ事柄の方が身につくし
どんなに小規模でもソフトウェア一本作るなら要求されることは多い
結局プログラミングって技術だから必要になってから学ぶ事柄の方が身につくし
どんなに小規模でもソフトウェア一本作るなら要求されることは多い
ポインタ、クラスという2つの大きなカベをぬーぶくんは乗り越えることが出来るかな?
特にポインタはかなり難しい。
特にポインタはかなり難しい。
2017/03/19(日) 19:42:24.52ID:w6cUNJco
言語1つ習得するのにいつまで掛かっとんじゃい!
2017/03/19(日) 20:15:51.06ID:sUTtusgG
逆に言語を完璧にマスターしようとしたら相当の時間は必要だと思うけど
例えばJavaに限ってもEffecive Javaの内容を実践できるようになるレベルまでたどり着くだけでも相当な時間がいると思う
例えばJavaに限ってもEffecive Javaの内容を実践できるようになるレベルまでたどり着くだけでも相当な時間がいると思う
2017/03/19(日) 21:07:09.25ID:3j9rxESx
まずは五目並べとかを目標にするべきだとおもうの
五目ならべとかくそつまんねえけど、最低限のゲームループははいってるわけでね
おれも大学時代Cでかかされたけど、あれはマジ難しい
インターフェース作るので精一杯で、CPUのAIはランダムに石をおくぐらいしかできんかったわ
五目ならべとかくそつまんねえけど、最低限のゲームループははいってるわけでね
おれも大学時代Cでかかされたけど、あれはマジ難しい
インターフェース作るので精一杯で、CPUのAIはランダムに石をおくぐらいしかできんかったわ
2017/03/19(日) 23:12:11.49ID:9swj1Ik4
>>15
スッキリわかるJavaの入門編が終わったので、実践編に入ったのですが、難しくてつっかえつっかえです。
例えばオブジェクトクラスに備わっているメソッドのオーバーライドとかで苦戦してます。
あれ必ずやるんですか?しんどいです…。
スッキリわかるJavaの入門編が終わったので、実践編に入ったのですが、難しくてつっかえつっかえです。
例えばオブジェクトクラスに備わっているメソッドのオーバーライドとかで苦戦してます。
あれ必ずやるんですか?しんどいです…。
2017/03/20(月) 01:31:41.05ID:GbEM94zj
まずjavaは難しいからね
継承を中心としたライブラリがあるかと思えば、インターフェースを中心としたライブラリもある
継承を選択すると、データ型に階層構造ができるが、たいてい継承というのは、ある特定の見方で行う分類学みたいなもんだから、この分類に失敗した時点で設計が汚くなる
例えば鳥はflyメソッドを実装すべきだが、飛べない鳥はどうする、swimメソッドを持つ鳥持たない鳥があると思えば哺乳類でも歩けないクジラみたいなのもいる
クラスを動物で例えるのはよくないがイレギュラーを綺麗に処理できるような美しい分類などほぼほぼ存在しない
君はおそらく継承を使った設計などしないし、基本的にすべきじゃない、でも継承を使わないといけないライブラリもあるからね、そういうときはどうするんだろ、
真面目に一つずつオーバーライド実装するかproxyパターンとか使うのかね
結局動的言語のほうが楽なんだよそういうのはJavaだけ勉強してもわからないことだ、もしJavaだけで例えばリフレクションの概念を正確に理解できたとしたらたいしたもんだ、λ式も同じくね
継承を中心としたライブラリがあるかと思えば、インターフェースを中心としたライブラリもある
継承を選択すると、データ型に階層構造ができるが、たいてい継承というのは、ある特定の見方で行う分類学みたいなもんだから、この分類に失敗した時点で設計が汚くなる
例えば鳥はflyメソッドを実装すべきだが、飛べない鳥はどうする、swimメソッドを持つ鳥持たない鳥があると思えば哺乳類でも歩けないクジラみたいなのもいる
クラスを動物で例えるのはよくないがイレギュラーを綺麗に処理できるような美しい分類などほぼほぼ存在しない
君はおそらく継承を使った設計などしないし、基本的にすべきじゃない、でも継承を使わないといけないライブラリもあるからね、そういうときはどうするんだろ、
真面目に一つずつオーバーライド実装するかproxyパターンとか使うのかね
結局動的言語のほうが楽なんだよそういうのはJavaだけ勉強してもわからないことだ、もしJavaだけで例えばリフレクションの概念を正確に理解できたとしたらたいしたもんだ、λ式も同じくね
2017/03/20(月) 08:01:55.59ID:8oBPBpt5
2017/03/20(月) 16:56:55.64ID:GbEM94zj
静的でもっさいオブジェクト指向言語ってのはそうやって、やれインターフェースがどうだの、やれ継承がどうだのどうでもいいことにいちいち頭を悩ます必要があるからな
正直オブジェクト指向の基本理念は大方失敗してるからそこらへんの技術や思想は無視した方がいい
あれがめんどいと思うなら、動的言語をおすすめする、正直個人でのプログラムにおいてオブジェクト指向はそんなに役に立たない
カプセル化がどうだのいう輩は、ほとんどの言語のライブラリが、オブジェクト指向ライブラリよりもはるかに高いレベルでカプセル化を実現していることに気付かないんだよ
正直オブジェクト指向の基本理念は大方失敗してるからそこらへんの技術や思想は無視した方がいい
あれがめんどいと思うなら、動的言語をおすすめする、正直個人でのプログラムにおいてオブジェクト指向はそんなに役に立たない
カプセル化がどうだのいう輩は、ほとんどの言語のライブラリが、オブジェクト指向ライブラリよりもはるかに高いレベルでカプセル化を実現していることに気付かないんだよ
20ぬーぶ ◆upkqfrxkrw
2017/03/20(月) 20:07:41.05ID:ivsP1GF2 言語ひとつ覚えるのにいつまでかかっとんじゃい…うん(´・ω・`)
何かひとつアプリケーションを作れとのことなんで
五目並べはちょっとハードル高いけど
簡単なインベーダーを作ってみようと思う
でも画像をどうやって作ろうか悩む
何かひとつアプリケーションを作れとのことなんで
五目並べはちょっとハードル高いけど
簡単なインベーダーを作ってみようと思う
でも画像をどうやって作ろうか悩む
2017/03/21(火) 00:09:43.10ID:LsnLNCD2
>>17
横だけど、それHead First のデザインパターンの序章である奴だよね。
飛べない鳥とか振る舞いのインターフェースと実装をすれば対応出来る奴じゃん。
オブジェクト指向の基本理念は失敗とかディスってる様だけど、オブジェクト指向を理解出来てない馬鹿がオブジェクト指向を語るなよ。
横だけど、それHead First のデザインパターンの序章である奴だよね。
飛べない鳥とか振る舞いのインターフェースと実装をすれば対応出来る奴じゃん。
オブジェクト指向の基本理念は失敗とかディスってる様だけど、オブジェクト指向を理解出来てない馬鹿がオブジェクト指向を語るなよ。
2017/03/21(火) 00:18:59.12ID:RJ2XVIqX
じゃあその通りに実装すればいいと思うよ
実際飛べない鳥のサンプルコード書いてみ
それがオブジェクト指向のメリットなんだから、喜んで書けるよな
実際飛べない鳥のサンプルコード書いてみ
それがオブジェクト指向のメリットなんだから、喜んで書けるよな
2017/03/21(火) 07:15:17.71ID:LsnLNCD2
>>22
以下になるけど、Strategyで実装すれば書けるだろ。
package test;
class MiniDuckSimulator {
public static void main(String[] args) {
Duck model = new ModelDuck();
model.performFly();
}
}
class ModelDuck extends Duck {
public ModelDuck() {
flyBehavior = new FlyNoWay();
}
}
abstract class Duck {
FlyBehavior flyBehavior;
public Duck() {
}
public void performFly() {
flyBehavior.fly();
}
}
以下になるけど、Strategyで実装すれば書けるだろ。
package test;
class MiniDuckSimulator {
public static void main(String[] args) {
Duck model = new ModelDuck();
model.performFly();
}
}
class ModelDuck extends Duck {
public ModelDuck() {
flyBehavior = new FlyNoWay();
}
}
abstract class Duck {
FlyBehavior flyBehavior;
public Duck() {
}
public void performFly() {
flyBehavior.fly();
}
}
24デフォルトの名無しさん
2017/03/21(火) 07:16:06.90ID:LsnLNCD2 書き込み制限が出た為、分割。
interface FlyBehavior {
public void fly();
}
class FlyNoWay implements FlyBehavior {
public void fly() {
System.out.println("I can't fly");
}
}
class FlyWithWings implements FlyBehavior {
public void fly() {
System.out.println("I'm flying!!");
}
}
interface FlyBehavior {
public void fly();
}
class FlyNoWay implements FlyBehavior {
public void fly() {
System.out.println("I can't fly");
}
}
class FlyWithWings implements FlyBehavior {
public void fly() {
System.out.println("I'm flying!!");
}
}
2017/03/21(火) 23:08:09.09ID:RJ2XVIqX
え?このプログラムがオブジェクト指向なの?
俺にはこの設計が理解できないなあ
例えば飛べない鳥duckはflyメソッドを持ってはいけないという前提でどうクラス構成するかって話なんだけど、
飛べない鳥duckがそもそもflyを持っていいという設計思想を踏襲するなら、素直にflyメソッドをもつabstract birdクラスまたはflyableインタフェースをDuckは継承または実装し、flyをoverrideあるいはimplementにすればいいと思うんだけど
ストラテジーパターンと言い張ってるけどストラテジーパターンではないよね、それはブリッジパターンだよ
素直にFlyableインタフェースを使ってfly可能なものに対してはflyableインタフェースを素直に実装するのがストラテジーパターンでしょ、間にコンポジションは挟まないよ
という無駄な分類学とデザパタ議論が栄えるだけなのがオブジェクト指向
ここまで一切どのようにエレガントに鳥を飛ばせるかなんて議論なかったでしょ
こういう複雑なだけでくだらない議論に巻き込まれないためにも、動的言語及び関数型言語を勉強する価値がある
俺にはこの設計が理解できないなあ
例えば飛べない鳥duckはflyメソッドを持ってはいけないという前提でどうクラス構成するかって話なんだけど、
飛べない鳥duckがそもそもflyを持っていいという設計思想を踏襲するなら、素直にflyメソッドをもつabstract birdクラスまたはflyableインタフェースをDuckは継承または実装し、flyをoverrideあるいはimplementにすればいいと思うんだけど
ストラテジーパターンと言い張ってるけどストラテジーパターンではないよね、それはブリッジパターンだよ
素直にFlyableインタフェースを使ってfly可能なものに対してはflyableインタフェースを素直に実装するのがストラテジーパターンでしょ、間にコンポジションは挟まないよ
という無駄な分類学とデザパタ議論が栄えるだけなのがオブジェクト指向
ここまで一切どのようにエレガントに鳥を飛ばせるかなんて議論なかったでしょ
こういう複雑なだけでくだらない議論に巻き込まれないためにも、動的言語及び関数型言語を勉強する価値がある
2017/03/21(火) 23:31:22.93ID:+RCV7fhe
正しい設計にこだわってすべてが崩壊するよい例だね。
バカは完璧を求めてはいけない。
バカは完璧を求めてはいけない。
2017/03/22(水) 00:08:54.02ID:Q7/mY9A+
>>25
ああ、Oreillyの初心者向けの本の序盤に書いてあるレベルだけど、
理解出来ないの?
flyをそのまま実装するとか拡張性が低い実装してんね。
飛べない鳥を具象クラスに追加したりとか
飛べる鳥が骨折して飛べなくなった場合とか対応出来ないだろ。
Strategyってアルゴリズム部分を明確に定義してカプセル化し、
変更や交換がクライアントと独立して行う事が出来るデザパタだけど分からないかな?
bridgeの意味も全然違うし、interfaceから無造作に分類していくと、
実装クラスの数がキリがないから特徴を分離して実装クラスの数を抑えるデザパタだろうが。
てかこの程度のGoFの簡単なデザパタで複雑とかねーわ。
ドメイン駆動設計とか理解出来なさそうだし、
複雑な業務をシステムに落とし込むことは出来なさそうだな。
オブジェクト指向が駄目なんじゃなくて
お前が馬鹿で使いこなしてないだけだから、
オブジェクト指向の基本理念は大方失敗とかほざいてんじゃねーよ。
ああ、Oreillyの初心者向けの本の序盤に書いてあるレベルだけど、
理解出来ないの?
flyをそのまま実装するとか拡張性が低い実装してんね。
飛べない鳥を具象クラスに追加したりとか
飛べる鳥が骨折して飛べなくなった場合とか対応出来ないだろ。
Strategyってアルゴリズム部分を明確に定義してカプセル化し、
変更や交換がクライアントと独立して行う事が出来るデザパタだけど分からないかな?
bridgeの意味も全然違うし、interfaceから無造作に分類していくと、
実装クラスの数がキリがないから特徴を分離して実装クラスの数を抑えるデザパタだろうが。
てかこの程度のGoFの簡単なデザパタで複雑とかねーわ。
ドメイン駆動設計とか理解出来なさそうだし、
複雑な業務をシステムに落とし込むことは出来なさそうだな。
オブジェクト指向が駄目なんじゃなくて
お前が馬鹿で使いこなしてないだけだから、
オブジェクト指向の基本理念は大方失敗とかほざいてんじゃねーよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「こども2万円給付」は“ずるい”?「子持ちだけ優遇されてる」「来年から独身税もあるのに」…子育て世帯への支援は“不公平”なのか★2 [♪♪♪★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★5 [nita★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★6 [nita★]
- 「PC買うなら急げ」は本当だった。マウスが一部販売停止&1月値上げを発表 [♪♪♪★]
- 【速報】 ロシア潜水艦が攻撃されて巨大水柱 [お断り★]
- 「ここぞとばかりにBreakingDownを叩いてる奴らが気持ち悪くてしょうがない」元王者が騒ぐ世論に苦言 [王子★]
- レッドバロン、輸出規制中のロシアにバイクを輸出していた。経産省から警告を受ける [663766621]
- 【高市悲報】2日前通告デマ流した国光「立憲小西の質問のせいで女性官僚が辞めた」とまたデマを流し撤回、謝罪😰 [359965264]
- 【画像】これ高すぎね?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 【高市速報】ヤフコメアンケート「上野動物園にパンダは必要?」パンダはいらないが脅威の90%😳 [931948549]
- 黒沢年雄「パンダ返還で騒ぐべからず。パンダ不在を常と思えば不足なし」 [309323212]
- 3時のおやつ🧁はふなふなキャンディー🍬🏡
