Well, in the last couple weeks I spent learning the basic building blocks of websites, HTML and CSS, I can tell you one thing for sure: it's the human behind the computer that is the smart one; computers are actually really dumb- just super fast. What do I mean? Am I first to die due to my insolence against the robot master race?
Take a calculator, for instance, which is a very basic computer. It can solve pretty much any major arithmetic problem you have faster than you can do it in your head or on paper (unless, of course, you're a savant of some sort). However, try and input a basic word problem in it and it will give you an error. It can't interpret or even read words! It relies on the human to input something into it, and it does the very basic calculation SUPER quickly. All computers are essentially the same way - humans have just built so much functionality off the basic building blocks that computers understand that their science is almost indistinguishable from magic.
So the last couple weeks I have indeed been learning about the basics of web design, HTML and CSS, which, for the boringly curious, stand for HyperText Markup Language and Cascading Style Sheets, respectively. What they mean and what they stand for isn't really relevant- their function is the important thing. If you pretend you're the Dr. Frankenstein of the computer world, and picture a complete website like a body you're building from scratch, HTML is essentially the skeleton- the bare bones layout of what the page contains in what order. You've actually probably seen it before when a page you're trying to load on bad internet loads all weird and stacked on top of one another- Here's Facebook when only the HTML loads-
Weird, yeah? That's essentially what HTML is- it builds the website just like you see above- and that's where CSS comes in to make it look pretty. CSS is like the skin and hair and everything else that alters physical appearance- which is exactly what it does to a webpage. It can rearrange things, change the appearance of other things, add more things, and much more, a lot easier than HTML can. There are other things that are the equivalent of muscles and organs and everything but that's later- I haven't even come close to studying those yet.
Also, remember how I said computers are dumb, just fast? You literally have to spell out every little detail for them- they cannot assume anything unless you've already told them to do so. I learned that they don't spot patterns, they don't fill in the blanks, and if you miss ONE TINY LITTLE SEMICOLON they're not going to know it was an accident and it will MESS UP YOUR WHOLE PAGE. Not that I'm bitter or spent 25 minutes trying to figure out why my page wasn't like the one in the tutorial or anything...
Anyway, here's an example of what I was working on to show. Here's a very basic website, the first one I built, after reading a while about HTML and practicing with things and following along a tutorial.
WHOA. A lot of typing. When I said that you had to spell everything out of the computer, I meant it. When each new paragraph starts and ends, what size you want everything to be, when a link starts and ends, when a new list starts and ends, where the line breaks are, what the images are and how big you want them to be on the page... zzzzzzzzzzzzzzzzzzzzzzzz.
At least it was easy. Even if it was massively ugly on the page, looking like something straight out of Angelfire. (Please tell me at least some of you remember what that is.) Then I hopped in to learn a bit about CSS, to make things a little prettier, you know, like I wasn't a 12 year old kid with a Geocities account.
This is what that same page looked like with a little CSS-
OK, so maybe it still looks a little overzealously 90's-12-year-old, but hey, we all gotta learn somehow.
For the curious, this is what the CSS file looked like- a page where basically you tell all the paragraphs to be red, or all the links to be green before they're clicked, or, really, anything you want to any category of tags that you want.
It's a LOT of typing for seemingly very little payoff, but if I'm to get anywhere in the programming world, I have to accept that and roll with it.
There's nothing like the feeling of creating something - a website, or an app, or whatever- on your own, with absolutely nothing but a blank word processor. It took me a few days to read about how to create a basic webpage with HTML and CSS, but creating that website on my own (though I was following a tutorial), editing it how I pleased, and seeing the changes happen in real time, gave me a pretty cool feeling. Baby steps are important, because from what I hear, the journey doesn't get any easier from here, and I'll spend a lot more time frustrated trying to find out why code is or isn't working the way I want it to.
Next up is probably building more pet projects with HTML/CSS and getting more comfortable with them. There's also Ruby which I'm guessing will be after that- I'm still following The Odin Project, which for those of you just joining us is a website that has a very detailed curriculum that puts you well on your way to acquiring skills needed to becoming a web developer.
No rest for the weary, of course- which means I'm back at it for some more. And by some more, I mean approximately an hour or so more before I go back into debating whether or not to buy No Man's Sky.
Thanks for reading!