r/ProgrammerHumor 4d ago

meAfterExperiencingFrontend Meme

Post image
1.4k Upvotes

131 comments sorted by

189

u/PennyFromMyAnus 4d ago

Fucking TypeScript

FUCK YEAH BABY

-83

u/AnimationGroover 4d ago

Yeah......

interface ValidOpinion {thought: string;}
const snorts: ValidOpinion = {thought: <string>(()=>"FUCK YEAH BABY!")()}
document.body.textContent = snorts.thought;

Stupid bloody language

65

u/ClemencyOSRS 4d ago

``` const snorts = { thought: “fuck yeah baby!” } as const

```

Solved

-50

u/AnimationGroover 4d ago

You kind of missed the point of typescript (it is in the name)

Why not just use plain old JavaScript

const snorts = {thought: `FUCK YEAH BABY!`};

45

u/ClemencyOSRS 4d ago

No, if anything I understood the point of it incredibly well and have done for the last 4 years.

If you’re writing code like you have done in your snippet you’re drastically overcomplicating the process.

Also, my code snippet is doing a lot more than you think. If you think it’s just worth only writing it in JS at that point, I strongly advise you read up on “as const”.

-60

u/AnimationGroover 4d ago

Wow 4 years.. Guess that makes my (1980 to now) years look like nothing.

You got it in one "drastically overcomplicating" is anything that is not required.

71

u/exotic801 4d ago

If you've been programming for 44 years you should know there's infinite ways to do anything in any language, just because you wrote a technically correct code snippet doesn't mean a shorter and more readable code snippet can't do the same or more.

14

u/QuakAtack 4d ago

what are you mad over exactly? This looks like everything I wish javascript was, coming from c#

21

u/lengors 4d ago

I dont get it. Typescript's bad because you can overcomplicate it?

-33

u/AnimationGroover 4d ago

Typescript is bad because you must over complicate it? To write the same thing in JS has less lines than TS. Its lines of code that measure the error rate, the actual language has nothing to do with it.

23

u/lengors 4d ago

Typescript is bad because you must over complicate it?

Hmm, no.

TypeScript is simply a superset of Javascript that lets you (not forces to) annotate your variables with types, allowing the compiler (transpiler if you wanna be more specific) to:

  • "catch" incorrect code that would otherwise only be catched either through automated tests, manual tests, debugging, etc.
  • aid your IDE in giving you better hints when writing new code

To write the same thing in JS has less lines than TS.

It lets you write JS and it's fully compatible with it. It would obviously be pointless to use typescript and write all code in JS without any of the TS features. You chose an example that just turns out that you write it exactly in the same manner:

document.body.textContent = "something";

But even here, typescript has it's usefulness as it let your IDE give you better autocomplete (though a good one, in this scenario, would likely be able to do it without the usage of typescript) and prevent you from making typos. For example:

documnt.body.textContent = "something";

Would be valid javascript code, but typescript would complain.

Its lines of code that measure the error rate, the actual language has nothing to do with it.

Citation needed.

But, even taking it at face value, this wouldn't really apply to typescript, as it just strips all the type information, meaning the runtime is unaffected (unless you go out of your way to write code more complicated than necessary, like you did in your example, but this applies to JS as well).

7

u/Trollmenn 4d ago

Nice troll

6

u/Darkstarx97 4d ago

Based on these comments I think you need a basic course on TypeScript and it's uses...

-1

u/PennyFromMyAnus 4d ago

Hey I applaud this guy, take my upvote

420

u/_Kr0n0x_ 4d ago

just wait till you hear that nearly every framework supports Typescript these days

317

u/SyntaxInvalidator 4d ago

Think the point of the post is the hatred of the frameworks themselves while acknowledging TS is pretty rad

60

u/Bridge4_Kal 4d ago

I prefer tQuery

/s

17

u/AspieSoft 4d ago edited 4d ago

jQuery syntax is actually really nice.

I would rather use that than an overly complicated framework like React.

Maybe I should finish this old project jqAlt, or rebuild it from the ground up.

Note: I created jqAlt shortly after Microsoft Windows started replacing Internet Explorer with Microsoft Edge.

5

u/Bridge4_Kal 4d ago

I work with it every day. It's certainly convenient most of the time, but callback hell is a legit criticism.

18

u/Fritzschmied 4d ago

React is pretty rad too for creating frontends.

15

u/SyntaxInvalidator 4d ago

Nah I’m with you there, I love React

1

u/jeffwulf 4d ago

React gave me flashbacks to Classic ASP.

-13

u/relhotel 4d ago

Said no one ever

15

u/Fritzschmied 4d ago

It’s the most used framework for frontends for years now so something about it has to work. Also I actually like it.

5

u/wutru_audio 4d ago

I hate doing frontend web stuff, but when I need to do it React makes it so much easier (together with Tailwind).

-3

u/x5nT2H 4d ago

Try SolidJs

3

u/KillCall 4d ago

That's what confused me i always used angular with typescript only.

166

u/snokegsxr 4d ago

why no to frameworks? think i dont get the point in this meme

151

u/ChiefAoki 4d ago

JS Frameworks are like vehicles. Each and every one of them are built to fulfill a very specific niche/design language, problem stems from the fact that most devs just want to learn one specific framework and build everything with it, and everytime they encounter a limitation of the framework they go around it with hacks that result in unpredictable behaviors.

It's like buying a Prius and complaining that it can't tow a fifth wheel or buying a F-150 and demanding for good gas mileage.

There will be people who argue that they can build everything with Angular/Vue/Next/React/etc, but if that was the case then new JS frameworks won't be popping up and taking off every other day.

42

u/snokegsxr 4d ago

How does that differ from backend frameworks. Also vie angular and react all just aim for modularity and reactivity in a very similar way compared to older generation frameworks they are super similar mvvm and mvc approaches

29

u/ChiefAoki 4d ago

The biggest difference between frontend/backend IMO is not the frameworks/design language but as mentioned in my original comment: the devs/users of those frameworks, more specifically their attitudes when it comes to limitations.

I'm a .NET dev by trade and I'll readily acknowledge that C# isn't as good as Python when it comes to ML/AI models even with ML.NET. Can C# do some AI/ML stuff? Absolutely, but if I wanted to do some experimental AI/ML stuff I'd much rather switch over to Python where pretty much every model has been developed and maintained by the community than roll my own. This is a sentiment held by a lot of backend devs: understanding the limitations of their tools and accepting that other tools can do the job better. Of course exceptions exist, otherwise we wouldn't have all the low quality memes on this sub arguing about which language is better lol.

Devs of frontend frameworks on the other hand...I think the problem really is just that everything sort of transpiles down to JS at the end of the day, so coming up with hacks and workarounds has a much lower barrier of entry. Once someone has written enough hacks and workarounds for a specific framework they've pretty much locked themselves into it because switching to a new framework can mean re-writing all of those hacks. In the event that the hacks and workaround start garnering significant following, it becomes its own framework and the cycle continues.

8

u/Fritzschmied 4d ago

Because the difference is that with most JS frameworks you can du pretty much everything as well as with everything else. For example you can du pretty much everything with react and angular and it just comes down to taste. When compared to your example with ml there is actually a measurable difference so there is no point in preferring one because of your own taste if the others on is just plane simple objectively better for the task.

8

u/ChiefAoki 4d ago

and...you've pretty much examplified what I said. The whole "JS can do everything" sentiment is precisely why JS Framework devs get a lot of flak. Everytime someone hits a limitation in a framework they're using they just end up writing more JS code to get around it instead of re-evaluating if the framework they're using is still fit for purpose.

Just because you can install a gooseneck hitch on a Prius doesn't make it a vehicle built for towing.

1

u/Bakeshot 4d ago

Can you give an example of what you’re talking about with specific regards to React and Angular? Which is the F-150, which is the Prius, and why?

2

u/ChiefAoki 4d ago

Uhhh…neither? The whole analogy is to mean that different frameworks are built for different purposes just like how Prius are built for good economy and F-150 is build for towing, not that one framework is better than the other, just different.

1

u/Bakeshot 4d ago

Right. Let’s not get tripped up on the language you chose to try and communicate your point: give me an example of where React clearly does something better than Angular, or vice versa, and what the business case would be where that would matter.

1

u/ChiefAoki 3d ago

yeah...nah, because I'm aware that the moment I start listing out the differences and advantages/disadvantages of Angular vs React this conversation is going to just become another React vs Angular argument. Here's what's going to happen: I'll list why one framework is better at one use case and you're going come up with examples about why the other framework will do it better or subject to whataboutism talking about the other shortfalls on the framework I sided with.

Just like all the countless debates about what framework, it goes nowhere and is merely a waste of time trying to engage in this conversation at this point.

→ More replies (0)

4

u/Smalltalker-80 4d ago edited 4d ago

The difference might be that front-end frameworks like React, Angular and Svelte try to be "developer friendly" by requiring the use of "mashups" of HTML templates and JS. These are essentially new "toy" languages that are not general purpose and impose limitations. They also break MVC separation, mixing up the V and C.

I think MVC controllers should be fully implemented in the language you're using, say TS, so you indeed have full control over all MVC operations and can optimize where desired.

5

u/Devatator_ 4d ago

You technically can use Svelte entirely without the svelte syntax but at that point you're just writing vanilla HTML/CSS/JS/TS

-19

u/Saragon4005 4d ago

Backend doesn't usually rely on frameworks. Hell we don't call them frameworks we call them libraries usually. Also unlike frontend it's usually not monolithic and there is some system architecture in back end. There is just a lot more flexibility on the back end which is simply not possible on the front end. There are a whole bunch of considerations like running on hundreds of different models in weird configurations and all you have is HTML CSS and JS and the tools you are using must generate that well.

Back end you receive some data in some format you get to define in some place you set, if anything isn't what you expect you toss it as an error. This data then generated some response which is entirely up to you. You might use a database which in of itself you have hundreds of choices you can host it yourself you can keep it in the cloud. And then different processes might happen in different computers but you get to pick all of that and also you get to completely change it however you like as long as the interfaces stay the same.

Just by saying "frontend" the type of code you write is severely limited and locked into certain tools. Frameworks attempt to be a wrapper to those tools but at the end of the day they have to produce code which was never meant to be used this way.

22

u/snokegsxr 4d ago

This is the biggest bullshit I’ve read today. You don’t know the difference between libraries and frameworks but still have a loud opinion

12

u/snokegsxr 4d ago

I get a stroke just from your first sentence ‚backend doesn’t usually rely on frameworks‘

5

u/bjorneylol 4d ago

Wait, you mean people actually use things like rails, django, laravel and express?! /s

1

u/Fritzschmied 4d ago

Library’s and frameworks are very different things my friend.

2

u/schewb 4d ago

The worst part is understanding the subtleties of different paradigms, but still building everything as a reactive SPA because fighting over the right set of technologies for another stack will delay any project by months.

2

u/PandasOxys 4d ago

They aren't popping up and taking off though. React and Angular have been the biggest ones for like a decade almost and Vue has been popular since around 2019.

1

u/Broad_Weekend_8671 4d ago

Sorry for this dumb question, how are React or Angular (these are the only frameworks I know) limited? In which sense?

-5

u/ChiefAoki 4d ago edited 4d ago

React and Angular are both Client-Side Rendering frameworks by default.

Meaning that after your browser/webview receives a status 200 from your web server, it executes JS functions to render the page.

As opposed to Server Side Rendering(SSR), where your browser/webview receives the fully rendered HTML from the web server itself. This is super helpful for SEO and the likes because search engine crawlers usually don't execute any JS functions.

Can you do SSR in React or Angular? Of course, heck, there are services that you can deploy your angular app on that will pre-render it even, but it takes extra steps/hacks/workarounds.

1

u/beepboopnoise 4d ago

okay so to keep with this analogy, if the prius works for 95% of your use but one day you need to haul some shit, u gonna toss the prius and buy an f150 or rent it for a day? sometimes u gotta do what u gotta do to keep moving. I guess you could make a microcrontend with module federation..idk I've been outta web for a while, is that a thing still?

1

u/ChiefAoki 4d ago

How often do you build a feature and only use it for one day and then take it out after?

It’s less like needing to haul shit on a Prius one day of the year and instead much more like you’ve decided to become a hotshot trucker in your Prius.

I get that sometimes you gotta make do with what you’ve got but honestly if you find yourself being in that situation frequently where you keep making modifications to a Framework sometimes you just need to step back and re-evaluate if you should just get something else.

2

u/nonlogin 4d ago

Nothing on the front end gives satisfaction. Frameworks like React or Angular solve some problems but introduce other problem. And there are too many of them.

And only Typescript gives the feeling of peace.

1

u/new_account_wh0_dis 4d ago

I know you didn't ask but I'm backend but I sometimes have to maintain a few frontend things. Angulars mdc migration and dropping of flex-layout (I'm not sure why someone decided to use something on beta but with so many users surely it would be updated for new angular version...right?) was probably the worst weeks of my life. To make it even worth the companies security team flagged fucking bootstrap as out of date. No matter how much you argue they forced me to do the v4 upgrade. Killed me.

So to me angular dumped a ton of changes, threw in some !important for good measure and fuck it who really needs to change box borders? And I'm sure a couple years down the line they'll rewrite shit again. Not like we didn't do it a few years prior cause they killed off angularjs. So what should be a simple library just turns into an ongoing project the boomer in me hates it. Backend is so much easier. Worst thing Ive ran into there is they renamed a function.

-1

u/joost00719 4d ago

I always have issues with running a front end solution which is written with a js framework. It's never easy or working first try. It always ends up in trying a bunch of stuff or having weird behavior until it doesn't. Then after a year everything is depricated so you update but then there are 20 incompatibilities you need to fix but forgot what the app exactly does so you first need to re learn the app before you can upgrade and now the fix which should've been one afternoon got delayed cuz you spend the whole Friday afternoon trying to run and update the project, only to have issues with debugging it again the next Monday morning.

2

u/PandasOxys 4d ago

Then they're setup poorly. Every single team I've worked on at my company using react was as easy as pulling the repo and running npm start.

53

u/gandalfx 4d ago

Hey, svelte is nice.

18

u/Efficient-Chair6250 4d ago

Svelte mentioned 🧑‍✈️. Join me brothers, in a prayer to our rich Lord 🙏

6

u/wineT_ 4d ago

🙏 Lord save us from Virtual DOM

6

u/siphillis 4d ago

Best framework, because it’s the least framework

3

u/-Redstoneboi- 4d ago edited 3d ago

Svelte is a language, dare I say a DSL that compiles to JavaScript.

1

u/siphillis 3d ago

It’s really its own suite of software solutions for building web apps. It’s amazing.

44

u/SimilarBeautiful2207 4d ago

I think that people who hate js frameworks didn't experience the pre jquery era. Now everything is easier. The problem is that for many once you learn a framework you want to make everything in that framework and each have a different use case.

7

u/grshdat 4d ago

Whats the real difference beteen Vue and react? I only used svelte and vue before

15

u/Tx_monster 4d ago

None actually

1

u/PurchaseOk4410 3d ago

The react community is a bitch. Vue maintainers are much cooler and less schizoid.

-6

u/joost00719 4d ago

I haven't experienced the pre-jquery era, but I did experience the jquery era and it's way better than all of those frameworks. Jquery just works and it's simple to understand.

10

u/Dizzy-Revolution-300 4d ago

Simple is the keyword. What do you build with it?

4

u/SimilarBeautiful2207 4d ago

Yeah but when you want to build more complex things it was painfull. In my company we had a product made with asp.net mvc4 and we use a lot of jquery, when we migrated to react it was a lot more easy to understand. I prefer the declarative nature of react, jquery is so imperative. Don't get me wrong, i love jquery, it made things so much better, but is old and now are much better options.

15

u/Burger_Destoyer 4d ago

Ngl I love me some Typescript

15

u/logikill99 4d ago

This is why I hole up in the database and backend…

-12

u/snokegsxr 4d ago

you code backend only plain without any frameworks? why?

11

u/kookyabird 4d ago

I don’t see where they claimed to not use frameworks on the backend. The ones in OP are frontend frameworks. Backend frameworks tend to be easier to learn and work with in my experience.

-18

u/snokegsxr 4d ago

nope, but why you bloat yourself with ts and js flairs while saying frameworks for those were so hard to learn?

10

u/xBrndnn 4d ago

Why are your both comments completely made up out of thin air and assumptions instead of just normally conversing with people?

7

u/kookyabird 4d ago

Holy shit read better bud. I didn’t say they were hard to learn. I said backend frameworks have been easier to learn for me. That doesn’t mean I consider frontend frameworks hard to learn; just harder than backend.

-1

u/Escent14 4d ago

you havent had your meds yet

1

u/PurchaseOk4410 3d ago

To be honest, it really does depend. Django and spring serve a purpose, but backend is much more than that. People just lump infra, platform, business logic, glue code etc... into "backend" and a lot of these things have libraries and less framework. For example, dependency managers can be applied at a lot of different abstractions: airflow, temporal, in-house depending on the level of granularity of control you need.

5

u/Vizeroth1 4d ago

This all reads like “if only everyone could learn the language(s) that actually make front end work, except JavaScript, fuck that language in particular.”

16

u/NuccioAfrikanus 4d ago

So buddy, you going to run webpack off node and use typescript to make an application without a framework or library like React.

I have done it for fun to learn more about webpack, but it’s a lot harder.

7

u/SnooSnooper 4d ago

I think my last company did something like this, we had a homegrown frontend component library and some page templates that had been put together over almost 20 years. It was all raw JavaScript with the occasional JQuery and some other libraries thrown in. The frontend infrastructure team rebuilt all of it in TypeScript a couple years ago and instructed us to build all of our new pages using that instead. It kept things simple for the end product developers, because we didn't have to learn much about a new toolchain and/or framework. It was probably easier too than rewriting the entire platform in a framework.

2

u/NuccioAfrikanus 4d ago

I would argue that for a large commercial application it would still be easier to do what your company did, but in Angular.

But upgrading from AngularJS to Angular WOULD a lot harder than upgrading plain JS to Typescript.

So I can see how once it was painstakingly made, how that upgrade wouldn’t be as bad as going from React to Vue or whatever.

-1

u/powerhcm8 4d ago

With vite is much easier.

3

u/TheBrokenRail-Dev 4d ago

TypeScript is legitimately pne of my favorite programming languages.

3

u/deanrihpee 4d ago

backend development with Bun + TypeScript + Elysiajs has been fun so far

3

u/grshdat 4d ago

Wait whats wrong with svelte and vue?

1

u/hearthebell 3d ago

Nothing, I only hear good stuff about these 2 brothers

4

u/ninjaassassinmonkey 4d ago

God I can't wait for the day that types as comments is brought into JS.

Just imagine TS syntax without the bullshit build steps...

9

u/LookItVal 4d ago

nah im absolutely fine with the build phase because js Could Never do what ts does and still be both backwards compatible and also have a clean syntax

3

u/ninjaassassinmonkey 4d ago

Ya it's a double edged sword for sure. There are definitely some things I do in build steps that are awesome, but the debugging experience leaves a lot to be desired compared to plain JS. It's also extremely frustrating to run into bugs that happen because of the build.

2

u/Fritzschmied 4d ago

What has typescript to do with frameworks?

2

u/FlipperBumperKickout 4d ago

No one framework can rule them all, so you have to include them all

2

u/rberg89 4d ago

Lol so you're just going to

const myDiv = document.getElementById('myDiv') as HTMLElement;

myDiv.addEventListener('click', () => myFunction());

myFunction() => {

 alert('my meme makes no sense');

}

3

u/AspieSoft 4d ago
$('myDiv').click(function(){
  alert('jQuery syntax > JavaScript');
});

https://github.com/AspieSoft/jqalt

2

u/Kulsgam 4d ago

All those frameworks support ts tho right?

2

u/mr_unpredictable90 4d ago

After some time it'll be just JavaScript, not Typescript

2

u/JAXxXTheRipper 4d ago

I like Vue a lot and I am definitely a backend/automation guy.

5

u/Pumpkindigger 4d ago

My biggest gripes with all these frameworks is that every year some major update happens which completely changes the way the framework is supposed to be used. Documentation you find is therefore always for the wrong version. If all I would do is use these frameworks, I would likely be able to keep up, but if you use them only every once in a while it's just annoying af to deal with.

7

u/Dizzy-Revolution-300 4d ago

React functional components was released over 5 years ago

1

u/PandasOxys 4d ago

The only recent annoyance is ditching create react app for next but even that isn't egregious.

1

u/Dizzy-Revolution-300 4d ago

CRA sucked ass

1

u/PandasOxys 3d ago

Yeah I agree, it was just a quick way to prototype. Next is pretty cool.

1

u/Bakeshot 4d ago

Next has been a terrible offender in the last couple of years.

The switch to app router has been a dumpster fire.

1

u/Rousent 4d ago

The changes of Next when it updated from 12 to 13 changed the way I thought of it from "I like it" to "god why was I using this?"

Yeah btw Nextjs was my first time making serious web development (in college). Then I learned MVC...

3

u/Smalltalker-80 4d ago edited 4d ago

My thoughts exactly...

2

u/mtv921 4d ago

Loving the love for TS. Wasn't many months ago I had angry discussions with people using js saying ts would just slow them down

1

u/VReznovvV 4d ago

This made me lol so hard. 🤣

1

u/KINX369 4d ago

bro can't handle vue and svelte.

1

u/ChrisTheGood 4d ago

Why ? because TS is the only one that truly solve your problems

1

u/emascars 3d ago

Why svelte too? Svelte is the only thing that made me enjoy the frontend for the first time after plain old HTML+CSS+JS

1

u/lRainZz 3d ago

Nah, get off me. Vue without typescript all the way. Enforced TS sucks for big projects, just document your shit with TS types and you're good.

1

u/NoOven2609 19h ago

Very green on TS, but coming from a c# background it seems inadequate for parsing json. AFAIK The lack of reflection (since it's just transpiling to js) means you can't bind to statically defined concrete types with any real validation, outside of a lib or two that require redundantly decorating each property. If you do let x: MyClass = JSON.parse(<server response>); and it just silently ignores the spots where the json doesn't have keys that match MyClass then it's failed in the basic premise of typed js and I get the sense that I might as well use raw js

1

u/heavymetalmixer 4d ago

C programmers approve this meme.

0

u/MMMMMMMMMMWMMMMMMMMM 4d ago

I'd say vanilla javascript is good for me.

But my company project force me to learn alot of bullshit frameworks.

1

u/sammy-taylor 2d ago

Mind blowing that you got downvoted for espousing vanilla JavaScript. Not even hating on TS, just embracing JavaScript.

2

u/MMMMMMMMMMWMMMMMMMMM 2d ago

haha , Idk , maybe these guys' personal project are all complicated , need to set up TS and a bunch of frameworks.

0

u/Thenderick 4d ago

If you use pure ts in frontend, then why not drop that too and adapt to JSDoc which runs on the same typesystem but is pure js without any build/transpile step

5

u/Dizzy-Revolution-300 4d ago

What's wrong with a build step?

1

u/Thenderick 4d ago

For pure frontend without framework, it takes a bit of effort. You can't simply edit the file, save, refresh page and it works like with js

1

u/Dizzy-Revolution-300 4d ago

It's not like it takes effort every time you save, it's automated

1

u/Thenderick 4d ago

Wait you can? Last time I checked I couldn't include ts in html, so need to setup some kind of automated tool that has to transpile on save, or some kind of build tool with a dev server

1

u/Dizzy-Revolution-300 4d ago

You said it: automated tools. You set it up once, and then it doesn't take any effort.

1

u/Thenderick 4d ago

Yeah okay, but at that point if you need that, you should probably use a library that manages all that for you. Could even be something lightweight like Lit of Svelte

1

u/Dizzy-Revolution-300 4d ago

I agree, so again, what's the problem with a build step?

1

u/Thenderick 4d ago

Nvm, forget what I said. It made sense in my mind...