I don't *blame* Perl, because I happen to like it as a language.
I also agree with you that PHP5's OOP was a mistake (actually, I believe that OOP itself is a mistake, but that's beside the point), that PEAR is crap because PHP makes is way too easy to program like crap (I enforce strict guidelines on how PHP in my projects is to be written), and that it should not be taught as a first language (I learned PHP after I learned C, so I had some structure and good programming practices drilled into me)
I have several complaints about PHP and especially with the direction the language is taking (which is why I intentionally ignored some of the comments you listed), so much so that I may even consider using Java and JSTL for web programming. (Ow! I still feel pain every time I say that.)
To directly address the Subject of this particular comment thread, PHP will only ruin your mind if you don't already have a solid grasp of what good programming is (and when you do, it might give you enough reason to NOT use PHP).
I find it interesting that many of the complaints listed here against PHP are not so much against PHP as they are against the various extensions people have written to PHP. I will admit that I much prefer PHP4 to PHP5, and the additions that PHP6 will include make me want to vomit.
Many of the features in the first list are descended more or less directly from Perl. Others of the features are complaints against PEAR, which I don't consider to be a part of PHP. One can use PHP without using PEAR and I do so all the time. I also refuse to use Smarty, as it is a horrific mess of PHP, HTML, and bloat.
Carnegie Mellon has an interesting free project called Alice ( http://www.alice.org/ ) that is described as a "scripting and prototyping environment program for 3D object behavior." It is cross-platform and seems to be very easy to learn.
Getting slightly more adventurous, I'd suggest PHP, HTML, and CSS. They're fun, relatively straightforward, and more or less forgiving, while still being pretty powerful.
After that, the multitude of desktop programming languages (Java, C, etc.) might be a logical next step.
Being a C programmer, I'd naturally advise against Ruby, Python, etc., but in all seriousness, since your son is a beginning programmer, the nuances and reasons for the existence of those languages will be lost on him. Sure, they may be easy to learn and use, but if you want him to grow up with a natural love of *NIX, the "C and Perl" route is likely the best eventual course.
As far as textual material on the topics, Google is by far the best resource. I've taught myself much of what I know, and I've found that, while O'Reilly books make great references and SAMS books make great tutorials, nothing beats a good search engine and the knowledge (and sometimes outright stupidity) of the internet community.
Agreed. A database of any sort seems overkill until multiple tables/objects (depending on your favorite database paradigm) are involved.
OpenOffice's oocalc seems to me to be the best solution.
I don't *blame* Perl, because I happen to like it as a language.
I also agree with you that PHP5's OOP was a mistake (actually, I believe that OOP itself is a mistake, but that's beside the point), that PEAR is crap because PHP makes is way too easy to program like crap (I enforce strict guidelines on how PHP in my projects is to be written), and that it should not be taught as a first language (I learned PHP after I learned C, so I had some structure and good programming practices drilled into me)
I have several complaints about PHP and especially with the direction the language is taking (which is why I intentionally ignored some of the comments you listed), so much so that I may even consider using Java and JSTL for web programming. (Ow! I still feel pain every time I say that.)
To directly address the Subject of this particular comment thread, PHP will only ruin your mind if you don't already have a solid grasp of what good programming is (and when you do, it might give you enough reason to NOT use PHP).
I find it interesting that many of the complaints listed here against PHP are not so much against PHP as they are against the various extensions people have written to PHP. I will admit that I much prefer PHP4 to PHP5, and the additions that PHP6 will include make me want to vomit.
Many of the features in the first list are descended more or less directly from Perl. Others of the features are complaints against PEAR, which I don't consider to be a part of PHP. One can use PHP without using PEAR and I do so all the time. I also refuse to use Smarty, as it is a horrific mess of PHP, HTML, and bloat.
Carnegie Mellon has an interesting free project called Alice ( http://www.alice.org/ ) that is described as a "scripting and prototyping environment program for 3D object behavior." It is cross-platform and seems to be very easy to learn.
Getting slightly more adventurous, I'd suggest PHP, HTML, and CSS. They're fun, relatively straightforward, and more or less forgiving, while still being pretty powerful.
After that, the multitude of desktop programming languages (Java, C, etc.) might be a logical next step.
Being a C programmer, I'd naturally advise against Ruby, Python, etc., but in all seriousness, since your son is a beginning programmer, the nuances and reasons for the existence of those languages will be lost on him. Sure, they may be easy to learn and use, but if you want him to grow up with a natural love of *NIX, the "C and Perl" route is likely the best eventual course.
As far as textual material on the topics, Google is by far the best resource. I've taught myself much of what I know, and I've found that, while O'Reilly books make great references and SAMS books make great tutorials, nothing beats a good search engine and the knowledge (and sometimes outright stupidity) of the internet community.
Agreed. A database of any sort seems overkill until multiple tables/objects (depending on your favorite database paradigm) are involved. OpenOffice's oocalc seems to me to be the best solution.