News & Articles:

Warm Gravel, etc …

The other week I headed over to my old haunt Leeds University to take a look at the results of the second year programming projects in the School of Computing. (We took an interest in these projects, more of which anon.) I was joined by Luke the Apprentice.

We looked at many interesting demos. Some were web-based, some used Java, some used web frameworks. Many used things I will confess that were new to me. Later, Luke asked if he should be learning these things. He had seen Bootstrap, and it was new to him.  Now, this is obviously something he should know about, but does he need to learn all the details.  Following on from my musings about Computing “back in the day“, this set me thinking again …

All those years ago, if you wanted to create a web page it was quite a simple task.  You got a book on HTML (the “Koala Book” it was), and you learned enough HTML to create and format your page.  Some after you learned about CSS (not sure, but I think there was some sort of fish on this one), and you dutifully separated out content from presentation, and used that for your styling.  That was pretty much that.  If you wanted to create pages with sidebars or columns you looked for a CSS template that would achieve this (probably, if we’re honest using HTML tables). And that was pretty much that.

These days, if you want to create a simple static website there is so much choice.  Choice that was not there before.  I can run off a quick list of frameworks that you might use – Bootstrap, Skeleton, Foundation, and Gumby are all examples I’ve had dealings with recently – and then there’s still good old raw HTML and CSS.  Or you could even head over to something like Wix if you were so inclined.  Choice indeed!

Now suppose we want some interaction.  Back in the day, we wrote CGI scripts in Perl (or, more likely, employed some magician to do this) and loaded them into our trusty cgi-bin directory.  If we were lucky they even worked.  Then things moved on, and we could use JavaScript or PHP.  Now things are, shall we say, a little more complicated.

True, I can still use PHP.  Or JavaScript.  But I do now have an option on JQuery.  And of course I can write good old vanilla PHP mixed in with my HTML or I can use a framework.  And, boy, do I have a choice of PHP frameworks – Laravel, Symfony, CodeIgniter, CakePHP and more.  Of course, maybe I don’t like PHP.  So I could write my web app (notice it’s not a webpage any more) in Python (Django) or Ruby (Rails) or pretty much anything else I fancied.  Groovy on Grails anyone?

So, what would I advise someone to learn?  (This is actually a genuine problem for me, as I also teach this stuff in two local universities).  I just advise them to learn whatever takes their fancy, but to make sure that they keep on eye on the principles of what they’re using.  So, yeah, have a go with Laravel but make sure you understand this MVC thing that underlies it; that way you should be able to switch to another framework pretty easily.  By all means do Bootstrap, but think about the whole responsive design aspect.  Above all, think about why we have these things now and try to understand where they have come from.

I’ve set Luke off on good old vanilla HTML and CSS.  It were good enough for us.  Back in the day …