How do you imagine a building? You consciously create each aspect, puzzling over it in stages. Inception 型なし言語に馴染みはあるものの型付言語をいざ使ってみたらどういう気持ちで書いたらいいのかわからなかったと同僚から相談があり, それをきっかけにして社内の勉強会で以下の話をしました. よく型なし vs. 型付の文脈では「型を書くのは面倒だ」「安全の方が大事だ」「でも面倒だ」「それは型推論を前提にしていないからだ」などの議論になりがちな気がしますが、これはあくまで「計算ありきの型」を考えているからで, 「型ありきの計算」だと全く見え方が違います. 「型はある種の仕様」とおもえば, 型ファーストであることと, 型なし言語でテスト駆動開発(TDD)するときに最初にテストを書くこととは, 同じ
前回に引き続き、はじめてのPHPプログラミング 基本編5.3対応のゆるいところの最終回はセキュリティの話題ではなく、データベースの列の型についてだ。 本書のP215には、SQLiteを使って住所録のテーブルを作ろうとあるのだが、テーブルの形式は以下のようになっている。 カラム名 意味 データ型 主キー NOT NULL 備考 id 通し番号 INTEGER ○ ○ 自動的に通し番号が割り振られる name 氏名 TEXT - ○ zip 郵便番号 INTEGER(7) - - ハイフン(-)を除いた7桁の整数 address 住所 TEXT - - create_at 登録日時 DATETIME - ○ 郵便番号の型がINTEGER(7)になっているのを見て、私は目をむいた。 一般的に、郵便番号はVARCHAR(7)かVARCHAR(8)にする場合が多いと思う。もっと一般的に、「××番号」
Sphinx makes it easy to create intelligent and beautiful documentation. Here are some of Sphinx’s major features: Output formats: HTML (including Windows HTML Help), LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, plain text Extensive cross-references: semantic markup and automatic links for functions, classes, citations, glossary terms and similar pieces of information Hierarchic
Type hinting in PyCharmPyCharm provides various means to assist inspecting and checking the types of the objects in your script. PyCharm supports type hinting in function annotations and type comments using the typing module and the format defined by PEP 484. Adding type hintsAlthough PyCharm supports all methods for adding types supported in PEP 484, using type hints through intention actions is
* NaN でなく PHP_INT_MIN から PHP_INT_MAX までの範囲内の値に限る ** 数値形の文字列のみ。数値形の文字列に他の文字が続く場合も使えるが、 Notice が出る *** __toString メソッドを持つもののみ 弱い型検査モードで行われる暗黙の型変換は、PHP が従来他の構文(算術演算子や条件式、組み込み関数の呼び出しなど)で行ってきたのと同等のものです。 厳密モード 一方、厳密な型検査のモードを使う場合は、関数は宣言されたのと正確に一致する型のみを受け付けるようになります(int → float の拡大変換をのぞく)。 ファイルの先頭に declare(strict_types=1); と書くことで、そのファイル内での関数呼び出しの際に厳密モードでの型検査が行われるようになります*1。 以下のように使います。 <?php declare(strict_
「PyYAML」(ライブラリとしてimportするときは「yaml」)は、YAML形式のデータを扱うためのライブラリです。 YAMLはXMLやJSONと比べるとシンプルなので自分の手でparseするのでもさほど大変ではないかとは思いますが、やはり、ライブラリを使うのが早くて確実かと思います。 PyYAMLには大きく2つの機能――読み込みと書き込みとがあります。以下、順に見ていきます。 YAMLデータの読み込み import yaml FILEIN_DICT = "sample_dict.yaml" f = open(FILEIN_DICT, 'r') data = yaml.load(f) # 読み込む f.close() YAML形式のデータを読み込むには、yaml.load()を使います。引数には、読み込みモードで開いたファイルオブジェクトを渡します。 以下、「sample_dict.
[追記] この記事は2014年、私が文系大学生の頃、手探りでプログラミングを独学し始めた頃の記事です。温かい気持ちで見ていただけたら幸いです。 ーー !! おことわり !! このブログには、いわゆる「技術記事」は一切ありません!!!(書きたくても書けない) ただの「勉強記録ノート」です!!! プログラミング初学者の勉強記録ノートです!「日記」です!! 生暖かい目で見ていただけたらさいわいですヽ(;▽;)ノ Index “型のありがたみ”を覗く “型付けの弱い世界”を知る 動的型付けと静的型付け 型付けによる比較 “型付け”と”型変換” 強い型付けと弱い型付け まとめ 追記 (あとで読むリストなど) Introduction よくTwitterのタイムラインで「型安全」という言葉を見ます。 でも、その意味を私は全く分かっていませんでした…そもそも「型安全」という言葉は 「安全な型」を指す(だ
In computing, ATS (Applied Type System) is a programming language designed to unify programming with formal specification. ATS has support for combining theorem proving with practical programming through the use of advanced type systems.[2] A past version of The Computer Language Benchmarks Game has demonstrated that the performance of ATS is comparable to that of the C and C++ programming languag
This document contains definitions and proofs about natural numbers, functions, and theorems in Coq. It defines natural numbers as inductive types, defines addition as a recursive function, and proves theorems like 1+1=2. It also contains definitions for monads and proofs about monad bind being associative in Coq.Read less
およそ20年前にAlan Kay の講演をきいたことがある。印象に残ったのは、彼が引き合いに出した McLuhan の言葉だ。 I don't know who discovered water, but it wasn't a fish. (拙訳)誰が水を発見したかは知らないが、発見者が魚でなかったことは確かだ。 誰しも信念という水の中を泳ぐ魚のような存在だ。思い切って飛び跳ね空気に触れてみなれば、自分が信念という水の中にいることに気付かない。 ある手法の利点を語るには、その手法の欠点や、他の手法の利点や欠点とできるだけ客観的に比較しなければ説得力がない。ただ、これを実践するのは難しい。この記事では、客観的になれているか自問自答しながら、動的型付き言語と静的型付き言語について比較してみようと思う。 僕は静的な C 言語から、動的な Perl、Lisp、JavaScript を経て、現在で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く