Live data from Hacker News

“The days of using untyped languages on non-trivial projects are over.”

github.com

11–20 of 117 posts

Re: “The days of using untyped languages on non-trivial projects are over.”

#12
post #8
post #4

It’s disappointing that a lot of arguments for typing fail to explore why untyped languages became popular to begin with and how those benefits can be maintained throughout the migration process through partial typing To complete typing. When typing is applied gradually throughout a codebase it can sometimes manifest as the worst of both world and a complete argument should at least acknowledge that as well as the im…

What are the downsides of gradual typing on a codebase? I've never worked with it, but watched some talks on it and it really sounds promising. I understand the downsides for compiler complexity and for performance, but not on the codebase itself.

It's not that the general idea of "gradual typing" is bad, but that strong types become a leaky abstraction in practice. If you have to constantly fight against the weakly typed nature of the underlying language, that defeats the point.

Here's a writeup on it. https://www.onux.com/jspp/tutorials/type-system#Appendix-B

> The problem is not as simple as taking the ECMAScript grammar and augmenting it with type annotations. There's a reason that Microsoft (TypeScript, Safe TypeScript), Google (AtScript, SoundScript), and Facebook (Flow) have all collectively attempted this problem and came up short.

It continues for a while...

Re: “The days of using untyped languages on non-trivial projects are over.”

#13

Typescript 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.”

#14
Let me get this straight: Microsoft is taking credit for the feature Common Lisp had since the early 1980s? https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node103.html

I suspect that even Common Lisp wasn't the first industrial language to implement gradual typing, but I can't remember any earlier ones.

Re: “The days of using untyped languages on non-trivial projects are over.”

#15
post #4

It’s disappointing that a lot of arguments for typing fail to explore why untyped languages became popular to begin with and how those benefits can be maintained throughout the migration process through partial typing To complete typing. When typing is applied gradually throughout a codebase it can sometimes manifest as the worst of both world and a complete argument should at least acknowledge that as well as the im…

> as the worst of both world

YES YES YES. I'm witnessing this nightmare with a project that started out as untyped and now we're adding mypy to it because without typing it is difficult to understand and work on. 2 million lines of untyped python.

It's basically a huge technical debt and I doubt we'll ever get to the point where we can enforce this in CI

Re: “The days of using untyped languages on non-trivial projects are over.”

#17

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…

Yep. Everything comes in cycles, old becomes new again, etc. This is particularly true in the software industry. We're very fad-driven.

Re: “The days of using untyped languages on non-trivial projects are over.”

#19

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…

Today's best practice is tomorrow's worst practice.
Post reply on HN