IMHO, the question is irrelevant. It implicitly assumes that statically
typed vs dynamically typed is a black / white choice, and that either
"static wins over dynamic" or "dynamic wins over static" will be a true
statement whatever the context.

Bu still ... :

I assume you are talking about the difference in how types are handled
between e.g. Clojure and Java. Maybe I'm totally off-topic.

What do people used to Java fear a lot to lose if forced to use Clojure :

- code completion

- compiler errors


And they are right. You have less powerful code completion in Clojure right
now, by the very nature of the state of things. And you have way few
compiler errors.


I too like the fact that Typed Clojure is an optional feature, because then
I can quickly prototype code without bothering with entering types. But
this also means that I keep this information in my head, or in my comments.
Because there's no chance that my Clojure program will accept to add a
String and a Long at execution time.


I tend to think more in terms of "function contract", than in terms of
types. I want to choose the level of "function contract enforcement" I keep
in my head, or in my comments, or in my code. And then accept the
consequences of having to type more, to get faster feedback (the faster
being provided by the IDE, then the compiler, then the running code - and
my own ability to reason about the code floating here and there depending
on the moment).

Types are an implementation detail. They are just a subset of the kind of
assertions a compiler or a runtime can do over the arguments passed to a
function. They are just ONE property of each argument, and we're not even
talking about inter-arguments assertions, such as (< arg1 arg2), etc.

But after having said that, I still think that it will be good to be able
to declare types if I feel the need, because they have proven to detect
early a whole class of problems when I was doing Java !









2013/10/6 zcaudate <z...@caudate.me>

> I'm a little bit miffed over this current craze of `types` and
> `correctness` of programs. It smells to me of the whole `object` craze of
> the last two decades. I agree that types (like objects) have their uses,
> especially in very well defined problems, but they have got me in trouble
> over and over again when I am working in an area where the goal is unclear
> and requirements are constantly changing.
>
> BTW... This is no means a criticism of all the type system work that is
> going on in the clojure community. I am a huge fan of Ambrose's Typed
> Clojure project because it gives me the *option *of using types... not
> shoving it down my throat. I like the freedom to choose.
>
> My experience of programming in clojure has freed me from thinking about
> types and hierarchies and this article rings so true:
> http://steve.yegge.googlepages.com/is-weak-typing-strong-enough.
>
> However, everywhere I look, there are smug type-weenies telling me that my
> dynamically typed program is bad because it cannot be `proven correct` and
> not `checked by the compiler`. This question on SO really makes me
> angry....
> http://stackoverflow.com/questions/42934/what-do-people-find-so-appealing-about-dynamic-languages....
> because no one is defending dynamic languages on there. The reason is very
> simple..... because we don`t have a theory to back us up!
>
> I do want to put up an counter argument against this barrage of abuse
> against dynamic languages. And I want to put some academic weight behind
> this. The only counter I could come up with was to use Godel's
> incompleteness theorem. For those that don't know... here is an
> introduction to the man and his theory.
> http://www.youtube.com/watch?v=i2KP1vWkQ6Y. Godel's theorem, invalidated
> Principia Mathematica as a complete system of description. Principia
> Mathematica btw....  effectively led to Type Theory.
>
>
> According to http://en.wikipedia.org/wiki/Type_theory. "The types of type
> theory were invented by Bertrand Russell in response to his discovery that
> Gottlob Frege's version of naive set theory was afflicted with Russell's
> paradox. This theory of types features prominently in Whitehead and
> Russell's Principia Mathematica. It avoids Russell's paradox by first
> creating a hierarchy of types, then assigning each mathematical (and
> possibly other) entity to a type. Objects of a given type are built
> exclusively from objects of preceding types (those lower in the hierarchy),
> thus preventing loops."
>
> I'm hoping to collect a few more `proofs` from the clojure community...
> for example... if there is a paper on "why are type systems so bad at
> classifying animals"... then please forward it on.
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to