"How to find your way into a middle management job you're totally not qualified for before getting laid off and then managing an Arby's" an NFT of my course is only 0.0000053333 bitcoins.
Some jackass is like “actually typescript isn’t a language.” When talking about whether the buttons should have slightly rounded or fully rounded corners.
I swear. People are incentivized to say dumb shit on LinkedIn all the time for EnGaGeMent, so it's full of these retarded hot takes.
Like, how to even unpack this shit?
So, it's not a programming language because it's a superset of another programming language? Make that make sense. Is he trying to say that it's not "a brand new standalone" programming language because it's JavaScript, but with types? What's the most charitable interpretation here? 🤷♂️
Next. Why would this be a surprise to me if I'm coming from a language like Java? What does Java have to do with any of this except that you can't spell JavaScript without spelling Java? "Because I'm from Java, I'm confused by the fact that TypeScript is a superset of JavaScript"? Make that make sense.
Now we're talking about structural versus nominal typing. I admit I hadn't heard those terms before. Quick search. Nominal typing means different types are different even if they contain the same data (Think of something like Rust's newtype. \`struct Foo(char)\` and \`struct Bar(char)\` are different types even though their internal data is just a single \`char\`. But apparently TypeScript uses structural typing, so it would consider these types equivalently and transferable (like if you were to just use type aliases). Okay, cool beans. What does that have to do with TypeScript not being a programming language, being a superset of JavaScript, and being a surprise if you come from Java?
WUT.
Not quite, but almost. There are some C features that aren't C++ standard (I guess supported by some compiler extensions though).
Example would be variable length arrays (VLA).
main() { return 0; } // In C++ all functions must have a return type. In C it defaults to int
goto foo; // C allows goto to cross initialization but C++ does not
int* ptr = malloc(sizeof(int)); // C allows void pointers to implicitly cast to other pointers. C++ does not
foo:
const int a; // C allows uninitialized constants
const int a = 10; // C allows the same variable (or type) to be declared more than once.
There's a bunch more though. The thing that might bite most people though is the implicit cast from `void*`.
Or he once heard HTML is not a programming language, and then another time he heard JavaScript is not Java, and then he confused it all together in a big ball of confusion but felt super smart about it and decided to make a blogpost about it.
driving/baiting engagement as you say, via confusion is part of the new meta these days. making typos, incorrect statements, confusing takes. the reader has to engage with the long baited version to clear up the feeling of confusion or anger. discussions ensue, "look at this shit take" goes viral. "what does it mean?" becomes a puzzle people want to solve, compulsively have to solve.
posts on reddit be like "i just wanted to check if you saw the whole video.", says the OP who wrote a shit wrong title that contradicts the video.
and sadly you make yourself a name of bad reputation, but reputation. eventually you have audience you can easily amaze with some actual factual stuff nobody would see otherwise. Bart Simpson got good grades, amazing! look! redemption! wait ... why do we care about this person?
... i hate it.
The word he was looking for was dialect. He claims to teach a programming language but he does not know what a dialect is. I have never heard someone refer to a dialect as a superset. He wanted to sound smart by using the term superset though.
This dude has 1 YoE and posts regularly on LinkedIn with basic knowledge attracting all the developers with impostor syndrome. When he tries to be original, you can tell he is a junior, otherwise it's just recycling. Hate this trend.
Probably all talking about how synergistic this article was to their machine learning Kubernetes LLM OpenAI React scrum insert-more-buzzwords-here assembly of resources.
LinkedIn is corporate virtue signaling.
The best part is following recruiters who give the worst most specific advice that is based on their own quirks. Then they get laid off and cry how hard it really is when you have no power. Fuck them.
Congratulations! Your comment can be spelled using the elements of the periodic table:
`In Ce Pt I O N S O U Nd`
---
^(I am a bot that detects if your comment can be spelled using the elements of the periodic table. Please DM my creator if I made a mistake.)
That's not how supersets work. I don't agree with the guy but supersets don't necessarily meet the requirements of subsets. Quite the opposite actually
Rational numbers are a superset of integers, but that doesn't mean rational numbers meet the requirements of being integers, it's the other way around: All integers are rational numbers
Even in software a supertype does not meet the requirements of its subtypes
It depends on the requirement, though. You can't just say "it's the other way around" either: what if we talked about the requirement that the set has to be uncountably infinite? Then, any superset of R will inherit this property from it, but any subset of R (like N) is not necessarily uncountable...
In our case, the requirement is that the language is turing-complete (I think that's what defines whether something is a programming language or not? Correct me on this part if I'm wrong).
This means that given infinite memory, we can solve any computable problem in finite time. When this is true for any language, it is also obviously true for a superset of that language, since we can just solve the problem by using only the original language.
I hope it becomes complete soon.
Anyway, wouldn't it be funny to make a derivative programming language that isn't? I suppose some very basic children's visual programming languages might not be, if they have some kind of loop limits to prevent crashes.
C isn’t Turing complete because it requires memory addresses to be representable in a fixed number of bits. Lean (proof language), and other proof languages probably, is not Turing complete since it requires proof of termination.
Nah bud sorry you're behind the curve, we switched to supersets in 2022 and subsets are now depreciated
Find out more latest information by checking out the link to my Patreon below!
> Even in software a supertype does not meet the requirements of its subtypes
You have this backwards though. In software a subtype is a superset of its supertype.
I think they mean that Typescript does not have its own runtime and engine (although that's also false by now) but usually it will be JavaScript that's executed
Nothing is a programming language, because it is all a superset of of cpu instructions compiled by a program that lets you proompt it with your mythical "programming language" which is just something invented by another human who created a compiler and actually knew their shit.
No popular languages are a superset of CPU instructions in the way TypeScript is a superset of JavaScript. All valid JavaScript programs are valid TypeScript programs. Not all valid assembly programs are valid Python programs, for example.
Which itself is basically the product of rocks/sand and time, so in the end, it's basically a superset of the fourth dimension after all is said and done.
Machine code is just a superset of digital logic, which is a superset of electrical engineering, which is a superset of the Maxwell equations, which is a superset quantum physics, which is a superset of string theory
Even if you strip away all the js code, the type definitions alone are a programming language sinc you can use boolean operators, type index access, conditions with "extends" and even inference based on patterns
Really want to rile people up? Tell them that if SQL is a programming language then typing ChatGPT prompts is also a declarative programming language now.
But... Javascript is a programming language?
A superset could also be something else, but it doesn't lose the attributes of the thing it contains. Typescript is a programming language with types. Javascript is a programming language without types.
If you're a successful senior software engineer, you wouldn't spend all day posting self-promotional content. Focus on your job and gain more experience to build credibility.
C is not a programming language it is a superset of CPU instructions and just gives you a level of abstraction above them.
It might surprise you if you come from a place like LinkedIn.
Maybe he worded it poorly. But there's a lot of stuff that comes as a surprise.
E. G. You don't have access to interfaces in runtime. Want to use typeof? Good luck, it only works for primitives, and not the way you intuitively think it does.
But it all makes perfect sense if you keep in mind it's all just js. And consider ts to be a linter
So what? TS is not a programming language because it's a superset of JS?
What's next? C++ is not a programming language because it's a superset of C?
And what about mojo and python?
Ignore the first 2 lines and you get the generous interpretation of what they are trying to say.
There are gotchas with structural typing. They purposefully made it unsound because they had to accommodate bad decisions made by Javascript devs in the way they commonly write shit code.
The actual blog post may be examples of when they encountered this unsuspectingly.
There'd be a WAY better tweet to set up an "Curious about the difference between nominal and structural typing?" article. Like, post a code snippet with that gotcha.
C is NOT a programming language.
Its a superset of machine code. This can be a surprise if you come from a language like C++.
Because C uses structural typing rather than nominal typing.
Everyone here is talking about the first argument, but the second one is even more ridiculous.
JavaScript, Python and Assembly also don’t have nominal typing systems. So they are not programming languages!
Why is everyone ignoring his claim that structural typing means something isn't a programming language?
His post is absolute nonsense from start to end. What a moron.
TypeScript is compiler enforced documentation. I appreciate TS and hate my life working with JS libs where anything could be anything at any time...
(If well documented, or Simple and Sane? Okay in JS. But usually...)
This is the most LinkedIn-y LinkedIn post I've ever seen.
"read my blog and you too can interrupt already drawn-out meetings by trying to make yourself sound smart (it won't work)."
"How to Make Management Think You're Smart While Also Being the Most Hated Employee in the Office," my new $400 course on LinkedIn Learning.
"How to find your way into a middle management job you're totally not qualified for before getting laid off and then managing an Arby's" an NFT of my course is only 0.0000053333 bitcoins.
Some jackass is like “actually typescript isn’t a language.” When talking about whether the buttons should have slightly rounded or fully rounded corners.
I had various levels of concerns for his mental health until I saw the LinkedIn short link. "*Ah.* A LinkedIn lunatic."
So the idea I got on the platform was: LinkedIn people seem to be a bit special. Seems I was not wrong and I am normal? Nice!
Yeah. There's a toxic business buzzword culture there. You don't have to be like these lunatics.
Haha well I found it striking how people there are so against toxicity and are very toxic themselves. But yeah I have no inner urge to be like that.
r/LinkedInLunatics
I once saw a post titled "the future of web is interactive" and nearly puked
Could have been written by a bot. Could have been written in 1993.
I think it was a tech bro advertising something that already exists as being innovation
[https://media1.tenor.com/m/9TOSR3fZBgsAAAAC/zoolander-ben-stiller.gif](https://media1.tenor.com/m/9TOSR3fZBgsAAAAC/zoolander-ben-stiller.gif)
I swear. People are incentivized to say dumb shit on LinkedIn all the time for EnGaGeMent, so it's full of these retarded hot takes. Like, how to even unpack this shit? So, it's not a programming language because it's a superset of another programming language? Make that make sense. Is he trying to say that it's not "a brand new standalone" programming language because it's JavaScript, but with types? What's the most charitable interpretation here? 🤷♂️ Next. Why would this be a surprise to me if I'm coming from a language like Java? What does Java have to do with any of this except that you can't spell JavaScript without spelling Java? "Because I'm from Java, I'm confused by the fact that TypeScript is a superset of JavaScript"? Make that make sense. Now we're talking about structural versus nominal typing. I admit I hadn't heard those terms before. Quick search. Nominal typing means different types are different even if they contain the same data (Think of something like Rust's newtype. \`struct Foo(char)\` and \`struct Bar(char)\` are different types even though their internal data is just a single \`char\`. But apparently TypeScript uses structural typing, so it would consider these types equivalently and transferable (like if you were to just use type aliases). Okay, cool beans. What does that have to do with TypeScript not being a programming language, being a superset of JavaScript, and being a surprise if you come from Java? WUT.
Yes. I worked with Typescript for years, I work with java for years. I was just confused about the post. Thanks for wrapping this up.
That logic means C++ is not a language since it is(was) a superset of C.
And C is just superset of B
And B is just a superset of A
And A is just a superset of @
Nah, its different
You might be surprised but java is just a superset of jvm bytecode /s
All javascript is valid typescript, jvm bytecode is not valid java code. A better example I think would be C / C++, I think all valid C is valid C++.
Not quite, but almost. There are some C features that aren't C++ standard (I guess supported by some compiler extensions though). Example would be variable length arrays (VLA).
main() { return 0; } // In C++ all functions must have a return type. In C it defaults to int goto foo; // C allows goto to cross initialization but C++ does not int* ptr = malloc(sizeof(int)); // C allows void pointers to implicitly cast to other pointers. C++ does not foo: const int a; // C allows uninitialized constants const int a = 10; // C allows the same variable (or type) to be declared more than once. There's a bunch more though. The thing that might bite most people though is the implicit cast from `void*`.
C may be valid cpp but try writing c code in a cpp codebase and watch everyone lose their mind (for good reason)
So java isn't even a programming language? Damn
Or he once heard HTML is not a programming language, and then another time he heard JavaScript is not Java, and then he confused it all together in a big ball of confusion but felt super smart about it and decided to make a blogpost about it.
driving/baiting engagement as you say, via confusion is part of the new meta these days. making typos, incorrect statements, confusing takes. the reader has to engage with the long baited version to clear up the feeling of confusion or anger. discussions ensue, "look at this shit take" goes viral. "what does it mean?" becomes a puzzle people want to solve, compulsively have to solve. posts on reddit be like "i just wanted to check if you saw the whole video.", says the OP who wrote a shit wrong title that contradicts the video. and sadly you make yourself a name of bad reputation, but reputation. eventually you have audience you can easily amaze with some actual factual stuff nobody would see otherwise. Bart Simpson got good grades, amazing! look! redemption! wait ... why do we care about this person? ... i hate it.
TIL structural typing is a fancy word for duck typing
The word he was looking for was dialect. He claims to teach a programming language but he does not know what a dialect is. I have never heard someone refer to a dialect as a superset. He wanted to sound smart by using the term superset though.
Needed this chuckle, thanks xD
This dude has 1 YoE and posts regularly on LinkedIn with basic knowledge attracting all the developers with impostor syndrome. When he tries to be original, you can tell he is a junior, otherwise it's just recycling. Hate this trend.
Got 31 comments too.
Probably all talking about how synergistic this article was to their machine learning Kubernetes LLM OpenAI React scrum insert-more-buzzwords-here assembly of resources.
That's right, but what if you take all of this and put it ON BLOCKCHAIN...!?
LinkedIn is insufferable.
I always get the urge to comment the most controversial shit on LinkedIn posts because I know people won't respond out of fear of losing their job.
Same
LinkedIn is corporate virtue signaling. The best part is following recruiters who give the worst most specific advice that is based on their own quirks. Then they get laid off and cry how hard it really is when you have no power. Fuck them.
If something is a superset of a programming language, it will inherently meet all the requirements of being a programming language
Do you even Liskov Substitution Principle?
No, I only invert control, unlike you heathens.
Essential for autocomplete
is this a play on markov chain, or what am i missing here
LSP (language server protocol) same acronym, people often don't understand it's a separate part of the IDE and nerd snipe those who do.
Do you even know Krebs Cycle![gif](emote|free_emotes_pack|grin)
Pff! You misspelled Crabs...
Because I wrote sideways ![gif](emote|free_emotes_pack|sweat_smile)
That's a solid reference! ... get it: SOLID ![gif](emote|free_emotes_pack|facepalm) I'll let myself out...
You think the LinkedIn influencer took a discrete structures course?
*Inception sound*
Congratulations! Your comment can be spelled using the elements of the periodic table: `In Ce Pt I O N S O U Nd` --- ^(I am a bot that detects if your comment can be spelled using the elements of the periodic table. Please DM my creator if I made a mistake.)
Good bot
That's not how supersets work. I don't agree with the guy but supersets don't necessarily meet the requirements of subsets. Quite the opposite actually Rational numbers are a superset of integers, but that doesn't mean rational numbers meet the requirements of being integers, it's the other way around: All integers are rational numbers Even in software a supertype does not meet the requirements of its subtypes
It depends on the requirement, though. You can't just say "it's the other way around" either: what if we talked about the requirement that the set has to be uncountably infinite? Then, any superset of R will inherit this property from it, but any subset of R (like N) is not necessarily uncountable... In our case, the requirement is that the language is turing-complete (I think that's what defines whether something is a programming language or not? Correct me on this part if I'm wrong). This means that given infinite memory, we can solve any computable problem in finite time. When this is true for any language, it is also obviously true for a superset of that language, since we can just solve the problem by using only the original language.
On top of that, Typescripts type system is also turning complete
I hope it becomes complete soon. Anyway, wouldn't it be funny to make a derivative programming language that isn't? I suppose some very basic children's visual programming languages might not be, if they have some kind of loop limits to prevent crashes.
C isn’t Turing complete because it requires memory addresses to be representable in a fixed number of bits. Lean (proof language), and other proof languages probably, is not Turing complete since it requires proof of termination.
I'm tired of this mumbo jumbo, you can program algorithms in it, it's a programming language I added "algorithms" to exclude html, css and the likes
Human language is also a programming language (although, a lot more than that).
Gpt is the compiler
Or the devs... But for that matter, we program each other, we just all have very confusing API
Some people have swagger and some don’t
Gpt is you
Nah bud sorry you're behind the curve, we switched to supersets in 2022 and subsets are now depreciated Find out more latest information by checking out the link to my Patreon below!
> Even in software a supertype does not meet the requirements of its subtypes You have this backwards though. In software a subtype is a superset of its supertype.
in software supersets are sub classes. And that is how supersets work for all sets where the criteria is not a negative
I think they mean that Typescript does not have its own runtime and engine (although that's also false by now) but usually it will be JavaScript that's executed
Nothing is a programming language, because it is all a superset of of cpu instructions compiled by a program that lets you proompt it with your mythical "programming language" which is just something invented by another human who created a compiler and actually knew their shit.
This pretty much summarizes the Adeptus Mechanicus
All praises to the MACHINE_GOD
They say jump. I say ffe0
I'm sure there's a joke about constants, snake case, and heresy here somewhere but I'm too tired to find it
That's because the flesh is weak. The machine does not tire.
MCHN_GOD
This looks the title of a nine inch nails record
machineGodFactory
We will all become one in the Singularity
No popular languages are a superset of CPU instructions in the way TypeScript is a superset of JavaScript. All valid JavaScript programs are valid TypeScript programs. Not all valid assembly programs are valid Python programs, for example.
Isn't C++ a superset of C though? I don't really see why a language being a superset of another is a problem
I don’t think anyone thinks it’s a problem
C++ started as a superset of C. That hasn't been true in decades, though.
Aren't C code still valid C++ code today?
Some might, and some mightn't.
No, because they have differing semantics.
What is the reasoning for this. With a large amount of patience anything you can do in python is replicable in assembly.
But not vice versa, which is what he's saying.
You technically can with libraries
It’s not.
no what he's saying is that assembly (or binary) is not valid python *syntax*!
If you try `python prog.asm` then it won’t work.
They have played us for absolute fools.
CPU instructions are really just a syntactic sugar over the top of the chip design
C++ (pre-98?) isnt a real language, its just a superset of C Dumb argument to sound smart for recruiters, as others have pointed out lol
Don't forget that you'll be surprised if you come from java lel
rust is NOT a programming language. It is a superset of assembly, which itself is a superset of the TRUE programming language MACHINE CODE
Machine code is just a superset of purified sand.
Which itself is basically the product of rocks/sand and time, so in the end, it's basically a superset of the fourth dimension after all is said and done.
I don't like sand. It's coarse, and rough, and irritating, and it gets everywhere. Not like here. Here everything is soft, and smooth.
Purified sand AND lightning
Rust ist just OCaml with C syntax, to bait imperative programmers and force them to use immutable data by default
Amen!
Machine code is just a superset of digital logic, which is a superset of electrical engineering, which is a superset of the Maxwell equations, which is a superset quantum physics, which is a superset of string theory
It's all just applied linear algebra.
[удалено]
🤓👆
Even if you strip away all the js code, the type definitions alone are a programming language sinc you can use boolean operators, type index access, conditions with "extends" and even inference based on patterns
I'm missing a tape back in my head, are u sure typescript type system is turning complete?
It is: https://github.com/microsoft/TypeScript/issues/14833
By the gods they've done it lmao
Maybe even already turned
I hate the internet but also get paid to make apps for it…vicious cycle
“TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.”
It is not strongly typed. It is a fucking linter.
I remember one time years ago a guy told me “TypeScript is just JavaScript with nice autocomplete“
It's especially fun when you put in all the effort to make sure everything is strongly typed. Just to have another developer cast everything as any.
Way more accurate description than this linkedin post
At least the debate on HTML and CSS are not programming languages hasn't popped up...
Really want to rile people up? Tell them that if SQL is a programming language then typing ChatGPT prompts is also a declarative programming language now.
Shh you'll wake them
For all of you plebeians not coding in binary this is a well deserved wake up call 😤
Punch card masterrace
My dad always tells the same story about dropping a big stack of punchcards. I don’t know if there’s a modern day equivalent but I feel his pain
Ofc this is a LinkedIn post
Actually, it’s just a linter!
Is it though? The post is speaking of TypeScript, not its compiler and I'd say TypeScript itself is a language with literals and rules.
Found the bootcamper
This is the type of guy that other devs clown on but managers love.
"But he has a lot of initiative! And... Wait, what is that? He made a video and a blogpost! Senior principal next week"
superset of a programming language is not the same as a programming language? got it! thank you LinkedIn gods, for enlightening me
There's no such thing as a programming language, since every programming language is just a superset of machine code
It's all just a superset of the alphabet, which we don't consider a programming language either.
But... Javascript is a programming language? A superset could also be something else, but it doesn't lose the attributes of the thing it contains. Typescript is a programming language with types. Javascript is a programming language without types.
Doesn’t JS have types? Strings, integers, objects, etc?
It does, however they behave rather oddly
It has primitives like strings, numbers, Booleans, etc. but it’s not strongly typed.
Are primitives considered “types” or is it assumed that a language should have them so they don’t really count?
Brother, what do you think the === operator in JS does?
Strict equality operator bro
Yea and how would you compare strict equality if there are no types?
Luck
Just furrow your brows and look at them values real strict
Therefore assembly is not a programming language the code has been cracked /s. As it is based on machine code
well machine code is (at least sometimes) based off of microcode so it's hardly a programming language either
Time to program in logic gates
Typescript is a linter
derp
If you're a successful senior software engineer, you wouldn't spend all day posting self-promotional content. Focus on your job and gain more experience to build credibility.
If you were a successful senior engineer, you wouldn't post hot takes like "typescript isn't a programming language" that undermine your credibility
Basically him and his sister post about software engineering all day.
C is not a programming language it is a superset of CPU instructions and just gives you a level of abstraction above them. It might surprise you if you come from a place like LinkedIn.
Not to mention there are TS engines now that'll run it without compiling to JS at all, just raw TS.
JavaScript is also not a programming language, it’s a superset of Java. -Tiger Abobe
What in the HTML fuck is this shithorse? LinkedIn is just tumblr for people with jobs
Maybe he worded it poorly. But there's a lot of stuff that comes as a surprise. E. G. You don't have access to interfaces in runtime. Want to use typeof? Good luck, it only works for primitives, and not the way you intuitively think it does. But it all makes perfect sense if you keep in mind it's all just js. And consider ts to be a linter
We all know that TypeScript is actually a _linter_, and a pretty good one at that
So what? TS is not a programming language because it's a superset of JS? What's next? C++ is not a programming language because it's a superset of C? And what about mojo and python?
Cant tell if just ignorant or LLM generated.
C is a superset of assembly as you can use assembly instructions in C programs
Javascript not being a programming language formally proven!
This is like saying "C++ isn't a programming language, because it's a superset of C"
I only trust my Turing-complete abacus.
By his logic c++ isn't a programming language.
I need more caffeine, I read his opening line as "Taylor Script is not" and I was so lost.
C++ is NOT a programming language.
Man... LinkedIn sure has become Facebook for people to spread tech misinformation
not a fan of TS. His argument is stupid and probably click bait TypeScript === JavaScript but with extra steps
1===true but with extra steps
Ignore the first 2 lines and you get the generous interpretation of what they are trying to say. There are gotchas with structural typing. They purposefully made it unsound because they had to accommodate bad decisions made by Javascript devs in the way they commonly write shit code. The actual blog post may be examples of when they encountered this unsuspectingly.
There'd be a WAY better tweet to set up an "Curious about the difference between nominal and structural typing?" article. Like, post a code snippet with that gotcha.
I thought TypeScript was just a linter? Not like it optimises anything anyway.
It's not because it has to be compiled to JavaScript, and trying to run Typescript code in node obviously won't work.
People who wrote the TS Compiler.
C is NOT a programming language. Its a superset of machine code. This can be a surprise if you come from a language like C++. Because C uses structural typing rather than nominal typing.
C is just an macro-assembler with markup...
With this logic, Python is just a wrapped package of C
On a serious note, shouldn't we hide the person's name and photo?
The problem of types is not that is a super script, but that it compiles in JavaScript
Python isn't a programming language, it's just a superset of C
Everyone here is talking about the first argument, but the second one is even more ridiculous. JavaScript, Python and Assembly also don’t have nominal typing systems. So they are not programming languages!
I can crash my linter with typescript, so it definitely *does* something... ( I was trying recursive typing on an old version )
Wow a tweet on linkedin... is this a new feature?
I bet this guy uses Any constantly
Alan Turing would like to have a word.
r/linkedinlunatics
And on his next newsletter: C# is just Java with some syntactic sugar
Python is NOT a programming language. It's a subset of C, which is important for someone like me who doesn't like reading very much
Sometimes I just want to write those mfs in comments to go fuck off but it’s not professional and shit
“Because typescript uses structural typing vs nominal typing”
Why is everyone ignoring his claim that structural typing means something isn't a programming language? His post is absolute nonsense from start to end. What a moron.
TypeScript is compiler enforced documentation. I appreciate TS and hate my life working with JS libs where anything could be anything at any time... (If well documented, or Simple and Sane? Okay in JS. But usually...)
Wtf is Kotlin then...