Wednesday, November 27, 2002Todd Rafferty Responds
Recently, there was an article on Builder.com by Matt Liotta, in which Matt insinuated (among other things) that Macromedia does not care about the ColdFusion developer community. I had not responded to Matt's article because so many other developers, from both the Flash and the ColdFusion communities, had commented already on Builder.com, arguing against his conclusions.
Well, it seems I don't have to respond at all. Todd Rafferty (co-founder of DevMX.com) has posted a well-reasoned and well-written response to Matt's article. Rather than add more fuel to the fire, I'm going to post a link to his article here.
My reaction / response to Matt Liotta's "Macromedia's Struggle" (Todd Rafferty, November 25, 2002)
posted @ 12:50 PM EST [link] [115 Comments]
The Care and Feeding of a Programmer (Part I): Developer vs. Programmer
I've been a party to many arguments over what makes someone a "developer" vs. a "programmer." The argument usually starts off, innocently enough, with a discussion of best practices. The first person (let's call him "P1" for short), with the best of intentions, wants to share some of what he feels one needs to become a better programmer. Because he's learned the XYZ method of documenting his code, and it's always helped him create clean, organized apps, he enthusiastically shares that method. He has learned a few tricks of the trade as well, and feels that CFScript, for instance, is far superior to coding in plain vanilla CF.
Along comes the second person in this argument (let's call her P2 for short.) P2 has a completely different method of documenting her code and feels that P1's method takes too much time and is not as clear as her own, home grown system.
By this time, the discussion has attracted several new people, all vying to show what they consider their best practices. Unfortunately, rather than discuss different programming methods and what each of them might bring to the mix, they are now hooked on the qualities that separate the poor unthinking drone, typing in a stupor and doing his work by rote, with the more elegant and sophisticated creative coder. And they have developed words to describe their distinctions. These words most often are "developer" and "programmer."
What is a developer, and what is a programmer? It's funny but, as much as I love these kind of discussions (almost as much as I love making fun of them), I find that very rarely do people agree on the meanings of these terms. These conversations on best practices are helpful in exposing different techniques that may help you code cleaner and better, but the ambiguity of any descriptive labels that emerge may do more to cloud the issue than to clear it up.
The "developer vs. programmer" flame war is but a symptom of a greater problem. It's similar to the "CF is better than ASP" or "Fusebox is better than non-Fusebox" fights (and, conversely, the "Fusebox stinks" mindset) that I sometimes see cropping up on the various CF lists. This "my way or no way" attitude is really symptomatic of a closed-mindedness that I would love to see eliminated altogether in the developer communities.
Instead of making such blanket statements, we would be better off saying things like "CF is better [for me] than ASP, because ...." We could say "Fusebox works better [for me] than any other methodology because ...." And then we might be more open-minded about other aspects of programming that we could even incorporate into our tried-and-true and time-tested methods. In this climate, where web programmers are expected to know so many different languages and skills, it's more important than ever to keep growing in your knowledge and your understanding of how to program any kind of application.
Making broad, blanket statements about systems of programming inherently casts a shadow on a development community that should be more united right now, especially in the face of the economic problems the industry is experiencing. More than ever, we need to approach our profession with an open mind. Believe it or not, this could make the difference in landing (or losing) your next contract.
posted @ 12:19 PM EST [link] [88 Comments]
Friday, November 15, 2002Joel Spolsky and Leaky Abstractions
If this article is the norm for Joel Spolsky's blog, I think this blog should be read by every programmer, no matter what level. Joel says something very true here about the Internet and the facade we've built around it. The Internet, like much that has to do with computers, is based on a set of abstractions. (Joel defines an abstraction as a "simplification of something much more complicated going on under the covers.")
As it turns out, a lot of computer programming consists of building abstractions. What is a string library? It's a way to pretend that computers can manipulate strings just as easily as they can manipulate numbers. What is a file system? It's a way to pretend that a hard drive isn't really a bunch of spinning magnetic platters that can store bits at certain locations, but rather a hierarchical system of folders-within-folders containing individual files that in turn consist of one or more strings of bytes. (Joel Spolsky, "The Law of Leaky Abstractions")
Joel's point is that though abstractions are used to make these technologies more usable, sometimes the reality behind these abstractions leak through. (He brings TCP-IP and Net problems that can arise because of the fact that TCP, which is billed as being so reliable, is built on top of IP, a very unreliable technology.) Hence Joel's Law of Leaky Abstractions: "All non-trivial abstractions, to some degree, are leaky." And we should expect that leakiness in our daily lives, especially when it comes to the Internet.
(Ah, Hal (Helms), I think we've found another reason for that 70% failure rate for software projects that you always talk about.)
This article is just sheer fun -- well written, thoughtful, and how well it describes the often complex and zany world of computer programming and the Internet! But I'll just give you the link and leave you to enjoy it. Comments are appreciated.
(Thanks to Patrick Nielsen Hayden and his blog for pointing this source out to me. Read Patrick's comments at: http://www.nielsenhayden.com/electrolite/ (entry for November 13, "Why Systems Fail."))
posted @ 02:43 AM EST [link] [127 Comments]
Tuesday, November 12, 2002Welcome
“Welcome to my blog,” said the tall woman in the corner. “Come and have a seat.”
She was wearing a long, elegant evening dress and a smart blue hat with hints of raven hair sticking out. In the room were some cozy chairs, a round table with some snacks and drinks, and lots of comfortable pillows and footrests. A place to sit and talk, a place to rest and relax. Already, several people were seated in some of the armchairs, talking or listening and nursing their drinks.
The image of the room fades away now, and you are startled to realize that indeed, you are sitting at your computer, reading Judith Dinowitz’s blog. Is she the woman in the corner? Are you seated on one of those comfortable chairs, munching some peanuts and drinking some soda or beer? Indeed, is this where you’d like to be?
I hope that this blog becomes like that portrait -- a comfortable place where it’s easy to talk, easy to think, where ideas are fired off quickly and easily and nobody feels like they don’t belong. They can join in the debate and come out of it strengthened and with new thoughts and concepts that they can incorporate into their daily lives.
Now I know you think that I’m taking this a bit too far. I mean, isn’t a blog really just someone’s daily rant? Their online diary – one voice talking in the corner, sometimes politely, sometimes shouting epithets into a cold, dark world?
That might be the vision others have, but I’m hoping for something a bit different. Sure, I’ll be firing off opinions – but they’re opinions that are built on seven years of experience working in the ColdFusion field, first helping my husband Michael on the House of Fusion mailing lists and then as an editor on Fusion Authority. And while you may not agree with what I have to say – sometimes you’ll love me, sometimes you’ll hate me, sometimes you’ll say I’m crazy and sometimes you’ll think I’m right on – I hope that what I bring to this forum is well-considered thought based on my experience, and that you’ll respond. In fact, I invite you to respond to my blog. You can post comments and thoughts either directly on these pages, or by email to me (email@example.com). I always want feedback, and if I find what you say worthwhile, I may even comment back on these pages.
So let me introduce myself. I’m Judith Dinowitz. Though I’ve been doing editing and writing for years, this is my first experience doing a blog. It’s an experiment, one which I’m very excited about – the chance to stretch myself as a writer.
I hope we can engage in a conversation that will help us each to learn and grow, as people and as professionals. For life is experience and change, and the only way to live it is to forge ahead without fear and live it to the fullest. “The whole world is a very narrow bridge, but the key is not to be afraid at all.” (Rabbi Nachum of Breslov)
So I’ll leave you with the image of that warm, happy room and hope that you’ll join me here again.
posted @ 01:51 AM EST [link] [563 Comments]
House Of Fusion
CFLib.org (Great Library of UDFs)
CFCZone.org (Great CFC List)
CFConf.org: Events and conferences
ColdFusion Training by Adam Churvis
Todd Rafferty's Blog
Sean Corfield's Blog
John Dowdell's Blog
Jeremy Allaire's Blog
Matt Brown's Blog
Greg Burch's Blog
Mike Chamber's Blog
Waldo Smeets' Blog
Bob Tartar's Blog
Blogs on Programming:
Joel on Software
Fun and Interesting Blogs on Anything:
Peter David: Writer of Stuff
Glenn Hauman's Blog
Malibulist Blog (A Bunch of Interesting Writers)
Brad Delong's Website (Economics and other Topics)
Theresa Nielsen Hayden: Making Light
Patrick Nielsen Hayden: Electrolite
Neil Gaiman's Blog
Wil Wheaton Dot Net