2 ポイント 投稿者 GN⁺ 2024-09-24 | 1件のコメント | WhatsAppで共有
  • Javaプログラムを**プレーンデータ(plain data)**中心に構成し、よりシンプルで小さく、理解しやすい構造を作るための本
  • records、パターンマッチング、with expressions、sum/product types など最近のJava機能を扱うが、焦点は機能説明よりもプログラムを構成する考え方にある
  • representation is the essence of programming」を中心的なアイデアとし、ドメインデータをうまく表現すれば、システムの残りの設計は自然についてくると考える
  • Manningの Data-Oriented Programming in Java は現在early accessで提供されており、読者からのフィードバックを受け付けている
  • 10月9日まで割引コード mlkiehl を使うと50%割引を受けられる

データ中心でJavaプログラムを構成する

  • Data-Oriented Programming in Java は、Javaでの効果的な開発とは何かについての経験をまとめた本
  • プログラムを管理する核心をデータ中心の構造に置くことで、よりシンプルで小さく、理解しやすいコードにつながるというアプローチを扱う
  • Javaの最近の言語機能

    • records、パターンマッチング、with expressions、sum/product types がデータ指向プログラミングを支援する
    • ただし本書の焦点は、特定の機能やツールの使い方よりも、プログラムをどのように「家づくり」のように構成するかに置かれている

Early accessと割引情報

  • 本書は現在 early access として提供中で、フィードバックを受け付けている
  • Manningのページで確認できる: Data-Oriented Programming in Java
  • 10月9日までコード mlkiehl を使うと50%割引が適用される

1件のコメント

 
GN⁺ 2024-09-24
Hacker Newsのコメント
  • 技術書を書いた経験がある者として、祝意を表する

    • これが最初の本なら、これは愛情のこもった大仕事だと学んでいるはず
    • Clojureのおかげで「データ指向プログラミング」に触れた
    • Javaの最近の進化によって、これがより簡単になっている
    • 本に目を通すつもりで、成功を祈っている
  • 本を購入しようとしたがエラーが発生した

    • Javaの新しい言語機能がまだ「プレビュー」状態にある状況にどう対処したのか気になる
    • たとえば、String TemplatesはJDK 23で削除された
  • 本を購入して第1章を読んだ

    • 第1章はとても良かった
    • Record typesやswitch statementsなどの新機能によって、Javaプログラマーは型についてより頻繁に考えるようになるだろう
  • 技術編集者がBrian Goetzであることに触れ、関心を示す

  • 祝意を伝えつつ、RedditのJavaコミュニティに投稿することを勧める

  • 本を完成させたことを祝福し、第1章の分かりにくい文を指摘する

    • 「only cost was some time」と修正することを提案
    • 関数型アプローチを採用すれば最適なパターンを見つけられると考えている
    • データ属性は主に「リーフノード」として消費され、型はそれほど重要ではない
    • 進化的アーキテクチャを受け入れれば、最初からデータ定義を正確にする必要はない
    • 本でこれをどう適用したのか学ぶのを楽しみにしている
  • 初期の取り組みを始めたことを祝福し、ClojureとF#でデータ指向プログラミングを知っている

    • Javaでこれにどうアプローチしたのか気になり、電子書籍を購入した
    • 本の完成を願っている
  • 本を完成させたことを祝福し、過去に技術書を書いた経験を共有する

    • 昔のJava書籍が分厚かった時代を思い出す
    • 「Java -- the Good Parts」という薄い本に言及する
  • 祝意を伝えつつ、現代的なJava本を探している人のために自分が取り組んでいる本を紹介する

    • Flavourフレームワークを使ってJavaでシングルページアプリを作る方法を説明している
    • プラグインや拡張なしで99.9%純粋なJavaで書かれている
    • サンプルコード、関連するポッドキャストのエピソード、デモへのリンクを提供している