Create an Account
username: password:
 
  MemeStreams Logo

MemeStreams Discussion

search


This page contains all of the posts and discussion on MemeStreams referencing the following web page: The Development Abstraction Layer - Joel on Software. You can find discussions on MemeStreams as you surf the web, even if you aren't a MemeStreams member, using the Threads Bookmarklet.

The Development Abstraction Layer - Joel on Software
by k at 1:23 pm EDT, Apr 12, 2006

With a software company, the first priority of management needs to be creating that abstraction for the programmers.

If a programmer somewhere is worrying about a broken chair, or waiting on hold with Dell to order a new computer, the abstraction has sprung a leak.

Good article by Joel... and I agree.

It's analagous, though at a much higher level, to my argument against Linux. It's not that I don't like Linux, it's just that I spent at least half my time preparing to use Linux. For any task I wanted to do, there was always, ALWAYS, some sequence of events that had to be done first. And unlike on my mac, it wasn't "Download file, drop into Applications folder" it was, "read about font engine, move font files, run font compiler, fail to see fonts, realize that your X-server is one minor generation out of sync with your tools and the semantics have changed, download updated everything, recompile X, realize that the video driver now won't work, download and complile video driver, fiddle with settings, build tools, compile fonts, recompile gimp, and MAYBE now fonts will work. Some of them. Sometimes."

Very similar really... a programmer in the abstracted environment joel describes is like a computer user with a good OS -- all you have to do is sit down and start working.

I'd kill for that. Alas, today I have to start the process of figuring out why my ASP.NET app won't talk to the database server even though every other application talks to the database server and the semantics are the same, and no one seems to know why or to whom I should speak to get this issue resolved. That's instead of writing code, of course.


 
RE: The Development Abstraction Layer - Joel on Software
by Dagmar at 1:49 am EDT, Apr 13, 2006

k wrote:

It's analagous, though at a much higher level, to my argument against Linux. It's not that I don't like Linux, it's just that I spent at least half my time preparing to use Linux. For any task I wanted to do, there was always, ALWAYS, some sequence of events that had to be done first. And unlike on my mac, it wasn't "Download file, drop into Applications folder" it was, "read about font engine, move font files, run font compiler, fail to see fonts, realize that your X-server is one minor generation out of sync with your tools and the semantics have changed, download updated everything, recompile X, realize that the video driver now won't work, download and complile video driver, fiddle with settings, build tools, compile fonts, recompile gimp, and MAYBE now fonts will work. Some of them. Sometimes."

There's a simple solution to this. Stop using Gentoo, knucklehead. ...or Debian for that matter. You waive all rights to complain about having to administer the machine yourself when you install a distribution designed to make you administer the machine yourself.

If you don't want the hassle of dealing with the trivia of package upgrades, use one of the distributions that gives you a point-and-grunt upgrader (like Mandriva) and be satisfied with the way they put their binaries together.


  
RE: The Development Abstraction Layer - Joel on Software
by k at 10:38 am EDT, Apr 13, 2006

Dagmar wrote:

There's a simple solution to this. Stop using Gentoo, knucklehead. ...or Debian for that matter. You waive all rights to complain about having to administer the machine yourself when you install a distribution designed to make you administer the machine yourself.

If you don't want the hassle of dealing with the trivia of package upgrades, use one of the distributions that gives you a point-and-grunt upgrader (like Mandriva) and be satisfied with the way they put their binaries together.

I found an even easier solution in the form of a PowerBook. I'm not here to start an OS war. I used Linux exclusively for my home systems for probably 7 years. Up until the point I stopped, in 2003 or 4, I'd tried every major distro and a number of minor ones. I don't regret it, I learned a lot, but I also came to the realization that the OS was getting in the way of the things I wanted to do, rather than ecouraging me to do them. That's not it's fault... there's a reason for having both a hammer and a screwdriver, and as one tool among many, I'm happy to have Linux for those situations to which it is best suited. In fact, Linux has fragmented in wonderful ways, so I can also decide if my screwdriver is gonna be Philips, Flat, Hex, Torx, and wether it's manual or electric -- that's a really useful toolset.

Nonetheless, for daily use, my choice was to get a system that gets the hell out of my way when I want to get some work done, but gives me powerful tools for when I want to tinker. I paid a premium for it that not everyone sees as worth it, and that's fine too.

I'm glad there are Mandrakes and Red Hats that people find usable and efficient, and I may find myself using them again someday, but not just now.


The Development Abstraction Layer - Joel on Software
by Lost at 6:52 pm EDT, Apr 11, 2006

Programmers need a Subversion repository. Getting a Subversion repository means you need a network, and a server, which has to be bought, installed, backed up, and provisioned with uninterruptible power, and that server generates a lot of heat, which means it need to be in a room with an extra air conditioner, and that air conditioner needs access to the outside of the building, which means installing an 80 pound fan unit on the wall outside the building, which makes the building owners nervous, so they need to bring their engineer around, to negotiate where the air conditioner unit will go (decision: on the outside wall, up here on the 18th floor, at the most inconvenient place possible), and the building gets their lawyers involved, because we're going to have to sign away our firstborn to be allowed to do this, and then the air conditioning installer guys show up with rigging gear that wouldn't be out of place in a Barbie play-set, which makes our construction foreman nervous, and he doesn't allow them to climb out of the 18th floor window in a Mattel harness made out of 1/2" pink plastic, I swear to God it could be Disco Barbie's belt, and somebody has to call the building agent again and see why the hell they suddenly realized, 12 weeks into a construction project, that another contract amendment is going to be needed for this goddamned air conditioner that they knew about before Christmas and they only just figured it out, and if your programmers even spend one minute thinking about this that's one minute too many.

To the software developers on your team, this all needs to be abstracted away as typing svn commit on the command line.


 
 
Powered By Industrial Memetics