Hacker News new | ask | show | jobs
by vanviegen 1197 days ago
And yet, they are making user-facing software... Magic!
1 comments

It is not magic, it is back-end development. Calling it magic is like calling server-less architecture magic.

Sit down and carefully consider what is the difference between front-end and back-end development, and why that distinction exists in the first place.

What he is doing was literally called doing frontend until SPAs came along.

PHP and RoR was frontend.

In your own words, please define what "front-end development" means to you when it comes to web development.
Anything that creates something directly user-facing on the web.

With the rise of SPAs I've seen "traditional frontend" rebranded as "backend of the frontend" which is an awkward term to say the least.

Okay. I'll explain it to you. It basically comes down to a server-client architecture. The server (db, server side code) is the backend, that the user never gets to see. The client (basically the browser - js, html and css) is what the user get's to see, not just through the interface, but by selecting "view source".

So PHP and Rails are back-end languages. You never get to see the code and logic that generated the page because it is "at the back". Golang, which the poster mentioned, is also a back-end language. So if the core of your apps logic is at the back-end (server), what you are practicing is back-end dev. If the core is in the front (e.g. SPAs) then it's front-end dev. Sometimes the complexity can be split 50-50 between the back and front. But if your web-application just uses html, css and a sprinkling of JS, then it is back-end driven. Another category is a website, which does not really have any complexity whether at the back or front.

So to correct your statement, PHP and RoR have never, at any point in time been considered front-end tech. If it is not html, css and js (including complile to js languages like ts), then it is not front-end dev.

I'm not sure how long you've been in the industry. But you sound like it is less than maybe 10 years. Before react and such, you were considered a frontend developer when you delivered your javascript + html + css from any backend, though typically it would be served by php, RoR, or, more limitedly, by some python. Backend developers didn't touch html or css and couldn't be bothered to to think about js. The balance between full stack, backend, and frontend teetered on if you we're concerned with pixel alignment and UI things vs data storage, manipulation, and retrieval.

Again, back in the day, you wouldn't call yourself a backend dev if you did anything meaningful with html UI. You would still call yourself frontend even though you had to work through templating in a given backend language.

Source: I've been doing this for a couple of decades.

> Okay. I'll explain it to you.

> PHP and RoR have never, at any point in time been considered front-end tech.

Okay, let me explain something to you, as a person who has been in this biz for 23 years.

What you're talking about is client-side vs. server-side which doesn't have a 1-to-1 correspondence with frontend vs. backend.

Frontend has always been about something user-facing. Backend has always been about something that is non-user-facing.

Client-side dev has hijacked the term frontend to describe purely client-side development. Even though with the exception of direct DOM manipulation there are very few conceptual differences between generating UI on the client and generating the UI via PHP/RoR.

It's simple enough: before the rise of front-end frameworks in the 2010s, web developers were indeed more of a single group ("full stack"). But even before the rise of Angular in 2011/12ish, there was already starting to be a specialisation in front-end vs back-end; some devs, I remember, worked almost wholly on the JS UIs of more front-end-heavy websites (they may have been more of web designers previously). Others concerned themselves more with the backend, databases, services, etc. As frontend technologies grew more complex (and mobile became of primary importance), the division grew.

Before Angular and co., "full stack" encompassed using HTML, CSS, and JS. What it can be fairly said to mean nowadays is debatable, but 10+ years ago, doing Rails with a bit of JS would definitely have counted.

LOL! Looks like some people are silently getting butt-hurt over a simple challenge asking them to differentiate between front-end and back-end dev. If front-end dev is not your cup of tea, that's ok. Just be honest with yourself about it. Using only html, css and a sprinkling of js is not front-end dev, it is web-design.