Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12345»»»

A Simple Mistake Expand / Collapse
Author
Message
Posted Saturday, May 10, 2008 2:07 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Thursday, July 26, 2012 12:38 PM
Points: 2, Visits: 32

Humans deal with text in a case sensitive way for a reason...it's a concise and effective way to add meaning to words. Why do I capitalize the beginning of a sentence, or suggest reading, The Case Sensitive World, which by capitalization alone tells you that that group of words must be the title of a book. How about SSN? or FBI or a million others. ssn and fbi, don't communicate as quickly because the otherwise capitalized versions immediately tell us "This might not be a word", and that's okay. Your brain recognizes case, therefore it is a concise way to communicate information, just as are color, font size, bold, underline, etc. We use case sensitivity everytime we communicate in writing and developing computer languages that way is nothing other than taking the best elements of written languages.



Post #498403
Posted Saturday, May 10, 2008 3:56 PM
SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: Administrators
Last Login: Wednesday, July 30, 2014 3:49 PM
Points: 31, Visits: 44
Humans deal with text in a case sensitive way

Really? Surely, in western literature, changing the case of the letters of a word doesn't change its meaning.


Editor: Simple-Talk
Post #498407
Posted Saturday, May 10, 2008 4:14 PM


Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Monday, April 14, 2014 4:18 PM
Points: 1,276, Visits: 1,132
Just FYI, I recently posted an MS Connect feedback item on this very topic, asking for a case-sensitivity option in SSIS Data Flow components: https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=339069

The thinking is that even if some DBAs or developers think case-sensitivity is wonderful, others should be given the option to turn it off.

At the same time I also posted a second issue to Connect asking them to fix the fact that an SSIS developer must learn at least three different data type systems (!) As far as I'm concerned they should adapt SSIS to use a single type system, preferably the SQL Server data type system that, as DBAs and SQL developers, we're all already familiar with: https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=339068

If you agree with these suggestions, take a moment to vote for them over on Connect. The more people who vote, the better chance they'll do something about it.
Post #498408
Posted Saturday, May 10, 2008 4:22 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Friday, December 12, 2008 1:42 PM
Points: 6, Visits: 29
Matt Miller: Both camps are wrong in trying to force their viewpoint on the world.

Forcing an opinion requires limiting someone's choice. I have consistently expressed that case sensitivity in a programming language (not a human language) offers choices that are not available in programming languages that are not case sensitive. This is about about choice. However, the scope into which that choice is applied is up to the organization that has adopted a particular viewpoint on the question. I honestly don't care if the world adopts my standards. I do care if the world decides that it would be more convenient for them to cease to support a technology upon which my standards depend. That is forcing a viewpoint, and if done with a tool like SQL Server, it is doing so on the world.[/p]
Matt Miller: I can't believe that it would be so very difficult to set up case sensitivity as a compiler option, that could then be picked on a project by project basis.

Excellent choice. I agree. This is likely a one-way street, as once you have a base of code that may have different capitalizations for the same symbol, you may have a hard time going back the other way, limiting options for those that come after you. It is such a rarity these days for a developer to last more than a couple years at a particular organization, so this decision must be made carefully, and deliberately, and with full awareness of the consequences.


Sene Bauman: whew, can we say anger management. If your intent was not to insult with your comments, you failed miserably. In fact, what is interesting is that your tirade was actually in agreement with the people you were yelling at.

I apologize if my comments seemed angry, but disagreements and criticism hardly qualify as anger, no matter how forcefully expressed. It is unfair to me and to free discussion in general to resort to ad hominem comments. If I wanted to yell, I WOULD USE ALL CAPITALS. Not to belabor a point, but (a) all capitals gets your attention, and (b) it does change the meaning of the statement, even in written language intended for consumption by other people. For the record, I was not actually yelling, but if you think I was, you made my point for me.


Sene Bauman: Capitalization in language does not changer meaning, which was Phil's and my point. It changes style or emphasis.

I agree that in language intended for person-to-person communication, capitalization has much less significance than for computer programming languages. But, capitalization is significant for a lot of compilers and interpreters, no matter your opinion on whether it helps or hurts programmers in part or in whole. For C-based and many other languages, capitalization is factually more than style or emphasis. I simply do not understand the argument that if something makes sense for a person, despite the capitalization, it should make sense to a compiler. Is Lisp code "bad" because it is hard to read? Clearly not. Is COBOL code "bad" because it is so easy to read? No.


Sene Bauman: Select means select whether it is spelled "SELECT" or "sElEcT".

To SQL and people, yes, "SELECT" and "select" have the same meaning. To C, they do not have the same meaning, whether you like it or not.


Sene Bauman: Take you argument about the bntOK object. I can see no circumstances where it would be advantageous to create objects okBTN, oKBtn, OkBTN, adnauseum.

Neither can I. But as I stated clearly, if one has the option to abuse their freedom, it does not make it right to do so.


Sene Bauman: If anything is implies a degree of mean spiritedness and elitism and creates havoc with anyone trying to work on your code. So as I said before, using upper/lower case for clarity(style) is fine but the compiler should ignore it and not produce a syntax error.

Mean spiritedness and elitism? Creates havoc? I think removing someone's options is much more mean-spirited and elitist. If my compiler suddenly stopped caring about capitalization, then havoc would surely ensue to the same degree as if your compiler started to care about it. If I did not want to have to worry about capitalization, I would not be using the language and compiler I am using presently. But that should be my choice, and mine alone, to make.


Sene Bauman: If you want to force standards, than all you need to work on are text editors that force the output to be styled correctly regardless of the case.

I do not wish to "force" standards upon the world. I have a direct interest in the positive quality impacts of standards and when I hire someone and pay them to do work for me, I expect them to deliver what I ask for. If someone is unable to use the shift key as prescribed, they have a choice of looking elsewhere for work. As I have said repeatedly, and I will say again, this is not a value judgement. If you prefer to work with tools that do not require deliberate use of case sensitivity, then more power to you! Great! If your compiler could care less, then that goes for me, too. But I expect the same sort of respect back, and I take offense at the implication that my dependency on case-sensitivity is wrong, and that in someone else's perfect world, I would not be able to call a class "DateControl", and then name a variable that references and instance of it "dateControl". What is elitist?


Sene Bauman: I would also like to remind you that civility and respect are essential to purposeful discourse. As a scientist, I learned a long time ago, disagreement is fine, in fact, welcomed in debate. But intellectual honesty is what determines outcome, not how loud you shout or beat down your opponent.

I have strived to be civil. There are many different levels of respect, and I must be clear that no one in a free society is obligated to respect anything more than another person's right to have and express an opinion. However, no opinion, religious or simply religiously held, demands respect out of mere existence. If people take criticisms of their opinions personally, that is their problem and no else's.


If "disagreement is fine", then I do not understand why "the compiler should ignore [case] and not produce a syntax error".


You imply that my arguments are dishonest without a shred of evidence to back that up. In some countries, that would be considered libelous. Fortunately, mine is not one of them. I have neither shouted, nor have I resorted to "beating down [my] opponent." If making a detailed case to support my point, or citing my opinion on someone else's points is considered beating someone down, then I am guilty as charged.


Finally, I can understand if someone takes issue with my observation that lack of care about capitalization in programming code correlates with the same lack of care in written language. I will leave it up to other readers to ascertain whether my assertion is supported.

Post #498409
Posted Saturday, May 10, 2008 9:09 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Thursday, July 26, 2012 12:38 PM
Points: 2, Visits: 32
Really? Surely, in western literature, changing the case of the letters of a word doesn't change its meaning.


That's not exactly what I was getting at, but, yes, what you inferred is in fact true. What is the meaning of "acorn"? It's not the same as ACORN or a ton of other acronyms that are also words. And some acronymns, keeping with the examples here, become words and then their case changes along with their assumed meaning. How about LASER? In all caps it suggest the acronymn from which the word laser was derived, rather than simply the word "laser". I would never write that I had a LASER printer. If I read that from somewhere, I'd be wondering what it was that I was suppose to glean from the capitalization besides the type of printer it was.

I also think that it's worth noting that the designers of languages do not seem to be a part of any kind of conspiracy, and given that they are bright, independent people prone to the same conclusions, there must be something of value to the choice of case sensitivity, especially since it also has a cost.



Post #498426
Posted Sunday, May 11, 2008 12:07 AM


Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Monday, April 14, 2014 4:18 PM
Points: 1,276, Visits: 1,132
emiles01 (5/10/2008)

...there must be something of value to the choice of case sensitivity, especially since it also has a cost.


Speed and simplicity. Case, accent, kana, and other insensitivities cost you in CPU cycles that could be spent doing something else. I don't think it's nearly as big a deal as it was 3 decades ago when computers were running at 4 MHz, but it can still be a serious undertaking to get right -- especially with international character sets.

For instance, in a case-insensitive system is capital E the same as a lowercase é with the accent mark? You also have to create sort orderings, etc., for case insensitive systems. This is why SQL Server has so many different collation settings and why XML is case sensitive -- all of these things are factored in.

For a company that already has the code base in place for all this (like Microsoft), it shouldn't be that big a deal to incorporate these options into other products like SSIS.
Post #498429
Posted Sunday, May 11, 2008 6:26 AM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Tuesday, April 16, 2013 5:22 AM
Points: 16, Visits: 92
Having read several articles about case sensitivity over the last couple of days, they all contain a common argument. In my opinion this argument, loss of productivity, hold little merit because I know what and where variables and functions are declared at a glance. I started in a C/C++ environment on UNIX but understand the frustrations of VB developers because I have worked in VB shops and found case insensitivity useful too. My advice is find ways to use the case sensitivity feature to your advantage which makes you more efficient. Every language I have worked with has attributes, some good...some bad; it is our job to find these attributes and use them to their fullest extend. Remember it does not matter what language you program in, just that you program!
Post #498454
Posted Sunday, May 11, 2008 9:58 AM


Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Monday, April 14, 2014 4:18 PM
Points: 1,276, Visits: 1,132
yohannn (5/11/2008)
Having read several articles about case sensitivity over the last couple of days, they all contain a common argument. In my opinion this argument, loss of productivity, hold little merit because I know what and where variables and functions are declared at a glance.


An argument can definitely be made for that in SSIS. For instance, to make a Lookup task case-insensitive in the Data Flow requires adding additional tasks to convert your input data to a common case. You also have to write a custom query for the Lookup which converts the database Lookup values to the same case. I've actually seen this adversely affect productivity, so I don't think the argument is without merit.

I think the degree to which it affects you depends largely on the tools that you're using at the time as well as developer expectations. For instance, most developers probably expect that if their database is set to a case-insensitive collation then the tools they use to access the database will follow suit. Even those of us who know better can still fall into the trap on occasion, when there's a disconnect between the collations and settings of the database and the tools that access it.
Post #498476
Posted Sunday, May 11, 2008 10:17 AM
SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Friday, August 29, 2014 4:30 AM
Points: 5,345, Visits: 1,388
I personally hate case sensitive. Sometimes it becomes very irritative. MS products were good before without case sensitive but they also started following these. I would say it was BLUNDER instead of simple mistake.


Post #498479
Posted Sunday, May 11, 2008 12:07 PM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: General Forum Members
Last Login: Yesterday @ 9:58 AM
Points: 36,995, Visits: 31,517
Actually, I don't think it was a "simple mistake"... I think it was a cost cutting measure. It doesn't take nearly the code to make something case sensitive at a binary level... it does take a lot of code to make something case insensitive.

--Jeff Moden
"RBAR is pronounced "ree-bar" and is a "Modenism" for "Row-By-Agonizing-Row".

First step towards the paradigm shift of writing Set Based code:
Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column."

(play on words) "Just because you CAN do something in T-SQL, doesn't mean you SHOULDN'T." --22 Aug 2013

Helpful Links:
How to post code problems
How to post performance problems
Post #498489
« Prev Topic | Next Topic »

Add to briefcase ««12345»»»

Permissions Expand / Collapse