Live data from Hacker News

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

github.com

31–40 of 117 posts

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

#31
post #7
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…

> why untyped languages became popular to begin with because for a long time there were no mainstream languages with a good enough type system.

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.

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

#32
post #21
post #8

Earlier quoted context omitted.

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.

> What are the downsides of gradual typing on a codebase? Typing complex business domains and interactions is hard. Most developers don’t have a lot of experience with it or the time to do it properly as they produce features. It doesn’t help that many developers start their career with untyped languages and transition into typed languages without learning it properly. Typescript is a great example because a lot of f…

It's definitely not that the developers are inexperienced with types. You're sort of making a "white man's burden" argument. Very few web developers are just writing javascript at work.

It's simply that you can't paint over a weakly typed language with strong types without causing all kinds of crazy edge cases. They're fundamentally different paradigms.

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

#33
Huh. I've been doing JSDoc typing, described halfway into TFA, for 2-3 years now but I didn't know it had a name or was considered a thing. Generally I've been really happy with it - no transpilation step to think about, and I get almost all the type hints and errors/warning I'd get from writing TS. And for very little verbosity - I probably only have 2-3 JSDoc comments (that declare types) in each typical .js file.

The main drawback I've fought with is that when you're doing something complicated - e.g. extending or decorating a module imported from elsewhere - it can be hairy to convince the editor to infer what's happening. The other one is I've never found a good way to author an event emitter, such that you get inference and type checks on code subscribing to the events. But there could be solutions to both points that I've been missing.

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

#34
Disappointed to find a puff-piece on typescript. Dishonest headline.

Javascript frustrates me just as much as the grumpy old man in the article. That said, I once sat down and asked myself, "self, why was it okay to live through the php years yet you despise javascript for being the same way?" And then it dawned on me, my involvement in php projects forced me to have a low-level understanding of the language that I never acquired with javascript.

The consequence for me is that javascript is still full of voodoo and dark magic, all very frustrating and bowel irritating. But that's not the fault of the language, that's the fault of the knucklehead trying to use it without really digging into the internals and understanding how it should be used. That would be me.

Not learning how javascript internals work and complaining about javascript is no different than when Mongo first came out, and folks shoved third normal form schemas in there and complained loudly that Mongo was a lousy RDBMS. It's not an RDBMS, mate.

If anything this article instead implies that typescript means you don't have to bother learning javascript internals. Do not recommend.

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

#36
Arguably C is losely typed rather than strictly typed. int for example is some integer type, dont worry about which one, and people keep reinventing this too. Sometimes you want stricter, sometimes more loose, but most languages have a sweetspot where they provide a decent syntax and anything outside it is crap.

The language which solves this will allow people to select the level of type abstraction on a per task basis, while retaining full performance. It will be nice when we get this, but no language is even close.

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

#37

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".

[deleted]

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

#38
post #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

That doesn't mean gradual typing is the worst of both worlds though? It's bad but it's still not as bad as no static types.

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

#39

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.

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

#40
just make javascript support static typing, e.g. let x:number=100 etc, similar to what python does, without a totally new tsc compiler, an eslint for typescript, and all those c# stuff along with it. can we just improve js instead of using ts?
Post reply on HN