On Sun, May 13, 2012 at 10:48:13AM -0700, Michael G Schwern wrote: > > * Auto declare undeclared variables > * PHP, Ruby > * Typo protection out the window
* Perl (unless you enable 'use strict "vars"', and don't fully qualify your vars; no such protection possible on subs if you use parentheses, and no protection at all on method names) > * Terminate statement on newline > * Ruby, Javascript, Kurila * Python, shell > * Arrays are just hashes with numbered keys > * (Maybe not such a bad idea) That would be: * AWK > * Significant whitespace > * Python > * Oh god why Kurila > * YAML does it right > * So does Ruby * Perl6 * Perl (when using heuristics) > * Objects are just magic hashes > * Perl In practice, but not enforced by the language. * Objects are just magical references, with no build in support to keep state * Perl > * Lists count from 0 > * Everybody does it > * Everybody's wrong > * See also "let's just paste what C does" * Let's make where to count from a switch -- globally * Perl (till it got removed from the language) > * Let's compare case-insensitively by default > * Powershell, MySQL * But be not consistent about this default * MySQL > * A typed language with no way to define new types > * SQL > * No namespaces > * Lua, Javascript * AWK, C, SQL, Pascal, shell, BASIC, ... > * Use the same function for two totally different things. > * eval BLOCK; eval STRING > * select FILEHANDLE; select BITS, BITS, BITS, TIMEOUT * do STRING; do BLOCK; do BLOCK (while|until) CONDITION > * We'll add threads later. > * Perl > * We'll add Unicode later. > * Perl (FULL RECOVERY!) * We'll add objects later. * Perl Abigail