A few problems with PHP off the top of my head:
There is no clean separation of logic and view (or MVC if you prefer that split) - the language itself encourages mixing code and presentation,
And how would a language discourage mixing code and presentation? You've got frameworks and language confused. Cake is ok MVC.
The naming conventions for the API are all over the map - any language that has functions named stuff like mysql_real_escape_string, as opposed to the still extant mysql_escape_string, has obvious problems with design philosophy. Maybe next year they'll come out with mysql_really_escape_the_string_this_time?
Yeah this is a good rant.
Strings and arrays are not proper objects, so you have to use a mix of procedural and oo code everywhere
Yeah, another good point. Doesn't exactly encourage the use of objects when manipulating your primitives reverts back to procedural.
- it'd be nice to be able to call methods on strings and chain stuff like Ruby.
Could not disagree more. Chaining is evil. Hard to debug and hard to read. Good programmers do NOT chain.
Doesn't have closures (just added to C/Obj-C by Apple).
Gahh. Neither does Java,C++ and lots of other decent languages. Closures are cool but only convenient in dynamic languages in my opinion.
Unicode strings are still not properly supported.
And then you're back to opinion. At least you listed some real shortcomings of the language.
Well, here's the one redeeming facet of php. If you know C and/or C++, you do not have to buy any books or take any courses to learn it. I realize that's faint praise but there you go. I certainly appreciate it.
I've never heard this guy's story before (being from the UK) and was actually looking forward to seeing this film.
Ugh, not me. I find movies like this and "Catch Me If You Can" like listening to fingernails on a blackboard. The "Lucy Show" was another. Lucy began every show with a lie and then spent the next twenty minutes trying to cover it up, the last two minutes getting caught.
I wonder what a programmer on something like, say, Madden, would feel, knowing that this thing they're working so hard on will be totally supplanted by the next version, next year.
But that's like everything manufactured. 1.0 always get supplanted by 2.0. The thing is (and this is probably true of Madden too for all I know), 1.0 is often better than 2.0 and though plenty of people will purchase the newer version, those who know the product will just keep playing 1.0 and it will get the reputation as the "definitive Madden" (or whatever). People keep using a COBOL app because they have to no matter what a POS it is. Not really great analogies.
I use mostly Firefox but when I want to watch a movie on Netflix I have to use IE. The same with Netlibrary.
At least Hulu lets me use Firefox.
I use mostly Safari (on a Mac) but when I want to watch a movie on Netflix I have to use Firefox. I predict that Firefox is stuck with the user base it has. Unfortunately, 3.5 had a buggy start and it's slow load time (3.5.0, Pc and Mac) turned a lot of people off who might have been converted. How slow is Mac firefox? I can boot up Parallels and run IE8 before Firefox loads. Well, that may be a bit of an exaggeration...
... would by many be said to have created the home digital recorder...
Wow. How about "would be credited by many to have (as having) created..."
Whad'ya think? Too picky?
... hence start low level and work your way up.
I found starting with the logic first, then logic + machine, then machine kept my interest piqued. So the order was:
1. BASIC - built into the ROMs the original IBM PC
I especially liked learning the Assembly after C because I could dissassemble the C and see "Ah, so that's what it's really doing."
But you know, that's just the way *I* taught myself. I don't use any of these languages any more and to tell you the truth, if the desire to make a computer do something cool is there, it doesn't matter at all what you use.
Hell, I'm surprised Microsoft's never made an 'Excel' component you could code to in IE. But it's certainly better that it be part of HTML 5.
Silverlight Datagrid. http://silverlight.net/learn/learnvideo.aspx?video=116211. Off course all of the arguments against Flash/Flex apply here.
*Offer only valid for residents of the EU. Here in the US, our taxes go towards paying lipservice by prosecuting MS, then dropping the ball when it comes time for making a decision, enforcement and follow-up.
Elliot Spitzer, then attorney general of NY dropped NY's suit against Microsoft four or five years ago when all the states were weaseling out. Then last year, he became governor and was almost immediately thrown out of office for having sex with prostitutes. A classic case of karmic retribution.
The computing field is always in need of new cliches. -- Alan Perlis