www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: Rich Hickey's slides from jvm lang summit - worth a read?

reply bearophile <bearophileHUGS lycos.com> writes:
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). Bye, bearophile
Sep 24 2009
parent language_fan <foo bar.com.invalid> writes:
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.
Sep 24 2009