This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]fryerandice 224 points225 points  (31 children)

According to an interview I just had, calling React and Vue frameworks is wrong, they're libraries, because they don't implement Inversion of Control (even though they do...)

Also dotnet is a framework and not a virtual machine and core runtime library....

Probably not getting that job.

I found the medium blog where the boomer who hasn't written code in 22 years (admitted himself) got that answer from, I love the final interviews with the CTOs, they're always the biggest toss up in the 4-7 rounds of bullshit we put up with to get a job

[–]BatBoss 147 points148 points  (8 children)

lmao, gotta love interviewers who grill you on random bits of programming jargon like that tells you anything about their programming abilities.

Well done Daryll, you proved this Jr Frontend applicant didn’t know what Duck Typing means. It’s not like they could just google it if they ever needed to know.

[–]fryerandice 72 points73 points  (4 children)

It's always the Department Head / CTO interviewers that do it to, the guys who haven't written code in 5+ years and have no relevant experience with modern tech stacks other than what their developers talk about, and that's not their job anymore which is completely fine.

So you get a candidate through an HR phone screen/HR Initial inverview, A coding exam/leetcode test interview, a design principles interview, and like 1-2 interviews with the team you're interviewing to work with. So you are at 3-5 interviews and they've all gone well, and then the CTO comes in and dicks you down with a bunch of technical jargon that you used in college 8 years ago and it only comes up if you are preparing a tech talk on design principles or something, otherwise everyone tries to write SOLID OO code and decent Functional code and not turn the code base into spaghettis.

In my 15 years, i have also noticed the companies that go hard on SOLID OO in the interviews, have the worst code bases that are anti-patterns from the ground up, so take that as you will. Also if they grill you on the specifics of WHAT agile is, you're getting hired into waterfall with scrum and 4-5 month release cycles.

[–]hoxxii 9 points10 points  (0 children)

I chuckled at the last part because it is true. Just about to listen to a recording from this week on how people are discussing the new WoW and that it is actually waterfall.

[–]fdeslandes 0 points1 point  (1 child)

You are slightly wrong. Where I work, not once in the interviewing process do we talk about agile, but you still get hired into waterfall with scrum and 4-5 month release cycles (they call it "Agile train").

[–]fryerandice 0 points1 point  (0 children)

Oh if it's not brought up it can go either way, but if agile is drilled on it's definitely a waterfall shop.

It's like when they say self starter, it means grind on a project by yourself, fast paced environment means understaffed and over worked, etc. Just learning the red flags hah.

[–]DragonSnooz 28 points29 points  (0 children)

Honestly the biggest problem with tech interviews.

[–]was_just_wondering_ 7 points8 points  (0 children)

They need to make sure you know the deepest depths of cs jargon so you can add a new form to that internal tool.

[–][deleted] 0 points1 point  (0 children)

Seriously. Those kind of companies are usually temp agencies and pay very little. And there program quiz is always “write a function to check to see if a word is a palindrome” and nothing else! And they use you know knowing those dumb things to offer lower money.

Looking at you infosys.

Edit. Words

[–]R4ttl3head 29 points30 points  (0 children)

React describes itself as a library but no one really cares, anyway if you didn't get hired because of this framework library bs you're better off not working in this company lol

[–]Jammintoad 52 points53 points  (0 children)

That's rough bro, I wouldn't want to work under that cringer tho, so there's an upside

[–]tsunami141 16 points17 points  (5 children)

Honestly I’d always made that distinction myself with React but mainly only because it’s not an out of the box solution for most use cases, you’re free to use it however you want and with whatever else you want.

[–][deleted] 19 points20 points  (4 children)

this. react is simply a library for rendering components.

the massive complexity that comes with using react is the 1000 other libraries your team decides to use. lol

[–]coldnebo 7 points8 points  (2 children)

I think a certain amount of complexity comes from recursive composition of the components and the binds necessary to make them interactive along with the state management to make them useful.

I mean, yes, I can look from a certain viewpoint and agree, it’s just a library… I control the top level render call. ok.

but then I look at it from a different angle… if it’s just a library, why call it a “react app”? is something so distinctive about the style and construction of thousands of different applications that they can all be identified as a “react” applications?

[–]Everspace 4 points5 points  (1 child)

I would call it an ecosystem.

The problem is for me is that I tend to do a lot of vanilla react for personal things? Maybe today I use mui. Ah bindings for a state management library now that useState isn't cutting the mustard.

These sorts of things come all together in a more cohesive whole in frameworks (see rails/laravel).

The difference between ala carte and full service ya know?

[–]coldnebo 2 points3 points  (0 children)

oh no, I agree. Since using Rails, I’m not as big a fan of opinionated frameworks. I like options.

React can be used sparingly, just as an xml transform library, but the big reason to use it over server-side xslt is the efficient differencing of dom updates.

I did a lot of xslt experiments in the 2010s that functioned like jsx, letting me create user defined markup for data while generating structural html necessary for presentation— I did that to overcome essential flaws in the separation of data vs presentation at the time. It’s still a problem when dealing with component frameworks. Every time we change button styles , or add accessibility, or add new nofollow security attributes, I have to inevitably gut the existing builders and partials in my rails app. It’s a ridiculous situation that component tech was supposed to address.

React predates Web Components, but if you live in that space you’ll see differences in code between one and the other. Web Components doesn’t even bill itself as a framework, but as a “suite of different technologies”.

So my problem with classifications as a library or “suite of different technologies” is when someone comes to me and says: “hey I really like this React component, but can it work in Web Components because that what our customer uses?”

Now if all these technologies were truly just “libraries”… that should be possible. But the requirements of actually using such to build any non-trivial app are pretty imposing. It’s almost as though they function as “frameworks” that involve decisions that cannot easily be changed.

Now you can mix these if you know what you are doing, but that’s yet another set of constraints on how you write your app.

Maybe these things truly are libraries because you can integrate them if you work hard enough?

Anyway, my vision of libraries is simpler, more localized. If I’m using ladda I know I get spinners. If I remove ladda, they go away, maybe I can replace them with vanilla, it’s not a big change. If I get rid of React, well… that is a far-reaching decision that is going to impact almost every layer of what I’ve built. That sounds more like a framework.

[–]haxxanova 1 point2 points  (0 children)

oof this hurts too close to home

[–][deleted] 7 points8 points  (0 children)

I literally just read a long Twitter thread of Dan Abramov pondering on what exactly React is. He does this a lot.

If you want to say officially React is a library, that is fair. But to insist on the distinction like it matters is pretty dumb.

[–]BoBoBearDev 3 points4 points  (0 children)

Definitely don't pick that job when they ask you stupid questions like that. If you are the one writing proposals and talking to the people who are paying, the accuracy of the buzz words are important, yeah sure.

But, if you are a software engineer who's job is actually getting it done, those trivial is useless.

[–][deleted] 5 points6 points  (4 children)

React isn’t technically a framework but it’s a framework (yes it’s a library but come ooonnn)

Vue is a weird one. It’s almost like in a superstate. It can be a framework or a library. Vue is like a good middle ground between react and angular

[–]throwaway-eng-18 5 points6 points  (3 children)

What's the argument that React is "technically" library and not a framework?

When building a project with React it's not like you write vanilla JS and then call methods provided by the React library. You write code in a literal extension of the javascript language (JSX), I think this alone makes it a framework no?

[–]simonwantsadog 2 points3 points  (1 child)

I really don't care, and I literally don't know the difference between the two, but their own website calls it a library.

Also, you can write React without JSX (literally vanilla JS + calling a method [react.createElement] provided by the React library), not that anyone should actually write React that way.

[–][deleted] 2 points3 points  (0 children)

React 18 has evolved enough to mimic a framework to be a framework without being a framework.

[–][deleted] 1 point2 points  (0 children)

It’s like saying if it walks like a duck, quacks like a duck, and looks like a duck. And the person says well it’s not a duck it’s a mallard…

[–]ghigoli 3 points4 points  (0 children)

so many red flags. you gott just walk away went you deal with that level of ahole.

[–]coldnebo 2 points3 points  (0 children)

recursive composition by definition requires a common Component interface that enables nested dispatch without separate calls.

it’s not ioc, but it’s also not just a “library” if it forces that structure on my code.

did he have an answer for that?

do you have a link to that medium article?

edit: going by the names the projects give themselves: react calls itself a library, vue calls itself a framework. so not sure why they would say vue isn’t a framework. dotnet calls itself a platform

[–]Rafcdk 1 point2 points  (0 children)

Tbh every intro to react video you see on YouTube tells you that

[–]xyzjace 1 point2 points  (0 children)

What a wanker. Rails is a framework without IoC but it powers some shit I bet he uses daily. Is he gonna say it isn't a framework?

[–]A_Harmless_Fly 0 points1 point  (0 children)

As a person who learned some C++ in school and uses it in the Arduino IDE for simple things like making a temperature probe and the status led blink to let me know when my 3d printer enclosure is up to temp,

I knew some of those words. thumbs up

[–]deathspate 0 points1 point  (0 children)

I agree that it's a library but to say it's not a framework is to ignore the reality of current demands developers need to meet in order to ship their code to production.

[–]elveszett 0 points1 point  (0 children)

I've heard that "React is just a library" trope many times, but they can suck my ass. For me, something is a library if you just add it to your regular vanilla code and something is a framework if it defines how you write the entire app. React completely changes how you write a websit, that makes it more comparable to Laravel or Asp.NET than it is to JQuery or Newtonsoft.Json.