タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

scalaとJavaと設計に関するclavierのブックマーク (2)

  • 変数(variable)と値(value) - ソフトウェア設計を考える

    はじめてScalaに触れたとき、変数宣言(var)と値宣言(val)を使い分ける言語仕様に、なるほどなあ、と思った。簡単に言えば、変数(var)は再代入できて、値(val)は再代入できない。 プログラミングのスタイルとして、var宣言は命令的なプログラミング、val宣言は宣言的なプログラミングになる。どちらのプログラミングスタイルで書いているかを、varとvalで明示できるわけだ。 Javaだと言語の基の仕組みはすべてが変数。final宣言をすることで再代入をコンパイルエラーにすることはできる。Javaは、C言語やC++などの命令的なプログラミングの系譜の言語なのですべて変数(variable)というのは、とうぜんの言語仕様だった。 命令的なスタイルから宣言的なスタイルに 命令的なプログラミングでは変数(variable)を使う。宣言的なプログラミングでは値(value)を使う。 再代入

    変数(variable)と値(value) - ソフトウェア設計を考える
  • クラスを作ることをサボらない - 絵描きエンジニアの日常

    JJUG CCC 2018 Fallのいくつかのセッションで型についての話があったので書きたくなった。 この話はJavaScalaみたいな静的型の世界の思想で、多分Rubyとかでは違う思想だとおもう。 Javaを書いてるときのおれきゅーの脳内 型を定義して取りうる値を狭めることで 間違った使い方ができないようにする ことを最初に考えてる。多分。防御的プログラミングってやつなのかな?しらんけど。 とにかくエラーはより早いタイミングで見つかるほうが良くて、実行時よりコンパイル時にわかるほうが便利だし、コンパイル時よりエディタ上でリアルタイムに分かるほうがもっと良い。 たとえば汎用的な型を使うとこんなミスがあり得る。 long id = 10; new User(id); new Item(id); 静的型なら多分こうかけるほうが間違えなくて嬉しい。 Id<User> id = Id.of(1

    クラスを作ることをサボらない - 絵描きエンジニアの日常
  • 1