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.
A Canticle For Leibowitz - Walter Miller Neuromancer - William Gibson Snow Crash - Neal Stephanson The Martian Chronicles - Bradbury Frankenstein - Mary Shelley
I love a lot of the others people have mentioned but I recognize my own ability to suspend any sort of requirement for character development and well-written prose for the quick fix of a good "what if".
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...
I ended up living in Paris for two years and afterwards, became a computer programmer. On the first IBM PC I sat down to, I thought it was magical how the letters appeared on the screen without having to wind up for 50 mile an hour keypress.
... 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?
That would be, like, totally uncool.
... 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.
I've never used WebDAV but recommending libraries to a first time programmer doesn't seem thoughtful. Recommending jQuery seems downright misleading (you recommend a language and a library that disguises the language!?). C'mon man, first time programmer, not first job with a software company!
Still, I didn't learn. When I was called to maintain a hacker inspired web site in the past , I grumbled and complained. Worse, I have a full time job at a company where engineering standards are high. There is a design and documentation process, a coding process, a code-auditing process, qa etc. Every new feature is evaluated endlessly against all the features that have come before it. The result? A really solid, functional web application. And yet, there have been no innovations to this site in seven years; lots of features but no innovations.
It takes a special talent and ego to do 1.0. Maybe these guys should be fired or transferred to another 1.0 after the ship but they are quite necessary. I have at least learned enough not to diminish their accomplisments and try to look at maintaining their code as a learning experience.
Of course, I don't really come here for intelligence and thought. I come mostly for the jokes like everyone else but I feel privileged to find someone with real life experience, willing to share it. I actually wish I could cut and paste the whole thing into the Bugzilla "thoughts" db on our local bug tracker server. Unfortunately, it would break the server which would be another bug. Sort of like the Little Rascals episode about the fire at the fire station. But I digress.
Thanks for the post.
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.