|
Jeremy Falcon wrote: if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better That appears to be the only de facto standard that really exists. I have seen enough money pits which better had been thrown away and rewritten 20 years ago, but everyone involved (including the customers) fear to lose all the time and money they put into them and bravely soldier on.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Jeremy Falcon wrote: using text fields for boolean logic To be fair, a boolean isn't part of the ISO specification (Oracle, for example, doesn't have a boolean data type). So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly!
What's more important, the average user will never see any of this.
What matters to them is that it works and gives them the functionality they need and somehow it does.
They don't care about your petty programmer problems like casting Y/N to booleans and keeping your data consistent without foreign keys.
|
|
|
|
|
Real programmers don't need foreign keys!
|
|
|
|
|
Real programmers also do their code tests in production.
if (Object.DividedByZero == true) { Universe.Implode(); }
Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016
|
|
|
|
|
Sander Rossel wrote: So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly! That are almost equivalent options, as you can do it with a simple binary AND. It helps reportization, especially if the clients are dumb (as with only enough processor to keep a connection to a main server), which was the standard topology at the times. then topology changed, but you must maintain compatibility with older databases. What do you do, change the background and add a layer of compatibility or realyze that Y/N are two bytes as much as 1/0?
In industial automation BTW the common patterns are 0xC0 and 0xC1 to encode 0 and 1.
CALL APOGEE, SAY AARDWOLF
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"Go ahead, make my day"
|
|
|
|
|
Sander Rossel wrote: What's more important, the average user will never see any of this.
Exactly! That's why SAP makes so much money.
SAP is a well known ERP system. So when big companies setup ERP system they can only think of SAP.
|
|
|
|
|
Sander Rossel wrote: Oracle, for example, doesn't have a boolean data type
To be fair, Oracle is one of the best sources of negative examples in the industry.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
And, like SAP, they make shitloads of money.
Larry Ellison is one of the top eight richest people in the world (who, together, have more money than half of the worlds population together).
Step 1. Do a sh*t job.
Step 2. ???
Step 3. Profit.
We can learn from these guys...
|
|
|
|
|
These people demonstrate nothing but greed and laziness, which are two things that everyone learns as a toddler.
What we need is to stop rewarding people for providing garbage, but then where would the Kardashian's be?
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
No one ever got rich by being lazy.
They may be greedy (although Bill Gates is the biggest giver to charity ever), but they are not lazy.
Not to mention they took risks.
I also wouldn't go so far as to call their products garbage.
If they were in it just for the money they would never get this far.
|
|
|
|
|
Long statement about Google, Mary Ann Davidson, and the pain of working with Oracle products.
Realized that I don't care, not worth kvetching over.
Oracle security chief to customers: Stop checking our code for vulnerabilities [Updated] | Ars Technica is worth the read for a laugh, if you're not familiar.
I do need to point out that while no one has ever gotten rich by being lazy, many people have gotten rich in spite of being lazy.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
Nathan Minier wrote: worth the read for a laugh, if you're not familiar. I know it
I really dislike Oracle. Their lust for lawsuits, money and overall attitude is among the worst in the business and their flagship database is a horror to work with
Nathan Minier wrote: many people have gotten rich in spite of being lazy I guess some people get lucky...
|
|
|
|
|
I reckon I can handle step 1 and 3. Could you please expand on step 2.
|
|
|
|
|
Step 2 is to send me money
|
|
|
|
|
At least SQL Server does have a bit data type that can be set to 1 or 0 which is closer to boolean.
No matter where you go, there you are...~?~
|
|
|
|
|
Sander, we're all professionals here. No need to point out the obvious about it not being an ISO standard. However, it doesn't mean one shouldn't follow common best practices. I can list a handful of reasons why doing what they did is a bad idea for booleans, and any DBA worth his/her weight could too. I choose not to state the obvious however, unless it's asked.
Btw, the sky is blue.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: No need to point out the obvious about it not being an ISO standard That wasn't so obvious to me.
I never knew until I needed to use Oracle instead of SQL Server.
Jeremy Falcon wrote: Btw, the sky is blue. I'm looking outside and it looks more like black to me. Then again, it is 21:30 o' clock.
Were I in the Westland it would be yellowish (due to the many greenhouses that seem to set the sky alight).
I've been in cities where the color was grey.
Don't assume that whatever is obvious to you is obvious to others as well.
Or is that obvious advice?
|
|
|
|
|
Sander Rossel wrote: Or is that obvious advice?
Sure, but you assumed I had no idea what I was talking about and missed the point. Let me use an example, you say "hey" and then I say a 10 page essay on the origins of "hey"... because I just can't wait to tell someone what I know and/or read. Whether or not you know this already doesn't matter, I just want to say it.
That's the IT way man. I never asked or even pretended to not-know, you just assumed it when "correcting" or informing me. You can say that wasn't the premise and the idea is to inform the world at large, but I believe if that were the case you would've said so. Computer people just love assuming people are clueless man, lack of social skills.
Sander Rossel wrote: Were I in the Westland it would be yellowish (due to the many greenhouses that seem to set the sky alight).
Jeremy Falcon
|
|
|
|
|
|
Sander Rossel wrote: Sorry man, you seem quite bothered by my little ISO comment.
I suppose a wee bit. Just a bit too used to dealing with people in this industry trying to "show off knowledge" without regards to the actual conversation ya know. Anyway, I'll shut up now.
Sander Rossel wrote: I was just trying to cut the SAP people a little slack, but you are merciless!
No comment.
Sander Rossel wrote: Anyway, to assume makes and ass of u and me
Maybe, but I'd rather be an ass than a SAP developer.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: people in this industry trying to "show off knowledge" I'll show off with my books and articles, no lounge post can tip that
I really only mentioned that just to show off.
Jeremy Falcon wrote: Maybe, but I'd rather be an ass than a SAP developer. What's the difference?
|
|
|
|
|
Sander Rossel wrote: I really only mentioned that just to show off. Touché!
Jeremy Falcon
|
|
|
|
|
Sander Rossel wrote: Oracle, for example, doesn't have a boolean data type
Also, a lot of RDBMSs don't have a boolean type, but come on, everyone knows to use an integral value for boolean logic in that case. I could list the reasons why, but after 20 years of arguing online with people that love to argue because they mistake that for being "smart", I simply do not care anymore. I'd rather spend my time more wisely then argue with people with no experience (not saying you, you're smart just well you know... if you've hung around coders you know what I mean).
But, I'll give a hint why anyone worth their weight DBA wise wouldn't use a text field for booleans... code pages / character sets / insert whatever mapping here, not every RDBMSs can restrict case and if so its less performant, wasted space and memory for storage... and that's just three without having to think about it. Y/N as text simply means it was rookies. I could go on and on and on, but I no longer have the desire to these days. It just simply amazes me something so bad could make so much money, that doesn't mean I need a lesson on something about databases that I already know.
Jeremy Falcon
|
|
|
|
|
This is a warning.
If you are currently happy with your life do not continue reading.
I cannot guarantee you will ever be happy, find love, see beauty or sleep at night again after reading this.
So, don't say I didn't warn you.
One shop I worked at, that used SQL Server 2005 and up with VB.NET 2.0 and up, did not use the BIT data type, nor did they use a numeric type with 0 and 1.
Instead, they used the MBoolean, M being the first letter of the company name.
The MBoolean was a CHAR(1). Now you might expect it to be Y or N.
It wasn't.
It could actually have the values J and N, from the Dutch Ja (yes) and Nee (no).
The worst part was that they often didn't even bother to cast J/N to a regular boolean (not even in .NET), the code was littered with If something = "J" Then...
Because doing things in Dutch is so much easier when finding help on the internet.
Not even the Dutch people understood the J/N boolean
The reason for the J/N had something to do with Clipper, Visual Basic (pre-.NET) and dBase all handling booleans differently.
|
|
|
|
|
Sander Rossel wrote: So, don't say I didn't warn you.
And yet, I read it....
Maybe they could get a job at SAP?
Jeremy Falcon
|
|
|
|
|