タグ

Mapと言語に関するslay-tのブックマーク (2)

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

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

    変数(variable)と値(value) - ソフトウェア設計を考える
  • プログラミング言語Crystal、初のメジャーリリースとなるバージョン1.0を公開

    Rubyに似た構文を使用し、変数の型やメソッド引数を指定する必要がなく、ネイティブコードへのコンパイルが可能なオープンソースのプログラミング言語・Crystalの開発チームは、最初のメジャーリリースとなる「Crystal 1.0」を3月22日(現地時間)にリリースした。 「Crystal 1.0」では言語の安定性が約束されており、少なくとも今後リリースされるバージョン1.xでは、下位互換性に念頭を置き、標準ライブラリの強化は行うものの、以前のバージョンで作成したコードは修正することなくコンパイルして利用できる。 おもな変更内容としては、文字列および文字リテラルがエスケープシーケンスでUnicodeサロゲートの半分を持つことができなくなったほか、std-libにおける非推奨とされていた定義のほとんどが削除され、マクロのgetterおよびpropertyに戻り値の型注釈が追加された。 そのほか

    プログラミング言語Crystal、初のメジャーリリースとなるバージョン1.0を公開
  • 1