Rich Hickey's slides from jvm lang summit - worth a read?

language_fan foo at bar.com.invalid
Thu Sep 24 20:09:15 PDT 2009


Thu, 24 Sep 2009 21:41:00 -0400, bearophile thusly wrote:

> language_fan:
> 
>> [lot of stuff...]
>> Switching to Python is in one way a step in the wrong direction - you
>> lose something you already had for free - [lot of stuff...]
> 
> I know several languages but I'm usually able to write correct Python
> programs (< 10_000 lines long) in less time than in other languages. So
> what you say doesn't agree with my practical experience. (For bigger
> programs, or other kind of programs, or other programmers, the situation
> may differ).
> 
> (And that post was not about Python).

Agreed, without statistical facts these opinions are too subjective to 
draw any kinds of conclusions. I have tried Python several times and each 
time came back to statically typed languages where I can first define 
interfaces, types, invariants, automatic tests, and only after that write 
the code.

Most modern languages come with a REPL so I do not feel like missing 
anything. Maybe my brain just is not wired to be used with Python. 
Languages like Haskell and Scala have been most useful to me for 
exploratory coding because of their lightweight syntax.

It is easy to see that

  class Foo[A](var a: A)

is shorter than

  template <typename A> class Foo {
     private:
     A *a;

     public:
     void setA(const A &a) { this.a = a; }
     A *getA() const { return a; }
  };

In fact I am sure the C++ example above is so full of all kinds of bugs 
that I will not comment on this any further. When I write a sketch of a 
new project, I usually write 1000 - 2000 lines of information about the 
overall structure and types. I have not found any constructs except the 
comments in Python to achieve this. Maybe I am developing in a wrong way.



More information about the Digitalmars-d mailing list