【嫌儲プログラミング部】PythonとRubyはオワコン、これからはHaskellとOcamlだぜ?
■ このスレッドは過去ログ倉庫に格納されています
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
- 以下はソースを参照してください - ■ 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))
毛色が違いすぎて全く関係ないでしょ
C言語とJavaScriptを比較するようなもん
>>3
YesodってRailsとかPHPとかnode.jsよりパフォーマンスいいみたい >>2
Scalaはこうだろタコ
println(List(1,2,3,4,5).filter(n => 2 < n & n < 5).map(n => n * 2)) どんな言語でもいいけど、結局実用のためにはライブラリの充実度合い。
特にUI。
>>1
OcamlじゃなくてOCamlだろうが真面目にやれ Pythonはコードが書きやすいし読みやすいが
2系と3系に分断されてるせいで普及しずらい
■ このスレッドは過去ログ倉庫に格納されています