You got me. I was like "Why tf would he migrate his entire code base to TS when he hates it???" and then I looked at the date. TS is soooo much better to work with
@@bobbycrosby9765 Might assert what kind of errors. Easy typos especially when variable/member names might be really close getting a type error is just what is needed at compile time. Easy to agree it isn't a magic silver bullet, any bit helps. My biggest reason i hated javascript for so lot was all the string assignments without any type checking...
Good effort Clément but you're going to have to try harder to convince me TypeScript is good, I'm not buying it. 1. TypeScript code is hard to read therefore hiding bugs 2. JavaScript has types too 3. TypeScript error messages are cryptic 4. TypeScript is a tax on your time
Not gonna lie, I legit thought this was a serious comment for the past hour. It just hit me that this is just a next-level April Fool's joke 🤦♂️But wait...this _is_ a joke right?!
I'm offended about this. ECMAScript is still the best programming language for the web. 1. Backwards compatibility. 2. Supports TC's proposal 3. Less bugs 4. More features than JavaScript
Hey when you're showing us code, you should zoom in several times. A lot of times I'm watching TH-cam on my phone, or in a window to the side. Small text can be difficult to read in that format. You can zoom in on VS Code with command=
Hey Clément, I am an applied mathematician working at finance that programs in Python and R. I really like the content like this; though I'm not interested in applying to a tech company, I appreciate the input you give to the community. Keep it doing...for me to subscribe!
I'm like 80 videos in deep to a React course and am at the debugging parts -- I'm also mid-way therough a MEAN stack course, and this video is giving me very good supplementary context for why typescript is great
Lol I thought your were serious at first and I was like wtf?😂 One other thing I like about typescript is that when used with frameworks like Angular, it serializes and deserializes custom objects pretty well. Cool video Clem! I finally subscribed!
Not gonna lie, you had me in the first minute; credit to you keeping a good poker face. "Reasons why I'm not a fan: Typescript basically eliminates 90% of bugs. It kind of takes away the challenge and the fun from coding" 😂 was so confused at first
So much fun, I try to understand the concept and the life changing brought by TS without needing to undergo actual coding because I just want to know how it is really different from a vanilla JS. You are the only one who showed to me what is TS in a nutshell in a very understandable to a strong typed PL programmer point of view.
thnx Clement. the reason people aren't subscribing to your channel is probably because your channel IS NOT a tutorial channel like traversy media or mycodeschool. I think if you put more tutorial videos that give specific knowledge in algorithms and technologies, then you'll see a surge in subscriptions
You could put type checking and invalid type error handling on all your arguments at the beginning of every function, as well as branching for overloading different types, but that just clutters your code. If you are the only person using your functions, you could make sure you only pass the right types of arguments, and just rely on fixing runtime bugs, can work ok if those bugs appear early in the runtime progress. Not the best, but can work ok, and I've been using that. Been thinking about migrating to typescript.
You have an amazing portfolio. Can you make a video on how to stop procrastinating and get stuff done? Coz that's one thing that is pulling me down a lot
thanks I was leanring it and was feeling what is the big picuture of all this extra stuff I am doing. You're video really got me out fog and focus on the goal of why I am ading TS to my tools
It seems ironic to me that the languages that have strict type systems always look for ways to soften the type requirements, but the languages with soft typing end up needing firmer type requirements. Microsoft was like "JavaScript needs stronger types, we're building a whole new language superset", while the C++ committee was like "we're gonna, expand templates, add more overloading, create std::auto, and std::any types, and most recently concepts to the language, so that our strong type system is easier to work with."
At it’s core, typing is free unit test for your codebases. None of the bugs would happen if you wrote unit tests. The thing is, when a team is not bothering with unit testing the shit out of their code, they generally don’t give a fuck about their typing. I have seen many typescript filled with any, many java code filled with map and angry casting. Funny how typescript truly helps a team that has already unit testing since it frees them from many tedious coding, but make a lot of noises at the hands of team that doesn’t care in the first place.
But... those type problems can still happen in prod (because it's still just javascript at runtime). But now you no longer have unit tests covering those areas?
@@aussieexpat No those problems won't happen in production because you've already fixed it. And typescript will not cover you in production because it just translates your code into normal javascript.
I dislike typescript. Everything you have to do for typescript is more verbose and really the worst part of programming. And your unit tests need to cover typing issues anyway because in production, typescript is just javascript so all the same bugs apply with respect to unexpected data.
What happened to the whole functional paradigm push? Now every js dev wants types lol it was probably a bunch of C# folks who wanted the familiar types to make the transition to js easier.
Bro, Im not going to lie. You got me at first. I was like 'finding bugs before runtime? sounds chill.' then you said something about challenging yourslef as a developer and I swear to the almighty I heard David Goggins calling laughing at me and calling me weak on the back of my mind.. thanks man this video helped me a great deal. take love
Such an incredible good explanation! Fun, educational and to the point. I was trying to get through a very boring video on LinkedIn Learning about Typescript. This is much better! Thanks a lot, I've subscribed and look forward to watching more videos 😊
I think I was that person when Clement said 80% of people !!! , 80%!!!! who watches his videos are not subscribed, and I decided to smash that red button😁
I want to thank you so much for making this video and I tell that I really enjoy that I like this video of yours pretty much in many ways. - You have a very interesting introduction about typescript that I would say that make it so unique. - You have presented and answered most of the questions for guys that first hit themself with typescript like me. - I really like your way and gestures while explaining thing that make me laugh so much lol. Thanks again. Great Job !!!
I recently checked my stats and made the observation that 90% of the videos I watch mention that they've recently checked their stats and they've made the observation that 90% of people who watch them are not subscribed.
Only thing I at times dislike about typescript is that sometimes I just want to use something as an "any" object and have to force it. It is a very small issue
Is there a way to automatically compile Typescript code in vscode? I installed an extension but it didn’t do anything and I HATE having to run npm run build every time I make a small little change
I am absolutely a typescript fan and work with it across the whole stack. I personally believe that angular has and will always have a better use of typescript integration. However, I prefer React as my front end framework/library of choice. However, Node on the backend, specifically with the Nest JS framework and GrapQL ensures everything is type safe and amazingly reliable. Nest also follows the dependency injection and file architecture that angular has popularized. Therefore, Nest, which wraps Express, includes amazing scalability and integrations in the Express ecosystem so well. My tech stack of choice is Mongo or PostgreSQL with TypeORM or TypeGoose, NestJS, React, TypeGraphQL, and Apollo Server and Client, as well as Redux...all with TypeScript and Jest for tests. Keep up the great work! Btw, if you haven’t already, I’m a huge fan of using Apollo Federation for a micro service architecture for a combined and federated data graph.
Really cool video! That's so great you combine jokes and really useful stuff! That what makes it so interesting to watch every time. What do you think about "unknown" vs "any" by the way? Are there any cases when "any" is better in your opinion?
Damn. Just started learning Javascript, I was scratching my head about these exact issues. I figured I'm just being a noob and not understanding, but something about it seemed like a fundamental problem/weakness of Javascript. I feel validated after learning about the existence of Typescript. =)
Oh me god. Yes Clément, you got me. I 95 % read first few comments before watching the video, but this time there was a magic spell on the video. Even though video was an year old, I watched it without reading comments, and I fell for the joke :D
HAHAHA!!! I was so annoyed at the begining but I was listening on my headphones when I walked into another room so I couldn't change it. This is my first time watching your videos, it auto played. I appreciate your video though once I realized you weren't off your rocker..!!! Lol
This is very helpful in understanding the value of adding Typescript to a development toolset. I would have bumped up the font size a couple of notches. Edit: I just configured Accessibility preferences in Mac to provide Zoom using scroll gesture plus control key modifier. Yay.
Typescript is cool except when it does not work and you spend time figuring out what's wrong just to realize it is an issue in Typescript not being able to put 1+1 together (figuratively). I remember many times refactoring some code and then just finding out I cannot do that because of Typescript. Also if you are working with some libraries that are autogenerating types you can easily get to unreadable error messages (C++ template issues are actually easier to grasp) and the "... 13 more ..." is also not helping. I work with TS but I don't share the love.
😏
I was legit curious about the reasons and it was starting to make some sense somehow until you reminded me it was April Fools lol.
almost had to unsubscribe until the April Fools announcement made it ok
You got me. I was like "Why tf would he migrate his entire code base to TS when he hates it???" and then I looked at the date. TS is soooo much better to work with
you got me
Could you make a video about your thought on post graduate studies as a software engineer
I was so confused when you were saying "TypeScript is bad because it eliminates errors." lmao
I know many C++ programmers that actually say things like this with a straight face.
@@bobbycrosby9765 they are right
@@bobbycrosby9765 Might assert what kind of errors. Easy typos especially when variable/member names might be really close getting a type error is just what is needed at compile time. Easy to agree it isn't a magic silver bullet, any bit helps. My biggest reason i hated javascript for so lot was all the string assignments without any type checking...
Same, I was like WHAT?
Finally a guy who shows the code instead of blabbering whats good and bad.
just make sure to put this at the top of every file and everything should work:
/* tslint:disable */
🤣
Good effort Clément but you're going to have to try harder to convince me TypeScript is good, I'm not buying it.
1. TypeScript code is hard to read therefore hiding bugs
2. JavaScript has types too
3. TypeScript error messages are cryptic
4. TypeScript is a tax on your time
Not gonna lie, I legit thought this was a serious comment for the past hour. It just hit me that this is just a next-level April Fool's joke 🤦♂️But wait...this _is_ a joke right?!
@@clem sure is, ben is a big typescript enthusiast
I'm offended about this. ECMAScript is still the best programming language for the web.
1. Backwards compatibility.
2. Supports TC's proposal
3. Less bugs
4. More features than JavaScript
Your video got me too @Ben Awad
@@clem He got you
Junior JS Dev: "Why I'm seeing this unreadable error in console?"
Senior JS Dev: th-cam.com/video/QLxw-2dVUsE/w-d-xo.html
Hahahahahaha 😂😂
Loll
lol ; D
"Because JavaScript doesn't give a f..." those intentional cuts get me every time.
Hahah me too! I had laughed so hard
😎
I smashed my head on my keyboard hearing that.
Lmaooooo this one killed me tooooo xDDDD
I was going to defend TypeScript with my life after hearing what you said at the beginning. Well you fooled me.
Sijan Dyola Same I was about to go ham.
Hey when you're showing us code, you should zoom in several times. A lot of times I'm watching TH-cam on my phone, or in a window to the side. Small text can be difficult to read in that format. You can zoom in on VS Code with command=
Thanks for the feedback; I had actually zoomed in already, but clearly not enough! I'll be sure to do it more next time!
Clément 5 months ago:
"Redbull please sponsor me"
Clément nowadays:
Has 3 monster cans in the background 😂
Well thats because RedBull *didn't* sponsor him
First 1.5 minutes made me laugh a lot. Clem you are the best
Hey Clément, I am an applied mathematician working at finance that programs in Python and R. I really like the content like this; though I'm not interested in applying to a tech company, I appreciate the input you give to the community. Keep it doing...for me to subscribe!
I'm like 80 videos in deep to a React course and am at the debugging parts -- I'm also mid-way therough a MEAN stack course, and this video is giving me very good supplementary context for why typescript is great
Lol I thought your were serious at first and I was like wtf?😂
One other thing I like about typescript is that when used with frameworks like Angular, it serializes and deserializes custom objects pretty well. Cool video Clem! I finally subscribed!
Mission accomplished; and agreed, that's an additional benefit! Awesome to hear that you subscribed! 💪
Fun fact: I got this recommended almost exactly one year later. It still feels like being fooled on april fool's day.
Not gonna lie, you had me in the first minute; credit to you keeping a good poker face.
"Reasons why I'm not a fan: Typescript basically eliminates 90% of bugs. It kind of takes away the challenge and the fun from coding" 😂 was so confused at first
So much fun, I try to understand the concept and the life changing brought by TS without needing to undergo actual coding because I just want to know how it is really different from a vanilla JS. You are the only one who showed to me what is TS in a nutshell in a very understandable to a strong typed PL programmer point of view.
I always love watching your videos when ever i feel discouraged
How about a video explaining javascript frameworks like React and Angular and your experiences with them? Btw, im subscribed 👌🏼
I'll try to do that! And awesome! 👌
thnx Clement.
the reason people aren't subscribing to your channel is probably because your channel IS NOT a tutorial channel like traversy media or mycodeschool. I think if you put more tutorial videos that give specific knowledge in algorithms and technologies, then you'll see a surge in subscriptions
The true april fools is when at 10:19 you say google and my android is like "I'm listening, whats up?"
You could put type checking and invalid type error handling on all your arguments at the beginning of every function, as well as branching for overloading different types, but that just clutters your code.
If you are the only person using your functions, you could make sure you only pass the right types of arguments, and just rely on fixing runtime bugs, can work ok if those bugs appear early in the runtime progress. Not the best, but can work ok, and I've been using that.
Been thinking about migrating to typescript.
You can also use TS with nodejs.
I'd say it's even more useful and easy to use on backend
OMG, my Google internship will be based on TypeScript!!
You have an amazing portfolio. Can you make a video on how to stop procrastinating and get stuff done? Coz that's one thing that is pulling me down a lot
just get shit done bro
I already watched this when you put it out, I'm watching again AND I FELL FOR IT AGAIN
thanks I was leanring it and was feeling what is the big picuture of all this extra stuff I am doing. You're video really got me out fog and focus on the goal of why I am ading TS to my tools
It seems ironic to me that the languages that have strict type systems always look for ways to soften the type requirements, but the languages with soft typing end up needing firmer type requirements.
Microsoft was like "JavaScript needs stronger types, we're building a whole new language superset", while the C++ committee was like "we're gonna, expand templates, add more overloading, create std::auto, and std::any types, and most recently concepts to the language, so that our strong type system is easier to work with."
At it’s core, typing is free unit test for your codebases. None of the bugs would happen if you wrote unit tests. The thing is, when a team is not bothering with unit testing the shit out of their code, they generally don’t give a fuck about their typing. I have seen many typescript filled with any, many java code filled with map and angry casting.
Funny how typescript truly helps a team that has already unit testing since it frees them from many tedious coding, but make a lot of noises at the hands of team that doesn’t care in the first place.
But... those type problems can still happen in prod (because it's still just javascript at runtime). But now you no longer have unit tests covering those areas?
@@aussieexpat No those problems won't happen in production because you've already fixed it. And typescript will not cover you in production because it just translates your code into normal javascript.
I'm proud of myself I just started learning programming and was able to spot the bug.
Take this cookie
That's another great video Clem. Your so enthusiastic and explain stuff really well on all your videos. Impressive.
Finally I have a better understanding of typescript after coming across it so many times in articles/other videos
If you like Ts that much just try C# is made from the same person :) Also for frontend devs now you can use it with webassembly
When you said you weren't a fan of TS I was actually smashing the like button lol
From the get-go I knew you were messing around, it is impossible to not like TypeScript. It is hands down the best practice guys and gals...
I dislike typescript. Everything you have to do for typescript is more verbose and really the worst part of programming. And your unit tests need to cover typing issues anyway because in production, typescript is just javascript so all the same bugs apply with respect to unexpected data.
I love Dart, would be easy to learn TypeScript to widen my skill on web development
I just cannot see the beauty of typescript code you wrote while using my phone to watch this beautiful video... thx....... :)
The first step to learning TypeScript : learn JavaScript. How do you learn JavaScript? by using TypeScript 🌹
Paused at 7:56 - the bug is that you didn’t dot into the data object to access the message property on line 9.
I think I finally understand the hype with Typescript after watching this. Good work!
What happened to the whole functional paradigm push? Now every js dev wants types lol it was probably a bunch of C# folks who wanted the familiar types to make the transition to js easier.
One of the few guys who do their job 100%! Excellent work & very usefull information! Thank you!
so informative and really well explained, you should create some coding tutorial man!
Bro, Im not going to lie. You got me at first. I was like 'finding bugs before runtime? sounds chill.' then you said something about challenging yourslef as a developer and I swear to the almighty I heard David Goggins calling laughing at me and calling me weak on the back of my mind.. thanks man this video helped me a great deal. take love
Your expertise in the stuff, experience with tech giants like google and facebook, it's all visible in the way you speak. That confidence comes along.
This is an old video but thanks clement for persuading me to study typescript!
After seeing that graph, I literally hit the subscribe button. Thanks for all the free content.
Such an incredible good explanation! Fun, educational and to the point. I was trying to get through a very boring video on LinkedIn Learning about Typescript. This is much better! Thanks a lot, I've subscribed and look forward to watching more videos 😊
Love your positive energy! You definitely got me
I think I was that person when Clement said 80% of people !!! , 80%!!!! who watches his videos are not subscribed, and I decided to smash that red button😁
When you applied to Google, what programming languages did you know? And which language did you plan on using as an engineer at Google?
new to code, so have no idea what this is lol, but eventually will learn about it in the future
Ok, you kinda got me😔
wow! This is the best explanation of TypeScript I've seen. Thank you for this.
What technologies does algoexpert use on the backend?
what is the IDE that is being used in this video ?
Not even a front-end engineer, but you've convinced me to hop into the Typescript pool.
Clement’s videos are the best! Can we get a setup/ desktop tour ?
In Lockdown period.
i am watching your video
it's realy helpfull clem
The first guy to make it interesting
and here I have already started development of my web app in typescript
Perfect!
Thnks btw stay safe
am i the only person who is trying to find useful details in his jokes, by repeating the video multiple times even after it's fully watched.
I want to thank you so much for making this video and I tell that I really enjoy that I like this video of yours pretty much in many ways.
- You have a very interesting introduction about typescript that I would say that make it so unique.
- You have presented and answered most of the questions for guys that first hit themself with typescript like me.
- I really like your way and gestures while explaining thing that make me laugh so much lol.
Thanks again. Great Job !!!
watched your Apr 1 video, and you twisted my arm, so I subscribed... Your awesome and I love your energy.
i screamed in disbelief when you said it eliminates 90% of the bugs and thus THE FUN
Really useful vid! I now get Typescript! Thanks :)
Today on an April day I watched the video and found it great. Very very well explained. Thanks :)
1:40 you could be right :) But if you like eliminating bugs and runtime errors than Elm has to be up there with the best thing to happen to Frontend!
I recently checked my stats and made the observation that 90% of the videos I watch mention that they've recently checked their stats and they've made the observation that 90% of people who watch them are not subscribed.
This is the best video that describes the TS and it's power :-)
nice arguments about the use of Typescript nowadays. keep going with this nice job.
Only thing I at times dislike about typescript is that sometimes I just want to use something as an "any" object and have to force it. It is a very small issue
Is there a way to automatically compile Typescript code in vscode? I installed an extension but it didn’t do anything and I HATE having to run npm run build every time I make a small little change
I am absolutely a typescript fan and work with it across the whole stack. I personally believe that angular has and will always have a better use of typescript integration. However, I prefer React as my front end framework/library of choice. However, Node on the backend, specifically with the Nest JS framework and GrapQL ensures everything is type safe and amazingly reliable. Nest also follows the dependency injection and file architecture that angular has popularized. Therefore, Nest, which wraps Express, includes amazing scalability and integrations in the Express ecosystem so well. My tech stack of choice is Mongo or PostgreSQL with TypeORM or TypeGoose, NestJS, React, TypeGraphQL, and Apollo Server and Client, as well as Redux...all with TypeScript and Jest for tests. Keep up the great work! Btw, if you haven’t already, I’m a huge fan of using Apollo Federation for a micro service architecture for a combined and federated data graph.
Also, one other thing. I would use generics for each of the use state hooks, or break them into a use reducer and use a generic similar to redux.
Thanks for the Typescript demo Clem
Stay safe in NY my friend!!
Trying to!
Best Explaination on youtube!!!
Really cool video! That's so great you combine jokes and really useful stuff! That what makes it so interesting to watch every time. What do you think about "unknown" vs "any" by the way? Are there any cases when "any" is better in your opinion?
Damn. Just started learning Javascript, I was scratching my head about these exact issues. I figured I'm just being a noob and not understanding, but something about it seemed like a fundamental problem/weakness of Javascript. I feel validated after learning about the existence of Typescript. =)
Lol glad you’re okay. I was wondering why you hadn’t put out a new video yet. Stay safe man.
yeah you got me
10:07 react is not a framework its a javascript library , but this video is amazing...
Oh me god. Yes Clément, you got me. I 95 % read first few comments before watching the video, but this time there was a magic spell on the video. Even though video was an year old, I watched it without reading comments, and I fell for the joke :D
ok you got me. liked and subscribed! Love the channel Clement. Will buy AlgoExpert Web Development package soon!
If I want to start learning Type script, where should I start?
Been on Typescript and Angular for three years. Love it but dont understand how can “interfaces” extends “classes”.
HAHAHA!!! I was so annoyed at the begining but I was listening on my headphones when I walked into another room so I couldn't change it. This is my first time watching your videos, it auto played.
I appreciate your video though once I realized you weren't off your rocker..!!! Lol
you got me clement
Amazing video Clem. Doing it today! Question: why didn’t you build ALGOEXPERT up using typescript from the beginning?
“Because JavaScript doesn’t give a f...” -> Subscribed.
This is very helpful in understanding the value of adding Typescript to a development toolset. I would have bumped up the font size a couple of notches. Edit: I just configured Accessibility preferences in Mac to provide Zoom using scroll gesture plus control key modifier. Yay.
I really like your style, thanks for sharing your knowledge.
can someone tell me which font is this
Nice video! Thanks for the intro to typescript 😄
Typescript is cool except when it does not work and you spend time figuring out what's wrong just to realize it is an issue in Typescript not being able to put 1+1 together (figuratively). I remember many times refactoring some code and then just finding out I cannot do that because of Typescript. Also if you are working with some libraries that are autogenerating types you can easily get to unreadable error messages (C++ template issues are actually easier to grasp) and the "... 13 more ..." is also not helping. I work with TS but I don't share the love.
Should I learn typescript first? or javascript?
you know when you're a developer when you have 4 sugar free monsters on your desk. same bro. same
Your videos are awesome. I've been watching them without subscribing. I did today.
not subscribing should be punished by decapitation…Seriously this is hands down the best channel on TH-cam 👏
If you could start over you would’ve built AE with vanilla Typescript, or with a framework like Angular?
5:44 made me literally lol