More to programming than just programming
A regular question I'm asked is "Where do I start / how do I learn all about the associated subjects with a program as well as about the programming language". Excellent question, and I'm reproducing an answer here - slightly edited to make it generic - that I've just written.
There are several aspects to programming; not only the language itself, but also programming techniques that apply across languages, and furthermore how to make best use of those techniques and develop others for their use within the particular language that you've chosen. For a we based application add in the need to understand web site structure, information management, human engineering / time and motion (to ensure people can easily use the site), politics (to work with the people who need the site and have their own ideas that may be impractical), and a bit about the subject that's to be covered on the site too and you have ... a frightening array ... of skills to be learn. On top of that, many of the techniques and principles have complex names and acronyms that have been applied to them but baffle the newcomer; these acronyms are useful in helping experienced users communicate with one another but coming in a-fresh they're just ANOTHER hurdle.
You're NOT alone in coming to programming "via web pages". So often people from (perhaps) a graphic arts background have been given the job of doing the company's website and learnt their HTML skills .... then they've been asked "just" to add (say) a mailing list, or a "news of the day" box that the boss can easily update and they 'slip' into programming. Indeed, I'm running a public PHP course
this week with four trainees and two of them fall exactly into that category. A third is retraining from mainframe work (and he has a lot of radical changes to take on board and un-learning to do ;-) ).
So - you're not alone, but you face a daunting array of skills to pick up, and something of a problem in that the knowledge you've picked up in being thrown in at the deep end has placed you a little bit beyond a fresh start "learning to program from scratch in xxxx language" type requirement, but short of the "advanced course in yyyy" type level - you might be AOK for some parts of such a course but then you would come across an assumption of a basic knowledge that you just didn't happen to have needed at all. You've also come across the fact that so many of us IT people are in IT because we're great at communicating with computers and not so much with people, so there's a lack of good teachers and people who WANT to teach.
Geeze - I wish we had heard from you last week - this week's PHP course and mix would have been ideal for you ;-% ....
The next public "PHP Programming" course starts on 6th June (4 days from the Monday). I can't predict exactly how big / small the group will be, but it won't exceed 7 and more likely in will be 3 to 5 persons. Typically people with a very similar background / requirement to yourself having dabbled a bit and looking for (a) A brush up and "hole filler" on the fundamentals, (b) A more detailed study of some of the intermediate facilities and techniques, (c) an insite and guidance as to best practises, so that you write PHP that's very easy for the web site user (and kind to that user), quick to write and easy to maintain and adapt as requirements develop and (d) a short series of "showcase" demos that give you ideas as to what you can do and how you can make best use of PHP.
I don't think you need the "technology for PHP" day. That's a pre-cursor of the "PHP programming" course and you're already pretty much set up on what it covers. Indeed - you might find that the first 25% of the "PHP Programming" course is simply dotting "I"s and crossing "T"s for you.
The "OO" discussion is an interesting one. And, yes, a big thing to get your head around with lots of entrenched and opposing views. Object Orientation CAN be a superb technique to use but for some requirement's it's overkill; best used on projects / at sites where the requirement if for applications which aren't the simplest. Since PHP's background was in applications that are just a few lines of code, it's OO model was not "pure" up to PHP 4, and it wasn't greatly used. As PHP has developed into a substantial tool for larger applications, OO has become more relevant. Thus, we've added the extra (optional) one day course
and in June it runs on the Friday.
I've written a lot there - I hope it's helpful. If PHP was an easy topic that you could pick up and know all about in a few hours, then you would be bored in a few days. So it can look daunting. But it can be so much FUN too ... and we have that fun. Our training centre doesn't close at the end of a day's course ... people stay around, try things out, chat. This week has been exceptional in that ... I think the last customers left 3 or 4 hours after 5 yesterday and we virtaully had to turf them out because we were getting very tired. I expect the first back at 8 this morning. That's the sort of thing it does for you .... and we love it!
(written 2005-04-08, updated 2006-06-05)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesG906 - Well House Consultants - Programming Standards 
Programming Standards in Lua - (2012-04-06) 
Getting it right from the start - new programmers - (2009-08-17) 
Alpaca Case or Camel Case - (2009-08-16) 
Looking for a practical standards course - (2009-08-05) 
Perl and Blackberries - (2008-10-23) 
PHP - Sanitised application principles for security and useability - (2008-06-16) 
Selling curry to the chinese takeaway - (2008-03-31) 
Code quality counts - (2006-11-26) 
Sudoku helper or sudoku cheat - (2005-06-23) 
Should I use structured or object oriented? - (2005-06-10) 
Programming in isolation - (2004-12-11)
Some other Articles
An apology to Mr BoneparteSee 8 but buy 6. See 6 but you can buy 8.Our most popular resourcesCourse PictureMore to programming than just programmingDifferent course every dayNULL in MySQLFree parking for short errands in MelkshamInformation request forms, cleaning up spamSearching security holes
4720 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).