Re:The sky is not falling – about the supposed end of dynami...
by yogthos on Sunday November 29, 2015 @10:56AM
(#10644879)
I think gradual typing is definitely likely to become the norm. It allows you to develop things using the dynamic style and then add type annotations where appropriate. It also avoids the problem of mixing the proof into your solution.
Re:The sky is not falling – about the supposed end of dynami...
by solomatov on Sunday November 29, 2015 @12:59PM
(#10645396)
I think the main problem with types isn't that they slow you down. In my experience they actually don't and reverse is actually the true. The main problem is that static languages are often too complicated for non professional software developers, i.e. designers, system administrators, data scientists, etc, to be motivated to learn them. They just need to write the code, and when they do it themselves, the stuff is done much faster and much more efficiently.
Re:The sky is not falling – about the supposed end of dynami...
by yogthos on Sunday November 29, 2015 @05:53PM
(#10646476)
The inherent complexity of static typing is precisely my argument. You have to demonstrate that the additional complexity actually adds value in the long run. This seems like a prerequisite before you start extolling this approach.
Re:The sky is not falling – about the supposed end of dynami...
by sitkack on Sunday November 29, 2015 @12:01PM
(#10645164)
Types and the type system are actually orthogonal to the code. They constrain the allowable semantics but nothing requires them to be commingled.
Re:The sky is not falling – about the supposed end of dynami...
by jack9 on Sunday November 29, 2015 @10:02AM
(#10644732)
I would say Java (the native syntax) is over engineered. The runtime is a beautiful thing.
Re:The sky is not falling – about the supposed end of dynami...
by solomatov on Sunday November 29, 2015 @10:07AM
(#10644745)
>I would say Java (the native syntax) is over engineered. The runtime is a beautiful thing.
It's not over-engineered. Making syntax in this way was a design goal. AFAIU, authors of the language thought that when you specify as much as possible in syntax, the code is easier to maintain. That's why it's so popular in enterprise world where code often lives for 10s of years.
Re:The sky is not falling – about the supposed end of dynami...
by jack9 on Sunday November 29, 2015 @07:55PM
(#10646976)
> when you specify as much as possible in syntax, the code is easier to maintain
That's not true of all cases. Most importantly, the number of abstractions that are baked into the language are a combination of workarounds (rather than fixing the type system) and whatever the JLS contributor's motivations are. Some of which has been useful, some of which has not. It's overengineered.
Having no type annotations, even in highly dynamic languages, leads to lower maintainability. However, some type systems are too complicated, and over-engineered, the best example of which is Haskell (compare it to Agda or Idris, which can do more, but have much much simpler type system).