this post was submitted on 28 Aug 2023
173 points (86.2% liked)

Programmer Humor

32453 readers
1036 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 82 points 1 year ago (1 children)

Hyper Text Markup formally known as Twitter?

[–] [email protected] 47 points 1 year ago (2 children)
[–] [email protected] 23 points 1 year ago

That looks pretty cool tbh

[–] [email protected] 6 points 1 year ago

I just read it, sounds pretty cool to me. I shifted to the right on the curve I guess.

[–] [email protected] 53 points 1 year ago (1 children)
[–] pythonoob 10 points 1 year ago

You and I are off the fucking scale. In which direction? Nobody can sa... It's the left side. I am on the left side.

[–] [email protected] 46 points 1 year ago (1 children)
[–] [email protected] 14 points 1 year ago

Actual element

[–] [email protected] 45 points 1 year ago

Why do I feel this is just a dumb marketing attempt?

[–] [email protected] 44 points 1 year ago (4 children)

Some frontend guy said this best. It was something along the lines of:

"JS frameworks went real hard in client side rendering and branding server-side rendering old and archaic. But that they hit performance issues and began re-adopting server side features and trying to make it look cool again after shitting on it for a decade."

[–] [email protected] 18 points 1 year ago

I’ve got nothing against SSR, never have, but CSR or even better SSR+CSR side steps a metric shit ton of issues. I’ve written untold lines of code to render something out in PHP then needed to add jQuery logic to the frontend for UX/UI reasons and then I’ve had to duplicate UI generation in JS/jQuery to match what PHP spits back (think: add a new row to an interface after an Ajax call finishes). It’s hell, you have to keep the two in sync and it’s a bug minefield.

Compare that to CSR where all the DOM is generated though a single codepath. Now take CSR to the next level with SSR+CSR and you’ve got a winning combo. Fast initial render and SEO gains (if you even need that) and only 1 DOM generation pathway.

People want to sound all smug “Oh, back to SSR are we?”, “Uh yeah, we had to CSR first to get to SSR+CSR which is VASTLY superior to SSR alone”.

Tech is circular in that way. See also mainframes, to personal computers, to cloud or any other similar cycle.

[–] [email protected] 10 points 1 year ago

When you shit on php long enough and you end up reinventing php

[–] [email protected] 7 points 1 year ago

kinda feels like they're trying to emulate server-side templating with shit like django and thymeleaf

[–] [email protected] 2 points 1 year ago

Went real hard frfr on god 💀

[–] [email protected] 38 points 1 year ago

Me: what is HTMX?

[–] [email protected] 22 points 1 year ago (4 children)

Are web servers that serve real HTML responses still a thing? Honest question. I thought JSON+client side rendering were the default by now.

[–] [email protected] 26 points 1 year ago (2 children)

You're a couple years behind the SSR craze. We're back to what they were doing with PHP in the 00s except it's now done with Next, Nuxt etc.

[–] [email protected] 16 points 1 year ago* (last edited 1 year ago) (2 children)

Give it a year or two and we will be back to PHP. A lot of people are seeing the massive changes PHP has done and realizing it's just not as bad as it used to be. 7.x was a huge change, and 8.x is also doing great things. And so no one rages about my opinions, there's some sarcasm about "going back to PHP". Obviously the industry will stick to JS/TS for the most part.

[–] [email protected] 11 points 1 year ago* (last edited 1 year ago)

PHP has been “not bad” for a decade. The problem is that it isn’t good and I can’t think of a reason to choose it for a new project when there are so many better, established languages.

[–] [email protected] 5 points 1 year ago (1 children)

When will JQuery make its return?

[–] [email protected] 12 points 1 year ago

Probably never because JS finally had a glow up and added/adapted the many features jQuery had and made it native.

[–] [email protected] 4 points 1 year ago

Yaaay I love running node.js as my backend even though nobody thinks it's efficient

[–] [email protected] 11 points 1 year ago (9 children)

Yeah, PHP is extremely common and python frameworks like Flask and Django are getting more popular, but of course no where near PHP.

https://w3techs.com/technologies/details/pl-php

Just one huge example of a Django user is Instagram: https://engineering.fb.com/2023/08/15/developer-tools/immortal-objects-for-python-instagram-meta/

load more comments (9 replies)
[–] [email protected] 10 points 1 year ago (2 children)

The wheel is always being reinvented

[–] [email protected] 8 points 1 year ago (2 children)

Especially with frontend. Feels like every few years there’s a complete paradigm shift that forces everything to be rewritten from scratch.

[–] [email protected] 11 points 1 year ago (1 children)

Because web development sucks, web developers are always trying to reinvent web development such that it doesn't suck, and they keep failing.


They keep failing because it's impossible, and it's impossible because the requirements are directly contradictory.

  • Web application code must be simple and understandable (which requires the application to use a minimum of libraries and frameworks), but web applications must look and feel modern and fancy (which requires big, complicated frameworks).
  • Web development must be easy (which requires the project to be written in JavaScript or something similarly simple), but web applications must have sophisticated functionality and not crash (which requires the project to be written in TypeScript, Rust, or something similarly non-simple).
  • Web development must be easy (which requires the entire project to be written in a single language), but web applications must work to at least a basic degree with scripting disabled (which requires the project to contain non-trivial amounts of HTML and CSS in addition to JavaScript/TypeScript/Rust/etc).
  • Web applications must be fast and not crash (which requires a compilation step with type checking), but it must be possible to iterate very quickly (which requires there to not be a compilation step).
  • And so on.

And they keep failing because, quite frankly, they don't know how to succeed. Most web developers are not grizzled 50-year-olds with decades of experience and a solid understanding of things like type systems and build automation, and most grizzled 50-year-olds with decades of experience and a solid understanding of things like type systems and build automation want nothing to do with web development. Microsoft somehow managed to scrape together enough exceptional individuals to create TypeScript, but they seem to have exhausted the supply of such individuals.

Most web developers don't even seem to fully appreciate what TypeScript does and why it's important, let alone have the skill to write similarly sophisticated tools themselves. Consider, for example, Vite not running TypeScript type checking with every build. Vite's developers cite compilation speed as their motivation for cutting this corner. These people clearly do not understand the importance of correctness checking.

Another example: as far as I can tell, no web application build tools track dependencies between source files for incremental compilation, nor am I aware of any standard format for compilers (TypeScript, Sass, Babel, etc) to communicate that information to the build tools invoking them (Webpack, Vite, Grunt, etc).


Every once in a while there's a ray of hope, like TypeScript, but that's all it is: hope. The web developer experience has never been anywhere close to the caliber of developer experience you'll get with a language like Rust, and sadly I don't foresee that changing any time soon.

And no, htmx is not the answer to our prayers. It seeks to fix HTML, and HTML is not what's fundamentally broken.

[–] [email protected] 1 points 1 year ago

no web application build tools track dependencies between source files for incremental compilation

Angular builds are incremental by default.

Web development must be easy

Why should that requirement hold for web development but not for any other kind of development?

it must be possible to iterate very quickly (which requires there to not be a compilation step)

Again, Angular makes an incremental build in about a second, maybe 5 for large applications. Compare this to Java, where even simple backends require 20–30 seconds of build time.

Web application code must be simple and understandable (which requires the application to use a minimum of libraries and frameworks)

This makes no sense. Which is simpler – a function called mergeObjects from a library or a recursive function of 30–50 lines to do this without the library? Libraries’ whole purpose is making things simpler.

Web applications must be fast and not crash (which requires a compilation step […])

Ever heard of just-in-time compilation?

TypeScript, but they seem to have exhausted the supply of such individuals

TypeScript has minor-point releases about every 3–4 months. What makes you think it’s dying?

To conclude, because this post is long enough: Your comment is full of opinions, but little else.

[–] [email protected] 2 points 1 year ago

Job security, baybeee 😎 /s

[–] [email protected] 6 points 1 year ago (1 children)

Centralise what's decentralised and decentralise what's Centralised and you'll look like a genius.

[–] [email protected] 9 points 1 year ago

At my last company, there was a massive half-year project for the whole department to move all the microservices and all that stuff (multiple hundred projects) into a monorepo.

Then my team was transferred to another department. Here we had a massive, half-year project for the whole department, to pick apart a similarly-sized monorepo into separate microservice repos.

[–] [email protected] 2 points 1 year ago

https://turbo.hotwired.dev/

While it's a new trend, it's not that new.

[–] [email protected] 9 points 1 year ago

When the wheel is due for another reinvention.

[–] [email protected] 8 points 1 year ago

laughts in vanilla stack

[–] [email protected] 6 points 1 year ago

XHTML or what?

[–] [email protected] 5 points 1 year ago (3 children)

How is this different to react, angular, vue, etc.?

[–] [email protected] 5 points 1 year ago

It’s not client-side anymore. You need a backend to produce the HTMX.

[–] [email protected] 2 points 1 year ago

Client side logic is contained in markup, no custom JavaScript. Need server-side-rendering logic to return new markup to update a chunk of the page.

[–] [email protected] 1 points 1 year ago (1 children)

How does something like this compare against something like Blazor?

[–] [email protected] 1 points 1 year ago (1 children)

Like Blazor, it’s another way to do SSR.

[–] [email protected] 2 points 1 year ago

Blazor isn't ssr tho. Well you can use it on the server with signalR but most people would chose blazor wasm