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

Reply via email to