I agree that database portability isn't of primary important in all projects. But portability is a common requirement, and there are good reasons besides portability to stay away from stored procedures. Maintenance is a huge one. Scalability is another. Separation of model and business logic is another. I'm not sure where the "10% of overhead" figure comes from... I've never felt my that my productivity suffered by writing portable SQL or using tools to do it for me.
The amount of money a company spends on a RDBMS shouldn't persuade a developer into locking himself into that vendor. If a particular RDBMS provides some functionality that their competition does not, and your product absolutely must leverage it, that's a persuasive argument. A personal preference for Oracle's "TO_DATE" function should not be a factor.
Modern database systems perform very well. The performance difference between a stored procedure and a prepared statement is negligible if it exists at all. In fact, a prepared statement will most likely scale better.
My point was that developers should try to use ORM tools (like Hibernate). Then they don't have to write ANY SQL. Most developers aren't very good at writing SQL, and assuming it works at all, it's probably not optimal to begin with. An ORM tool will produce SQL at least as good as a person can the majority of the time. Bulk updates are the exception.
In my experience, stored procedures are too often used when they aren't necessary. I have never run into a problem that couldn't be solved without a stored procedure, and the solution is typically portable.
Stored procedures have a place, but it's not a very big one in the vast majority of projects. I have to question the architecture of any software that makes extensive use of stored procedures.
SQL statements belong in neither stored procedures nor in the code.
ORM tools, like Hibernate and TopLink, allow you to map objects to relational tables, and generate the SQL on the fly. (Hand-tuning is still possible, though you would not put hand-written SQL in code, but in some kind of a properties file that is loaded at runtime.) Hibernate, for example, supports a variety of SQL "dialects", which it uses to generate SQL that is compatible with the vendor that you (or your customer) chooses to use. You should be able to swap SQL Server for Oracle for PostgreSQL for MySQL for Firebird for DB2 in minutes.
If ORM tools can't or won't be used for some reason, SQL statements should still NEVER live in the code, and should not be dynamically built in the code. They should be externalized, similar to strings for localization, and they should be prepared statements.
I think you're half kidding, but I can't tell how serious your first sentence is supposed to be.
Assuming, your intent was 100% seriousness -- "encoding" data on a magnetic strip is analagous to encoding a sentence by writing it on a piece of paper. This is the main flaw of the DMCA -- at what point do we differentiate between information being "written" and being "encrypted"? Would translating a piece of text in Cherokee (a la Windtalkers) be considered encryption, and would it be illegal under the DMCA to hire a Cherokee to translate it back to English?
So if someone broke into your place and stole, oh let's say the computer(s) you use to make your living, you wouldn't report it to the police because you choose not to use any public services?
MS supports their hardware too. They support their keyboards, mice, network adapters, and other hardware that they actually sell.
There is no "64-bit Windows for AMD". There is a 64-bit version of Windows, but they have no obligation to support AMD's hardware, just as Linux has no obligation to support anything that noone feels like writing a driver for.
Apple takes the easy road, by supporting a very small set, compared to Windows and Linux, of hardware. This is great for ease of configuration and stability, but at the cost of your checkbook and freedom of choice.
Re:If precedent means anything you're half right
on
Xbox 360 for $300
·
· Score: 1
There were a handful of N64 games that were $60, but they weren't just games -- they included the memory expansion pack or special controllers.
From interviews with both Gates and Balmer, it sure sounds pretty certain the XBox 360 will see an HD media drive of some sort.
Do you have a link to an article that references this? It's news to me...
I really don't think that over the next 5 years (the probable maximum lifespan of the next console generation) that Microsoft will find a huge demand from the market for HD/Bluray. As they say, content is king, and content can be delivered without the latest tech. Plus, PC games have barely begun to leverage DVD-ROM (most PC games are delivered in CD-ROM)... and the PC gaming industry is typically a few years ahead of the console industry.
So what you are saying is that if the 360 comes out with an HD-DVD drive later on, it will not be possible to make games that use it.
No, that's not what I'm saying. I'm saying that the 360 will not come out with an HD-DVD drive later on.
Unitl the first company that wants to port some PS3 mega-hit that uses most of the Blu-Ray space comes along.
There other solutions to this problem. For example, shipping the game on multiple discs (see Final Fantasy VII on PSone).
Whatever Microsoft says now about future games never shipping on HD-DVD is just a thinly veiled attempt to stem lost sales to an acceptable level.
No, it's a commitment to the current dual-layer DVD standard. Given that the HD/Bluray format war has barely begun, the costs of including that technology is prohibitive, and the average gamer doesn't care, it's a wise move on their part.
Re:If precedent means anything you're half right
on
Xbox 360 for $300
·
· Score: 1
Nintendo games have never cost higher than their competition's.
You seem to think that there will be an Xbox360 version 2, that supports HD-DVD or BlueRay. This isn't the case.
Whatever format Xbox360 supports at launch will be the format for all of its games for the entire life of the system, and it will also support old optical formats, like standard DVD and CD.
There is a huge improvement in image quality, even on the current Xbox, when you go to HDTV. Many games support at least 480p, there are quite a few 720p, and even some 1080i. A lot of games also do widescreen (great for football!).
I think Oblivion is scheduled for release at launch.
$60, and even $50, is too much for most people to afford to play the latest games, even when the "latest" games are a few months old. Used game shops don't offer the most popular games at a great discount.
The best alternatives are:
online "Netflix-like" rental services like Gamefly
Designing with Web Standards by Jeffrey Zeldman.
By far the most useful and informative book on the subject that I've seen. A good web designer needs to know the "why", not just the "how".
I agree that database portability isn't of primary important in all projects. But portability is a common requirement, and there are good reasons besides portability to stay away from stored procedures. Maintenance is a huge one. Scalability is another. Separation of model and business logic is another. I'm not sure where the "10% of overhead" figure comes from... I've never felt my that my productivity suffered by writing portable SQL or using tools to do it for me. The amount of money a company spends on a RDBMS shouldn't persuade a developer into locking himself into that vendor. If a particular RDBMS provides some functionality that their competition does not, and your product absolutely must leverage it, that's a persuasive argument. A personal preference for Oracle's "TO_DATE" function should not be a factor. Modern database systems perform very well. The performance difference between a stored procedure and a prepared statement is negligible if it exists at all. In fact, a prepared statement will most likely scale better. My point was that developers should try to use ORM tools (like Hibernate). Then they don't have to write ANY SQL. Most developers aren't very good at writing SQL, and assuming it works at all, it's probably not optimal to begin with. An ORM tool will produce SQL at least as good as a person can the majority of the time. Bulk updates are the exception.
In my experience, stored procedures are too often used when they aren't necessary. I have never run into a problem that couldn't be solved without a stored procedure, and the solution is typically portable.
Stored procedures have a place, but it's not a very big one in the vast majority of projects. I have to question the architecture of any software that makes extensive use of stored procedures.
SQL statements belong in neither stored procedures nor in the code.
ORM tools, like Hibernate and TopLink, allow you to map objects to relational tables, and generate the SQL on the fly. (Hand-tuning is still possible, though you would not put hand-written SQL in code, but in some kind of a properties file that is loaded at runtime.) Hibernate, for example, supports a variety of SQL "dialects", which it uses to generate SQL that is compatible with the vendor that you (or your customer) chooses to use. You should be able to swap SQL Server for Oracle for PostgreSQL for MySQL for Firebird for DB2 in minutes.
If ORM tools can't or won't be used for some reason, SQL statements should still NEVER live in the code, and should not be dynamically built in the code. They should be externalized, similar to strings for localization, and they should be prepared statements.
I think you're half kidding, but I can't tell how serious your first sentence is supposed to be.
Assuming, your intent was 100% seriousness -- "encoding" data on a magnetic strip is analagous to encoding a sentence by writing it on a piece of paper. This is the main flaw of the DMCA -- at what point do we differentiate between information being "written" and being "encrypted"? Would translating a piece of text in Cherokee (a la Windtalkers) be considered encryption, and would it be illegal under the DMCA to hire a Cherokee to translate it back to English?
Instead of Chapstick, I recommend good old Vaseline (petroleum jelly).
So if someone broke into your place and stole, oh let's say the computer(s) you use to make your living, you wouldn't report it to the police because you choose not to use any public services?
The local mob must LOVE you.
Calm down... this email was a joke, and it was sent to the Fuddrucker people, not the guy who changed the content out from under them.
But it looks so pretty without a battery cover!
Is it only legal if you ripped the ROM yourself? What if you own the cartridge, but download the ROM?
Nah, he just doesn't know how to read.
MS supports their hardware too. They support their keyboards, mice, network adapters, and other hardware that they actually sell.
There is no "64-bit Windows for AMD". There is a 64-bit version of Windows, but they have no obligation to support AMD's hardware, just as Linux has no obligation to support anything that noone feels like writing a driver for.
Apple takes the easy road, by supporting a very small set, compared to Windows and Linux, of hardware. This is great for ease of configuration and stability, but at the cost of your checkbook and freedom of choice.
There were a handful of N64 games that were $60, but they weren't just games -- they included the memory expansion pack or special controllers.
Do you have a link to an article that references this? It's news to me...
I really don't think that over the next 5 years (the probable maximum lifespan of the next console generation) that Microsoft will find a huge demand from the market for HD/Bluray. As they say, content is king, and content can be delivered without the latest tech. Plus, PC games have barely begun to leverage DVD-ROM (most PC games are delivered in CD-ROM)... and the PC gaming industry is typically a few years ahead of the console industry.
No, that's not what I'm saying. I'm saying that the 360 will not come out with an HD-DVD drive later on.
Unitl the first company that wants to port some PS3 mega-hit that uses most of the Blu-Ray space comes along.
There other solutions to this problem. For example, shipping the game on multiple discs (see Final Fantasy VII on PSone).
Whatever Microsoft says now about future games never shipping on HD-DVD is just a thinly veiled attempt to stem lost sales to an acceptable level.
No, it's a commitment to the current dual-layer DVD standard. Given that the HD/Bluray format war has barely begun, the costs of including that technology is prohibitive, and the average gamer doesn't care, it's a wise move on their part.
Nintendo games have never cost higher than their competition's.
Whatever format Xbox360 supports at launch will be the format for all of its games for the entire life of the system, and it will also support old optical formats, like standard DVD and CD.
I prefer content over format. The next-gen DVD formats allow for more content, but not necessarily better.
Launch games were $49.99.
I think Oblivion is scheduled for release at launch.
The best alternatives are:
- online "Netflix-like" rental services like Gamefly
- free online game trading sites, like TGN
I've used TGN for about 3 years, have never been ripped off, and have been able to enjoy dozens of games and DVDs just for the cost of shipping.And Thomas hasn't shut up about it since!
But then it wouldn't be "write once, run everywhere". That's one of Java's main selling points.
No, structure is defined in the HTML (or XHTML). CSS defines how you present that structure (the design).
Content is independent of both structure and design.
Presentation and Design are really the same thing. I think what you mean is separating Structure from Design.
Designing with Web Standards by Jeffrey Zeldman. By far the most useful and informative book on the subject that I've seen. A good web designer needs to know the "why", not just the "how".