top | item 37657377

(no title)

EricHolden12 | 2 years ago

Frameworks have chosen to add abstraction layers that “simplify” writing code because it makes it easier for the not so great programmers to write code.

This has been desirable for one main reason: making writing code easier for the surge of new programmers entering the field. It’s the reason Facebook made React — the people they were hiring out of college were smart and capable but we’re not nerds about the technology.

The biggest proof of that is how many devs are still scared of CSS and don’t feel comfortable writing it, and why the adoption of Tailwind has surged.

discuss

order

account-5|2 years ago

I don't consider myself smart or a tech nerd, and certainly don't consider myself a real programner. I did rubbish at school, but ain't doing to bad in university (at 40).

All that being said I am massively confused by react and tailwind. I much prefer CSS and plain JavaScript. All be it I am not writing massive distributed billion-user applications.

MassiveBonk51|2 years ago

The point of react is to let you manipulate the DOM with less effort than manually doing it while providing some additional controls through things like hooks. Tailwind is similar, you get standardized css styles that you can use without thinking too hard.

agos|2 years ago

it makes it easier for the not so great programmer, but also for the average programmer, and the good programmer too.

being a good programmer is not about using more difficult or less accessible technologies.

thfuran|2 years ago

No, you don't understand. I'm the greatest programmer in the world because I program only in raw bitstreams that I hotwire into the uop decoder. So what if it takes five years to get the machine up and running before I start my first task and everything only works on my machine? My (former) boss is just an imbecile who doesn't understand the first thing about true programming.

Retric|2 years ago

A given frameworks may be incredibly useful given the right project, but they also involve massive trade offs.

Being a good programmer is about being capable of using less accessible technologies. A limited toolkit eventually means using the wrong tool for the job. A competent programmer should know how to leverage a least one ORM, but they should also know raw SQL etc.

ksoped|2 years ago

The adoption of Tailwind is its own phenomenon. The whole point was to come at CSS at a different angle that circumvented the pain points of regular CSS, not really aimed at being a crutch for those who don't know CSS. You still gotta know that p-8 adds padding and what it does within the box model, and using the grid or flexbox doesn't really make anything simpler.

ookblah|2 years ago

lol what? i feel like you're jumping to the wrong conclusions here. i'm sure there is a subset of users that thought tailwind was "easier", but before tailwind there were a ton of other CSS frameworks like bootstrap, bulma, etc. that purported to make CSS easier and those never took off like tailwind did among devs.

people use tailwind because it's better to stand up something and maintain it when you're doing component based stuff without having to think of clever names on the fly or figure out what class does what and how did it fit into the hierarchy you created months ago. plus you get all the magic that you can't get with inline CSS. "Raw" css is in fact the easiest thing you can use, just style tags and have at it. Tailwind without that knowledge is nothing.

aatd86|2 years ago

I hope we can have something better than tailwind because having to preprocess/add a build step is very meh. That locks people into the js ecosystem.

Also, CSS should ideally be enough if it's simply about destructuring classes and composing them.

yunohn|2 years ago

> because it makes it easier for the not so great programmers to write code

A truly elite HN take.

Joker_vD|2 years ago

That's an uncharitable reading. Genius doesn't scale, so you need processes and technologies that average people (or maybe above average, but definitely not top 0.1%) can use efficiently. Take literate programming, for example: it may be working great for Knuth but most programmers are not Knuth, and I don't even mean it as "not as smart", just "have different mentality and composition of mind".

frodowtf|2 years ago

Sir, watch out! Your monocle is about to drop into the scotch!