The biggest problem with most typed languages is string handling, especially null terminated strings. Returning a string from a function is a nightmare in almost every typed language, except Delphi/Free Pascal, which does auto-reference counting, and manages it all, you never have to allocate/free memory for them, and they can hold gigabytes. Typed languages offer some efficiencies, and can, if properly used, help pr…
“The days of using untyped languages on non-trivial projects are over.”
91–100 of 117 posts
Re: “The days of using untyped languages on non-trivial projects are over.”
#92The biggest problem with most typed languages is string handling, especially null terminated strings. Returning a string from a function is a nightmare in almost every typed language, except Delphi/Free Pascal, which does auto-reference counting, and manages it all, you never have to allocate/free memory for them, and they can hold gigabytes. Typed languages offer some efficiencies, and can, if properly used, help pr…
Re: “The days of using untyped languages on non-trivial projects are over.”
#93Agree with the sentiment (statically-typed languages are cool), but TS is not ideal. Is the best we have if you want something JS-like, but try to explain the following monstrosity to a junior colleague who's starting with TS in the context of web applications (using one of the most popular frameworks out there, NestJS): // a DTO that handles the creation of some kind of resource ... @IsArray() @ArrayMinSize(1) @IsSt…
Re: “The days of using untyped languages on non-trivial projects are over.”
#94But it's completely feasible to use dynamic languages for non-trivial applications. I think it's fair to say that Hacker News is not a trivial application and it's written in a Lisp dialect called Arc.
The biggest advantage of dynamic languages is probably that they are usually more concise. Which can lend itself to a more elegant expression of intent.
Another advantage might be more flexibility reducing the tendency to add boilerplate or a lot of schema-specific code. And I am aware that many people consider a lack of schemas to be the worst thing ever. But at least they are flexible.
And yes I am aware that static types can eliminate errors at compile time. Those types of advantages don't completely invalidate the use of untyped languages.
Re: “The days of using untyped languages on non-trivial projects are over.”
#95Re: “The days of using untyped languages on non-trivial projects are over.”
#96I hate TypeScript so much it's unreal. A MS trojan horse to try and own the full stack, I hope you'll all be happy when we won't be able to use any of our tools without complying to corporate linguistic standards and watching the mandatory 20m of commercials per code scope.
Re: “The days of using untyped languages on non-trivial projects are over.”
#97It’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…
Re: “The days of using untyped languages on non-trivial projects are over.”
#98> velocity wasn’t a top concern, safety was
Not true. Velocity was as much of a top concern back then as it is today.
Re: “The days of using untyped languages on non-trivial projects are over.”
#99This is definitely an advantage! No dispute here. But whether static types make programs safer and their architecture cleaner is something in need to be proven empirically. And as others already wrote: There is a reason why dynamic scripting languages became popular.
Re: “The days of using untyped languages on non-trivial projects are over.”
#100Earlier quoted context omitted.
> 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.
Even if what you say is true, I'll trade some initial coding time to buy more efficient maintenance.