Post a Comment
as far as i know:
1996: iPhone by infogear (later cisco)
1998: iMac
1999: iRiver was foundet (maker of mp3/media players)
2001: iPod (again a mp3-player with an i
) 2007: iPhone again
I think the Apple iWhatever is distinct enough from any convention. It's more of a marketing/identity thing than a readability solution.
I hope Apple will name their tablet something modern, and not just something boring like iPad, iTablet or whatever.
... that's another thing, perhaps it's just me, but Apple has a real hard time naming things that sound appealing to me, that aren't operating systems that is.
It's either iBoring, or some nebulous thing like "Time Machine" or "Boot Camp". They sound more like bad puns and play-on-words than communicative titles of technologies.
I'm enough of an old-timer to remember that it was the SmallTalk language and development environment that probably got everyone writing function and method names like doNotPassGoOrCollect200Dollars().
However, the size difference between the upper and lowercase letters makes the above much more readable than DONOTPASSGOORCOLLECT200DOLLARS(), so we haven't transitioned back to Greek or Latin.
Case-mixing can make text easier to read; it's too bad that English dropped the German practice of capitalizing nouns (it was still common practice in English in the 18th century, see the US Constitution for an example).
I prefer programming languages with do_not_pass_go_or_collect_200_dollars() method name conventions.
Another annoyance are wiki engines that automatically linkify CamelCase words.
I was about to post that Greek, Hebrew and Latin used all the same case ...
Besides our old variables in BASIC and FORTRAN were more like BOC (for something like bufferOverflowCounter) or if verbosity was encouraged, BOCTR. Never more than six characters in the OLD days.
Actually, to this day when I think I can get away with it I use 6 char. var. names.
Ah well... that reminds me that I must get back to work. I have dallied too long and not finished my Sprint in time.
Not SmallTalk but Turning long ago in school if not VB and VC afterward; txtName, varName, funcDoesThingy(). I'd suggest that the programming teacher may have learned it from SmallTalk but she was barely keeping up with course book she was reading from. (nice teacher, just not a coder)
As far a I know, the reason was that spaces where not allowed in identifiers (and still aren't) and the underscore character was not added until a lot later. But even today, it's infinitely easier to write aFunctionThatDoesSomething that lifting your hand or stretching your small finger to write a_function_that_does_something. Consider that when you are programming you have to write these identifiers all the time and that for most the two are equally readable and you can see why camel case is so common in programming.
After languages (like RPG, older versions) required identifiers to reside in a certain position within the line (e. g. colums 2 - 6 for this and that, column 7 for something else), the space character has been introduced as a statement separator. Later on, the space character and the tab character were means of "pretty coding"; in some languages, they even are a syntactic element today.
The easyness of _ depends on its place on the keyboard, and this depends on the keyboard layout. The german layout, for example, places _ where ? is on the english / US one, this means it's exactly left to the right shift key. But because most programmers are used to the english / US layout, camel case (camelCase?) has been so widely adopted, I think.
According to reading: I agree that myNiceFunction() and my_nice_function() are relatively equal. A problem can arise when you follow conventions that suggest the case for certain text elements within the source code, such as in C: full UPPERCASE for #define macros, beginning with a Capital for enums (I'm not sure about this, but I think I remember that I read that somewhere) and regular lowercase for all other identifiers.
Using _ instead of space gives the advantage of automatic parsing: For example, function names with _ can be easily found and turned into documentation, simply by replacing the _ by a ' ' (a literal space). It's not that easy with camel case where the end of one word has to be determined by the case of the letter, then turning the letter into lowercase again and preceeding it by a ' '. If you now have scripting tools in mind, you recognize that automatically processing _ is much easier.
Finally, just giving a very individual opinion: I mostly use the_underscore_convention for longer identifiers. If the identifiers get really too long, I shorten them and give a comment about what the abbreviation stands for, sviftdft() /* some very interesting function that does funny things */. But in the past, I even wrote right away, without capitalizing the beginning of a word, justallinone, which I today would consider a quite bad style. But much better than my Pascal days, without spaces and cases and everything, init;bk(0);setpicardcolor(x0+x1+xk+ax(rs(r,10,12),qq[x])+q,f[q[ni],kk[ i+1]); - just plain terrible... :-)
Well, actually it would be OSNews.
A property named DBRate is an example of a short acronym (DB) used as the first word of a Pascal-cased identifier. A parameter named ioChannel is an example of a short acronym (IO) used as the first word of a camel-cased identifier.
Source:
http://msdn.microsoft.com/en-us/library/ms229043.aspx
Although it is a complete off-topic (sorry), I must say that I'm really put off when I see the word "I" throughout the whole article. It is OK to present the editor's view, but in a separate section. Otherwise it does look like a blog post.
Despite the fact that Thom sometimes get carried away and writes very biased articles, I think that he is doing a very good job. Besides, you cannot always do your best when you're writing 90% of the articles. I wish there were more editors actively involved.
I'd volunteer but honestly, if I were to write articles it would take me a week at a time, because I'd want to go over it again and again to make sure the content makes sense, is valid, etc... because I know all of you people reading OSNews would pick it apart.
Plus I'd probably get all defensive about my articles.
The reason why CamelCase was popularized in programing was not because of the size required by an identifier.
In the grand scheme of things an extra character in a multi-word identifier is not that impactful.
The primary motivation behind CamelCase was that, in many cases, early compilers and interpreters only permitted alpha-numerics in identifiers which gave rise to CamelCase for readability reasons.
Microsoft, of course, had a great deal to do with popularizing CamelCase as the entire API is CamelCase.
Agreed,
The rational on this is because compilers use identifier names [variables, classes, functions, methods, etc.] as an entity that just contains alphanumerical characters and a reduced number of symbols.
Space is generally treated as a separator, so, if a variable is called "my salary" instead of "mySalary" would create ambiguity for the compiler: "what is the variable name? 'my'? if the variable name is 'my'... what the hell is 'salary' here? I do not know a reserved word called 'salary' and after the variable 'my' I expect an operator or a function name to invoke"... or something like that 
Quite easy: "my" is the (data)type of "salary". :-)
I'm not sure Microsoft used Camel Case all that much until .NET - their legacy APIs (DOS, Win32, etc.) are full of Hungarian Notation, which they had a great deal in promoting. Basic/VBasic may be a different issue though.
Qt, on the other hand, has been using CamelCase for longer than .NET has been around; as have many others.
"We have to talk about something called camel case. Camel case, as the name vaguely suggests, refers to the practice of using capital letters for elements in compound words or phrases - like iPod, PowerPoint, or WordPerfect. You also see a lot of camel case in names, such as MacGuyer or McDonald's."
I prefer to think of them this way:
iPod is camelCase.
WordPerfect is PascalCase.
Wikipedia says that with Camel Case the first letter can be lower or upper, but PascalCase is "always" with the first letter uppercased. I personally like to keep these separate and think of them as camelCase and PascalCase.
Edited 2009-12-03 01:20 UTC
Actually, the accepted definition of CameCase encompasses both forms ...
http://en.wikipedia.org/wiki/CamelCase
Opposing so called 'camel case' is really like fighting windmills.
As is clear from just a handful of responses by now camel case is useful when the use of spaces is prohibited. Besides that it is an easy way of improving brand and/or style recognition when used in single monikers/brand names.
Neither use decreases the legibility of any written language (be it text or code) in these respective contexts.
I have a pet peeve about CamelCase myself. I recently started having repetitive strain injury issues, and I found that switching from C++/java style CamelCase to C-style lower_case_with_underscores is a hell of a lot friendlier to the tendons in your hands when typing (especially if you map underscore to a key for which you don't have to press shift). I think the designers of C++/Java didn't have ergonomics in mind when designing their language, but perhaps in the future language designs should take that into account; the less modifier keys you have to hit when typing, the kinder you are being to your body.
Nitpick, re: "OSnews"
http://www.osnews.com/images/styles/logo.gif
I'd say that makes it a fairly valid way to express the name.
Without entirely agreeing with you, I do think Thom at least implies something wrong when he says, For the first time, reading became something you could do in silence, as a private thing. (emphasis added) Silent reading as a private behavior most definitely existed in Imperial Rome, for example but it was usually done by moving one's lips. Augustine of Hippo, in the Confessions, relates the amazement of him and some friends when they came to meet Ambrose of Milan and found him reading silently. That said, Augustine was a highly educated and cultured man, so this also implies that Thom isn't far off the mark.
On the other hand, Thom is definitely wrong about spaces between words. Spaces don't appear in nearly any writing before the Romans and Greeks (in fact, I can't find any reference to spaces in writing before them). To the contrary, the Romans specifically invented a word divider that everyone else lacked, called the interpunct.
See more fully here:
http://www.stanford.edu/class/history34q/readings/Manguel/Silent_Re...
http://en.wikipedia.org/wiki/Word_divider
http://en.wikipedia.org/wiki/Interpunct
Further, Greeks did use spacing and punctuation in earlier than the 8th century, and it wasn't added in for the monks - it was added in for people whose second language was Greek. Prior to that there was (i) no spacing, (ii) no sentence punctuation, and (iii) no breathing marks.
Allthoug spaces are allowed in file names in many file system definitiions, it's obvious that spaces usually are the delimiter character in dialog shells and scripting tools. If file names contain spaces, there's always a need in scripts to include proper quoting, because a space could keep a program from working.
There are other characters that are allowed in file names. You actually *can* use them. But should you?
someFotos of Jim & Bob @ the ``OS" convention "booyah!" in Blödmanntown \ Núßbaumlænd / near Jane's farm[1].JPG
Imagine the fun when you have tons of such file names and you have to script something for them... :-)
As I mentioned before, I prefer the underscore character, even in file names. And I don't use umlauts, eszett ligatures or any possibly special character in them, just [a-zA-Z0-9] and _ - , and #. This has the advantage that file names are readable under any circumstances (no special character map required, no support for UTF-8 needed); this is an essential criterium especially for data recovery needs, where following such a "minimal approach" convention can save you some trouble.
I actually like CamelCaps. But most of the time they're abused; they never look pretty if two or more capitals occur in series for me. Something like:
new XMLReader();
new XmlReader();
The second looks a lot nicer to me. OSnews for that reader seems better OSNews. So yes, up with the movement for vested interests!
I agree with Thom that the site should be called OSNews and not OSnews. A possible way to clear some confusion (though not the whole debate) would be to have the logo changed, with the cooperation of the original designer.
The ScummVM game interpreter actually did this about a month ago, as their logo used to include a lowercase "s". http://www.scummvm.org/news/20091030/
Logo design has never strictly followed the same capitalization rule as written English, but nowadays brands are being more and more liberal with capitalization so it can be hard to know what's correct for normal written usage.
Edited 2009-12-03 06:28 UTC
The logo has always been like that, since 1997 http://www.osnews.com/1997osnews/
"OSnews" makes the word "news" more readable, where as "OSNews" puts more impact on "OSN" with some trailing letters. "OS News" is fine, because the N does not mess with the "OS". Basically I’m concerned that the "OS" part should be stressed, and "OSN…" de-stresses that.
Thom won’t have it because he is passionate about language and doesn’t like churlish web 2.0-isms AFAIK. Not that I do either (can’t stand awkward domain hacks), I just think the lowercase "n" looks nicer and helps to keep OS as O.S.
David doesn’t seem to mind either way, which doesn’t help separate the scrapping school boys. 
Off topic i know, but how good is this quote from the above link :
C/net is exposing the future Betamaxes and 8 track tapes of the technology world in a column entitled "10 Technologies that Don't Stand a Chance." Judge for yourself. BTW, one of those doomed technologies is Java.
Edited 2009-12-03 12:34 UTC
CamelCase is annoying, but what about all caps?
To add more: TIME, KISS, ASCII
I would prefer osnews
The American Standard Code for Information Interchange (acronym: ASCII; pronounced /ˈæski/, ASS-kee)
I'd agree with "time" and "kiss" though unless somehow being used for a specific acronym. If it's done intentionally for emphasis then someone's parents needs take there keyboard away for a while.
I don't think newspapers and similar should care at all about what the logo or trademarks use for typographic decoration, but write it in the way that makes it as legible as possible.
iPod => Ipod
IKEA® => Ikea
I mean, what to do when even more companies start using : and _ etc in their product names? Newspapers would have to start using logo images instead of plain text...
...and I prefer OS News.
The reference to ancient Greeks and Romans is a bit far fetched. Both of them had only capital letters. Minuscules were only developed in the middle of the Middle Ages for both scripts. Plato probably would not be able to read a modern edition of his books. And neither would Ceasar recognize his Gallic War. But if he could, he would also manage to read it silently as he is said to have been the only exception in regard.
From the article:
"Camel case quickly took off from the 1950s onwards, mostly because of the rise of computing."
Ahhhh... no. Back in the 1950's, people were still almost exclusively punching cards and everything was still pretty much upper case.
It wasn't until the early 80's, believe it or not, that lower case become (more) common on computer terminals.
So... we may be seeing a rise in camel casing, and maybe that rise started in the 50's, but it sure wasn't due to computers in the 1950's. Or the 1960's. Or even the 1970's.
Bad example. Both names come from Scots Gaelic/Irish. For example, McDonald comes from something like "Mac Dhomnuill", where "mac" means "son" and "Domnuill" is a given name, and "Mac Dhomnuill" means "son of Donald". Traditionally they are two words and English mashed them together - a long, long time ago (we are probably talking, like pre 1600 AD, though I don't know precisely when.) We also have names like O'Neil (Ó Néill) and O'Connor (Ó Conchobhair), where "Ó" means "descended from" in a honorific way. You'll find the same names with Mac or Mc or even without either and also some have a version of the more English "son" variant, likewise with the O, so MacDonald, McDonald, Donald, Donalds, Donaldson and O'Connor and Connor.
I think you need to rethink that. Most mainframes of that generation used paper tape or punched cards for input. When VDU's came in to the picture, most computers used all caps letters. It was much later (some time in the 60's I guess) that non caps came about. So, the influence from the use of computers was pretty minimal. As a programming concept, it didn't really catch on till the 70's. Indeed, most programmers used upper case and underscores or dashes LIKE_THIS or LIKE-THIS even in the 70's and early 80's.
I dunno. I was born in 1963. And I never even got to touch a computer until I was 16. And that was far earlier than most people of the time. Computers were very much "glass room" items, and most people's interaction with computers was limited to those puch card electric bills we got that told us not to spindle, fold, or mutilate.
It was not until the mid to late 80s, at the earliest, that many people really interacted with computers. And even then, not in a way that would expose them to camel case.
It seems to me that even today it would be a stretch to associate the use of camel case in marketing, etc. with its coincidental use in computing. And claiming it was having an effect back in the 50's seems *way* beyond the pale.
I almost hate to say this. But this is one time that I really do have to ask myself, "What is this doing on OSnews?".
Edit: Which is not to say that it has not sparked some interesting conversion. I knew that the concept of "zero" was a relative late-comer. But I'd never even thought about the "Space" character as being an innovation.
Edited 2009-12-03 16:26 UTC
CamelCase ( ;-) ) is most beneficial in helping string pattern matching algorithms find exactly what is desired while still providing the human reader a logical break between words.
Could you images what would happen if I simply did a google search for 'os news' ?? BUT 'osnews', works perfect.
Granted I can encapsulate the search string with quotes, but that destroys the utility completely. Typing quotes is a three-step operation - press shift, press ' key, release shift and takes notably longer to complete than the typical osnews, versus "os news."
Just my money on loan from BankAmerica...
--The loon
I'm surprised no one mentioned final letter forms. Sometimes, the jamming of words together resulted in ambiguity, and sometimes it didn't. To deal with some of the ambiguity (I presume), final forms evolved. So for instance, sigma has the intermediate form σ and the final form ς. Only a few letters in Greek, Hebrew, and even Gothic script have final forms, which I guess is an interaction with the morphology. You'll see "os" as a morphological ending in Greek, for instance.
Those were present in German, too, especially in the "Fraktur" font families. A "round S" (that looks like the s we know) indicated the end of a word, while the "long S" (that looks quite like a f, but without the horizontal line) was used inside words. This was helpful because the german language knows concatenated words (while english language just puts words after another with a space to create a combined meaning).
Example:
Wachstube (Wachs-Tube) = the wax tube
Wachftube (Wach-Stube) = the guard room
Without the obsolated "long s", both words look the same.
Another example is the use of the Eszett ligature (it's not a letter!) to indicate that a non-truncatable ss is present. This of course indicates the end of a word, or the end of a word part, and makes reading easier, especially when the next word part begins with another s.
Example:
Meßgerät = the measuring device
Meßstrecke = the measuring line (compare: Messstrecke)
The Eszett ligature, because it IS a "long s" followed by a "round s", exactly looks like the combination of f and s - some good printing fonts even show this.
(Note that I've abused the letter f in my examples to represent the "long s" - it's not a literal f, of course.)
In some regards... camel case is something like the german concatenated noun; long words consisting of shorter words. In some middle-age dated ancestors of today's German, the hyphen has been used to indicate the "gap" between word parts, and due to the ongoing "spelling reforms", this idea is revived again, such as "Ein-Bett-Zimmer" instead of "Einbettzimmer" (one bed room), but it's used completely arbitrary and without any logical decision, such as "Autobahnraststätte", "Autobahn-Raststätte", "Auto-Bahnraststätte" or "Autobahnrast-Stätte" (highway rest stop).
So it's NEWSos, then? :-)
Hebrew has final forms for k/ch, ts, m, n, p/f. That's about a quarter of its alphabet.
I don't see the morphological interaction there, perhaps others do. Both -im and -in are plural endings, so that is convenient.
There are still hieroglyphs visible in our own Latin alphabet, by the way. 
If the site was, say, a newspaper or magazine, it would be OS News, just like The New York Times or The Wall Street Journal (not Wall street journal). Eash word is part of a title, none is a conjunction or article or anything, so it's all caps. I don't see how removing the space changes anything.
Besides, it's your site; call it what you like. DNS is case-insensitive.
Full disclosure: I don't particularly like camel case in programming. Underbars to separate words make more sense to me visually.
Edited 2009-12-03 18:17 UTC
That's just karma biting you guys back in the ass for all those videos released on P2P with the hard-coded Dutch subs. Payback's a bitch, ain't it ?
Camel casing in brand and product names would come from an interest to make a new name (one word) that can be copyrighted, yet the camel casing help to make it readable and pronounceable as words, even when seeing it first time.
E.g. "my space" could be a part of any sentence. "Myspace" is a distinct word, but would you pronounce it mys-pace or my-space? Hence MySpace, a brand name distinct yet pronounceable.



