It looks like the ultimate hack, but why not ? It's very creative and the intention is good as well: TypeScript/JavaScript is a very popular language. Though C#.NET is great as well.
It could make sense in the very long-term that Microsoft themselves explore this possibility.
Ultimately "TypeScript.NET or JavaScript.NET"
I’ll double down on the urge to drop TypeScript. That pile of nonsense came from the classic OOP folks - “But where are my TYPEs!? How do I know what type that variable is!?” (first the Java/C++ folks then the .NET folks “solved” the brain fuzz around functional programming and dynamic types by giving you TypeScript)
Having been out of the m$ ecosystem for some time, I’m kinda surprised HTAs are still around, I’m guessing to avoid breaking things. Once .NET started taking off - I always assumed that would replace the VBScript side of things and let you build proper, elegant system interfaces for your JavaScript app. I really imagined the goal was to drop Windows forms/object controls - but I always imagined BATTLES at m$ over being able to create Windows “apps” that didn’t conform to native UI controls, couldn’t be controlled through Windows theming engines, etc. kinduva brand control battle. I always imagined some team going “NOOO, just build a web app, you’re breaking all the UI rules!!!”
Someone clearly hasn’t worked in any sort of sizable code base. Come back when you are writing something spanning hundreds of JS files and where it takes you three times the time to verify that any small change isn’t a typo or wrong type off from a runtime error. TS heavily speeds up the development cycle by bringing an entire class of errors from runtime to compile time and that has nothing to do with OO and inheritance.
Simply put, TS is an infinitely better and safer language to develop in and it took the web world by storm for a reason. People didn’t decide to switch en masse for shits and giggles and you should realize that just because you have a different view does not mean that everyone else around you is wrong.
> m$
Seriously? It’s 2024, and we’re all adults. This does nothing but water down your point.
I would expect this to have very limited compatibility, and even with the transpiling, very limited performance. Or is it possible for this to somehow use Chakra, or Edge's V8 engine?
Nifty project, but IMHO the world is better off using native JavaScript without all the BS that comes with TypeScript, etc. JavaScript is so powerful and amazing, it’s a bummer to hamstring your app by using TypeScript and classic OO inheritance models that preclude the beauty and dynamics of JavaScript as a functional, prototypal language.
The idea that Microsoft was attempting to turn JS into an object oriented C# clone was a very common objection in the early days of TS (especially since one of the lead developers on the project is also the primary architect of C#). That objection ended up being completely false. TS aims to type check the full gamut of existing JS, and embraces all of the language's quirks and idioms. There are people doing serious functional programming in TS with libraries like fp-ts and effect (which is basically the TS version of Scala's Zio). If this is your primary objection I would give TS a second look.
Ita clearly great for large orgs and interchangeable devs.
I think you have outdated view of TypeScript. Using generics and conditional types you can model the "beauty and dynamics" pretty well, without any OO pattern (if you wish so).
Ugh. Well if you will start spouting nonsense about JavaScript being better without Typescript then you can hardly be surprised when people correct you can you?
Would you complain about "airbag warriors" or "gps warriors" if you were making comments about how driving a car without them was so much better and GPS and airbags are BS?
Typescript is no more OO than JS is. Typescript is simply a way to document, and optionally compile time enforce, what fields objects have and what objects methods/functions take in and return.
That is all TS does. It documents what is already there so you don't make typos on field names.
Lately I'm writing a project w/o typescript and I spent an hour finding a bug the boiled down to "tilewidth" vs "tileWidth". (The code didn't explode until much later when a computed value didn't exist)
That is the type of bug TS prevents from ever happening.
A linter would do the same, way better and faster.
do you think javascript was just too easy and people had to invent some bs to make it more interesting for no reason? You don't even know what you're talking about when you make the connection from ts to oop.
My experience comming into javascript is that it's a garbage language and the web stack was a joke, everything was hard for the wrong reason (css centering things kinda stuff)
All these modern tooling, though complicated, is not new in NORMAL programming and makes sense, so you cow boys learn to deal with it.
JS was certainly never a “garbage” language but the elegance is unappealing/unappreciated by entire classes of developers. I totally get the perspective, but it’s all based on a worldview that just doesn’t get functional programming