Changes between Initial Version and Version 1 of StaticVsDynamic


Ignore:
Timestamp:
Dec 30, 2015, 6:28:28 AM (4 years ago)
Author:
schiptsov
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • StaticVsDynamic

    v1 v1  
     1Static vs. Dynamic Languages
     2
     3Let's close this subject once and for all.
     4
     5Packers always prefer to pile up more nonsense, be it more Java code over poor designed classes with wrong abstractions or mere irrelevant argumentation, instead of trying to reduce the issue to the first principles.
     6
     7There is the notion of ''Strong typing'' as opposed to ''Weak typing''. Strong typing is the must and it is good enough.
     8
     9Strong typing means that each piece of data has a type information associated with it and this type information is ''immutable'' - cannot be changed, while a value of one type could be ''explicitly'' coerced into a ''new'' value of other type. Immutability, as in Math, is a big idea.
     10
     11Type ''annotations'' should be optional, when either type-inference system failed or it is reasonable to add an annotation to clarify the code.
     12
     13Optional type annotations could be found in Common Lisp, Haskell, Erlang, Julia, to some extend in Standard ML, etc. as opposed to a mandatory type declarations in Java and other packer's languages.
     14
     15Moreover, a value could belong to ''this AND that'' type as it is in Common Lisp, instead of ''this OR that'' type.
     16 
     17
     18What is static typing then?
     19
     20Requirements of a programmer to explicitly specify a type for each variable as they proudly do in Java ?This is fucking packer's nonsense.
     21
     22
     23[Static vs. Dynamic Languages: A Literature Review http://danluu.com/empirical-pl/]