I don't know if it's possible to get a good answer to this but: if you learned how to make websites with, like, users who can login and do things where the website stores stuff in a database, without doing it as a job, how did you do it?

I feel like in principle I know all of the basic pieces (HTTP, HTML, CSS, SQL, CORS, various programming languages, etc), but also somehow it still feels extremely hard to me

(no more replies please there are enough)

@b0rk from online tutorials and the php documentation in ~2000.

@janl @b0rk I sometimes think if I were starting out now, it might be much more difficult.

Back in the day, it was easy-peasy: shared hosting with PHP, database, and FTP access. I’d just upload files, see what worked and what broke, rinse, repeat.

@ramsey @janl i'm not sure I'll ever understand the "it was so easy to develop with PHP + FTP" thing, it kind of feels like you had to be there

(it sounds hard to me, like developing with no version control?? no push to deploy? no local dev environment?)

@b0rk @janl You asked how I learned. 😁
@ramsey @janl absolutely not trying to criticize! just a bit surprised to hear it described as "easy" :)
@b0rk @janl All I had to do was focus on the code. I didn’t have to learn those other pieces at the same time, which, to me, would have been pretty big hurdles. There were very few moving parts, so to speak.

@ramsey @b0rk @janl Yep. Edit a file in notepad, drag it to the server in WSFTP or CuteFTP, and your changes are live.

I wasn't as much of a fan of developing apps with DBs and logins that way, but it was still eminently possible.

@ramsey @b0rk @janl for the more complex systems, i liked Allaire HomeSite (later purchased by Macromedia/Adobe). It allowed me to configure one-click FTP site deploys directly from the IDE.
@kboyd @b0rk @janl I used DreamWeaver. By then, I was working for a company, but we still didn’t use version control or any special deployment systems.
@b0rk @janl It might help to understand that I never saw myself as a programmer. It wasn’t a career I ever expected to pursue.
@b0rk @janl I suspect there’s a large number of folks who accidentally became professional programmers in the 90s and early 00s, and I wonder if that’s something that could be replicated today, or was it unique to that time period?

@ramsey @b0rk @janl

Yep, that’s me as well. I taught myself as teenager when I was in secondary school.

Even after school I didn’t want to do this as a career, but studied physics and chemistry. Tried for over a year to get a job in that field without success before I considered doing software development as a job. Sent out a single application for a job as web developer, got offered that job, and decided it must be a sign.

That was 20 years ago. And I’m still doing software development.

FWIW, my kid (11) is super interested and is teaching himself all the same stuff in much the same way.

First JS/html/css, then Kotlin. Now he’s spent the last few days battling with a raspberry pi to set up a SQL server, and is determined to learn sql.

But not sure that alone will lead to a professional career: he’ll have to study something related if he still wants to pursue this as a career in a few years time …

@ramsey @b0rk @janl This! Tooling is insane now, compared to "then". We discuss this often when taking on students.
@b0rk (I also learned this around the same time as @ramsey and @janl) it was easy in the sense that you just edited a file and copied it up (or edited live on the box!). You didn't *have* to think about version control or push practices because the discipline was in its infancy and those things were not super common. It would have been more difficult to do those best practices because they were not common.
@b0rk @ramsey @janl it was easier then also because it was essentially just simple HTML, maybe a dash of CSS and only if you were fancy, some JS. All those things were smaller in scope than today. On the server side it was just PHP and some kind of SQL database. All so much more grokkable than the fullest of the full stacks that folks deal with today. I think that modern webdev is dizzying in its complexity; it's very intimidating compared to what it once was. Much harder to get started today!
@wez @janl I'm in the same boat. Even as someone who's been doing this over 25 years, I'm intimidated by the level of complexity. I've adapted to it, of course, but I try to stay away from front-end as much as possible 😅, and I know some of it is for the better: things that @b0rk mentioned, like VCS, deployment practices, local dev, etc., I take these for granted now, but none of these were well-established when I was starting out.

@ramsey @wez @janl @b0rk It is impossible to overstate the extent to which today’s common web stacks are designed for solving Facebook and Google’s problems. Everything is so complex in part because the tools have been architected for a scale and context that is irrelevant to nearly every project that uses them.

We’re all subsidizing the biggest companies in the world.

@nick @ramsey @wez @janl I picked the stack for my current startup and doing things the reasonable way (introduce complexity as needed, multi-page app) it's great and we're productive but we're hiring senior devs and they only know react and react-likes. Theres a risk in doing things this way because it's no longer mainstream and that blows my mind.
@ramsey @wez @janl yeah, I was pretty proud of myself that, whenever some new feature worked, I did a backup of the sources in a zip file :D
@wez @b0rk @ramsey @janl editing live on the box was the ultimate repl
@zan @wez @b0rk @janl Imagine if WezTerm were an FTP client. 😉

@b0rk 😂 Yeah. "designers version control" with .bak and .bak.bak, a "local" dev environment with an editor directly accessing files via FTP, var_dump debugging on prod and when you were serious, your stage was just in a different folder....
Deoendency management? DB migrations? CORS? CSP? XSS? what's that?

It was slightly different than today. And shows how much we take for granted within one generation....

/cc @ramsey @janl

@b0rk @ramsey @janl Worth noting: the version control *sucked* back then. We take a lot of that for granted now because it works so much better, despite being much more complex.
@sean @b0rk @ramsey very good point. I once spent a week(!) merging two branches in SVN.
@b0rk @ramsey @janl I think you’re making it difficult. Imagine having nothing like these set up, so you have nothing. Then the easiest to do is to upload a file and see in the browser what it does. All these extra steps you’re mentioning need to be set up and configured correctly before you can do anything. Later on there was also #WAMP and #LAMP so you could test the file before uploading. #php

@Hipska @b0rk @ramsey @janl Also, don't forget there was no package managers, no compilation steps, etc.

At best, you use PEAR to add packages and it was inlcuded in the source folder you uploaded. Just update the code and refresh the browser and you got an error, or not. Worst of all, a white screen.

Heck, you often didn't even have logs! Certainly none you wrote to yourself, it just wasn't a thing. If you were lucky you had access to the PHP logs for your vhost.

@b0rk I don't think it was "easy", but "simple". A system with very few discrete actors and almost zero relationships among them. The complexity of that system was as lower as it could get. Doing things well and avoid massive mistakes working that way was extremely "hard". @ramsey @janl