Re: Static typing question
Jochen Theodorou <[email protected]>
| Newsgroups | gmane.comp.lang.groovy.user |
|---|---|
| Message-ID | <[email protected]> |
On 31.12.23 05:20, Agile Developer wrote: > Hi, Edmond > > can you give me a case not covered by a typed language? I'm really > curious, because the more I think the more I see modern PL > practice/research has uncovered typed language strengths. These days, > typed languages solve more and more issues traditionally solved with > dynamic languages. I find the question strange to be frank. I know of no problem that requires a specific quality of the programming language to solve it (Touring complete?). Being that strongly or weakly typed, being that static or dynamic typed, being everything a logic clause or a list, ... I think this can be seen on my situation of typescript vs. javascript. Here typescript is really only an extension to javascript. Basically all constructs it adds are there for the type system. Typescript has a very practical type system where types do not have to be of the same name to be equal. And what typescript will produce at the end is just javascript. It does not make the code faster, it does not make solving problems more easy. In fact you can produce some very wild types in typescript, that will require another programmer to look up a lot of the specialties of the type system to understand them. So is Typescript of no use? No, it does help when refactoring larger code bases. Did I ever have to refactor a larger code base in typescript? Never - well once, it was not that big and it was really really difficult. You tend to use so many libraries that normally your code base really does not grow to that level. It does help avoiding the small mistakes any basic tests would uncover as well. So yeah... for me personally I have very little gain from typescript and it slows me down writing my code if I have to write a web-app. And still I have to write 90% of this code in typescript, because I work in a team and other people will later have to maintain this code. People I work with feel safer by using types. And in the end it is what counts most to the average programmer: the promise of safety. Did I ever have to refactor large Java code bases and it was a big pain? Oh yes - many times. Just because you have types does not prevent people from writing awfully unreadable code, misuse concepts, diverge from initial intentions, introduce no concepts half heartedly, plain ignore everything that has been done before, misunderstandings, ... It really boils down to 3 aspects here for me: (1) how long does an average programmer need to solve the problem (including libraries). (2) how long does it take an average programmer to produce an error free program. (3) how easily can another average programmer change the program. bye Jochen