トップページ⇒tech
1001コメント315KB

【Perl,Python,PHP】LL バトルロワイヤル 23【JS,Ruby】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/06/21(木) 10:27:21.54
前スレ
http://toro.2ch.net/test/read.cgi/tech/1336491087/

あなたがそうだと思うものがライトウェイトランゲージです。
ただし、他人の同意を得られるとは限りません。
0153デフォルトの名無しさん2012/06/23(土) 23:02:16.66
>>148
べつにC#が優れてるとかって話じゃなくて、
Objective-Cが優れてるからiPhoneが成功したんじゃなくて
iPhoneが成功したからObjective-Cが流行ってるって言いたいだけなんだが、、、

因果関係取り違えてると思うよ。
0154デフォルトの名無しさん2012/06/23(土) 23:03:09.93
>>146
え、C#は動的型付け言語なの?それは初耳だ

>>139で書いたのは、MSは静的型付けであるC++に動的なコンポーネント結合を提供する
COMという戦略的なメカニズムを所有していた
しかし、そのC++(COM)を全面的に破棄せざるをえなかった
その結果、C#(.Net)への移行時期と重なったVistaがコケタという話
それに対して、最初から動的型付けであるObj-Cを採用したOSXは順調に開発が継続された

COMから.Netという戦略的な移行にリスクが伴う事は、MSだって分かっていたはず
それでも、リスクを承知で移行せざるを得なかったのは静的言語(C++)の限界だと言える

0155uy2012/06/23(土) 23:10:38.76
RubyやPythonは使わないと良さはわからない
C++やC#やJAVAでもスクレイピングは出来る、
けど、そんな効率の悪い事をやってる奴が少ないから情報のヒット数が少ないw
それは「出来る」ってだけ、やりやすくないから誰もやらない

ちょっとRubyやらPytohnで情報を調べたら一瞬で拾える情報も
C#、JAVA用に作ろうとすると情報を調べるために半日くらいかかるか、
あるいは自力で作れないとかいう自体に陥る

「C#でも出来るできる!」
できるのは当たり前、何秒で実装できますか?検索した時の情報ヒット数はどのくらいですか?
ってそれが重要なわけで

動的言語を全く使わない奴等ってこの手のプログラムを全く作れないか、
あるいはC#やJAVAで何日も何日も何週間もかけて実装するんだろうなぁと思う

Webサービスの自動ログインとかよく作りたくなると思うけど、静的言語厨はどんな風に作ってるんですか?
0156LLどこいった2012/06/23(土) 23:11:28.32
>>152
ボトルネックが動的型決定なところに依存しているからどの動的型決定の言語使っても性能は出ないぜ?
やったな、安心して他の言語できるな!

まあそもそも動的型決定言語に実行効率を求めるのが悪いと思うんすよ

>>154
>>そのC++(COM)を全面的に破棄せざるをえなかった
>>リスクを承知で移行せざるを得なかったのは静的言語(C++)の限界だと言える
この辺がわからん.何が静的リスクで,なぜ.Netならそれが解決できるのか.
ObjCもC++,C#もLLも書く身として気になるわ.
デバイス周り書く上で,未だにCOM以上の開発効率叩き出せる設計を見たことがない.
もちろん脆弱性もあるけどな.

>>146
.Net4.0あたりから動的型決定に対応してるはず.
あとCOMはC#からも利用できる.IUnknownが使えないから不便だけどな.
0157デフォルトの名無しさん2012/06/23(土) 23:15:45.36
>>151
知らないようだから、教えてあげよう
OSXの前身はNEXTSTEPだよ
その後、NEXTSTEPとAPIレベルの互換性を持つOpenStepという公開仕様が策定された
このOpenStep仕様をベースに
 「アップルとは無関係で独立した組織であるGNUによって開発されたのがGNUstep」
だよ

だからMonoだけを認めてGNUstepが採用されていないのは不公平ではないのかな?

あと、マイナーだけれど、GNUstepベース(もちろん言語Obj-C)の
PDA向けプラットフォームとして QuantumSTEP というプロジェクトがあり、
たとえば SHARP Zaurus 上で動く(iOSの登場で開発はほぼ凍結状態だけどね)
 http://www.quantum-step.com/
0158デフォルトの名無しさん2012/06/23(土) 23:19:22.78
>155
C#はまだしも、Javaのほうが情報量も実績も圧倒的だぞ?文献の数も桁が2つぐらい違う。
あとオブジェクト指向ならフレームワーク継承して書き換えて終わりだし、どの言語でも実装の手間なんて変わらんと思うな。

あと議論が発熱?してるみたいだが俺は静的型決定も動的型決定も正直どっちでもいいだろ
開発効率を重視するなら動的言語使っておけばいいだろうし
実行効率を重視するなら静的型決定の言語を使っておけばいいだろ。

ただいくら進化しても動的型決定の言語が静的型決定の言語まで実行効率は上がらないと思うし、
静的型決定の言語が動的型決定の言語までの書きやすさを得ることは永久にないとは思うな
01591572012/06/23(土) 23:20:06.63
訂正
X: だからMonoだけを認めてGNUstepが採用されていないのは不公平ではないのかな?
O: だからMonoだけを認めてGNUstepを認めようとしないのは不公平ではないのかな?
0160デフォルトの名無しさん2012/06/23(土) 23:24:43.75
>>157
結局、Objective-CはAppleのプラットフォーム以外じゃ
流行ってないんでしょ?

Monoはどのくらい使われてるのか知らないけど。

>>158
俺も静的型でも動的型でも正直どっちでもいいと思う。
01611512012/06/23(土) 23:25:14.67
>>157
ほー、詳しくは知らんかったな。

ただどのみちNEXTSTEPリスペクトの事例だと採用しても当たり前でしかないから、
(特にObjCでOSの機能を利用するNEXTSTEPとかだと)実績として数えるのはフェアじゃないだろ?
NEXTSTEPリスペクトでなく,Objective-C単体リスペクトの採用実績とかないのか?
言語設計を評価するならそういう比較じゃないとだめだろ
0162uy2012/06/23(土) 23:26:22.84
>>158
良いから早くスクレイピング
ちょっとググって見たところぜんっぜんC#やJAVAでやってる奴いないようだけど
それでもあなたはC#やJAVAでかけますか?

IRC-BotとかTwitter-Botとか、静的言語で作ってる奴と動的言語で作ってる奴との
数の違いを知ったほうが良い
それがそのまま情報検索のヒット数 → 開発効率につながるのだから
0163デフォルトの名無しさん2012/06/23(土) 23:29:27.49
Excel版の2ch専用ブラウザもある
0164uy2012/06/23(土) 23:30:07.09
社畜開発しかやらないならいいのかもしれないけど
RubyかPerlかPythonのどれも毛嫌いしてやったことない奴って、
現代において相当作れるプログラムの範囲が狭いぞ

見下さずにはいられない
0165デフォルトの名無しさん2012/06/23(土) 23:33:11.68
>>128
Objective-Cの近未来については、まだウワサのレベルだけど、
AppleはObjective-CからCを除いた新しい処理系を開発しているという予測がある
つまり、静的(C)と動的(ST)のハイブリッド形態から、動的型付け言語への完全移行だ
Smalltaikとの違いは(バイトコードではなく)LLVMという低レベルVMの採用と、
既存のCocoa環境との完全な統合化(透過性)にある
もしOSへの低レベルアクセスが必要であれば、C/C++ライブラリを動的リンクすることになる

これはまさに、>>128の描く「LLが主役として取って代わる時代」という未来像ではないのかな?

この話題については、新Mac板に翻訳スレ(#666あたり)に解説があるので、
Objective-Cに興味があるヤシは一読を勧める
0166デフォルトの名無しさん2012/06/23(土) 23:33:25.27
>>104
VBSとVBAは別物だよ
構文はだいたいあってる
0167デフォルトの名無しさん2012/06/23(土) 23:37:56.44
WSHだろ
0168デフォルトの名無しさん2012/06/23(土) 23:38:32.03
>>164
Martin Fowler's Bliki in Japanese - オブジェクト指向を学ぶにはどの言語がよい?
 http://capsctrl.que.jp/kdmsnr/wiki/bliki/?LanguageForLearningObjects

>Java、C#、C++はいずれも、オブジェクト指向プログラミングのある形を
>提示してくれていますが、誰かにオブジェクト指向を紹介するならば、
>選択肢も紹介してあげるといいでしょう。

>選択肢とは、RubyとPythonのことです。両言語とも、動的型言語です。
>静的型言語と一緒に使えるようになってれば便利だと思います。
>どちらも大変便利な言語です。ちょっとしたスクリプトで自動化して解決するような
>仕事はたくさんあります。技術者たるもの、1つくらいはスクリプト言語を
>隠し持っているべきですね。
0169デフォルトの名無しさん2012/06/23(土) 23:40:14.68
恥ずかしいから隠し持つ
0170デフォルトの名無しさん2012/06/23(土) 23:42:01.58
Objective-CはLLって言えるのかねぇ?
そうするとこのスレの言語は全滅だな。
0171デフォルトの名無しさん2012/06/23(土) 23:42:17.00
>>169
そういふ態度を「卑屈」という
0172uy2012/06/23(土) 23:43:16.85
俺はゴミカスだがエリートゴミカスだ
お前らのような下級ゴミカスとは格が違う
0173デフォルトの名無しさん2012/06/23(土) 23:56:45.30
>>170
>>165だけど、Objective-Cは「動的要素のある静的型付け言語」であり、LLではないと思う
>>165の話はあくまでウワサレベルの近未来予測なんで、真に受けないほうがいい
この>>165の話題に現状で最も近いのが F-Script という言語(これはLLだと思う)
ただし、これはサードパーティによる開発で実行形態はインタプリタのみ

ダイナミックObjective-C (48) F-Script - CocoaとObjective-Cのスクリプティング環境
 http://news.mynavi.jp/column/objc/048/index.html

これが開発元がAppleかつ、LLVMコードを生成するコンパイラもサポートかつ、
IDE(XCode)との完全統合...etc というのが>>165で紹介したウワサの次世代言語になる
0174デフォルトの名無しさん2012/06/24(日) 00:04:55.78
>>149
じゃあ言い換えようか?C#はMicrosoftのWPFがないとまともなGUIアプリも作れない糞言語
だから他のプラットフォームへの利用は実質不可
0175デフォルトの名無しさん2012/06/24(日) 00:17:54.77
>>174
別に特段そうは見えない
ttp://xamarin.com/apps
0176デフォルトの名無しさん2012/06/24(日) 01:16:05.11
しまった。静的言語を引き合いに出してLL叩いて遊んでたつもりが、
知らない間にObjective-C厨を召還してしまっていたようだ。

MSがC++を捨ててC#に移行したのは、
Javaの真似してGC付きのVMに移行したかったからで、
動的型づけとか関係ありませんし、ましてObjective-Cに対抗したわけもなく。
頭悪いね。
0177デフォルトの名無しさん2012/06/24(日) 01:19:55.24
あとそれから、静的言語のメリットが速度だと思ってる人が居るみたいだが、
実はコンパイラによる型チェックの恩恵の方が大きい。
それが嫌で、実行時に型を解決して欲しいなら、前にも言ったように、
辞書使って実行時にシンボル検索しても良いし。そういう自由度がある。
0178デフォルトの名無しさん2012/06/24(日) 03:28:09.88
辞書とか繰り返してるアホはマジで言ってるの?
JavaやC#で辞書使って動的言語の真似したって
冗長なコードが短くなったりはしないんだよ?
0179デフォルトの名無しさん2012/06/24(日) 03:31:48.22
それは静的言語の文法下で、該当箇所が動的であることを示すために必要なコストだから、
静的言語的には冗長ではないんだよ。
0180デフォルトの名無しさん2012/06/24(日) 03:40:32.97
静的言語は機能豊富だからね。
どの機能を使うのかコンパイラに示してあげる必要があるのは仕方ない。
それを冗長といわれても。
どんどん機能を削っていけば、記述も文法も簡単になるけど、行き着く先は・・・
0181デフォルトの名無しさん2012/06/24(日) 03:45:32.23
テンプレートでいいじゃん。
0182デフォルトの名無しさん2012/06/24(日) 03:48:28.56
PowershellはいいLLだと思う。
0183デフォルトの名無しさん2012/06/24(日) 03:52:42.16
これは継承したクラスのメソッドを全てメモ化するMemorizeクラス(と使用例)。
こういうのが簡単に書けるのが動的言語の魅力なので、そうじゃないなら代替にならない。


class Memorize(object):
    def __init__(self):
        for funname in (x for x in dir(self) if not x.startswith('_')):
            def _(f=getattr(self, funname)):
                memo = {}
                def __(*args):
                    if args not in memo:
                        memo[args] = f(*args)
                    return memo[args]
                return __
            setattr(self, funname, _())

class Fib(Memorize):
    def fib(self, n):
        return n if n < 2 else self.fib(n-1) + self.fib(n-2)

x = Fib()
print(x.fib(100))
0184デフォルトの名無しさん2012/06/24(日) 04:13:13.49
辞書の中を列挙してメモ処理をはさむだけでしょ。
何の問題もない。Pythonのランタイムがやってることだ。
0185デフォルトの名無しさん2012/06/24(日) 04:30:36.37
JavaやC#は言語仕様以前の問題として
プログラマの質が絶望的に低いから
彼らに同様のコードを書くのは無理だと思う

でもそれは彼らが絶望的に低能だからであって
言語の責任じゃない
0186uy2012/06/24(日) 04:43:20.55
社畜言語であるJAVA,C#をメインにしてる奴って
IDEでしかプログラム組まないイメージがある
社畜言語で社畜アプリケーションしか社畜開発しないのであれば、
それでさらに、社内で誰も動的言語使っていないとかならば
まぁ動的言語いらないよね

自動化するのが嫌いで手作業が好きなら、別にそれも良いと思うよ
0187デフォルトの名無しさん2012/06/24(日) 05:11:23.81
REXXもいいよね〜
0188デフォルトの名無しさん2012/06/24(日) 05:37:00.08
辞書云々言ってるアホが書ける最長のコード = >>96
0189uy2012/06/24(日) 08:40:34.57
俺はゴミカスだがエリートゴミカスだ
お前らのような下級ゴミカスとは格が違う
0190デフォルトの名無しさん2012/06/24(日) 11:57:12.85
Java, C#プログラマってスクレイピングも>>183も
なーんも書けないんだな。
一体何だったら書けるワケ?FizzBuzz?Hello World?
0191uy2012/06/24(日) 12:35:27.64
実はオセロのルールはよく知らない
挟んだ駒を取ることができて
その取った駒を好きな場所に打てるんだったか?
面白そうなボードゲームだな
0192デフォルトの名無しさん2012/06/24(日) 12:56:15.00
静的言語厨には最後の言い訳が存在する「仕事じゃ使わない」

しかしそれも論破できる
仕事で使う日が来ないと技術つけねーのかよ
0193デフォルトの名無しさん2012/06/24(日) 13:31:31.18
仕事じゃ使えないの間違いでは?
特に大規模開発。
コンパイラに型チェックがないから同等のことを人間がする羽目に。
テスト工数増大。
0194デフォルトの名無しさん2012/06/24(日) 13:36:48.95
しかも技術とか言っちゃってるけど、
静的言語のほうがはるかに技術的に奥深い。
静的言語は機能豊富だからな。
プログラミング言語なんだから動的なことが出来るのは当たり前。
静的な解釈の方が余程高度。
プログラムを実行せずにバグを取ろうって言うんだから。
0195デフォルトの名無しさん2012/06/24(日) 13:40:54.16
>>183
そういうふうな動的言語の実行時のメモ化で
静的言語よりパフォーマンスが出せればいいけどね。

なんでもメモ化するとメモリすぐに食いつぶすし、、、

あまり意味が無いな。
0196デフォルトの名無しさん2012/06/24(日) 13:45:10.72
そもそも継承でメモ化って時点で神経疑うわけだが。
func = memo( lamda( ・・・
これは擬似言語だが、普通はこんな風に実装するわなぁ。
0197デフォルトの名無しさん2012/06/24(日) 13:46:00.45
あ、lambdaのスペルがおかしいね。
0198デフォルトの名無しさん2012/06/24(日) 13:52:00.60
まあ、動的言語のコードは成果物というより、むしろ
これと同じものをもっと効率良く作れ
という要求を突きつけているようなものなんだろうな
0199uy2012/06/24(日) 13:52:42.68
静的言語はただの設定ファイルにすぎない
それ以上でもそれ以下でもない
0200デフォルトの名無しさん2012/06/24(日) 13:54:04.83
それ動的言語じゃね?
0201デフォルトの名無しさん2012/06/24(日) 13:54:44.89
>>174
言語処理系の欠陥を周辺ライブラリに置き換えないでもらえますか^^;
ObjC厨ってもしかしてObjCだけでGUI作れるとか思ってるの?^^;
それはかわいそうに、マジですまんかったな^^;
0202デフォルトの名無しさん2012/06/24(日) 14:14:25.16
ObjC本体にはそもそも参照カウンタもGCがない.Appleの提供するFoundation.frameworkが勝手にGCしてくれるだけ.
だからApple信者で量産されている世の中のObjCのプログラマーはインスタンスのメモリ解放をしないし,
他のプラットフォームでObjCのプログラミンスさせると必ずメモリリークさせる.

ObjCにGCがあると思い込ませているAppleの罪は大きい.
「そもそもObjC使うのがAppleだけだから別にいい」という意見は傲慢も甚だしい.

一方でpythonやJSはどの処理系も安定してて良いな.やっぱり中途半端な言語とか駄目だ.
0203uy ◆pdu1UZmweE 2012/06/24(日) 14:41:06.43
URL
http://www.amazon.co.jp/gp/product/4799202170

プレビュー画面
http://www.amazon.co.jp/gp/product/images/4799202170/ref=dp_image_z_0?ie=UTF8&n=465392&s=books

amazonは大きい画像がそのままでは保存できないようになってるんだけど
これを大きい画像で保存できるようにさせるコードを書いてください
特に静的言語厨にやって欲しい
俺は今rubyで書いてる
0204デフォルトの名無しさん2012/06/24(日) 14:46:21.89
あーそんなことしても意味ないよ。
void func( int i ){}
この関数はintに変換できない型の引数を渡したら
コンパイル時エラーになるんだけど、
同じ事を動的言語で実装してくれ。
ちゃんとコンパイル時にエラーになるようにしてくれよ。
0205uy ◆pdu1UZmweE 2012/06/24(日) 15:19:14.44
出来た?
0206デフォルトの名無しさん2012/06/24(日) 15:58:37.12
amazoomdynapi-amazoomdynapi-1803._V1_.js
を読めばふつーにHTMLで取れそうな気がせんでもないが。
0207デフォルトの名無しさん2012/06/24(日) 15:59:24.20
あ、なんかスレ伸びてると思ったら性的言語厨かよw
スレタイも読めずに迷い込んじゃったのかな
というか、両方使ったことあるやつなら、プログラミング感覚が明らかに違うことくらい分かるだろ
それでLLが楽だから使ってるわけで、性的言語が良いならそれ使えばいいだけじゃね。実際どちらも使い分けてる奴多いだろ
なんか、片方のやり方がもう片方に通用しないから発狂ってさあ
0208uy ◆pdu1UZmweE 2012/06/24(日) 16:04:41.12
>>206
どう?それで出来た?
0209デフォルトの名無しさん2012/06/24(日) 16:09:16.68
おい磯野、そんなことよりLLの話しようぜ!

型決定で盛り上がってるみたいだが、LLで静的な型決定をする言語がないってのが答えじゃないか?
「LLみたいな用途なら容易さを目標に動的で良い。ランタイムの上にあるから実現も容易。」

しかし言っておいて何だが、本当に静的なLLってないんかね?
Lua系のAngelScriptとかを含めるなら、あれは確か静的型決定だったと思うが・・・
0210デフォルトの名無しさん2012/06/24(日) 16:09:17.41
さぁ?俺にはこんなもんいらんからやめた。
0211デフォルトの名無しさん2012/06/24(日) 16:28:55.16
>>203
http://z2-ec2.images-amazon.com/R/1/a=4799202170+d=_SCR(3,0,0).jpg
SCR(3,0,0) の数字を変更しながらダウンロード。
画像を1つに合成すればできるはず。
画像を合成するのが手間になると思う。
0212デフォルトの名無しさん2012/06/24(日) 16:39:50.29
>>209
>しかし言っておいて何だが、本当に静的なLLってないんかね?

たとえば "ruby 型推論" または "ruby type inference" でググルと、
Rubyへ(型推論を前提とした)静的型付けの導入について、
いくつかの研究成果を読む事ができる
ただし、どれもRubyの言語仕様を制限したサブセットが対象だけどね

将来の方向性としては、全く新たな静的型付けなLL登場の可能性は否定しないけど、
既存のLLに型推論を取り込む、あるいは既存のLLをベースにした派生言語
(たとえばRubyなら sRuby(Static Ruby))というのが現実的ではないかと思う
0213uy ◆pdu1UZmweE 2012/06/24(日) 16:46:34.64
静的言語厨だれかつくってないの?

俺はもう完成したけど、
0214デフォルトの名無しさん2012/06/24(日) 16:48:14.22
型推論して展開する=テンプレート/ジェネリクスだから、
C++C#Javaでメタプログラミングするのと何ら替わらないね。
それをLLと言うのなら、C++もC#もJavaも、みんなLLになっちゃうね。
LLの定義の話になっちゃうけど、
やっぱり、LL=動的型付け言語 でしょう。
0215デフォルトの名無しさん2012/06/24(日) 16:50:47.52
>>209,212
OCamlなどをLLとするならばある。
0216デフォルトの名無しさん2012/06/24(日) 16:54:42.92
>>214
>型推論して展開する=テンプレート/ジェネリクスだから、

は?
型推論を一から勉強し直したほうが、社会へ出てから恥をかかずにすむぜよw
0217uy ◆pdu1UZmweE 2012/06/24(日) 16:59:49.61
え。結局作らないの
0218デフォルトの名無しさん2012/06/24(日) 17:02:46.61
>>215
もともとMLは「対話的に実行可能な」定理処理系向け言語として開発された歴史があるから、
ML族(OCaml, SML, F#..etc)は、静的型付けな次世代LL候補として有力な気がする
02192112012/06/24(日) 17:03:17.60
>>217
ちょっと確認したいのだが、大きな画像というのは
http://z2-ec2.images-amazon.com/R/1/a=4799202170+d=_SCR(3,0,0).jpg
これのこと?

>>211
は問題の解釈を間違ってる?
02202112012/06/24(日) 17:05:28.41
>>219
で書いた、尋ねたかった大きな画像は
http://z2-ec2.images-amazon.com/R/1/a=4799202170+d=_SCR%280,0,0%29.jpg
こっちね。
0221デフォルトの名無しさん2012/06/24(日) 17:06:36.65
>>216
型推論はコンパイル時に静的に行うのだから、静的言語の機能ですよ。
0222uy ◆pdu1UZmweE 2012/06/24(日) 17:10:02.74
>>220
違うよ
>>219のバラバラになってる画像を全部ダウンロードして結合しろってことだよ
0223uy ◆pdu1UZmweE 2012/06/24(日) 17:12:13.44
はい
http://ideone.com/fJH9p

http://s1.gazo.cc/up/s1_27794.jpg

こんな感じですけど・・・
rubyだとおよそ2時間で作れましたね・・・

要点としては、通常のopen-uriなどによってページをダウンロードすると
noscriptと判断されてか、その直後のJavaScriptタグが取得できない
でも欲しい情報はそのタグ内にある、なのでMechanizeでagent_ailiasuで"Windows IE 7"に偽装
する事でそこのタグは取得できる

画像の結合のためにRmagic入れようとしたが1.9系のが見当たらない上にやはり上手くインストールできなかったので
ImageMagicをインストールして、コマンドラインがappendで画像の結合をしてる

あとは画像の分割が横3つである画像と 例→ http://www.amazon.co.jp/gp/product/images/4089081661/
横4つである画像などがあるので 例→ http://www.amazon.co.jp/gp/product/images/4799202170/
これらもまぁ何とか自力で判別して画像結合させている


以上


 静 的 言 語 厨 は さ っ さ と 作 れ よ カ ス 
0224デフォルトの名無しさん2012/06/24(日) 17:16:35.67
全く動的言語のメリットを生かすような題材になってないから。
0225デフォルトの名無しさん2012/06/24(日) 17:19:03.20
curl|sed|wgetで終わりじゃないのか?
Cで書くならcurl_easy_perform→regexp→curl_easy_perform
あえてCで書くからソケット使ってもよかったが、めんどかったんでcurl使ったわ

javaはもっとシンプルにできるだろうな。
LLは更にシンプルだろうが。
0226デフォルトの名無しさん2012/06/24(日) 17:22:30.51
>>221
もちろん、明示的な型宣言が無くても文脈から推定して型付けをするのが型推論なのだから、
(一般的には)型推論は静的型付け言語の機能だよ

ただし、>214の
  >型推論して展開する=テンプレート/ジェネリクスだから、
は明らかな(致命的な)間違いだから、
社会へ出てから恥をかかないよう今のうちに勉強しておくことを薦めるw

あと、JavaScriptのように、たとえ動的型付けなLLであっても
JITベースの処理系へ「部分的に型推論を導入」する事によって大幅な性能向上を達成した
成功例が既に存在していることを付け加えておく
02272252012/06/24(日) 17:22:37.25
題材としてよくわからんが
HelloWorldやFizzBuzzの他に、正規表現とか通信周りとか画像描画とか
そういう周辺の処理をいろんな言語で実装すると色々見えて面白いと思ったわ
0228uy ◆pdu1UZmweE 2012/06/24(日) 17:31:44.85
>>225
はやく
0229デフォルトの名無しさん2012/06/24(日) 17:38:08.25
おまえらがLL言語を使う理由を140字で書いてくれ
俺は「とくにない。なんとなく」(10字)だ
0230デフォルトの名無しさん2012/06/24(日) 17:38:42.81
死ね
0231デフォルトの名無しさん2012/06/24(日) 17:51:55.48
いや死ねとかないだろ
コンパイラ型メインのお仕事だから業務上必要なわけでもないんだが、
ただなんとなくでLLが好きなんだぜ?理由もなく愛せるとかすごくね?
0232デフォルトの名無しさん2012/06/24(日) 17:55:45.34
>>226
厳密には、
型推論して展開する ⊂ テンプレート/ジェネリクス
というべきだったね。
0233デフォルトの名無しさん2012/06/24(日) 17:56:36.65
>>231
それはお前の表現力が欠落してるだけ
0234デフォルトの名無しさん2012/06/24(日) 18:15:12.74
>>232
残念ながら、
  > 型推論して展開する ⊂ テンプレート/ジェネリクス
も間違いだよん

型推論とテンプレート/ジェネリクスはそれぞれ独立した概念だから、
両者の間に包含関係は存在しない
もし>>232(の包含関係)が正しいとすれば、型推論を実現したなら
テンプレート/ジェネリクスも(部分的にせよ)自動的に実現されるという論理が成立する
しかし現実には(当たり前の話だけど)両者は独立した概念だから、
型推論だけを実装してテンプレート/ジェネリクスを実装しない言語も設計できる

繰り返すけど、社会へ出てから恥をかかないよう今のうちに勉強しておくことを薦めるヨw
ちなみに古典的集合論/論理学は型推論を勉強する上では必須項目だから、
(理系学部初年度程度の)数学の勉強から着手したほうがいいかもしれないネ
0235デフォルトの名無しさん2012/06/24(日) 19:30:14.12
いや、これなんとかして一枚絵を取ってくる話じゃないのか?
分割絵をとってimagemagikで結合って、そりゃimagemagikが仕事してるだけだろ。
0236デフォルトの名無しさん2012/06/24(日) 19:40:06.93
つかなんでこんなの元のHTMLを読もうって話にならんの?
0237uy ◆pdu1UZmweE 2012/06/24(日) 19:51:20.12
まだ作れないのかよ
おっせーな
0238デフォルトの名無しさん2012/06/24(日) 19:53:54.64
スクレイピング と 画像連結が題材なんだろうけど
オリジナル画像っぽいURL見つけたので、挑戦する前にモチベーション消失

amazonってapi提供してなかったかなと検索してみて、
一番上のサイトに載ってたので所要時間5~10分程度。コードは書いてない。

http://ec2.images-amazon.com/images/P/4799202170.01._SCRM_.jpg

ちなみに、静的言語厨(?)ではないけど、スクリプトで手軽に出来ることでも、必要なら時間かけてCで書く事もあるよ。
パフォーマンスの他にも、バイナリ配布でランタイム・ライブラリのサイズがネックになる場合等。ツールの選択は適材適所。

>>227
同じ題材を複数の言語で書いてみる、みたいなサイトはいくつかある
pleac - Programming Language Examples Alike Cookbook とか

でも、言語の違いって、似たような系統の言語ばかりだと比べても対して面白くないので、
同じ題材を複数のアプローチで解いてみる 例えば "The Evolution of a Haskell Programmer" みたいな切り口の比較の方が面白いかも。



0239デフォルトの名無しさん2012/06/24(日) 20:02:33.63
>>182
3.0で追加されたMember Enumerationは普通に便利だから他の言語でも欲しい
ttp://blogs.msdn.com/b/powershell/archive/2012/06/14/new-v3-language-features.aspx
0240uy ◆pdu1UZmweE 2012/06/24(日) 20:03:56.52
オリジナル画像あったか
俺もモチベが下がった
0241デフォルトの名無しさん2012/06/24(日) 20:17:46.47
unkoyarou
オセロまだー?
0242uy2012/06/24(日) 20:38:53.78
ゴミかす
0243デフォルトの名無しさん2012/06/24(日) 20:47:21.95
オリジナルがなくてどーやってアレ作ってたと思うんだろ?
uyのその妙な想像力の無さが信じられないなぁ。
0244uy2012/06/24(日) 20:56:53.51
俺はゴミカスだがエリートゴミカスだ
お前らのような下級ゴミカスとは格が違う
0245uyはうんこ2012/06/24(日) 21:03:03.89
また、うんこが湧いてるのか〜。
とっととNGにすればいいのに。

>>243
うんこに知能を期待するのが間違い。
0246デフォルトの名無しさん2012/06/24(日) 21:11:16.10
題材のチョイスが下手糞

よっ!下手糞!
0247デフォルトの名無しさん2012/06/24(日) 21:11:38.59
>>234
だからわざわざ型推論して"展開"と書いたわけだが。
0248uy2012/06/24(日) 21:13:03.16
結局静的言語厨は逃げか

逃げやすい口実が出来て良かったな

次は絶対に逃げられない題材を用意したい
0249デフォルトの名無しさん2012/06/24(日) 21:15:06.63
いや、あれ見て分割画像繋ごうなんてふつー思いつかないだろ。
よほどあの絵が欲しかったのか。
ところで結合板とオリジナルってどれくらい違ったかな?
0250uy2012/06/24(日) 21:24:01.59
結合verは30kbだけサイズが小さい
つうか前から作ろうとしてたものを作り始めてついでにスレに投下しただけ
0251デフォルトの名無しさん2012/06/24(日) 21:46:19.44
ラムダ計算だけでオセロのコード組むのまだー?
0252uy2012/06/24(日) 21:49:45.85
まあ俺はゴミカスプログラムしか作れないんだからしょうがない

俺はエリートゴミカスだし
■ このスレッドは過去ログ倉庫に格納されています