Why I Was Wrong About TypeScript • TJ VanToll • GOTO 2018

preview_player
Показать описание
This presentation was recorded at GOTO Copenhagen 2018. #gotocon #gotocph

TJ VanToll - Developer Advocate at Progress

ABSTRACT
In 2014, I made a strong argument that TypeScript was destined to be irrelevant and that my company should not use it in any of our projects.
Fast forward to 2018 and we use TypeScript for, like, everything we build at Progress, and I am no longer a source of trustworthy information.
In this talk we’ll discuss why I was wrong. Specifically, we’ll take a look at why TypeScript succeeded where other compile-to-JavaScript languages like CoffeeScript and Dart have languished, and what that means for future of the technology. Come to learn [...]

Download slides and read the full abstract here:

RECOMMENDED BOOKS

#TypeScript #mobile #ProgrammingLanguages

Looking for a unique learning experience?

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Рекомендации по теме
Комментарии
Автор

Cut to the chase: 27:41. Cheers for making this public!

sidhree
Автор

Well structured, well researched talk with nice historical context for newcomers to this space.

paulalexwilson
Автор

I use the typescript compiler, to check my jsdoc type definitions. But until now, I never wanted TS to be a hard requirement for my projects as I always saw it just like the new coffeescript... My opinion is changing now.

sanderd
Автор

I did not know that you were the inventor of typescript, happy to know

MartinKramer-ffmt
Автор

I didn't know about control + click to go to a func def! Thank you!

aaronbell
Автор

I think you made the right decision, at the time. Now I don't know, but at the time it was absolutely correct.

LaloMartins
Автор

My two cents:TS promised a lot, and it's great with type safety ... but! if you allow your team to use the type any, you will end up with something as I did some days ago, I found a boolean with "true" instead of true which believe it or not brought some problems. By using any you can "violate" type safety to a level I find dangerous because you will code believing you are "safe" where you are setting yourself up to a big slip.
And when I saw a colleague solve a problem by accessing private members of a class by casting it to any (sure at the end of the day is javascript) and give it the value it needed to give. (not going to argwe the 100 levels of wrong that he did, I wasn't his boss).

So TS is great if any is banned (but can you really, specially with Angular which uses in it's code 'any')>

TS promises order where JavaScript allows chaos, but only if your team follows the rules (which until today I haven't found one that does to 100%).

edgarsantos
Автор

Worth noting that Deno (Rahl's next version of Node, fixed) has core TypeScript support.

rwxrobfun
Автор

i was so confused that typescript is worth it or not and wanted to learn it but now im clear that it is worth my time owo

Maya_ni_Ochiru
Автор

I was forced to use CoffeeScript once & it took me longer to understand what I was writing compared to TypeScript. I enjoyed working with TS & wouldn't hesitate working with it again. Those saying JS is fine haven't worked in large code bases with LOTS of other devs.

LAYG
Автор

1. outdated d.ts (most of them are because most libraries are not natively-typescript)
2. broken/inaccurate d.ts (most of them are because noone wants to rewrite the entire library)
3. terrible type inference (cannot understand that some object matches the complex interface), you have to cast sometimes

TS makes me less productive
TS make me frustrated, less happy, sick of doing my job

I have experience of writing 10s of thousands of code in TS and 100s of thousands in JS.
Sometimes it's helpful (debugging, breaking builds because of mistypes, fast refactoring) but in my experience it wastes much more time than it saves. I know developers that spent weeks struggling with making TS happy where in JS you wouldn't have any problems. The issue is that it's not native both for the underlying language and libraries. I'd be glad to better have a REAL statically typed language (not a handicapped "superset") like client-side Golang or even Swift/C#.

HungrysitesRu
Автор

Thanks for an interesting talk, but at its core, the thesis (given at 24:00) isn't exactly new in JavaScript tooling land: something was evaluated on its popularity (or lack of) and origin (the then-evil Microsoft), rather than its technical merits. There has been tumultuous churn in the ecosystem for the better part of a decade, and only recently has the community learned to slow down and rally around best-of-breed tooling, rather than constantly jumping between hype trains. We're still developing the sense of technical appraisal and long-term viability over npm download count.

MarkLeMerise
Автор

It's more interesting to hear why you thought you was right. It's easy to hook on already known advantages. When you have no arguments this presentations only proofs your naivety according new technologies.

DustinDeus
Автор

Wow -- had no idea Trello was written in CoffeeScript

eatfruitsalad
Автор

title should be: Why I was Wrong About TypeScript: Because I work in marketing for a company that offers typescript conversion and need to keep my job and I wanted to get your attention through a click-bait title and subliminally pitch my company's offerings to justify my talk.

danielzaretsky
Автор

I am writing this after viewing the first 25 minutes. I will revisit after watching the second half. I am pretty new to the Web side of programming. I wanted to learn the basics to get a web site up. I liked the idea of Java Script on the Front end and on the Back end. I did not want to learn the extra tool chain of Type Script to use Angular 2. So I have only used Angular JS. I am sure TS is not that painful to learn and gets the job done. I just had to draw the line at how many new pieces I was going to learn. It is interesting to see why TS won the battle over Dart and Coffee Script. It sounds like MS wanted a piece of the action and slipped in something oh just so slightly better from what I gather from this video. Then fast moving companies had to adopt something ? and now they are committed to this tech and promote it. I am sure it is good enough. I may be committing suicide by just using the old tech but my project is small. Thanks for the TS adoption video.

After finishing the video, I will most likely direct my energy to move to TS. I watched a video on Setting up WebStorm to use TS and it was crazy full of gyrations to get it to work. Probably run it in pass thru mode for a bit and take TJ's advice and slowly add features. Thanks for the video !

Ipadstands
Автор

This guy would be a nightmare on the team

HeatSeekingMouse
Автор

Most of stuff initially presented in Typescript were migrated slowly but steady to JS with each new ES/ECMA standards.
Example: using () =>, class etc.

So given time, browsers will support all these Typescript features directly in JS, BUT with backward compatibility.
So.. why I need Typescript again ? Sure, I could need/use it RIGHT NOW. But trends show, it will become obsolete.

ilooi
Автор

Some things are incorrect here.

1. If we are using interfaces and generics; there is a steep learning curve for Javascript developers. It takes quite a bit of time and some developers can keep iterating continuously over interfaces.

Advantages of typescript

1. If you have same variable used at a lot of places (coupling - nested via components in react), then typescript interfaces make it easy to refactor and rename those variables.
2. Auto-complete is pretty good. I think typescript is great for writing complex libraries. (I think auto-complete should work if my library is in typescript and my code is not)

It may be an overkill for a simple application (unless you are clear on where you want to use typescript and where you don't want to use typescript). It can see that it does scale well for big codebases and large teams (but so would flow, which is 'opt in'). Disclaimer: I have used typescript, but I have not used flow in a project (so far)

navalsaini
Автор

"Java, C#, Ruby" -- all languages I dislike. Haha, I actually liked Javascript.

steve_seguin