2009ǯ08·î20Æü 18:00 [Edit]
ÍýÁۤθÀ¸ì? - ½ñɾ - Scala¥¹¥±¡¼¥é¥Ö¥ë¥×¥í¥°¥é¥ß¥ó¥°
¥¤¥ó¥×¥ì¥¹Àж¶Íͤè¤ê¸¥ËܸæÎé¡£

Scala¥¹¥±¡¼¥é¥Ö¥ë¥×¥í¥°¥é¥ß¥ó¥°
Martin Odersky Lex Spoon Bill Venners /
±©À¸ÅÄ±É°ì´Æ / Ä¹Èø¹â¹°Ìõ
[¸¶Ãø:Programming in Scala]
ÁÇÀ²¤é¤·¤¤¸À¸ì¤Î¡¢ÁÇÀ²¤é¤·¤¤ÆþÌçËÜ¡£
²¿¤¬ÁÇÀ²¤é¤·¤¤¤«¤È¤¤¤¦¤È¡¢¸À¸ì¤Î»×ÁÛ¤¬¡¢Æ¬¤Ç¤Ï¤Ê¤¯ÂΤdzФ¨¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¡£¤³¤ì¤Ê¤é¸À¸ì¥ª¥¿¥¯¤Ç¤Ê¤¯¤È¤â¡¢¤¤¤ä¸À¸ì¥ª¥¿¥¯¤Ç¤Ê¤¤Êý¤¬¡¢ÌµÌ¾´Ø¿ô¤äActor¤ÎÁÇÀ²¤é¤·¤µ¤¬¤è¤¯¤ï¤«¤ë¡£
¤½¤ì¤À¤±¤Ë¡¢·ë¹½»Äǰ¤Ç¤¢¤ë¡£
Scala¤¬¡¢Java¾å¤Î¸À¸ì¤Ç¤¢¤ë¤³¤È¤Ë¡£
Ëܽñ¡ÖScala¥¹¥±¡¼¥é¥Ö¥ë¥×¥í¥°¥é¥ß¥ó¥°¡×¤Î¸¶Âê¤Ï¡¢¡ÖProgramming in Scala: A Comprehensive Step-by-step Guide¡×¡£¤³¤Î Step-by-step ¤È¤¤¤¦¤È¤³¤í¤¬½ÅÍפǡ¢Scala¤È¤¤¤¦¸À¸ì¤Îµ¡Ç½¤ò¡¢¤É¤¦¤¤¤¦»þ¤Ë¤É¤¦»È¤¦¤«¤¬¥³¡¼¥É¤òÄɤ¦¤À¤±¤Ç¤ï¤«¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
Ìܼ¡ - Impress Japan: Scala¥¹¥±¡¼¥é¥Ö¥ë¥×¥í¥°¥é¥ß¥ó¥°¡Î¥³¥ó¥»¥×¥È¡õ¥³¡¼¥Ç¥£¥ó¥°¡Ï¤è¤ê
|
|
¤³¤¦¤¤¤¦¤Î¤â¤Ê¤ó¤À¤¬¡¢Scala¤Ï¡Ö¸½Ìò¥×¥í¥°¥é¥Þ¡¼¤Ë¤È¤Ã¤Æ¤ÎÍýÁÛ¸À¸ì¡×¤Ë¶á¤¤¡£¡Ö¸½Ìò¥×¥í¥°¥é¥Þ¡¼¤Ë¤È¤Ã¤Æ¤ÎÍýÁÛ¸À¸ì¡×¤È¤Ï°ìÂΤɤΤ褦¤Ê¤â¤Î¤À¤í¤¦¤«¡£¤³¤ó¤Ê´¶¤¸¤Ç¤Ï¤Ê¤¤¤«¡£
- ¥¤¥ó¥¿¥×¥ê¥¿¸À¸ì¤«¤Ä¥³¥ó¥Ñ¥¤¥é¸À¸ì
Scala¤Ç¤Ï
println("Hello, " + (if (args.length > 0) args(0) else "world"))¤È½ñ¤¤¤Æ
scala hello.scala¤È¼Â¹Ô¤¹¤ë¤³¤È¤â½ÐÍè¤ë¤·¡¢Java¤Î¤è¤¦¤Ëobject Hello { def main(args:Array[String]) = println("Hello, " + (if (args.length > 0) args(0) else "world")) }¤È½ñ¤¤¤Æ
scalac Hello.scala && scala Hello¤È¼Â¹Ô¤¹¤ë¤³¤È¤â½ÐÍè¤ë¡£ - ÀÅŪ¤Ç¤â¡Ö·¿¡×¶ì¤·¤¯¤Ê¤¤
·¿¿äÏÀ¤Ï¤¹¤Ð¤é¤·¤¤¡£
- ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤«¤Ä´Ø¿ô»Ø¸þ
Ëܽñ¤òÆÉ¤á¤Ð Scala ¤¬¤½¤ÎÁÐÊý¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ë¤¬¡¢¾å¤Î Hello, world! ¤Î¥µ¥ó¥×¥ë¤À¤±¸«¤Æ¤â¡¢
if¤¬Ãͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬¸«¤Æ¤È¤ì¤ë¡£ - ¡Ö¤³¤ì¤Þ¤Ç¤Î¸À¸ì¡×¤«¤é¤½¤ì¤Û¤É°ãÏ´¶¤Ê¤¯¤Ï¤¸¤á¤é¤ì¤ë¤³¤È
¼Â¤Ï»ä¤¬ Scala ¤ò¹¥É¾²Á¤¹¤ëºÇÂç¤ÎÍýͳ¤¬¡¢¤³¤ì¡£¡ÖAlgol¤Î»Ò¹¡×¸À¸ì¤ò½¬ÆÀ¤·¤Æ¤¤¤ë¿Í¤Ê¤é¡¢°ãÏ´¶¤Ê¤¯Ëܽñ¤ÎÎãÂê¤òÄɤäƹԤ±¤ë¡£Haskell ¤ä Lisp ¤À¤È¤³¤¦¤Ï¹Ô¤«¤Ê¤¤¡£
¤½¤ó¤Ê¤ï¤±¤Ç¡¢¸½Â¸¤Î¸À¸ì¤Ç¤ÏºÇ¤âÈþ¿Í¤Ê Scala ¤Ê¤Î¤À¤¬¡¢Scala ¤ÎºÇÂç¤ÎÆÃŤǤ¢¤ë¡ÖJava¾å¤Çư¤¯¡×¤È¤¤¤¦¤Î¤Ï¡¢ºÇÂç¤Î·çÅÀ¤Ç¤â¤¢¤ë¡£¡ÖJava¤ÎËÄÂç¤Ê»ñ»º¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¡×¤È¤¤¤¦¤Î¤Ï¡ÖJava¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤»ñ»º¤Ë¤Ï¥¢¥¯¥»¥¹¤·¤¬¤¿¤¤¡×¤È¤¤¤¦¤³¤È¤Ç¤¢¤ê¡¢¤½¤·¤Æ¤½¤¦¤¤¤Ã¤¿»ñ»º¤Ï¼Â¤Ï¾¯¤Ê¤¯¤Ê¤¤¡£ºÇ¤â¤½¤ì¤ò¶¯¤¯´¶¤¸¤ë¤Î¤Ï¡¢Scala¤ò¥¹¥¯¥ê¥×¥È¤È¤·¤Æ»È¤Ã¤¿¤È¤¤À¤í¤¦¡£
¤¿¤È¤¨¤Ð¡¢¾å¤Î Hello, World! ¤Î¥µ¥ó¥×¥ë¤Ï¡¢º£»þ¤Î¥Ñ¥½¥³¥ó¤Ç¤â¼Â¹Ô¤Ë°ìÉäòÍפ¹¤ë¡£Java VM¤òΩ¤Á¾å¤²¡¢Scala´Ä¶¤ò½é´ü²½¤¹¤ë¤Î¤Ë¤½¤ì¤À¤±¤«¤«¤ë¤Î¤À¡£Perl 6 (rakudo)¤è¤ê½Å¤¤¡ä¡ã¡£¥³¥ó¥Ñ¥¤¥ë¤·¤¿¾ì¹ç¤Ç¤â¡¢0.27Éᣥï¥ó¥é¥¤¥Ê¡¼¤ò½ñ¤¯¤Î¤Ë¤âºÇŬ¤Ê Scala ¤Ê¤Î¤Ë¡¢¤¤¤¶»È¤¦¤È¤Ê¤ë¤È¤³¤Î¡Ö¤è¤Ã¤³¤é¥»¥Ã¥¯¥¹¡×´¶¤¬¼ÙËâ¤ò¤¹¤ë¡£lleval¤Ç¤â¥µ¥Ý¡¼¥È¤·¤¿¤«¤Ã¤¿¤Î¤À¤¬¡¢µ¯Æ°¤¹¤ë¤À¤±¤Ç¥¿¥¤¥à¥¢¥¦¥È¤·¤Æ¤·¤Þ¤¦¤Î¤ÇÃÇǰ¤»¤¶¤ë¤òÆÀ¤Ê¤«¤Ã¤¿¡£
¤³¤ì¤Ï¤É¤Á¤é¤«¤È¤¤¤¦¤È¡¢Scala¤Ç¤Ï¤Ê¤¯JVM¤ÎÌäÂê¤Ç¤Ï¤¢¤ë¤Î¤À¤±¤É¡¢¤³¤Î¡Ö¤è¤Ã¤³¤é¥»¥Ã¥¯¥¹¡×¤¬¤Ê¤±¤ì¤ÐJava¤â¤â¤Ã¤ÈÉáµÚ¤·¤Æ¤¤¤¿¤Î¤Ç¤Ï¤Ê¤¤¤«¡£¥¢¥×¥ì¥Ã¥È¤ò½ñ¤¯¤¿¤á¤Î¸À¸ì¤È¤·¤Æ½Ðȯ¤·¤¿Java¤¬¡¢¥µ¡¼¥Ö¥ì¥Ã¥È¤ò½ñ¤¯¤¿¤á¤Î¸À¸ì¤Ëα¤Þ¤Ã¤Æ¤·¤Þ¤Ã¤¿°ìÈÖ¤ÎÍýͳ¤¬¤³¤ì¤À¡£Scala¤Ï¤½¤Î°ÕÌ£¤Ç¡¢Java¤ÎÉé¤ÎÉôʬ¤âÉé¤Ã¤Æ¤¤¤ë¡£
Native Scala ¤Ã¤ÆÃ¯¤«ºî¤é¤Ê¤¤¤Î¤«¤Ê¤¢....¤Þ¤Â¤Ç¡£
¤¤¤º¤ì¤Ë¤»¤è¡¢ Scala ¤Ï¿¶¤ê¸þ¤«¤º¤Ë¤¤¤ë¤Ë¤Ï¤¢¤Þ¤ê¤ËÈþ¿Í¤À¡£Java¤¬·ù¤¤¤Ê¿Í¤â(°Ê³°¤«¤âÃΤì¤Ê¤¤¤¬»ä¤ÏJava·ù¤¤¤Ç¤Ï¤Ê¤¤¡£¤»¤Ã¤«¤Á¤Ê¤À¤±¤Ê¤Î¤À)¡¢Scala ¤È¥Ç¡¼¥È¤¹¤ë¤¿¤á¤À¤±¤Ë Java ´Ä¶¤òÍѰդ·¤Æ¤â¤¤¤¤¡£¤½¤·¤Æ¤Ò¤¿¤¹¤é Scala ¤ò»È¤¦¤Î¤À¡£¤½¤·¤Æ Java ¤Ï Perl/Python/Ruby ¤Ë¤È¤Ã¤Æ¤â C ¤Î¤è¤¦¤Ë»È¤¦¤À¤±¤Ëα¤á¤ë¤Î¤À¡£¤½¤ì¤À¤±¤Ç¤«¤Ê¤ê¹¬¤»¤Ë¤Ê¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¡£
Dan the Lingaphilia
¤³¤Îµ»ö¤Ø¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯URL
¤È¤³¤í¤Ç¡¢Scala¼«¿È¤È¤¤¤¦¤è¤ê¤â¡¢Ëܽñ¤ÎÆâÍÆ¤Ï¤¤¤«¤¬¤Ç¤¹¤«¡©
Ƚ¤ê¤ä¤¹¤¤¤ó¤Ç¤·¤ç¤¦¤«¡£
²¼¥Í¥¿¤Û¤É¤Ç¤Ï¤Ê¤¤¤é¤·¤¤¤Ç¤¹¡£
Scala¤ËÊú¤«¤ì¤Æ¤´¤é¤ó¤È...
> ²¿¤¬ÁÇÀ²¤é¤·¤¤¤«¤È¤¤¤¦¤È¡¢¸À¸ì¤Î»×ÁÛ¤¬¡¢Æ¬¤Ç¤Ï¤Ê¤¯ÂΤdzФ¨¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¡£¤³¤ì¤Ê¤é¸À¸ì¥ª¥¿¥¯¤Ç¤Ê¤¯¤È¤â¡¢¤¤¤ä¸À¸ì¥ª¥¿¥¯¤Ç¤Ê¤¤Êý¤¬¡¢ÌµÌ¾´Ø¿ô¤äActor¤ÎÁÇÀ²¤é¤·¤µ¤¬¤è¤¯¤ï¤«¤ë¡£
¤¿¤Á¤¢¤¬¤ê¤ÎÃÙ¤µ¤Ç¤Ï¡¢Vista¤Î±¦¤Ë½Ð¤ëʪ¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£
SCSIµ¡´ï¤ò¸Â³¦¤Þ¤Ç·Ò¤²¤¿PC-98¤ò¤Ê¤á¤ó¤Ê¤è¡ª
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤Þ¤À100¥Ú¡¼¥¸¤¯¤é¤¤¤·¤«ÆÉ¤ó¤Ç¤Ê¤¤¤Ç¤¹¤¬¡¢¡ù£µ¤Ä¤ËÃͤ¹¤ëËܤÀ¤È»×¤¤¤Þ¤¹¤Í¡£
¤Ê¤ó¤ÇScala¤Ç¤Ï¤³¤ó¤Ê½ñ¤Êý¤ò¤¹¤ë¤ó¤À¤í¤¦¤È»×¤Ã¤Æ¤¤¤¿Éôʬ¤Ë¤³¤È¤´¤È¤¯Ç¼ÆÀ¤Î¤¤¤¯ÀâÌÀ¤¬½ñ¤¤¤Æ¤¢¤ê¤Þ¤·¤¿¡£
Àß·×¼Ô¼«¿È¤¬½ñ¤¤¤¿ËÜ¤ÏÆñ²ò¤È¤¤¤¦ÀèÆþ´Ñ¤¬¸Ä¿ÍŪ¤Ë¤Ï¤¢¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¤³¤ÎËܤÏÈó¾ï¤Ë¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤¹¡£
¸À¸ì¤Ï¿Í¸ý¤¬¤Ê¤¯¤Æ¤ÏÂÌÌÜ
ÌÜŪ¤´¤È¤Ë¡¢½¸²ñ¤·¤ÆÌÜŪ¤òãÀ®¤¹¤ë¤¿¤á¤ÎÀïά¤òÎý¤ë¤è¤¦¤Ê²ñÏäò¤·¤Ê¤¤¤È¡¢³µÇ°¤¬ÉáµÚ¤·¤Ê¤¤¡£
²ñÏäȳµÇ°¤ÎÉáµÚ¤ò¤µ¤»¤ë¤¿¤á¤Ë¡¢À䤨¤ºÌÜŪ¤òºî¤ê½Ð¤·¤Æ¤¯¤ì¤ë»Å³Ý¤±¤¬É¬Íפʤ󤸤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
¤È¤³¤í¤Ç
s/¤È¤Ã¤Æ¤â C ¤Î¤è¤¦¤Ë/¤È¤Ã¤Æ¤Î C ¤Î¤è¤¦¤Ë/
¤«¤Ê¡©