Even if everyone loses interest, it is still a big change. Not everyone likes every big change, and some fail in the market.
Your comment about the novelty value is precisely backwards. The thing that makes the Wii remote awesome isn't that it takes a long time to get used to it; it's that you're used to it instantly. It's the opposite of novelty value.
First it was Gnome, an attempt to build a desktop Just Like Windows.
Then it was Mono. We've had slashdot stories on Miguel's pleas for Microsoft to please not constantly break compatibility to push people towards their implementation.
Now this.
Miguel, we care about you very much, and you need to understand that Microsoft doesn't love you. Microsoft will never feel about you the way you feel about Microsoft. Your pure heart is not enough to suddenly make Microsoft embrace any kind of genuine open standard. Microsoft has never had any goal but the ruthless elimination of any possible competition, and all you're doing is enabling the abuse.
You need to stop, and you need to walk away. You need to get into therapy, and start thinking about what's good for you, and what's good for the people who care about you.
Microsoft will never love you. They will not adopt open standards to make you happy. They will not try to make interoperation with you better. They will occasionally say just enough to string you along and make you write thousands of lines of ugly, bloated, crappy code in servile imitation of their unholy crap, but they will never actually care for you.
It's not gonna happen.
Look, face it: Bill Gates appears to be happily married. It was never meant to be. Just move on, and for the love of God, stop shipping multi-megabyte "frameworks".
The thing is, I can't point to anything that PHP did well. It's full of catastrophically bad decisions (the mere existence of register_globals, for instance), and crazy stuff (see the nearby comment about ===). Register globals was not a decent idea in the 90s. It was catastrophically stupid then, too. It's not as though buffer overruns and other bugs which allowed users to overwrite variables were not well known already.
PHP is the Windows of web programming. Everyone uses it because so many other people used it and did stuff with it.
You claim that it's up to the library implementor... but I don't think it's possible to do the job sanely.
Yes, a lot of that is learning curve. When a language is entirely defined by the learning curve of inexperienced people who either don't know about engineering or distrust it, the language ends up sucking. Yes, they're better now. If Rasmus wrote a new language, from scratch, today, it might be quite good. However, PHP is now in the same bin as BASIC. You can't fix it without breaking everything, and it's not at all clear that there'd be any reason to; the language's winning feature is widespread adoption. An upgrade which fixed the bugs would break that.
It solves no problem that needs solving. It's a bunch of accretions and bags on the side of the first template language that everyone invents. I wrote one of these too, maybe fifteen years ago. Mine was crap too.
I didn't talk about, suggest, or even hint at "the One Big EXE" approach. I haven't written code that way since the late 80s. However, PHP's entire design favors insane levels of cohesion between units, and discourages clean designs.
Yes, it's good to divide reporting from data entry. However, it'd also be good to have code which really is the same shared, so that it's impossible for them to get out of sync, and PHP's support for this is dismal. It exists, sorta.
And yes, I know that register_globals was "fixed". But having ever implemented it at all was crazy, even having it as an option is crazy, and having had it on by default is the programming equivalent of being a repeat sex offender; you should get clear notification whenever anyone who would do such a thing writes any code, and be given ample opportunity to avoid contact with such code.
Mostly, though, you're just confirming my belief that this is all built on hand-waving by people who don't want to actually think through the pros and cons, just state that there are some, and assume that all pros and all cons are inherently of equivalent weight.
This is why I don't like or trust PHP. I know there's some stuff that was written in it.... And time and time again, they get bitten by it. Wordpress can't do postgresql because PHP's database support hardcodes implementation quirks; you can't just write SQL and trust the server to implement it.
That the option ever existed, at all, is the malware equivalent of asking whether someone lying naked on a bed, legs spread, covered with lube, with pornographic videos playing, and a big neon sign pointing at the applicable orifice, is trying to suggest something to you. To call it an "invitation" to attacks is like claiming that war is "sometimes unpleasant".
Now imagine someone who, at some point, not only thought such a feature should exist, but turned it on by default.
And now imagine saying "yes, I think I should run huge quantities of code in a language designed by this person on my server".
It's dumb. It's ridiculous. It makes NO SENSE AT ALL.
I have used an awful lot of web sites that very clearly do not follow even basic and reasonable engineering practices.
I know that many developers are doing their best with sucky tools, but you guys will always be outnumbered by people who aren't, same as in any other field. Most of the web developers I talk to are totally shocked at the notion that they should care about "software" engineering, when all they're doing is "page design".
I started learning it. By about a chapter into the PHP book, I was thinking "holy crap, this language is uglier than perl". It has everything you would expect from a language thrown together by people who were either ignorant of software engineering or aware of it, but aggressively hostile to it. Everything global by default? WTF?
I have never seen a language with so many carefully crafted security holes that the developer needs to learn to avoid. Default behavior for inclusion is to allow URLs, so you can, you know, run code from any site in the world. There's a feature everyone always wanted, which is never going to be subverted!
I made it through about two and a half PHP books. In that time I learned that the MySQL and PostgreSQL interfaces were substantively different, and of course, used differently-named functions with slightly different calling conventions. Why? Because there's no abstraction or generalization going on; just whatever features sound cool getting thrown in with some name that wasn't previously in use. I learned that this is just BASIC all over again.
I spent several days thinking hard about bleach, and went back to programming languages that were designed with some kind of consideration given to the development of larger projects.
Ruby's undoubtedly "slow". That's what everyone said about perl and awk, too. Come to think of it, I've had people tell me that C was too slow. But Ruby has the amazing, shining, virtue that it is not a stupidly-designed or ugly language. I spent a while working with Ruby, and some helpful people pointed out that, in fact, the language does have a gotcha to watch out for. One. Not so many that you have to buy whole books full of things that you'd obviously try that don't work, open your site up to XSS, or behave erratically. No, just the one.
Can PHP work? Sure. But the tacked-on afterthoughts provided to allow you to, in theory, if you remember to and want to put in the work, use basic software engineering principles, are not enough. The language provides a huge array of runtime functionality, with a function for everything. It doesn't provide the basic tools you want for engineering large projects, meaning that the workload of maintaining big stuff in PHP is exponential, not just quadratic.
It can be made to work, but it really is that badly considered, and I wish people would stop doing things in it. Life is easy enough for the botnet people already, we don't need a language in which you have to be warned not to set the flag that lets remote sites set every global variable in your program.
And yes, the 76 in that title is (I believe) an accurate article count. The Cranky User column has gone through something like three developerWorks "zones" and had I think six editors.
Insurance companies sometimes negotiate a flat rate for some services, which CAN be lower than the one you'd pay. It's just that, often, it goes the other way too.
That's not always what I've seen -- when my father's hearing aid turned out not to be covered by insurance, the same exact device suddenly cost 1/10th as much.
And what happens if your ISP has to raise prices, for everybody, because the traffic you're shaping on YOUR router, and that every other customer is doing the same to, is about ten times the total of all the non-spam traffic?
This is not a hypothetical situation.
You want an ISP that filters nothing? Okay, no problem -- someone will make one.
I want an ISP that filters spam very aggressively at THEIR border router so I don't have to. And therefore, I want that to be legal.
Just a reminder, not everyone even has the option of traffic-shaping at the router. Many people are paying their ISP to get *AND FILTER* their mail. Not everyone wants to read several thousand junk messages per day, or pay to download them.
Record them when you send them, scan them, and call in once or twice if needed -- and sue if needed.
If even a few people do this, the cost of screwing around gets huge, and rebate processors shape up.
BTW, the thing about "lost, damaged, or misdirected mail"? Last I heard, it was up to them to prove that they didn't get it; the law assumes that, if you deposited something in the mail, it arrived. Bad luck for them.
I've never seen anything like that in the fine print.
I've also had exactly one case, ever, where a company didn't cough up when confronted. That was Soyo, and I sued them and won.
The problem here isn't that it's a scam, it's that you're an idiot who doesn't even TRY. I've collected $2,821.80 in rebates since I started tracking them, and probably at least a thousand dollars more before I got in the habit.
They're listening to me just fine: If I want online play, I'll play WoW. I have zero interest in online from my console, and I want them to spend that money instead on things I do want.
Even if everyone loses interest, it is still a big change. Not everyone likes every big change, and some fail in the market.
Your comment about the novelty value is precisely backwards. The thing that makes the Wii remote awesome isn't that it takes a long time to get used to it; it's that you're used to it instantly. It's the opposite of novelty value.
I'd have to disagree with that. A gimmick, by nature, has no substantive value; it doesn't really change anything.
The Wii remote changes things hugely. The Wii Zapper doesn't.
According to many sources (including Wikipedia, which might be wrong, and his own damn web page, which probably isn't), it's de Icaza, not de lcaza.
That is to say, it is a CAPITAL I, not a lowercase l.
Please use a serif font in the future. Thank you.
... But what an awesome gimmick. I wants me one.
I have to say, the Zapper does look to be a gimmick, but WHO CARES? It looks to me like it'll be fun. I'll get one.
I also do like the idea of an FPS having an "arcade" mode. That could add a lot of replay value.
You have a point in terms of graphics, but in terms of sheer size and code style, it looks like Windows to me.
First it was Gnome, an attempt to build a desktop Just Like Windows.
Then it was Mono. We've had slashdot stories on Miguel's pleas for Microsoft to please not constantly break compatibility to push people towards their implementation.
Now this.
Miguel, we care about you very much, and you need to understand that Microsoft doesn't love you. Microsoft will never feel about you the way you feel about Microsoft. Your pure heart is not enough to suddenly make Microsoft embrace any kind of genuine open standard. Microsoft has never had any goal but the ruthless elimination of any possible competition, and all you're doing is enabling the abuse.
You need to stop, and you need to walk away. You need to get into therapy, and start thinking about what's good for you, and what's good for the people who care about you.
Microsoft will never love you. They will not adopt open standards to make you happy. They will not try to make interoperation with you better. They will occasionally say just enough to string you along and make you write thousands of lines of ugly, bloated, crappy code in servile imitation of their unholy crap, but they will never actually care for you.
It's not gonna happen.
Look, face it: Bill Gates appears to be happily married. It was never meant to be. Just move on, and for the love of God, stop shipping multi-megabyte "frameworks".
The thing is, I can't point to anything that PHP did well. It's full of catastrophically bad decisions (the mere existence of register_globals, for instance), and crazy stuff (see the nearby comment about ===). Register globals was not a decent idea in the 90s. It was catastrophically stupid then, too. It's not as though buffer overruns and other bugs which allowed users to overwrite variables were not well known already.
PHP is the Windows of web programming. Everyone uses it because so many other people used it and did stuff with it.
You claim that it's up to the library implementor... but I don't think it's possible to do the job sanely.
Yes, a lot of that is learning curve. When a language is entirely defined by the learning curve of inexperienced people who either don't know about engineering or distrust it, the language ends up sucking. Yes, they're better now. If Rasmus wrote a new language, from scratch, today, it might be quite good. However, PHP is now in the same bin as BASIC. You can't fix it without breaking everything, and it's not at all clear that there'd be any reason to; the language's winning feature is widespread adoption. An upgrade which fixed the bugs would break that.
It solves no problem that needs solving. It's a bunch of accretions and bags on the side of the first template language that everyone invents. I wrote one of these too, maybe fifteen years ago. Mine was crap too.
I don't think you understood my point at all.
I didn't talk about, suggest, or even hint at "the One Big EXE" approach. I haven't written code that way since the late 80s. However, PHP's entire design favors insane levels of cohesion between units, and discourages clean designs.
Yes, it's good to divide reporting from data entry. However, it'd also be good to have code which really is the same shared, so that it's impossible for them to get out of sync, and PHP's support for this is dismal. It exists, sorta.
And yes, I know that register_globals was "fixed". But having ever implemented it at all was crazy, even having it as an option is crazy, and having had it on by default is the programming equivalent of being a repeat sex offender; you should get clear notification whenever anyone who would do such a thing writes any code, and be given ample opportunity to avoid contact with such code.
Mostly, though, you're just confirming my belief that this is all built on hand-waving by people who don't want to actually think through the pros and cons, just state that there are some, and assume that all pros and all cons are inherently of equivalent weight.
This is why I don't like or trust PHP. I know there's some stuff that was written in it.... And time and time again, they get bitten by it. Wordpress can't do postgresql because PHP's database support hardcodes implementation quirks; you can't just write SQL and trust the server to implement it.
Thank you. That really helps explain what they were thinking. I'd been wondering.
I think the killer for me was some clash between things you could do with user-written functions and things you could do with builtins.
My current solution is to write things in C, perl, ruby, sh, or awk. I've been thinking about relearning Icon just because it was a pretty language.
Going from PHP to Ruby was an astounding experience, I must say.
Yes, I know it's been "fixed".
That the option ever existed, at all, is the malware equivalent of asking whether someone lying naked on a bed, legs spread, covered with lube, with pornographic videos playing, and a big neon sign pointing at the applicable orifice, is trying to suggest something to you. To call it an "invitation" to attacks is like claiming that war is "sometimes unpleasant".
Now imagine someone who, at some point, not only thought such a feature should exist, but turned it on by default.
And now imagine saying "yes, I think I should run huge quantities of code in a language designed by this person on my server".
It's dumb. It's ridiculous. It makes NO SENSE AT ALL.
I have used an awful lot of web sites that very clearly do not follow even basic and reasonable engineering practices.
I know that many developers are doing their best with sucky tools, but you guys will always be outnumbered by people who aren't, same as in any other field. Most of the web developers I talk to are totally shocked at the notion that they should care about "software" engineering, when all they're doing is "page design".
Everyone talked a lot about PHP.
I started learning it. By about a chapter into the PHP book, I was thinking "holy crap, this language is uglier than perl". It has everything you would expect from a language thrown together by people who were either ignorant of software engineering or aware of it, but aggressively hostile to it. Everything global by default? WTF?
I have never seen a language with so many carefully crafted security holes that the developer needs to learn to avoid. Default behavior for inclusion is to allow URLs, so you can, you know, run code from any site in the world. There's a feature everyone always wanted, which is never going to be subverted!
I made it through about two and a half PHP books. In that time I learned that the MySQL and PostgreSQL interfaces were substantively different, and of course, used differently-named functions with slightly different calling conventions. Why? Because there's no abstraction or generalization going on; just whatever features sound cool getting thrown in with some name that wasn't previously in use. I learned that this is just BASIC all over again.
I spent several days thinking hard about bleach, and went back to programming languages that were designed with some kind of consideration given to the development of larger projects.
Ruby's undoubtedly "slow". That's what everyone said about perl and awk, too. Come to think of it, I've had people tell me that C was too slow. But Ruby has the amazing, shining, virtue that it is not a stupidly-designed or ugly language. I spent a while working with Ruby, and some helpful people pointed out that, in fact, the language does have a gotcha to watch out for. One. Not so many that you have to buy whole books full of things that you'd obviously try that don't work, open your site up to XSS, or behave erratically. No, just the one.
Can PHP work? Sure. But the tacked-on afterthoughts provided to allow you to, in theory, if you remember to and want to put in the work, use basic software engineering principles, are not enough. The language provides a huge array of runtime functionality, with a function for everything. It doesn't provide the basic tools you want for engineering large projects, meaning that the workload of maintaining big stuff in PHP is exponential, not just quadratic.
It can be made to work, but it really is that badly considered, and I wish people would stop doing things in it. Life is easy enough for the botnet people already, we don't need a language in which you have to be warned not to set the flag that lets remote sites set every global variable in your program.
And yes, the 76 in that title is (I believe) an accurate article count. The Cranky User column has gone through something like three developerWorks "zones" and had I think six editors.
:)
It was a lot of fun.
Insurance companies sometimes negotiate a flat rate for some services, which CAN be lower than the one you'd pay. It's just that, often, it goes the other way too.
What if he manages to persuade Bush that video games might be somehow related to terrorism, or non-Christians?
It's zsh. It's also incorrect; in standard shell, if you provide no command, no command is run, so '>x' is very similar co 'cp /dev/null x'.
Objection! Assumes facts not in evidence, to wit, the idea of a slashdot editor who has a bullshit detector.
That's not always what I've seen -- when my father's hearing aid turned out not to be covered by insurance, the same exact device suddenly cost 1/10th as much.
And what happens if your ISP has to raise prices, for everybody, because the traffic you're shaping on YOUR router, and that every other customer is doing the same to, is about ten times the total of all the non-spam traffic?
This is not a hypothetical situation.
You want an ISP that filters nothing? Okay, no problem -- someone will make one.
I want an ISP that filters spam very aggressively at THEIR border router so I don't have to. And therefore, I want that to be legal.
Just a reminder, not everyone even has the option of traffic-shaping at the router. Many people are paying their ISP to get *AND FILTER* their mail. Not everyone wants to read several thousand junk messages per day, or pay to download them.
Don't be silly.
Record them when you send them, scan them, and call in once or twice if needed -- and sue if needed.
If even a few people do this, the cost of screwing around gets huge, and rebate processors shape up.
BTW, the thing about "lost, damaged, or misdirected mail"? Last I heard, it was up to them to prove that they didn't get it; the law assumes that, if you deposited something in the mail, it arrived. Bad luck for them.
I've never seen anything like that in the fine print.
I've also had exactly one case, ever, where a company didn't cough up when confronted. That was Soyo, and I sued them and won.
The problem here isn't that it's a scam, it's that you're an idiot who doesn't even TRY. I've collected $2,821.80 in rebates since I started tracking them, and probably at least a thousand dollars more before I got in the habit.
The seller is, after all, buying bandwidth too.
Consider this: If the "seller" (or "content provider") is e360, do you want a law in place that says I can't discriminate against their traffic?
You'd think so, but in fact, it's just the opposite.
You have a point. It might be that Nintendo's online would actually be worth playing.
Not listening to you, maybe.
They're listening to me just fine: If I want online play, I'll play WoW. I have zero interest in online from my console, and I want them to spend that money instead on things I do want.