DEV Community

Desone
Desone

Posted on • Edited on

Why Typescript Vs JavaScript discussion is still hot?

At the end some like this or that but: Is Typescript like an extremist religion or a theocracy?

Is there Typescript discrimination ?

If you are a JavaScript developer and if you have recently been to a job interview, you might have noticed Typescript is quite bold in the questions specially for large organisations. In a majority of interviews you will be either asked explicitly about your consent of Typescript or you will be asked opinionated questions about advantages of Typescript over JavaScript.( like "What are top 3 dvantages of Typescript over JavaScript?" or "Why do you prefer Typescript over JavaScript?" !!). Unless you are a Typescript lover, there are politically right and wrong answers to those questions in these interviews. While Typescript like anything else might have its own goods and bads, pros and cons, every experienced job-seeking developer knows that interviewers try to detect if you would have any resistance to Typescript and reject you in that case. Even if you explicitly say "you will follow the workplace coding conventions and guidelines" they will try to read your mind or detect if you are not a Typescript fan and that will be a negative point if not eventually wipe out your opportunity. Why is that ? And what does this mean?

Is there Typescript extremism ?

If you are not a Typescript fan at a technical discussion space, (chatroom, forum or community) it is quite controversial to question Typescript. While I know a lot of programmers who are unhappy with Typescript, they normally do not dare questioning it because they know the consequences might include personal or a top down organisational attack. In fact more than 60–70% of answers to a question about Typescript, will target the person who asked the question rather than being about the topic or the technical discussion posed inside the question or objection.(for example you are dumb or fool, you do not know about typescript, who let this guy in?, This topic is not allowed in this room, looks like you have never done professional programming, you are a low level …. etc etc).There are lots and lots of examples for that but for a handy one look at this article "Typescript doesn't make sense". Again , Why is that and what does it mean?

Analogy of Typescript with a Theocratic extremism ( or Religious Ideas)

JavaScript developers removed

This is all because Typescript is quite a controversial subject even after dominating a lot of software development workplaces a lot of programmers not yet convinced to use it or do not feel it is the right thing to do for development. At the other hand some developers might like it and with the help of Typescript loving developers, there is a push, a dictatorship or lets say a woke-ness movement about Typescript which is making developers scared inhibiting their opinions.
I prefer not to say which religion I am comparing Typescript to because I cannot confront both religion fanatics and Typescript fanatics here. However I am assuming majority of people would know which religion is which uses violence and terror. I cut it here and I leave it to individuals.

Divisive

Once they happen, both Mismal and Typescript divide people like hell! You are either with them or against them. Despite "Mismal" itself saying believers of other religions can live with "Muismils" in a Mismalmic society, you notice atheists as well as mild Muismils running away from Mismalmic countries. Despite Typescript saying it can co-exists with JavaScript and .js files can co-exist with .ts files! in a Typescript repo, you will see fanatics enforcing their own flavour and subset of Typescript and making the rest of it forbidden. That's why you will see even mild Typescript lovers facing problems with fanatic typescript lovers and getting removed form teams.
You'll never find this kind of situation in Budhism, or in Hinduism, or with C/C++ or bash scripts or even JavaScript. Heaps of people used them or left them or never used them and no one ever enforced to do something. There is no love and hate in a good tool,Just you might find it useful and use it to the extent it helps you, or you find it not fit for your purpose and don't use it!

They are not as vital to the world as they claim:

Theocratic opinions normally claim saving the world and saving the humanity from a proposed danger while world was quite fine if not better without them. Even if some of them result in some useful changes, it comes as side effects or it is minimal compared to the pain they cause and the resources they consume.
Typescript happened in a world of perfect JavaScript development. Applications were there and even Angular and React were there with almost the same capabilities as today(of course older versions) but there was no impossible in those days that Typescript made it possible and no problem in JavaScript solved by Typescript. The fact that a JavaScript program runs without types persists to remind us of Typescript stepped in as an arbitrary unnecessary extension while everything was already working fine.

Rise of the prophet:

It is always controversial. Some of them are told to be best living people of their era while followers admire and adore them, non-believers and followers of other prophets always question them.
Typescript introduced by Microsoft! along with VSCode as a gift to the open-source community! which we all know was obviously Microsoft's rival for quite a time with a long history of problems. I do not have much to say about Microsoft as it is quite well known and its famous founder and former CEO Bill Gates is also very familiar to everyone caring about programming and computers. So was Bill Gates one of the best people of his era? up to you. How much did Microsoft care about open-source community and how much they love diversity of tools and programming again up to your own research.

Followers think they are better people than non-followers (Idea of moral programming)

It is told that Religious people are better than atheists or even better than believers of other religions! (Yes I know!) Before inventions of Typescript programmers were bunch of misled people. They were not using types which are a vital part of (even in untyped scripting language!) programming and it was causing a huge misfortune! and loss! (but they could not understand and some still don't!), but everything was fine and even more fun. These morality claim and ethical arrogance is a common thing between religion and Typescript extremists. Once they are summoned in a workplace or in a society, They start claiming all goodness and claiming other people are evil or irresponsible people doing sins or using untyped variables! and hence they should convert to Typescript or be removed physically.

Morality source/target is idealistic and above practice and humanity

Ask a Muismil:
You kill kidz and women, you sell people to slavery and you give them a miserable life and you never contributed to human progress. How do you claim morality with all bad things you do to people?
Ask a Typescript fanatic:
You spent double time to write a code that does the same thing, less readable code and less understandable, you remove test or make it very difficult and your code is more prone to break in the same situation that a TDD code. You compile and assume type-safety! on an untyped scripting language and you pretend to do OOP on a total different paradigm and other than JavaScript not being similar to something else! you never solved a problem( like related to productivity or ...) How do you claim to have a better structured code by inserting so many anti-patterns or be more productive with doubled size of non-understandable code? How is this even possible ?

Listen to the answers and you'll find out, The good code they talk about is not for productivity or for features or user experience. They think of some morality which is above humanity! and some goodness in coding beyond productivity and user/developer experience. You might be alright earning good money and helping people in your life but Bahlah who is sitting up there in the sky is unhappy! and you are committing sins! Your program might be working fine and your code is tidy and readable clean and is fully tested and helps users easy to change, but TS! Goddess is not satisfied and it is not Type-Safe!
Once their religion started, it claimed happiness for human kind! Now everything is floating in the sky!

Forcibly assert it as Just practised by followers is not enough

If you do not follow that religion, other people seeing you committing sins is a sin itself! Here we go! you are encouraging them to commit sins! Like you do non-typed JavaScript makes Typescript not being so fruitful for the ones wanting to use it! They do all the typing but your code has any in it! So in the same repo, you not doing typescript is not OK for others wanting to do typescript even If you as a JavaScripter are OK with them doing Typescript! (What a beautiful extension it is!). That's why you should either do what they want or you should be removed from the team. They are the good people, you are the bad. You cannot leave in a country that believers live ( having your own religion or be a non-believer). You will soon be detected as a threat, A source of bad habits, An encourager of sins. You are a bad role model for kids, you are trapping people into your satanic thoughts and your are source of people loosing their faith etc…

If you don't want it you either don't know or you are evil

Image description

If you tell believers of those religions that you just don't want to worship their God and don't want to go to their paradise or you are not afraid of the threats which they claim exist after death!. What happens?! They come up with one of these 2 reactions:
1- You have a good heart but you are ignorant. You do not know how passionate their God is and how joyful is a believers life both before and after death! because you would love their way of living if you knew. Like If you don't want to use Typescript, you possibly missing the point and need learning more about programming for that and you don't know how amazing it would be to put an "any" in front of everything and how amazing it feels when your JavaScript code doesn't work for just Typescript being unhappy with it and make your code 3 times longer to do the same thing rocks!! Just it is soooo satisfying suit and lovely.
2- You are evil! (Normally this comes after you reject first offer!!)You must be killed or tortured to death or be jailed for the rest of your life. You are a savage ridiculing Holly God! You are a dumb irresponsible programmer not caring for the boss or company and one who does not know the proper programming and You must be punished and thrown out of your job! because you are against structured , type safe and well documented code (That works without all those and you can see it is still well structured by the way!!) which are apparently like breath and bread for the life of organisation and you are a disgrace, hence your employment must be terminated!

If good that's why religion said it, But when it breaks its your fault!

When you see something nice in your code repo, it is because you used Typescript! They told you to use it exactly for this and similar reasons. and you really were lucky that you converted to this religion and here you just found out yourself ( Actually your opinion and self determination by itself counts for this occasion).

Image description

But If there is a situation that Typescript doesn't work! like many many many cases, you know what?! You were not responsible enough to use Typescript correctly because your lazy ass wrote just 100 (pages of useless types) while 120 was needed! Therefore Shut Up and stop criticising a religion which is coming from God. God knows everything and no way he said something wrong!

No one ever saw it delivering

Perks of following those religions in this world(Development time life before death) are either not perks or are very minimal compared to the effort and changes requested and all the Perks promised to be delivered after death (runtime)are never witnessed!
Like Typescript perks in development time are either not perks or can always be obtained with much less expense and effort elsewhere and the type-safety it promises is never seen at runtime.
Their lovers think it is a spell checker or if you are passing an instance of a Database-Server instead of an integer to a function! there will be an alarm! (provided that you have annotated them), well, suit , but simply code wouldn't work or tests would fail if you had bothered to write one!

Some developers become fanatics and extremists

Try to criticise and question logically in a Typescript environment ( If you feel safe about your job security, I won't pay you if you get fired) and Try to criticise or logically analyse that religion, at presence of its fanatic believers(If you feel safe about your life, I won't take care of your kidz if you get killed). You will know that the reaction you face will be exactly the same. You will be personally attacked in both cases by lovers of Typescript/Religion and they will normally will not think or answer what you asked about the Religion/!. The response in both cases will be "you are a crazy person" or "you don't know anything about many things!" or "you are somehow evil" or having a wild non-civilised behaviour or "Discussing this topic is harmful to community" or things like that.

Some fell in misery without limitations because they can't self-contain freedom!

Yep some do! like some people tell less lies when they are afraid of hell or … So, we need to threaten them and they become better programmers!
Common! It is even embarrassing to elaborate that. If you are not a JavaScript programmer, then use C/C++/Python/Pascal/ … Heaps of other languages there for you. Or just trust developers! or Go learn how to use JavaScript as it it or … . Educate people to admire humanity instead of threatening them with an imaginary Hell and giving them false promises for after death! JavaScript does not have types! and runtime type safety is not delivered by Typescript they are all fairy tales. Use tests to know where or when your code works and use science and logic to have a good life. Heaven does not send you gold or a pretty girlfriend. Education and effort and a good plan would do!

Advertisers are easy on you but once you convert you are trapped in

In some religions there is a death penalty for someone converting back ( getting out or putting off the religion) while when the advertisers come to you they always say it won't be a big deal, it won't have any major impact on your day to day life, you are well accepted as you are… things like this, but when you convert the demands start to raise and raise and there will be all inclusive non-stop pressure to change everything and if you want to stop it will become significant as a life or death game. For example, JavaScript is well accepted as Typescript!! you know why? because Typescript is an extension of JavaScript! 
You can get in by just saying "I Shadow an blah blaha blah blah" or changing file name from "file.js" into "file.ts" as simple as that! But once you get in, you need to type everything, then there are good practices that you will be forced to follow demanded by more senior follower and priests like use Generics, use interfaces, create complex types, arrays of types, use Typed libraries, avoid using any, avoid this and that and … and If you wanna stop guess what?!! you will have to re-write the whole repo because you'll then realise Typescript is not JavaScript!(not a reversible equation) and also there is death penalty for a person converting back out of that religion! Simply whatever told about JavaScript accepted as Typescript was a very low-likely edge situation that is unlikely to happen if not a 100% lie.

To show popularity Real lovers and fearful followers accepted

Once Typescript penetrated into environment, you will see a lot of developers not looking for trouble and therefore they never pose their opinion of liking or disliking it. There are also people that genuinely like it but for fanatics that does not matter. You should not open your mouth and start saying what you think and they are OK like Kim in Korea, Ayatollah in Iran and Putin in Russia. You are assumed to be a lover since no evidence to say you are not because If there is you will be physically removed from the environment.

People might love it not just because of personal matters

When it comes to personal ideas , I think everyone is entitled to his opinions and ideas whether wrong or right. it is up to people to keep or change them and I understand and respect that the same way I don't like Typescript, some developers might like it. Yep?! fine!
But some people, especially ones who push for religion/Typescript do not take side because they like to practice it or code using it! You would 100% agree if you had been to couple of workplaces with JavaScript/Typescript code with a push from higher levels of organisations and resistance from programmers. Religions help dictators to control the society, even in democracies candidates pretend to be believers to gain votes and hand-off IT overhead people all like it because of almost the same reasons. Once you find a subject like Typescript, there is money in going the same direction forced from top of the organisation or society beliefs. People show their adherence to Religion or Typescript they get promoted socially or by organisation position and salary, specially if they can show not everyone else is willing to follow the same path way. This makes a race for showing sincere for values like type safety!

What else Religious/Typescript people do have in common?

Saying hypothetical things like There are 4 pillars to the world which are our 4 holly brothers which are alive for 4000 years and there are 7 Skies and God leaves in the second from the top. Or writing heaps of extra code ( which is smoke in the air in at run time!) to do the same thing makes you more productive!
They go to interviews and reject people who are not followers. They attack you if you say anything against their values, they don't think about the value or it being right/wrong because they simply do not follow/un-follow it for right/wrong but for personal benefits. Typescript extremists are analogous to extremist terrorists believing in that Religion and can do analogous things ( for example counter-parting murdering people in real life is reporting them for termination of employment because of not following strong typing)

Corruption, Oppression and Terror, ruined hope and entangled useless slave life

We are getting close to ends of the game! You will know that it was all a lie to ruin your life and code repo and make it machine readable to give some insights into your code and some hints to buddies like SonarQube or other AI linters, taking away your freedom, creativity and joy of life and making you follower/slave of some predefined patterns or corrupt governments and criminal groups. 
There will be no joy in development or beauty in your life as every joyful thing is ruled out or is forbidden and all your moves are detected and assessed by big linting giants. Your once friend colleagues which are religious fanatics now will report you to execution (or termination of employment ) if you do not follow the instructions.
Your firm is as non-productive as a desert and all your managers can do is to buy a solution from Big Criminal Organisations!

From a believer's diary:

First I was developing using JavaScript and I was introduced to TypeScript and at start I hated it that I need to put type on everything while it was not necessary for code but after learning it and using it I have now got used to Types and I am using VSCode hints and Typescript finding spelling errors and displacement of params (Typescript is not anti-productive as I was thinking)and I liked it and I feel JavaScript was weird and I cannot imagine going back to plain JavaScript plus re-writing all converted code will be difficult.
First I was living as a non-follower and I was introduced to Mismal and I hated it at start because It was forcing me to to ... and ... but after brothers forced me in and the first days pain was over, I became an ISBIS bride and now I have 3 children Mumhannad and Oymar and Oslman and I am boss of birth organisation in ISBIS(Mismal is not anti-women as I was thinking) and I love my children and my Mumhamed is now an ISBIS fighter bringing home money. I think going back to old life is weird because I would not be able to see my children and impossible because Mumhammand will kill me and I would need to work hard while here we get money from criminal groups and people we kill and we have a good life under Uabllah o akhbarrt.

Top comments (15)

Collapse
 
jondubois profile image
Jonathan Gros-Dubois • Edited

Wow, all these points are spot on. IMO, TypeScript is used as an indicator for compliance. They want to hire developers who have no personal opinions of their own and, instead, will adapt all the mainstream narratives at face value without question.

The fact that recruiters don't want to hear about any shortcomings of TypeScript and look for the tiniest amount of resistance from candidates in order to disqualify them suggests that it's religious and not rational. Any rational person knows that any piece of technology has shortcomings.

Collapse
 
slobodan4nista profile image
Slobi

JS is lacking some key features, TS add most of them but it carries a lot of bloat.
TS is a window to possible JS future, we have seen its ups and downs.
Personally I use TS for benefits, but my lib-s are still pyre JS in hope that JS will move other way forward so my lib-s can follow.
About extreme selection, well company can decide on their tech stack, that was the case with Java, that is the case with Apple and Swift, that is the case with Linux foundation and C. In order to be efficient companies must make sure that everyone is on a same page. In that regard I don't see TS any different form those examples.
You may just ended up in a pool where everyone is using TS exclusively or React as another example. The market is bad for CS jobs but it is still better than most of other markets, so you may just fell the competition.

Collapse
 
desone profile image
Desone • Edited

This article is not technical critic for TS and not comparing it with JS. for that kind of discussion read this:
medium.com/@desphilboy/why-typescr...
What we are discussing here is: to what extent Typescript is an opinion and to what extent it is a technical tool.
Actually there are more on this, I am not able to say everything in a single article as it would become subject of faming and defaming big techs, but just spoke out to the extent I could.

Collapse
 
slobodan4nista profile image
Slobi

🍻

Collapse
 
miketalbot profile image
Mike Talbot ⭐

That is quite the rant...

Collapse
 
desone profile image
Desone • Edited

Yes it is!
I would get bored if it was not proportional to the fact.

Collapse
 
bwca profile image
Volodymyr Yepishev • Edited

I find your lack of faith disturbing (c)

P.S. I haven't encountered such extremism :)

Collapse
 
desone profile image
Desone • Edited

try to criticise and you will encounter.
For loosing faith look at this: medium.com/@desphilboy/why-typescr...

Collapse
 
bwca profile image
Volodymyr Yepishev

Nope, I won't, some points are valid. I simply like ts better. I could even add a couple more problems with ts, but I won't 🤓

Thread Thread
 
desone profile image
Desone

I am doing TS 4 years now, there are lots of problems but article should be kept short

Collapse
 
anderspersson profile image
Anders Persson

I have work at a Company where the project in it earlier state change from JavaScript to Typescript, main reason was types.
And i like both, i think if JavaScript add a good typesystem in the future maby Typescript roll will decrease.
At home i use DENO and it runs Typescript out-of-the-box so you don't have to parse TS to JS before running.

Collapse
 
desone profile image
Desone • Edited

Well, This is just about totalitarian behaviour, I am not discussing the Typescript itself (that much) However, there is nothing wrong with typed languages. I love C and Java and lots of others out there. The problem is when there is force to make an untyped scripting language a typed compiled non-scripting language!. The invasion happens also when OOP programmers are dumped out of OOP languages and a tool is trying to make OOP BE developer more productive at the expense of experienced JS developer less productive.
Typescript audience is mostly OOP developers, it enforces OOP into JavaScript (which is not OOP) and most experienced JavaScript developers find it hand tying.
For a tech critics discussion about TS look at this:
medium.com/@desphilboy/why-typescr...

Collapse
 
elhadji_sall profile image
Elhadji SALL

That is so spot on. TS devs usually come from an OOP background. They say it's a skill issue that we can't learn new things in TS but completely omit the fact that they themselves didn't fathom JS and decided to create an extra layer of ish on top of it

Collapse
 
iamspathan profile image
Sohail Pathan

Honestly, I don't agree. Two beautiful languages; one ranked higher.

Collapse
 
desone profile image
Desone

Well, not fully exactly. One is compiling to other. Even authors say it is a syntax extension. However I understand what you meant.
This is not a critic over Typescript as a tool, This is saying Typescript is an opinion or a paradigm rather than a tool.
Tools will not be loved or opposed at this degree, you cannot find anyone hating bash scripting or Java class library.
They might use it or not but there is no love or hate in fully technical tools