4 ms·
> it might not happen until weeks into production. It should never happen in production - there should be a test that proves this.
by F-0X 7y ago
> it might not happen until weeks into production.
It should never happen in production - there should be a test that proves this.
- em-bee 7y agowith declarative or static typing i don't need a test for this case.
- lispm 7y agoThat's where a dynamically typed language with optional typing gets handy, when a compiler supports it... In Common Lisp, the SBCL compiler would be such an example: * (defun foo () (let ((i 10) (s "20")) (concatenate 'string s i))) ; in: DEFUN FOO ; (CONCATENATE 'STRING S I) ; ; caught WARNING: ; Derived type of I is ; (VALUES (INTEGER 10 10) &OPTIONAL), ; conflicting with its asserted type ; SEQUENCE. ; See also: ; The SBCL Manual, Node "Handling of Types" ; ; compilation unit finished ; caught 1 WARNING condition FOO *
- willtim 7y agoTo quote Dijkstra, testing shows the presence, not the absence of bugs. If you want to actually prove the absence of these classes of bugs then you need a static type system.