How long did it take you to learn php?

I think that a lot of C++ and Java programmers learned their craft in school. So they spent their sucky years in school learning on school projects. Alot of PHP programmers started outside of school just to solve a problem. So their sucky years are spent actually implementing real world solutions. I could be wrong, but it seems logical to me. It wasn’t meant to demean PHP programmers in any way(being one myself).

I haven’t learned much beyond basic OOP principles and basic design patterns and feel fine about it. I’ll probably eventually get around to doing unit testing and making sure that I keep up on all the latest
buzzwords in the latest Martin Fowler book. But if I learned that stuff right now, it would be
mostly to impress people as I don’t work in an enterprise environment.

Also, Arborint makes some good points about purity vs. utility.
http://www.sitepoint.com/forums/showpost.php?p=2103736&postcount=115

PS. Don’t take that timeline I posted too seriously.
:stuck_out_tongue:

Basically took me a weekend to learn the majority of what I use (which is a lot).

Had spent a year writing a website in Rebol via CGI and have past experience with C++, Perl, basic and Java. Having all this experience helped and when I read through the book all those years ago, every new page was amazing. It was like someone had written the most perfect language for the web… there was quite literally a function for everything, where in the past I would have done it myself.

In recent months I have been trying to do the same with c# and vb.net, and it’s the complete opposite. I have the sitepoint book and a sams asp.net book, and I honestly cannot finish either. All the framework stuff seems way to high level, inefficient and restricted, it’s like they’ve taken it a step too far. That’s just my opinion and not the type to argue about these things. :slight_smile:

Yeah, that tends to be the case with most people. It shouldn’t take more than a few hours (or a day or two) to grasp the basic language structure (basically just everything in the control structures section).

You SHOULD be able to begin a basic CMS (add pages, add news, add links) within a week of first learning PHP. As I said earlier, all it is is if, else if, else, require, and a few mysql functions.

Now I’d just like to ask those of you who say it took you 6 months to grasp the concepts. Are you saying you didn’t understand what an if statement did for 6 months? Or do you mean you didn’t understand a complex multi-tier object oriented library and version control system until 6 months.

Took me a couple of minutes to learn the basics of PHP and MySQL. This is because i used to program in VB , C and C++ for a while (a year or more).

Well he could just pickup the basics then make a clock to become good , right? even though if he’s been programming in C\C++ for a long while , he can’t really prove that he knows anything till he codes a clock in PHP. :wink:

:slight_smile: Well I took seriously actually because I was thinking just the same thing every time I went to bed and got up, asking myself am I on the right track? or is this the right track at all?

But after I joined SitePoint forums I got many suggestions that I should do what I like, also my own friend told me that I have to listen to my heart it will never lie.

So I do what I love…

Heh, I almost consider myself an expert PHP developer, yet this one always bites me. string function parameters in php are very inconsistent. :frowning:

thanks for the replys everyone.I was wondering if i try to learn a few differant types of languages would i end up just mixing them up the same way you could with a spoken language.also what did you mean by doing a clock?

Thanks again.

I’ve already purchased a book, but I think I like seeing the code and then viewing exactly what the code outputs on online tutorials more. Which way got you started off?

And I’m very glad this thread was posted on the front page! :slight_smile:

2 hours, 45 minutes, 39 seconds exactly for me.

In reference to learning a few different languages, there are so many things that carry over from one language to another and so understanding one language well will allow you to pick up another fairly quickly.

It is similar to spoken language where you kind of flip the switch and have to change the way you think a bit. I speak English and Spanish and there are a ton of similarities between those two languages (structure and grammar are very similar), but there are still different rules that apply to both.

When it comes programing languages, sometimes I make stupid syntax errors when switching back and forth from Java and php, like forgetting the $ in front of variable names. Those errors are usually really simple and caught very easily.

As you learn the different languages, you’ll find that each has its quirks and you will like some more than others. Java was a good language for me to learn on, but I enjoy programming in php more.

I think every skilled programmer can learn the basic syntax language within a couple of hours/days (depends on your speedreading skills :p)

But learning an API (the available functions etc) usually takes a longer time. I consider this also as learning time.

When i started with PHP (i believe in 1999 around version 3.x) there wasn’t session handling. So you had to write that yourself. As a beginner it took a while to understand the principles behind such a mechanism…

that’s 44 minutes only since This Hour has 22 Minutes :slight_smile:

2 hours, 45 minutes, 39 seconds exactly for me.

That long huh? Yeah i was pretty impressed with myself when i had the entire php language perfected after 75 seconds. Maybe i’m just gifted. :wink:

But seriously, people who say they grasped everying in a weekend or a couple hours are either already very experienced programmers or they are full of it. I’d say even if you’ve programmed for 20 years in other languages, and never touched php, it still would take you a month or so of coding before you’ll be able to code very efficiently as you’ll need to memorize some of the common functions paramater lists (luckily php.net has quite good SEO and php functions almost always get listed first) . Understanding control structures or basic syntax is not understanding a language…

It’s even easier than that – you just go to php.net/function and it brings up the manual for you. No need to Google.

I had no programming experience when I started PHP, but within a weekend I could write a basic database-driven website. If you read my post above, you’ll see that it’s a lot easier than most make it out to be.

It always make me laugh when i see people proclam that they “know”/“master” a language as C++. And usually, they have other “programming” languages like (X)HTML and CSS on their CV too…

Well you might actually be a very gifted person and a good exception to the rule.

But just look in this forum. Everyday you see a new person going through a php book and trying to build a basic cms. True they can copy the code out of the book and sometimes understand portions of the syntax, but for the most part they have no clue what they are doing. I dont know if they’ve been at it for a day, a week, or a month, but you see this type of thing everyday on here. Maybe we should ask them how long they’ve been at it so we could get a realistic view of how long it takes.

I certianly didn’t grasp all the concepts of programming in 1 month. I still havent even come close and i took csc 101 like 2 years ago…

All it really takes to start something, is to install the software needed to create that project, like php, mysql, java, or compilers, editors etc…

I was offered to make a database driven website for someone. I found out the server supported php, so i decided to use that since i read a tutorial on it and it seemed pretty simple to use… Within a weekend, i had a working implentation for how to type a search in a text input box, and get a table of results back from the database…
But how did i do it? For the most part i was copying pasting snippets of code here and there from websites. I had to alter most everything to suite my needs since i didnt find anything that did what i wanted, but I Definitely didnt know php by the end of that weekend… Thats just me though, i’m not the fastest learner by any means.
Expect that you won’t be a professional php programmer in a week, a month, or probably even a year. But on a happy note, you’ll feel like you can do anything when you start php, and thats what makes it so great. You don’t have to be a computer geek to get started.

Yeah, I just don’t have too much talent at fast learning. :frowning:

It’s even easier than that – you just go to php.net/function and it brings up the manual for you. No need to Google.

Yeah you can do it either way. Its just easy to type in the function name in the google bar, have it give you a direct link to the site first, and go there… If you could put in a feeling lucky button in firefox that would be nice as it would go straight to that first listing… but either going to php.net or your google search bar, its going to take 2 steps… Its not that easy with every programming language.

I made a very simple quiz site for my students after about 3 months. After about a year (and relatively unaware of what was available for free) I made a forum, gallery and a links page. It was a fantastic learning experience and I learned so much from making the forum and gallery…but i’d never do it again. :wink:

Well I probably went about learning it all wrong, but the first thing I tried to do before even learning anything of the language was make a small website. It was a web game and I basically got premade scripts and editted them as I didn’t know enough at that point to make codes from scratch. Editting the codes helped me learn and then a few months later I was sitting there and suddenly it just snapped in my brain and I could almost see the code for scripts. I just started coding then and was basically able to make scripts from scratch from then on. Now of course I have gotten quite a bit better over time and through experience, but I am sure the time frame to learn it varies for everyone.