You mean when someone's "absolute truth" isn't "TypeScript
I never said that, indeed it was you stating Javascript is the only way.
you're right about classes (and all those methods you can't reuse)
Makes no sense
were always a concession to devs like you who whined about how those "evil" concepts work in an already
OOP language, just one not based on classes.
No sense again. Besides I never whined about anything.
about learning the what and why of JavaScript vs. slapping your preferred OOP paradigm on top, you inadvertently made another concession that TS isn't even necessary.
I've never dismissed learning the what and why of Javascript. You implied, wrongly that people that learn Typescript do not learn proper Javascript concepts.
do a simple output comparison of class vs. functional/hooks
Not necessary, Typescript compiles all classes to functions anyway.
You've spent half of this discussion making cases for things TypeScript does which do not require TypeScript, the other half badmouthing the way JavaScript does things in support of why you need TS and classes (hence my use of "crutch," and your "transpiles to functions anyway" shows not only doubling down on the crutch and inadvertently making yet another case against any "necessity" of TS, but favoring it over performance or just missing the point completely), and all of it in dismissive rudeness; trying to paint me as an idiot because you're "triggered" (your word) by the audacity of a JS dev saying: Not only are these things unnecessary, but they get in the way of a junior dev learning how things work (the things you keep badmouthing) in a language which (by your admission) it will always end up being in the end.
Oh, and implying that basically every other JS dev not using TS considers inheritance and polymorphism "evil," rather than allowing any possibility that we may, in fact, understand them, just understanding that they work differently than in class-based languages (again, kind of the whole point of letting junior devs learn JavaScript itself without imposing TS on them before they do).
What's really ironic is that the last TS defender who got in a spat with me claimed that TS makes it harder to use classes (I'm all for discouraging their use, but not like that), only to edit that out of his comment when I quoted it and called him on the contradiction, resorting to "I didn't say that" gaslighting... Eerily similar to what you're doing every time I call you on how you're behaving (but at least to your credit, to my knowledge, you're not also tampering with evidence in the process).
You've already decided that anyone who uses TS is handicapped. That's why I stated earlier you insinuate they are dumb asses.
you're "triggered" (your word) by the audacity of a JS dev saying: Not only are these things unnecessary, but they get in the way of a junior dev learning how things work (the things you keep badmouthing) in a language which (by your admission) it will always end up being in the end.
It was you that posted here in defense of plain ole Javascript not me. It's only your opinion it gets in the way. I find intellisense far superior to anything I've seen in the past with Javascript. I believe Typescript is way easier to use because of that.
Oh, and implying that basically every other JS dev not using TS considers inheritance and polymorphism "evil,
That's because Typescript haters like to tie in 'those lame (crutch people), lazy (don't like to study Javascript) and begging (have to have a class) OOPers' who love Typescript irregardless of use of polymorphism, inheritance or even class use.
One thing I can say about other static typed languages, I never once read a book like "Java: The Good Parts" that's only reserved for Javascript 'deep dives'. Does that imply there were bad parts? Yes.
Harder for using classes?
How hard is it to use a class, it not hard , just hated. What's harder about using classes?
Everything I've posted is true, the truth hurts sometimes, but as mentioned before it was your post that started this conversation off not mine. I'm just glad to engage you because this and other posts on the same topic act as libraries so I can get many perspectives on why Typescript is hated by some so much.
The evidence so far has pointed to nothingness, empty space, dark matter! Just like Elliot's diatribe on "No quality gained with Typescript"... Ridiculous. Hey dudes, if you all hate it so much then just go away peacefully. You don't have to stir up shit...
Great! So don't force the former (and ideally not the latter, which is just sugar) on junior devs who still have a long way to go in learning the language.
Everyone who uses TS is handicapped
Quite the contrary. It's handicapp*ING* learning actual JavaScript for some whether self-imposed or imposed on others.
I find Intellisense far superior
I use it every day, in purely JS codebases. It's simple to set up for everyone in their editor settings, and project-wide. No non-JavaScript annotation syntax required.
OOPers
JavaScript is OOP. Polymorphism is a key principle of OOP, inheritance makes it possible, so they're obviously a part of JS. Your comments are going to lead devs who are still learning to believe this isn't the case.
The Good Parts
You mean the parts that behave similarly enough to the types of languages you're more comfortable with, instead of having to learn a different paradigm.
How hard is it to use a class?
Not my words, those of the last TS worshipper because he wanted to trip me up for saying both TS and ES6 classes were a bad idea, until he was the one caught in a contradiction and had to edit his way out of it.
But in both ES and TS, they're just sugar. They're not real classes, because JS is prototype-based. And transpiled, they're hideous.
You:
[Blah blah naked hatred, I'm right, that's final, everyone who disagrees with me is stupid.]
Also you, next sentence:
You don't have to stir up shit...
LOL. Let the record show that I started by saying this wasn't a good thing to impose on junior devs, and was immediately greeted with assumptions that I lack experience in TS, and insults (to anyone who holds a non-reverent view of TS, apparently).
Is Javascript an OOP Language?
Most JavaScript old timers push the functional nature of JavaScript which is good. However they don't seem to realize that good OOP winds up in small functional bits anyway. OOP meets functional styles all the time.
It's true that JavaScript is king today. It was an still is the only language internal to browsers. It was created in 1995. This makes it close to 25 years old. Typescript is 8 years old. Is Typescript's popularity rising fast?
Web Assembly has the ability to bypass both Typescript and JavaScript.
Will Typescript die? Not likely as Microsoft (who owns GitHub) and Google (the Angular creators) decided it's better for large scale projects.
Not many companies are the size of Microsoft, however a lot of all problems writing JavaScript in large codebases are the same. Many JavaScript apps build apps which are made up of hundreds of thousands of files. A single change to one individual file can affect the behaviour of any number of other files, like throwing a pebble into a pond and causing ripples to spread out to the bank.
Validating the connections between every part of your project can get time consuming quickly, using a type-checked language like TypeScript can handle that automatically and provide instant feedback during development.
These features allows TypeScript to help developers feel more confident in their code, and save considerable amounts time in validating that they have not accidentally broken the project.
I'm glad the tone has improved in the last comment, at least.
But this is still an assumption:
Most JavaScript old timers push the functional nature of JavaScript which is good. However they don't seem to realize that good OOP winds up in small functional bits anyway. OOP meets functional styles all the time.
I'm not "most JavaScript old timers" (that you know of, anyway). I've said repeatedly throughout this thread that JavaScript is OOP, and it's not hard to see that I've not once placed OOP at odds with functional - and in my initial response, my "otherwise agree[ing] with you" implied that my agreement included
Keep functions small each doing only one thing.
Moving on, there are differences to note here:
Web Assembly has the ability to bypass both Typescript and JavaScript.
Essentially, yes, though technically the JS API is still currently required to load it (for now, but probably not much longer). The difference is that WASM is loading pieces compiled from languages which are actually strictly typed and class-based, and acts as an alternative to JS. TypeScript, on the other hand, is a layer on top of JS (just as ES6 classes are on top of functions). While many (obviously) find this helpful, in practice this leads to a shift in thinking, treating JS as something it is not: Statically typed and class-based (even if the latter is TC39's fault, though TS influenced that).
And that brings me back to my original comment: This is not a good thing for junior developers. Nor is the additional syntax, when they can and should be learning how to comment properly instead.
And I've never denied that many projects I use and love (and many I have yet to try, and some I used, hated, and moved on from) are built with TypeScript; however, even Microsoft's own words fail to make the case:
a lot of all problems writing JavaScript in large codebases are the same. Many JavaScript apps build apps which are made up of hundreds of thousands of files. A single change to one individual file can affect the behaviour of any number of other files, like throwing a pebble into a pond and causing ripples to spread out to the bank.
This is an architectural/design/QA issue, not a dynamic typing issue. You still need documentation. You still need linting. You still need a style guide. You still need tests.
And you still need to teach these things (and I don't care if the junior is coming from Udemy, Flatiron, or Stanford), ideally without adding to the learning curve.
I never said that, indeed it was you stating Javascript is the only way.
Makes no sense
No sense again. Besides I never whined about anything.
I've never dismissed learning the what and why of Javascript. You implied, wrongly that people that learn Typescript do not learn proper Javascript concepts.
Not necessary, Typescript compiles all classes to functions anyway.
That's your bias right there, in black and white.
You've spent half of this discussion making cases for things TypeScript does which do not require TypeScript, the other half badmouthing the way JavaScript does things in support of why you need TS and classes (hence my use of "crutch," and your "transpiles to functions anyway" shows not only doubling down on the crutch and inadvertently making yet another case against any "necessity" of TS, but favoring it over performance or just missing the point completely), and all of it in dismissive rudeness; trying to paint me as an idiot because you're "triggered" (your word) by the audacity of a JS dev saying: Not only are these things unnecessary, but they get in the way of a junior dev learning how things work (the things you keep badmouthing) in a language which (by your admission) it will always end up being in the end.
Oh, and implying that basically every other JS dev not using TS considers inheritance and polymorphism "evil," rather than allowing any possibility that we may, in fact, understand them, just understanding that they work differently than in class-based languages (again, kind of the whole point of letting junior devs learn JavaScript itself without imposing TS on them before they do).
What's really ironic is that the last TS defender who got in a spat with me claimed that TS makes it harder to use classes (I'm all for discouraging their use, but not like that), only to edit that out of his comment when I quoted it and called him on the contradiction, resorting to "I didn't say that" gaslighting... Eerily similar to what you're doing every time I call you on how you're behaving (but at least to your credit, to my knowledge, you're not also tampering with evidence in the process).
I don't need TS or Classes
You've already decided that anyone who uses TS is handicapped. That's why I stated earlier you insinuate they are dumb asses.
It was you that posted here in defense of plain ole Javascript not me. It's only your opinion it gets in the way. I find intellisense far superior to anything I've seen in the past with Javascript. I believe Typescript is way easier to use because of that.
That's because Typescript haters like to tie in 'those lame (crutch people), lazy (don't like to study Javascript) and begging (have to have a class) OOPers' who love Typescript irregardless of use of polymorphism, inheritance or even class use.
One thing I can say about other static typed languages, I never once read a book like "Java: The Good Parts" that's only reserved for Javascript 'deep dives'. Does that imply there were bad parts? Yes.
How hard is it to use a class, it not hard , just hated. What's harder about using classes?
Everything I've posted is true, the truth hurts sometimes, but as mentioned before it was your post that started this conversation off not mine. I'm just glad to engage you because this and other posts on the same topic act as libraries so I can get many perspectives on why Typescript is hated by some so much.
The evidence so far has pointed to nothingness, empty space, dark matter! Just like Elliot's diatribe on "No quality gained with Typescript"... Ridiculous. Hey dudes, if you all hate it so much then just go away peacefully. You don't have to stir up shit...
Great! So don't force the former (and ideally not the latter, which is just sugar) on junior devs who still have a long way to go in learning the language.
Quite the contrary. It's handicapp*ING* learning actual JavaScript for some whether self-imposed or imposed on others.
I use it every day, in purely JS codebases. It's simple to set up for everyone in their editor settings, and project-wide. No non-JavaScript annotation syntax required.
JavaScript is OOP. Polymorphism is a key principle of OOP, inheritance makes it possible, so they're obviously a part of JS. Your comments are going to lead devs who are still learning to believe this isn't the case.
You mean the parts that behave similarly enough to the types of languages you're more comfortable with, instead of having to learn a different paradigm.
Not my words, those of the last TS worshipper because he wanted to trip me up for saying both TS and ES6 classes were a bad idea, until he was the one caught in a contradiction and had to edit his way out of it.
But in both ES and TS, they're just sugar. They're not real classes, because JS is prototype-based. And transpiled, they're hideous.
You:
Also you, next sentence:
LOL. Let the record show that I started by saying this wasn't a good thing to impose on junior devs, and was immediately greeted with assumptions that I lack experience in TS, and insults (to anyone who holds a non-reverent view of TS, apparently).
TypeScript is Great!
Why do Javascript people use the term Crutch for Typescript
Is Javascript an OOP Language?
Most JavaScript old timers push the functional nature of JavaScript which is good. However they don't seem to realize that good OOP winds up in small functional bits anyway. OOP meets functional styles all the time.
Is Javscript a functional programming language?
What are the benefits of Typescript?
Why do people hate TypeScript
Is Typescript an official language at Google?
Does GitHub really have close to 160,000 Typescript Repositories?
Who owns Github?
What is most popular technology
It's true that JavaScript is king today. It was an still is the only language internal to browsers. It was created in 1995. This makes it close to 25 years old. Typescript is 8 years old. Is Typescript's popularity rising fast?
Web Assembly has the ability to bypass both Typescript and JavaScript.
Will Typescript die? Not likely as Microsoft (who owns GitHub) and Google (the Angular creators) decided it's better for large scale projects.
WebAssembly can bypass both Typescript and Javascript?
According to Microsoft :
I'm glad the tone has improved in the last comment, at least.
But this is still an assumption:
I'm not "most JavaScript old timers" (that you know of, anyway). I've said repeatedly throughout this thread that JavaScript is OOP, and it's not hard to see that I've not once placed OOP at odds with functional - and in my initial response, my "otherwise agree[ing] with you" implied that my agreement included
Moving on, there are differences to note here:
Essentially, yes, though technically the JS API is still currently required to load it (for now, but probably not much longer). The difference is that WASM is loading pieces compiled from languages which are actually strictly typed and class-based, and acts as an alternative to JS. TypeScript, on the other hand, is a layer on top of JS (just as ES6 classes are on top of functions). While many (obviously) find this helpful, in practice this leads to a shift in thinking, treating JS as something it is not: Statically typed and class-based (even if the latter is TC39's fault, though TS influenced that).
And that brings me back to my original comment: This is not a good thing for junior developers. Nor is the additional syntax, when they can and should be learning how to comment properly instead.
And I've never denied that many projects I use and love (and many I have yet to try, and some I used, hated, and moved on from) are built with TypeScript; however, even Microsoft's own words fail to make the case:
This is an architectural/design/QA issue, not a dynamic typing issue. You still need documentation. You still need linting. You still need a style guide. You still need tests.
And you still need to teach these things (and I don't care if the junior is coming from Udemy, Flatiron, or Stanford), ideally without adding to the learning curve.
Yes
Typescript improves the learning curve in my opinon.