Thank you very much Jochen for the answer. I agree that Typescript can be misused, but do you prefer a 10K LOC in Javascript or Typescript? What is more maintainable given best practices are respected in each language? Personally I would get up to speed faster in Typescript even If the developer was not 100% conforming to types.
I see your point that @compilestatic groovy vs "free range" groovy resembles the typescript vs javascript situation, still I do not find it ideal to have 2 languages in terms of maintenance effort. But I am not here to argue. Just wanted to ask and learn from the answers. Vasilis On Sun, Dec 31, 2023 at 4:38 PM Jochen Theodorou <blackd...@gmx.org> wrote: > 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 > -- Dr. Vasileios Anagnostopoulos (MSc,PhD) Researcher/Developer