ARCHIVE  ENTRY  COMMENT  TRACKBACK  CATEGORY  RECOMMEND  LINK  PROFILE  OTHERS
<< September 2020 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
<< ログイン履歴を調べる | main | 第40回HTML5とか勉強会 >>
2016.02.05 Friday

スポンサーサイト

一定期間更新がないため広告を表示しています

2013.07.21 Sunday

奇跡のjava

日経コンピュータ2013/7/11号を読みました。

特集:奇跡のjava
関数型言語scalaと関数型を実装予定のjava8についての記事。
関数型によって、高生産、高品質が両立するとのこと。

・java vmで動作する。
・javaから呼べる。
・java開発者は1ヶ月程度で充分に理解できる。
・javaと比べて40-50%のコード削減ができる。
・プログラム規模が小さくなるので、保守コストも節約できる。
・大手IT企業で実績がある。
 - 三菱UFJインフォメーションテクノロジー
 - 野村総合研究所
 - 富士通
 - NTTデータ
・フレームワーク類も豊富。
 - webフレームワーク
 - o/rマッパー
 - IDE
 - ビルドツール
 - テスト用ライブラリ
 - ビッグデータ処理
・デメリット
 - 大手sierによるサポートが未整備
 - 新しいフレームワークによるリスク
 - ノウハウが未整備
 - 言語仕様の頻繁な改訂
 - バージョン間のバイナリ非互換性
 - コンパイル速度が遅い

・java8
2014.3リリース予定。
関数型を実装。

scalaは新しい技術であるが、javaとの親和性が非常に高く、かつ生産性が高い。
java8で関数型が実装されるということも、scalaへの注目が集まるのではないか。
開発言語としてシェアを増やしそう。

関連記事

最後に「EclipseでScalaプログラミングを始めるための基礎知識」から関数型の説明にあたる部分を引用します。
・java
public List filterNames(List<String> names, int len) {
        List<String> result = new ArrayList();
        for (String name : names) {
            if (name.length() >= len) {
                result.add(name.toUpperCase());
            }
        }
        return result;
    }

・scala
def filterNames(list: List[String], len: Int) = list.filter(_.length() >= len).map(_.toUpperCase)

リストからlen以上の長さを持つ要素を大文字に変換する処理。
手続き型と関数型ではこうも違うのか。
確かにscalaは短い。
2016.02.05 Friday

スポンサーサイト

コメント
コメントする








 
この記事のトラックバックURL
トラックバック
Powered by
30days Album
PR