トップページpoverty
10コメント4KB

【嫌儲プログラミング部】PythonとRubyはオワコン、これからはHaskellとOcamlだぜ?

■ このスレッドは過去ログ倉庫に格納されています
0001番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 20:24:39.95ID:2SGlT5AF0?2BP(1000)

PPLサマースクール2012 - 関数型言語ベースの先進的Webフレームワーク
日本ソフトウェア科学会 (JSSST) プログラミング論研究会 (PPL) 主催
2012年 8月 21日(火) - 法政大学小金井キャンパス(東京)

・HaskellでWebアプリ作成 〜Webアプリケーションフレームワーク Yesod〜

概要: 関数型言語でのWebアプリケーション作成、と言うと想像が難しいと思う方もいらっしゃるかもしれません。
しかし実はHaskellでは手続き型言語と似た感覚でWebアプリケーションを手軽に作れます。
これを可能にするのがYesodという、Haskell製のWebアプリケーションフレームワークです。

他の有力なフレームワークと同様に、コマンド一回でアプリケーションの雛形が生成され、
作法にのっとってコードを書くことでWebアプリケーションを実装することになります。
加えてHaskellを使うメリットである堅牢性などを享受したプログラミングができます。
今回はYesodを紹介し、アプリ作成の実習を通し、関数型言語でのWebアプリ作成を実感していただきます。

ソース: 2012-08-10 PPL2012
http://ppl.jssst.or.jp/index.php?ss2012

- 以下はソースを参照してください -
0002番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 20:26:45.45ID:2SGlT5AF0
■ C
for( const char *s="12345"; *s; ++s ) if( '2'<*s&&*s<'5' ) printf( "%d", (*s-'0')*2 );
■Java
for (int x: new int[]{1,2,3,4,5}) if (2 < x && x < 5) System.out.print(x*2 + " ");
■ JavaScript
console.log([1,2,3,4,5].filter(function (i){ return i > 2 && i < 5 ; }).map(function(i){ return 2 * i; }));
■ Python
print(map(lambda x: x*2, filter(lambda x: x>2 and x<5, [1,2,3,4,5])))
■ Ruby
puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2}
■ C#
new{}{ 1,2,3,4,5 }.Where(x => 2 < x && x < 5).Select(x => x*2);
■ Common Lisp
(print (loop for x in '(1 2 3 4 5) if (< 2 x 5) collect (* x 2)))
■ Haskell
print [x*2| x <-[1,2,3,4,5], x > 2, x < 5]
■ Scala
println((1 to 5).filter(n => 2 < n & n < 5).map(n => n * 2))
0003番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 20:26:56.23ID:HweYzjJG0
毛色が違いすぎて全く関係ないでしょ
C言語とJavaScriptを比較するようなもん
0004番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 20:35:55.92ID:txfUcNkp0
>>3
YesodってRailsとかPHPとかnode.jsよりパフォーマンスいいみたい
0005番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 20:50:17.95ID:xyZrHGGl0
>>2
Scalaはこうだろタコ
println(List(1,2,3,4,5).filter(n => 2 < n & n < 5).map(n => n * 2))
0006番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 20:57:50.88ID:8Bd0A5TW0
どんな言語でもいいけど、結局実用のためにはライブラリの充実度合い。
特にUI。
0007番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 21:05:12.40ID:H5ggD19z0
お前の実用にとってはそうなんだろうが
0008番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 21:08:43.45ID:8Bd0A5TW0
>>7
お前の実用はどうなんだよ
0009番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 21:24:40.12ID:6hTNdMHY0
>>1
OcamlじゃなくてOCamlだろうが真面目にやれ
0010番組の途中ですがアフィサイトへの転載は禁止です2012/08/12(日) 21:32:22.09ID:m+zvHNRNP
Pythonはコードが書きやすいし読みやすいが
2系と3系に分断されてるせいで普及しずらい
■ このスレッドは過去ログ倉庫に格納されています