After tripping through (or is it slogging through) some code in different WP plugins, I started to formally go back to the beginning and started watching videos on Lynda.com. Now some of the things that I've been seeing in plugins are starting to make more sense. Maybe this approach was backwards, maybe normal, maybe it doesn't matter at all
Anyway - how did you learn php/mysql? Was it formally or informally? Did you just dive in and write your own scripts first or did you slog through other people's code?
I started "learning" php when I discovered I disliked what was out there and wanted to contribute and improve upon it (change it). So I first started learning and using php when I started to contribute at php.net
I think it had to do with me recognizing that php has potential, but not liking what was there. php 5.4 was good and 5.5 will be better. Still not there yet.
I asked a question like this recently, as Jake said above programming is mostly about the concepts, syntax and specific language is secondary.
I was guided to this awesome series on YouTube by Stanford by Brandon
The first part is basically just introducing the class to Standford administrator side etc, skip halfway of the first video (if you wish to, I found it entertaining and watched the whole video, I wish I had a professor like that!). Watch the rest of the series, they are teaching their students Java but the methodology/concepts is same for every language of programming.
I started off "reverse engineering" everything. I saw an example of how something worked, dug into a code to figure out why, then changed it to suit my needs. It was by no way the clean way of learning (you don't always learn proper structure/security that way), but it was a fun hobby.
After taking some ADA/C++ classes during college, it reinforced what I learned on my own and I was able to understand how program logic was supposed to flow. It helped me clean up my code quite a bit. I still have much to learn though.
I look at other people's code... and I DELETE sections. Why? Because you don't know what something does, till you get rid of it. I look at people's code, and delete pieces of it to see what happens. Try to reverse figure out their reasoning for doing something.
About 10 (maybe 12?) years ago I used phpBB, and I wanted to add an experience point system to my forum and didn't know where to start. So I asked the community. Not only did they answer my questions they explained the why's, and even discussed other ways of accomplishing the same things. I do not learn by being shown something; I need to know the why's. It was a great learning experience.
My first intro into programming was from a military course, age 23 (ish). In my trade we had to learn how to load programs into an 8 bit computer, bit by bit. Shortly after the Amiga came out, I used what I learned from that course to write programs in assembly language: load accumulators, shift, check for IRQ's/NMI's, joystick movements... it was pretty cool. I loved it, and even submitted a few programs to Ahoy! Magazine. Being in the military as a tech I also had to learn Fortran. I didn't like it as it didn't give the same machine level control as assembly did.
Yay, Amiga! I had an Amiga 1000 and still have my Amiga 2000. Never really did any programming on it (other than alterations of BBS programs I ran on it), but I was into BASIC and Assembly on the C64.
I learned by reading and examining existing code.
In 2001 (aged 15), I set up an ASP-based forum using the Snitz forums software. I learnt the basics of ASP and could make very basic hacks but, by early 2002, I was getting ridiculous (for someone my age) bills from my host for using too much bandwidth. I phoned my web host to plead with them to reduce the bills because I simply couldn't afford to keep the forum running otherwise. They suggested that I migrated to a Linux-based dedicated server which would work out a lot cheaper in the long run.
I migrated to my first ever dedicated server (a Cobalt RaQ4), complete with Chili!Soft ASP to run my ASP-based forum. My server kept crashing, so I phoned my host again who pointed out that running ASP on a Linux server was not a great idea and that I should learn PHP. Literally line by line, I learnt how to program in PHP and converted the ASP code into my own PHP version of Snitz forums software (and removing the features that I couldn't work out how to convert). Looking back, and given the enormity of the task, I think I did a pretty good job. I also ended up pretty good at PHP and coded lots of "hacks" for my forum, including a rewards system, a roleplaying games system, an arcade and various games.
The forum closed in early 2004, which would have been my last involvement in running forums had it not been for a chance email conversation with Morgain in late 2011.