|
 |
clipka wrote:
> BTW, I really like Microsoft Visual C#
> in this respect: Comes with integrated code refactoring, which is a real
> pleasure to work with.
A good refractoring tool is a very useful thing.
> Oh, and when it comes to strict vs. dynamic type checking, I advocate the
> approach as done by most mainstream OO languages these days (like Java, C#
> etc.): Strict type checking, with language syntax allowing to override it
> ("type casting") where needed. And polymorphism and/or interface patterns
> designed into the language, to be able to tell both the static and dynamic type
> checking mechanisms which types are interchangeable for which purpose.
>
> The total absence of *any* type checking in some languages, like JavaScript, may
> be handy for very small quick-and-dirty stuff,
> but for larger projects I guess it is too inviting for
> a write-first-document-later approach.
AKA "write-first-document-never" ;-)
This is basically my point about scripting languages. They're designed
to figure out what you "probably wanted" with the fewest keystrokes -
which is totally great if all you're trying to do is some simple one-off
task and you don't want to spend all week implementing it. *Not* so
great if you're trying to develop a large-scale application... [Although
Darren keeps trying to insist that Tcl is the best programming language
there is for that kind of thing.]
> I didn't have the opportunity yet to work with functional programming languages,
> but from what I see I'd probably experience them as a PITA, and an increased
> risk factor for an early death from brain haemorrhaging ;)
Quoting Lucas:
"But I've learned so much!"
"...then, you must un-learn what you have learned."
It's like going from a non-OO language to an OO language; you have to
get used to thinking in a different way. And until you do, you keep
trying to structure programs in a way that doesn't work well, and
getting frustrated when the result is a malfunctioning mess.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |