"COMPUTER POWER TO THE PEOPLE! DOWN WITH CYBERCRUD!" - Theodor Nelson
My StuffLoveRespectAdmiration
My AmpsLinksArchives
![]() ![]() ![]() |
Tuesday, August 30, 2005Coheed & Cambria
So, I was watching Fuse with my wife the other night and thank goodness for Tivo. I was enthralled by this one commercial with this great music and montage of creepy images. At the end of it all, it showed the roman numerals, "IV" and that's it. We reversed back and got the band name, "Coheed & Cambria". Well, I googled and got to their band page. From there, I listened to some more samples and I was hooked enough to buy one of their CDs. It has to be one of the most incredible pieces of music that I have heard in a long time. It's pure and simple rock with lots of melodies and harmonies. Gorgous does not do it justice. I can't stop listening to it. I've now got all of their CDs on order and I can not wait until their new album, "IV" comes out at the end of September. If you want an idea of what to expect, it's progressive rock without being pretentious and the albums are concepts based around a science fiction story which they have graphic novels for. I'm getting the novels next week. Mark my words, these guys are going to be HUGE. I hope to make a trip to Lawrence, KS in October to see them. I didn't know people still made ROCK records like this anymore. Apparently, they do and there's a whole genre of bands doing stuff like this. Thoughtful, arty music, but with their feet firmly planted in creating memorable hooks. This is what made Black Sabbath, Led Zeppelin, Yes, and Queen great. ROCK ON!
Sunday, August 28, 2005Too Funny
I see the next shirt that I'm going to have to buy. CLASSIC! The Ruby guys are really giving java a lot of hell. A light-hearted jab in good fun. Ruby on!
CommentsSaturday, August 27, 2005Excited about Squeak 3.9
Traits will come with Squeak 3.9. How awesome is that? Prepare to have another weapon added to your arsenal. Of course, if you can't wait like me, you can download it now in 3.8 via SqueakMap. Squeak on!
CommentsVOIVOD Guitarist DENIS 'PIGGY' D'AMOUR Dead Of Colon Cancer
It was reported yesterday that Piggy of Voivod died of cancer at the age of 45. Wow. It took me years to get into Voivod, but once I "got it", they've been one of my faves. Piggy was an incredible and unique guitarist. He will be missed. I got to meet him at Ozzfest a couple of years ago and they were incredibly nice and appreciative. I can't believe another hero is gone. I will be spinning "Dimension Hatross" and "Nothingface" in remembrance. RIP, brother.
Comments
Friday, August 26, 2005The Future and The OrdinarySuppose you are absolutely certain that a technology that you know about will succeed. How long will it take to have a major impact? Warning: Technologies take a surprisingly long time to become accepted. The above quote is taken from Donald Norman's "Defending Human Attributes in the Age of the Machine". He gives insight in why new technology takes so long to adopt and even gives some examples of outmoded technology that we still use (the "qwerty" keyboard). Then, he explains several examples of modern technology and how long it took them to be accepted. The numbers are staggering. The television took seventy years from inception to acceptance! He gives a lot more examples and it's quite the read. Where am I going with this? I think this applies to computer languages and frameworks. The rest of the industry keeps edging toward Smalltalk and Lisp. The road to Smalltalk was started with C++ (by mimicing OO features) gaining acceptance. Later, it was java (VM, garbage collection) and now, python and ruby (late-binding, dynamic typing, closures, etc). Each jump has taken about ten plus years each. What will the next jump be? I'm hoping it will be toward the image because it's the only piece missing. But, we still have about ten years before critical mass. Are you patient? I think I can be. Each technology jump toward Smalltalk should be celebrated. I tend to be disappointed with each jump because it's not far enough, but I should be happy. Everyone is one step closer to feeling the love. Oh, I can wait ten years for love. Can't you? Now, the question is how long will it be before prototype languages are accepted? I'm betting at least twenty years from now. Well, that's a lot of time to be ahead of the curve and kicking everyone's butt don't you think? Comments
Thursday, August 25, 2005Service Provider Went Nuts
If anyone sent me email today and I haven't replied, please resend it. My service provider's email server went nuts and I know I lost some email, but I don't know how much. So, if you don't have a reply from me, I'm not ignoring you. Thanks!
CommentsWednesday, August 24, 2005Amen, brother
Sam Tesla has a simple prayer that we should all say several times everyday. Right on!
CommentsI, Prototype...unfortunately, Self was not the last object-orientedprogramming language. Self does have some claim to be the lastinteresting object-oriented programming language, or at least the lastinteresting modern OO language with most languages coming afterwards,C++, Java, C#, Cb, being as distinguisable as Coke from Pepsi orMalboro from Rothmans: you dont drink the drink, you drink theadvertising (Twitchell 2000). In Self, at least you can hear yourselfscream. I must admit that I agree. The above quote is taken from the paper, Attack of The Clones.It's a paper that shows some of the patterns from GoF book implementedin Self. It has to be one of the best reads I've come across. It'scertainly entertaining. Here's some more: Anotherlovely, natural example of dynamic inheritance in Self. You could dosomething almost as nice Smalltalk using doesNotUnderstand but theSmalltalk Companion doesnt talk about it because, well, theyre wimps(Alpert et al. 1988). You can also do exactly the same thing inSmalltalk using Wrappers (Brant, Foote, Johnson & Roberts 1998). TheSmalltalk companion is one of my favorite books and I wouldn't callthem "wimps", but it just made me chuckle. And I can't forget this one: How hardcore do you want to be? Idon't want to be hardcore and I'm tired of wasting lifetimes...=) Thisarticle is just another one that is making me fall in love with Selfand prototype-based languages more and more. I can't wait to implementand play with these in Io. CommentsMonday, August 22, 2005Bob Moog Dead at 71
It's sad when your heros start dying. Moog synthesizers are known around the world as being the best. Moog was one the first electronic instruments makers (apparently, he was inspired by what he saw at Raymond Scott's house). He started out making Theremins which are the things responsbile for all of those eerie sounds in 50's horror and sci-fi movies. He's been such a fixture and icon in electronic music. I'm so shocked. I was hoping to meet him one day and thank him for all of the good that he put into the world. Love is lots of knobs and flashing lights to make wonderful sounds. He was the inventor and catalyst for it all. He will be missed. I'm going to go plug my mooger foogers in right now and play in remembrance. Why can't the good ones live forever?
CommentsShameful and Unprofessional
Iron Maiden was pelted with eggs at their last show of Ozzfest. Here's a personal account taken from Blabbermouth:
The manager of a well-known heavy metal band (*NOT* IRON MAIDEN) who attended this past weekend's Ozzfest show at the Hyundai Pavillion in Devore, California has submitted the following first-hand account of the evening that will surely go down as one of the most shameful moments in recent rock history (NOTE: at his request, the author's identity is being protected by BLABBERMOUTH.NET): Indeed...I can't believe this happened. This takes unprofessional to a whole new level. I have new found respect for Maiden for putting up with so much crap. And if it is true that Sharon had anything to do with it, I might have bought my last album of any of the bands involved and seen my last Ozzfest. I can't express how unmetal and deplorable this was. Up the irons. Comments
Fly On The Wall
I wish I could be a fly on the wall at the Vancouver Lisp User's Group when Avi gives his Seaside talk. I think it would be not only a fun talk, but I would love to hear the resulting conversations. Avi has taken the basic continuation-based web server that started in Lisp and has taken it much further. The suggestions of Lispers would especially be interesting. Makes me wish I lived in Vancouver.
CommentsTeam Design
I was reading "The Cognitive View: A Different Look at Software Design" by Robert Glass. And the following quote struck a chord with me:
Those same researchers have been looking into team design. And I'm always preaching about a "common vision" on the teams that I'm on and I always feel strongly about obtaining it. All of the successful teams that I've been on have had this "common vision". It's a shared goal and reaching for the same target. Without it, every individual has what they think the design should be and you end up with an unmaintainable big ball of mud. It's his first bullet point! A well-oiled agile team achieves all of the first bullet points and knows how to manage the last set. In fact, the last set of bullet points really boils down the problem of unsuccessful teams well. Healthy conflict resolution is paramount to a successful team. Mr. Glass goes on to define what a consider to be the definition of a good IT manager: In managing design, managers can focus on communication facilitation and conflict resolution as their contribution to design. The empirical studies researchers further suggest that management of design should be the management of the key issues that arise during the design process. The manager's job should be removing obstacles from the software designers and coders and not standing over you make sure you get your job done. If as a manager, you have an employee that you have to stand over to get their job done, then you've hired the wrong person. You should be making sure your developers have a proper road to race toward the goal on. There's a lot of nuggets of information contained in and all in all a good read. CommentsDynamic Languages Help You Design
Darrell Norton makes some interesting observations from "The Cognitive View: A Different Look at Software Design" in his blog entry, Dynamic languages work closer to how you design software. He combines points from this article with the one I mentioned earlier. All three articles are worth a read. I especially love this quote at the end of Darrell's blog entry:
"when I want to focus on the domain problem and not the implementation in curly braces, End If's, or angle brackets, dynamic languages are a (good) answer." CommentsWhy REPL is a good thing
Here's a great article on why REPL (read-evaluate-print loop) is a good thing. He mentions using IronPython for .Net, but you can get the same functionality in java with Jess, Groovy, jRuby, and of course, jPython. I love the mentions of Smalltalk. REPL allows you to try out designs and code out quickly. Smalltalk compiles code when you save and you never notice it. One thing that people don't realize is that you are inside a running system that you can change. Any change you make to the system is live, it's not operating on a dead instance of the system. It's the same functionality that gets blank stares at "Ruby On Rails" demos. Sad thing is we've had this for over 20+ years in Smalltalk and Lisp. I'm just glad our industry is finally coming around.
CommentsSunday, August 21, 2005Cool Pavement Drawings
Juian Beever is a pavement artist that does great work. Check out his website and go down to the 3D illusions gallery. INCREDIBLE! Here's one to whet your appetite:
![]() I would probably walk around that if I saw it! Great optical illusions. MAD FUN! CommentsSaturday, August 20, 2005Kent Beck vs. Alan Cooper
My friend, Larry Brodahl, sent me a classic article debating Extreme Programming vs. Interaction Design from both of their visionaries. I would love to see more debates like this. I wish they would have continued this discussion. It felt unfinished. It was a great debate! We should always be interested in doing things better. And that is what these types of discussion allow. They make us look at what we are doing and question what is not working.
By the way, if you have never read "The Inmates Are Running The Asylum", you need to now! I can't wait to read "About Face 2.0" now. CommentsFriday, August 19, 2005Object Inheritance
I've long been a fan of "Streamlined Object Modeling". It's a book I keep coming back to over and over. I was reading it recently and wondered why I never noticed the connection with prototyped delegation and what they call "object inheritance". The book is a collection of domain modeling patterns and several use "object inheritance". One pattern in particular expresses the relationship between an actor and a role. For example, let's look at some java code:
/** The implementation is not important. I wanted to show example interfaces and to show the relationships. The point to object inheritance is that the Employee forwards the calls for PersonProfile on to a Person that it holds on to. This allows you to pass around the role or actor through the same interface. Now, you might be thinking that's a lot of forwarding going on. It is. Now, you could get fancy by using a Proxy and an InvocationHandler. In fact, I do something similiar in Smalltalk when I compile the forwarders on the fly. It's a great modeling technique and is useful in several contexts for expressing clarity in the model. Prototype programming languages make this modeling technique easy to implment (no duplication or coding gymnastics required) by the use of traits. Simply put, traits is a composition technique to combine collections of behavior with data to construct objects. To learn more about traits, read the paper, Organizing without Classes. The good news is that it's simple to do this technique in Smalltalk by use of the Traits package. Ruby even has it through its Delegate framework. Once you start thinking in Traits, it's hard to go back. Have fun with this new technique and happy coding! "Streamlined Object Modeling" has the best discussion of modeling and implementing business rules in object-oriented languages that I have ever seen as well. It's a great book all around that balances theory and implementation. It's filled to the brim with great advice that every business modeler should know. CommentsThursday, August 18, 2005More Good News
It seems BEA is looking at scripting languages to add to its arsenal of products. It seems dynamic languages are making all kinds of head way in the world. ROCK!
CommentsSmallHttpUnitTest Rewrite Update
After finally fixing SmallHttpUnitTest for VisualWorks and having talks with several folks at Smalltalk Solutions, I felt it was time to revamp SmallHttpUnitTest. For one, it was slightly misnamed in that the tests are really end-to-end acceptance tests. I was trying to make the navigation easier through the objects. But, somewhere I made a wrong turn. I started to really look at the Selenium Testing Framework. It runs your tests in the browser via Javascript. Nice. It's simple and it works with a nice a table structure like FIT. You can even command it remotely from another language as well such as Smalltalk, java, Ruby, and more.
Well, it all got me thinking how nice it would be to drive the browser like Selenium does, but with the nice object traversal that I used for SmallHttpUnitTest. You can command Internet Explorer, Firefox, and Opera via Javascript. It's a slightly different idea from Selenium in that the web page that you're loading does not need to have any Javascript loaded. The Javascript works externally via a script that runs the web browser via COM (for Microsoft) and I'm still researching Firefox/Mozilla (but, I know its possible to drive them with Javascript as well). It would seem some Ruby people had the same idea! But, I want to take it further. Javascript makes a lot of things easy since it is so well-integrated into the browser. The pieces of SmallHttpUnitTest that are in Smalltalk will be re-implemented in Javascript. A lot of the browser handling code is no longer needed! The Smalltalk piece will be an external application that watches what you do as you're traversing your web application and takes notes. Once you've finished navigating, you could update your asserts for each page load and have Smalltalk generate the Javascript for you. I'm doing the proof of concept for Internet Explorer since I am more familiar with the OLE/COM model to drive IE. But, I expect Firefox to be a no brainer. I should only have to replace one object and everything will just work. So, you could have one script that drives both. There's a few more surprises that I want to work out and I will be blogging about them. I have a lot of work ahead of me. This a completely different approach than what I was thinking of doing at Smalltalk Solutions. I've been slow doing the prototype, but I have been a busy boy! You might be wondering how I got the DOM searching of HttpUnitTest working in Javascript since it uses generators and doesNotUnderstand: a lot. Well, that's a topic for another blog entry. Let's just say that higher order functions are your best friend. Comments
Wednesday, August 17, 2005Java's Coolness Declining
It seems Apple is dumping java for Cocoa development. I've felt the java coolness factor on the decline for awhile now and scripting languages on the rise with the developer of Rails getting Google hacker of year. I love seeing dynamic languages getting more of the lime light. It's going to be interesting how Python and Ruby will change developer's perspectives. No matter what, it will be a fun ride.
CommentsShocked
I used to hate Slipknot. I thought they were the worst band. I hated their first two albums, I hated their look, I hated everything about them. So, I'm watching Fuse and they sneak in their latest song, "Before I Forget" and I thought, "Wow, what a great song!" Well, I then notice the masks and think, "There's no way this is Slipknot. This ROCKS!" Well, to make a long story short, I bought the album on a whim expecting it to have that song and maybe two others. Imagine my surprise when I loved every song on this album! The amazing thing is that I hate all their albums still (I tried them again). "Vol. 3" has a great mixture of different songs. It's not all one trick. So, I work my way to "Stone Sour" and I love it too. I'm just shocked how a band can go from awful to awesome in my eyes. I can't stop listening to either "Stone Sour" or "Vol. 3". I hope they keep up the great work! This ain't nu metal anymore.
CommentsTouche Pussycat!
I overheard this on the ruby mailing list from Florian Groß:
I love this reply! What a great quote. It ties in nicely with "premature optimization is the root of all evil." Amen, brother! Just remember, people used to think Lisp and Smalltalk were too slow as well. Virtual machines used to be a dirty word. Now, java and c# are two of the most popular corporate languages and they both run off VMs. I love the prototype parts of Ruby. They are especially great for debugging specific instances and other things. Let's make our languages more dynamic, not less. More is less. Comments
Sunday, August 14, 2005Offensive
I just found this document on the net entitled "How To Become A Hacker" By Eric Raymond. I read through a bit of it and I couldn't believe it. I stopped reading it immediately. Am I the only programmer offended by crap like this? I hate the words "geek" and "nerd". And "hacker" to me means someone who programs Big Balls Of Mud and doesn't care. This kind of junk just keeps stereotypes of smart people alive. It's derogatory and offensive. It's like the stereotypes of southern people. We don't all live in trailer parks and listen to country music. It's just like not all smart people are social misfits, play dungeons and dragons, and can't wash ourselves properly. I'm tired of the demonizing of intelligent people. We are the problem solvers of the world and you'd think that would be respected and revered. You'd think we wouldn't perpetuate bull crap like this. OK, ok, I'll get off my soapbox.
Comments
Saturday, August 13, 2005I Couldn't Have Said It Better
Hwee Boon Yar states, "Smalltalk just fulfills most of my needs more easily." I couldn't have it said it better myself. Despite some of my blog entries, I don't totally hate java. I'm still looking for the perfect language. I'm just amazed in terms of productivity that nothing has yet to surpass Smalltalk that I can find. Of course, that's not to say that Smalltalk doesn't have some warts, but they don't get in my way.
CommentsFriday, August 12, 2005Thinking Forth
It seems Vincent Foley has been hooked by Leo Brodie's "Thinking Forth" as well. I blogged about it a while back. It's an excellent read. If you don't care for Forth, you still need to read the chapters: Preliminary Design/Decomposition, Detailed Design/Problem Solving, Factoring, and Minimizing Control Structures. It's full of great advice and remember it was written in 1984. Another depressing example of how our industry forgets past lessons. But, I think this trend is changing. Many of us are exploring the past and uncovering lost gems. We shall not make the same mistakes again.
CommentsThursday, August 11, 2005Smalltalk Shop
Alright, who didn't tell me about the Smalltalk Shop? They have the classic balloon in a poster and t-shirts with that hot new balloon logo. You can even get the logos in different colors! I think I might be buying some stuff soon...=)
Comments
Sunday, August 07, 2005Annotations
Well, with all of the noise generated by generics in the java world, it seems annotations got lost in the cracks. They allow you to add metadata to fields, methods, and types. With this metadata, you can reflect at compile-time or run-time. This opens a lot of cool possibilities in java! So, I got down and started to write some example code. One of the first snags that I ran into is that they can not be subtyped even though the syntax for creating them is similiar to interfaces. The second snag was adding behavior which didn't suprise me, but I wished for it. Annotations allow you to capture data into structures. But, the more you play with them, the more you desire to use polymorphism instead of using instanceof everywhere. I think it would have made annotations way more powerful and cool. It just seems they went half way. Why didn't they just make annotations full objects? Anyway, they are still a welcome addition to the language and they are the reason that EJB 3.0 is a lot simpler to create entities. Anything that makes java/j2ee simpler is alright by me.
CommentsHuh?
I've been reading up on java 5.0 and I came across this tutorial on the new generics framework.
A note on naming conventions. We recommend that you use pithy (single character Huh? I couldn't believe my eyes and what I was reading. But, here's the code sample: public interface List<E> { I can see why so many java advocates have been clamoring about the complexity. Shouldn't we be making the code more readable? The paper goes through the problems with generics and addresses each one. It leaves you asking yourself, "Is this going too far?" It especially gets messy around how to treat subclasses and interfaces. The answer makes everything more restrictive which sounds good on paper (if you like type safety), but it also reduces polymorphic possibilities. I shutter at the thought of the code that I will come across from inexperienced OO developers. Much like I have seen "private" misused in method declarations. I expect to see generics misused to be more restrictive that they need to be as well. I applaud the effort to reduce the need to type cast, but what price shall we pay for safety? Generics do make like easier for some issues, but it complicates others. Is it really worth it? I find unit tests a much better tool to fix type issues than enforcing type safety. Comments
Omaha Smalltalkers
Well, it seems attendance was light last week and I was hoping that Gary Overgard could give his talk again on doing a report/code distribution on Small-Fit. It provides a lite-weight alternative to the current approach for Fit & Fitnesse. Its advantage is that it is much easier to debug, but still gives advantage of documentation. If we have time, I will be showing Ruby for Smalltalkers talk.
As always bring your passion, code snippets, and books to discuss! Here's all of the details:
Office is at 103rd & Pacific. Guests can park in the Northern visitors parking area back of building, or across the street at the mall. Enter in front door, we'll greet you at the door at 7:00pm. If you arrive a bit later, just tell the guard at the reception desk you're here for the Smalltalk user meeting in the 1st floor training room. CommentsSongs That Give Strength
I love music. I love all kinds. But, every once in a while, you get find something special. Something that touches your soul and you completely relate to. There's only a few albums that touch me deeply. But, one artist, Assemblage 23, continues to always write lyrics that dig deep inside of me. I've been listening to his music all week. His lyrics are all introspective and he writes the perfect music to back it up. It's a source of inspiration and strength for me. One song that really gets me everytime I hear it is "Lullaby". Here's the lyrics:
His lyrics are about the dark places all of us find ourselves in from time to time. But, there's always this ray of sunshine rising out of the bleakness to get out and make your life better. I love it. I wish I could find more music like this. One of his main influences is Depeche Mode and I've been slowly getting their back catalogue. All great stuff! CommentsOne Size Fits All
There has been discussion on the Squeak mailing list about Smalltalk vs. Ruby. It started out as a Rails vs. Seaside question and then turned broader. Personally, I think there is no comparison between Rails and Seaside. Rails includes a simple way to map objects to an OO relational database with a traditional request/response model. Seaside on the other hand does not have a persistence model (they let you decide) and has a more advant-garde yet easier flow model. They both share the simpler is better principle of design, but they have attacked it at different angles. Rails is easier to swallow for most programmers, since it is closer to what they are used to. But, I find Seaside to be the simplest way to build web applications. There are things to learn from both.
On to the broader question of Ruby vs. Smalltalk, there was a lot of discussion of image-based vs. file-based environments. But, I think the one we need to keep in mind is the following quote from Enrico Schwass: I guess smalltalk and especially squeak get now the chance to spread The key point is that we should understand that programmers are coming from other backgrounds. We should show them what Smalltalk has to offer and not why we think their language is inferior. We all have things to learn from one another. We need to embrace them with open arms. Smalltalk is cool because it is image-based, but it's a hard sell to a lot of programmers. It presents an alien world that is both strange and unfamiliar. Ruby allows most programmers to stay comfortable in their file-based world, yet take a peak into a pure OO world. One step at a time, I think Ruby prepares programmers for an image-based world. Also, I think they will come to Smalltalk with a different mindset and this will push boundaries. This is a good thing. I am continually amazed at how inventive and creative members of the Ruby comunity truly are. They will be a welcome addition to our community. Besides, who says one language has to rule them all? Let's embrace Ruby for what it's good for and do the same for Smalltalk. I enjoy programming in both and love being a part of their communities. Of course, I enjoy programming in a lot of different languages. Each one has it's pluses and minuses. So, instead of bickering about which one is better, let's learn what's great about each one. Comments
Saturday, August 06, 200510 Things Every Java Programmer Should Know About Ruby
The slides for Jim Weirich's "10 Things Every Java Programmer Should Know About Ruby" are up and ready for your reading. The slides are excellent and provide a great argument for dynamic languages. Everything he talks about is true for Smalltalk as well except that everything really is an object (including blocks) in Smalltalk. I do love Ruby, I think it has a lot of good ideas (like mix-ins). I especially love the Ruby community. It's young, vibrant and they embrace the simple for doing complex things. It's possible.
CommentsWednesday, August 03, 2005Just Say No....To Kitten Huffing?
My gut is hurting. But, did you know kitten huffing was bad for your health? This is some pretty dark and funny stuff! The included video is simply hilarious. Enjoy.
CommentsTuesday, August 02, 2005Alice Cooper
The master released his new album, "Dirty Diamonds" and it is brilliant. I'm a huge of Alice and he never has disappointed me. But, I wasn't expecting this. It's a complete throwback to his early 70's material. It's diverse and his twisted sense of humour comes shining through. I can't wait to see the tour! I hope he never stops making albums.
CommentsWhich Altar Do You Want To Worship At?"Finally, the days where a novice programmer can know all of a language are gone, at least for the languages in widespread industrial use. Few people know "all of C" or "all of Java" either and none of those are novices. It follows that nobody should have to apologize for the fact that novices do not know all of C++. What you must do - in any language - is to pick a subset, get working writing code, and gradually learn more of the language, its libraries, and its tools." Rock on dynamic brothers. Rock on! Comments
Great Comeback
Doug Stewart sent me an exhcange between Andrew Tanenbaum and Linus Torvalds. What I love about it is Andrew sends a hateful email to Linus. The comeback that he returns is just classic. Here's Alan's email to Linus:
" I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my And here's Linus' answer (Please, put down the Coke can unless you want it on the monitor or up your nose): " Your job is being a professor and researcher: That's one hell of a good excuse for some of the brain-damages of minix." The only thing I can say is "Touché Pussycat!" CommentsWheel Of Fortune Programming
Memory used to be expensive, so developers thought of creative ways to get the most out of the least. One of the ingenius ways to save memory was to abbreviate variable names. What amazes me is that this school of thought has carried on even today. We no longer have memory constraints and in fact, source code is miniscule in comparison to everything else on your computer. Your code will be read more times than what it takes you to write it. More time will be spent understanding it. So, why raise the cognitive friction by playing "Wheel Of Fortune"? Vowels are not expensive. They are free! Remember that the next time you want to abbreviate variables that you are going to make someone do mental gymnastics just to grok something as simple as a variable name. Wouldn't you want them to comprehend the logic instead? Think about it. Where do you want the brain power to go to? Or maybe you like your fellow developers cursing your name at 3:00am when they're trying to fix your code. Have pity for the ones that will read your code. Make it read as closely to human language as you possibly can. It's just good style and polite.
Comments |
Comments