Re:The sky is not falling – about the supposed end of dynami...
by marcosdumay on Sunday November 29, 2015 @11:43AM
(#10645075)
Sorry, but I have a large, complex problem. I just can't have all the business logic in my head at the same time.
Now, I could just write the logic down as logical statements on paper, and check my code against it... Or I can write the logic down as logical statements on the computer, and have it check my code automatically. Pick your poison.
Re:The sky is not falling – about the supposed end of dynami...
by incepted on Sunday November 29, 2015 @11:14AM
(#10644958)
> With dynamic typing you're much more likely to break things up early precisely because you know you have to keep things in your head.
If you are programming with a language that forces to keep everything in your head, you'll never build big systems.
Re:The sky is not falling – about the supposed end of dynami...
by yogthos on Sunday November 29, 2015 @06:07PM
(#10646537)
You mean you'll never build a monolith. In practice, I've been working on big systems in Clojure for the past 5 years. They just happen to be broken down into manageable components you can work on and reason about in isolation.
Re:The sky is not falling – about the supposed end of dynami...
by incepted on Sunday November 29, 2015 @09:50PM
(#10647334)
"I" makes me think you've only ever worked solo on Clojure projects, is that correct?
Re:The sky is not falling – about the supposed end of dynami...
by sitkack on Sunday November 29, 2015 @12:04PM
(#10645173)
The kind of code you could only write while on holiday in Cambodia.
Re:The sky is not falling – about the supposed end of dynami...
by Turing_Machine on Sunday November 29, 2015 @07:51PM
(#10646962)
Umm... that's why we have modules, and functions, and...
With dynamic typing you're much more likely to break things up early precisely because you know you have to keep things in your head.
On the other hand, static typing allows you to just keep adding code and it makes sure that the code will compile and run. However, at some point you end up with a large and complex system that you don't really understand. All you know is that it's self consistent. Understanding what the business logic is doing and why can be quite difficult and the fact that it type checks does little to help you there.
Coincidentally this is the reason that static typing proponents are obsessed with refactoring. Once you realize what mess you got yourself in then you have a ton of code to refactor and there's no way you can keep track of it all in your head.
With a dynamic languages refactoring tends to happen in much shorter cycles and introduces much less cognitive load.