How much HTML do you know?

I’m so old…How old are you?

I’m so old that when Gophernet was old and the Web was new, one had to know HTML in order to build web pages. I took a class or two here and there and learned quite a bit.

What’s awesome is that whenever I’m using an HTML editor now, and it won’t do what I want it to do, I just click on “View HTML” and I can go in and tinker until I get my page right.

What I don’t know, but wish I did, are the new fangled codes web pages are written in nowadays. I have my own photography web site, and I also run the site for a nonprofit organization I’m involved in. I’d love to be able to do fancier shit. Someday I’ll take some more classes.

So what do you want to know? HTML5 is the latest version of HTML, and includes easy ways to include audio and video in your web pages, among many other things. CSS3 is the third version of Cascading Style Sheets, which tell the browser how to lay out your web pages. (The philosophy now is to separate the layout of the page from the description of the content, so we no longer use tables to arrange things on the page, just to present tabular data.)

One offshoot of this is that web browsers can report the capabilities of the device they’re running on–things like screen size, device orientation, device location, etc. this means that web pages can automatically adjust themselves to the size and shape of the screen they’re on. This is called ‘responsive design’ and it’s big these days.

But there’s more! JavaScript is a language that runs in the browser and enables it to run complete programs included in web pages. So your web pages can do quite major calculations without needeng to contact the server.

PHP is a language that runs in the web server and automatically builds web pages to predefined specs by basically filling in variables and outputting the results in the finished web page–and it can choose what to fill in based on user input from a previous page, or do so as a result of looking things up in a database.

There are squillions of add-ins for JavaScript called ‘frameworks’, each designed to make some specific task easier: laying out web pages, or manipulating their content, or handling user input, or programming graphics, or handling sound, or rendering things in 3D.

So, where do you want to go? :slight_smile:

To be fair, any language up to and including brainfuck can do that. PHP is just a common choice for web stuff (for some godforsaken reason). Other common choices nowadays are Ruby and Python, but they’re not the only choices. Google has a fair bit of backend written in C++, and apparently a lot of Youtube is written in Go now. I’ve also heard C# is used quite a bit.

I understood “So what do you want to know?” and “So, where do you want to go?” Everything in between was in some foreign language.

Seriously, though, I’ll definitely want to learn the other codes some day. I just love that stuff, and every once in a while I wonder how I didn’t end up a programmer. That is, until I ask my programming friends about all the math classes they took :confused:

You don’t need that much math to be a decent programmer. When I was a Computer Science major at Cal, the only required math was calculus, matrix algebra, and discrete mathematics. The latter two are helpful, but not really necessary; I can’t think of a reason why you would need to know calculus to write computer programs in general.

Programming is sort of like translating something into another language; it’s not so much knowing the words as it is knowing how to put what you are trying to do into the correct format. There are plenty of languages that are simple to use, but unless you know how to write the algorithms, they’re not going to be of much use.

Calculus and linear algebra aren’t necessary unless you’re doing specific subfields. Calc (and statistics) is integral (pun not intended) if you want to do anything with big data/machine learning/computer vision/digital signal processing and that stuff. Linear algebra is necessary for anything involving 3D graphics or computational geometry (and it helps for 2D stuff but it’s not that important).

I’d argue that discrete mathematics is absolutely fundamental to programming, however. Programming, to one degree or another, IS discrete mathematics. You can be a competent programmer without understanding much more than how to use graphs and trees and state machines; and not really getting how to derive the Big O for simple algorithms (emphasis on simple, I’m not asking anyone to prove the Big O of disjoint sets or anything), but I don’t think you’ll be a great one unless you were already destined to be a prodigy.

I got a bs in journalism and didn’t have to take any post-secondary math, and grew up to be a very talented ASP.net programmer. I started out with just HTML in a text editor and still do it that way, but I’ve bridged the gap with JavaScript and CSS too. And SQL.

It’s all there for the taking. Everything you need to know to be a Web programmer is out there for free. Just gotta go after it.

I’ve dabbled a bit in the main web programming languages (HTML, JavaScript, Java, PHP, various cgi-bin examples, SQL, etc.) but I pretty much lost it when I started learning CSS. I just couldn’t wrap my neurons around that very much. However, I heartily approve of writing web apps in brainfuck. Even better, use Befunge.

The real trouble is that there’s now too damn much to learn, to be able to do anything non-trivial.

Web development has already fragmented and spread out to the point that it’s not really possible to learn everything, even for a full-time professional. What exactly is it that you want to be able to build?

I only know the real basics. In my defense, I was already in my thirties when HTML was first created.

I’m going to guess my other programming skills are even rustier. I see, for example, that new versions of Cobol and Fortran have been released since the seventies.

Write your web app in Cobol then. Use ISAM for database activities. With your databases on half-inch magnetic tape, of course! :slight_smile:

Cobol? Pfft, I write my web servers on a one-tape Turing machine whose only operations are read, if, else, write, left, right, and change state. And its only symbols are 1 and 0.

I wrote and maintained one of the very early webpages for one of my college sports teams. All handwritten HTML, like others have mentioned. This was back in the days when there was a book published that claimed to list all the known web pages. (And mine was listed in one…I still wish I had a copy of the book!)

Fast forward 20 some years later, and I own a web interface for something at work, and have to figure out how the magic black boxes fit together. Luckily, I really am a programmer, albeit at a much different level.

At the risk of turning this thread into a Monty Python sketch, I’ve written programs on punch cards.

I’ve joked that the last time my programming skills were relevant was 1999. I could have gotten a job rewriting all those archaic programs that were facing Y2K problems.

I still retain the basics for the core, simple HTML tags. <P> and all that. I routinely look at source code of pages to see how something is done. So some reading knowledge of more advanced stuff.

I did some CGI/forms things very early on (1994). Even Java. But haven’t really done anything along those lines in a long time. Never got into Javascript. Just enough to modify other people’s code or do a simple user side script. CSS? Egad.

Anybody remember punch cards? Gah. I took a Pascal class in 1980.

As far as HTML, that’s PART of what I do to display a web page. Most of it is Visual Basic though. I do a lot of data crunching with VB and push it out with Java Script.

It’s Odd… JS is really the way to go IMHO.

I know a little CSS, JavaScript, and HTML. Probably couldn’t actually do anything with them, but eh.

Yep, to write Fortan no less. I took my programming and data structures classes used Pascal. Later my compiler class used C to write a Pascal compiler.

Sick, sick, sick, sick, sick!

These. They admitted to me that even this two-year college program I’m taking can be only the barest introduction. Every single thing we’ve looked at has depth upon depth that we’ve barely been able to acknowledge, let alone explore. And we haven’t even touched things like formal design of algorithms.

It really is just a launchpad, and whatever direction we go in after graduation, we will deepen our knowledge, at the expense of all the other possible directions…

this much:
<--------------------->