The days of sweeping declarations regarding obviously periodic trends have never arrived. I've been around long enough that "safe" gave way to "productivity" and back to "safe". There's kind of a nascent ethos of being "better" in each new generation that just results in these pendulum effects. The overall effect seems to be enormously positive. I can now bounce between several completely valid build environments, ec…
Regardless of the cycles in the computer industry, I would never consider a dynamically typed language for large projects ever again. I’ve been there, done that, and worked most of my career in dynamic languages. There’s just better tools available today. There’s no going back for me. Python with types or TypeScript is as dynamic as I’m willing to go now, and only as a last resort.
“The days of using untyped languages on non-trivial projects are over.”
101–110 of 117 posts
Re: “The days of using untyped languages on non-trivial projects are over.”
#102Earlier quoted context omitted.
Regardless of the cycles in the computer industry, I would never consider a dynamically typed language for large projects ever again. I’ve been there, done that, and worked most of my career in dynamic languages. There’s just better tools available today. There’s no going back for me. Python with types or TypeScript is as dynamic as I’m willing to go now, and only as a last resort.
I've personally found that Python with types is just not quite enough if I have to work with other people.
Re: “The days of using untyped languages on non-trivial projects are over.”
#103Re: “The days of using untyped languages on non-trivial projects are over.”
#104Earlier quoted context omitted.
The whole point of static types (well one big reason at least) is to improve the actual code quality. I don't understand how you think it obfuscates what is actually running in the browser. Nearly all non-trivial web projects have a build step even if they aren't "web apps". But I agree it would be nice to at least have the option to avoid it. There is a JavaScript proposal going through that should fix that.
> The whole point of static types (well one big reason at least) is to improve the actual code quality. I have worked on multiple typescript projects that had terrible code quality. Types do not make you write SOLID code. I find functional programming and well-used functional patterns do result in higher quality code. Typescript’s type system makes writing functional code more difficult. The documentation even recomm…
For example, if `type ShoppingCart = EmptyCart | LoadedCart` then `addToCart` is just a map from `ShoppingCart` to `LoadedCart`. It makes invalid states impossible to represent and flows become clearer. Add in good FP and composition becomes easier.
Re: “The days of using untyped languages on non-trivial projects are over.”
#105Earlier quoted context omitted.
Regardless of the cycles in the computer industry, I would never consider a dynamically typed language for large projects ever again. I’ve been there, done that, and worked most of my career in dynamic languages. There’s just better tools available today. There’s no going back for me. Python with types or TypeScript is as dynamic as I’m willing to go now, and only as a last resort.
I've personally found that Python with types is just not quite enough if I have to work with other people.
But can you elaborate or provide some examples, please? I'd like to know more about this angle.
Re: “The days of using untyped languages on non-trivial projects are over.”
#106Earlier quoted context omitted.
> The whole point of static types (well one big reason at least) is to improve the actual code quality. I have worked on multiple typescript projects that had terrible code quality. Types do not make you write SOLID code. I find functional programming and well-used functional patterns do result in higher quality code. Typescript’s type system makes writing functional code more difficult. The documentation even recomm…
My world changed when I started thinking in a strongly typed way (not just using string and number) and representing state changes as different types rather than interpreting than through property values. Once you do that then your code becomes mapping from one type to the next. For example, if `type ShoppingCart = EmptyCart | LoadedCart` then `addToCart` is just a map from `ShoppingCart` to `LoadedCart`. It makes in…
Several of the terrible typescript projects I referred to still used property values to represent state (like your example). Just because every definition has a type doesn’t make it good code. Shitty typed code is still shitty code. My concern is that many in our industry conflate typescript with quality and stop there.
Re: “The days of using untyped languages on non-trivial projects are over.”
#107Earlier quoted context omitted.
My world changed when I started thinking in a strongly typed way (not just using string and number) and representing state changes as different types rather than interpreting than through property values. Once you do that then your code becomes mapping from one type to the next. For example, if `type ShoppingCart = EmptyCart | LoadedCart` then `addToCart` is just a map from `ShoppingCart` to `LoadedCart`. It makes in…
I am not against types but I do find typescript’s type system to be deficient. Additionally, functional programming is not incompatible with type systems but typescript’s type system in particular makes it more difficult. Several of the terrible typescript projects I referred to still used property values to represent state (like your example). Just because every definition has a type doesn’t make it good code. Shitt…
Yes, but it's at least code you can understand, navigate and refactor.
Re: “The days of using untyped languages on non-trivial projects are over.”
#108Typescript propaganda. Instead of worrying about types, why not worry about the actual code quality ? Half of all typescript I've seen uses "any", not to mention the fact that it obsfuscates what's actually running in the browser and forces an unnecessary build step for things that aren't "web apps".
Well MS does own Github now, so I'd expect Github to say this.
Re: “The days of using untyped languages on non-trivial projects are over.”
#109Earlier quoted context omitted.
Types slow you down. New work is first completed in untyped languages. People start using the work. People complain there aren't types. Types are added. Work is now slow in the language. New work is now done in another language without types. Rinse and repeat.
I dunno, I think the productivity promises of dynamic typing have been conclusively disproven, so maybe next time people will be able to at least say "we know that isn't a good idea".