Having been pro-type forever and now having programmed in JS for a few years I can appreciate both sides.
Certainly the middle is going to be very very interesting..
Conversation
My day job used to be
Python, but I appreciate that side even less now. What do you value in a unityped language?
1
2
Typed languages save you from certain classes of errors.
They come with a cost though.
The most important cost for me is that it is easy to get attached to them. Making them harder to change
1
1
That's weird, because I associate "easier to change" with static type systems
1
2
Yes and no I think. My experience is that it is easy to make changes to anything but the types in type based systems.
But you have codified a significant part of the way you think about your code.
Caveat: this is just me, in Java-y based type systems.
1
1
I thought that might be the case. Java's gimped and you've felt that pain. It might be hard to believe, but programming in Haskell-like languages is a completely different experience.
2
1
I think the main thing Haskell is missing for even less invasive types is anonymous records, but Elm and PureScript support that
3
4
My point isn’t technical at all. It is human. Having done both static + dynamic types I find myself much less inhibited to change dynamic types.
My hypothesis is that static typing codifies your mental model. Allowing less room to think alternatives.
1
You are implicitly assuming that types are hard to change, which is true in Java but not necessarily in other languages where types are cheap
1
1
No, I am saying that once you give things names it influences how you think about those things.
1
Replying to
Type systems in general do not necessarily require giving everything names (unlike in Java). Structural type systems give you the ability to talk about types based on their shapes, rather than their names, although it can be helpful over time to pin those shapes down.
Replying to
Oh yeah, I am not advocating any particular approach.
All are valid in particular circumstances.
If I have a very unknown problem I am exploring I love my dynamic languages.
If I wrote another financial system. Strongly typed all the way
1
I dunno, I find it super helpful to use a type system in the explorative phase, even if due to human reasons I need to then write it in a dynamic lang. Super helpful to have lightweight way of clarifying my thoughts before even going forward with implementation
2
1
Show replies



