
TypeScript at Slack - joubert
https://slack.engineering/typescript-at-slack-a81307fa288d
======
pbowyer
Previous discussion:
[https://news.ycombinator.com/item?id=14091843](https://news.ycombinator.com/item?id=14091843)

------
lambdaxdotx
News flash: Strong statically typed languages make software engineering
easier! ... wait, this is not really "news", is it? Anyway, I'm happy that
well known companies are advocating it.

------
andyjohnson0
Can anyone offer an opinion on how mainstream is TypeScript? Is familiarity
with it likely to be useful to companies who use plain JS? And does TS tend to
be used across the stack, or it is used more for front-end or back-end?

I keep trying to get my head around javascript, and each time end-up walking
away metaphorically shaking my head in disbelief. I suspect that this is
because my background is in languages like C/C++/C#, so I'm wondering whether
TypeScript might provide a way in for someone like me.

~~~
dagw
_I keep trying to get my head around javascript, and each time end-up walking
away metaphorically shaking my head in disbelief._

Which parts are you having problems getting your head around? Typescript
doesn't change anything fundamental about the language (especially if compared
to ES6), but does add a bit of nice syntactic sugar and (optional) compile
time type checking, which is really handy for catching certain bugs and making
your code easier to read and reason about. Typescript's big advantage (and
disadvantage) is that it is a strict superset of JavaScript. This means that
all your existing JavaScript code is already valid Typescript code and so you
can move your code from JavaScript to Typescript in small incremental steps.
The downside of this is it places some limits on how the language can evolve.

If you want a web language that 'feels' closer to C++ or C#, your best bet is
probably to check out Dart.

------
msoad
I genuinely can't work on projects that are not using TypeScript anymore. I
feels weird but I can't trust myself making changes.

~~~
mikekchar
I spent most of my career in statically typed languages. It was in that
environment that I learned TDD. I still think that TDD is really valuable in
that arena. I work mostly with dynamic languages now. Working without TDD in
that arena seems downright crazy to me.

Michael Feathers put it best in my opinion. You want to have a kind of vise on
your code so that you can hold one part in place and be able to reason about
the other part. Tests give you that ability.

Static type checking eliminates the need for a whole class of tests. It's
great. The key, though, is that the type annotation system has to be
convenient and readable. Lately I've been playing with Haskell derived
languages and it's really incredible how much you can push into the type
system. But it's important, I think, to realise that this is a convenience.
You can still do it all by hand if you have to. It's always a balance of what
you can do efficiently with language syntax and what you can't.

Or, maybe a bit more concisely, if the language doesn't help you, you can
still help yourself. It takes more code and more discipline, though.

------
be5invis
Wait, isn’t using TypeScript politically incorrect? It is made by MS!!

------
uranian
Again? Is this the new Typescript promotion channel?

~~~
merb
No this is Hacker News, where people can write interesting or uninteresting
blog posts (& more) and share it with others. There is a simple way to filter
out stuff that isn't interesting for yourself:

don't click it, read it and upvote it and especially don't make unnecessary
comments.

~~~
uranian
By your own means, you've just made an unnecessary comment

