Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Coders At Work

samzenpus posted about 5 years ago | from the read-all-about-it dept.

Books 207

Vladimir Sedach writes "Aside from authoring narrowly focused technical books, teaching university courses, or mentoring others in the workplace, programmers don't often get a chance to pass on the knowledge of the practise of programming as a profession. Peter Seibel's Coders at Work takes fifteen world-class programmers and distills their wisdom into a book of interviews with each of them." Keep reading for Vladimir's review.The list of coders interviewed includes some geek household names like Donald Knuth and jwz, but also some not so well-known ones such as Bernie Cosell (one of the programmers behind the ARPANET IMP, the first Internet router) and Fran Allen (compiler pioneer). The full list of people interviewed is available on the book's website. The eras embodied by the interviewees range from the very beginnings of software as we know it today, to the heyday of the Internet boom, when people like Brad Fitzpatrick made their mark.

Seibel himself is a coder and author (having the well-received Practical Common Lisp under his belt). It is then no surprise that the interviews are packed with technical details, which (with one exception, explained below) restricts the intended audience of the book to those already familiar with programming.

Coders at Work manages to communicate the wisdom of programmers of bygone eras, while simultaneously being heavily colored by very contemporary issues. JavaScript, its consequences and its discontents, is a topic recurring throughout the book. More than just a recounting of history, Coders at Work should inspire readers to learn about the wider context of their craft and stop the reinvention of the proverbial wheel decried by several of the interviewees in its pages.

Given the related subject matter, the people interviewed in Coders at Work who played a role in creating major programming languages (Armstrong, Eich, and Steele), and close publication dates of the two books, inevitable comparisons will be drawn between Coders at Work and Federico Biancuzzi and Shane Warden's Masterminds of Programming (I previously reviewed Masterminds of Programming on my blog). There is a lot of common ground between the two books in terms of technical areas covered, but Coders at Work clearly comes out on top.

Part of the reason has to do with the fact that Seibel's choice of interviewees is stellar. Masterminds of Programming's niche focus on programming language designers meant that its authors had a tougher job than Seibel, but details like the omission of Alan Kay (creator of Smalltalk and one of the most influential programming language designers in the field's history) from Masterminds are nothing short of dumbfounding.

Just as important to making Coders at Work a good book is the fact that Seibel is a great interviewer. Seibel's questions felt more open-ended than those in Masterminds, and the resulting interviews have a flow and narrative that makes them engrossing to read and gives the programmers interviewed a chance to explore details in-depth.

A refreshing aspect of Coders at Work are the interviewees who don't shy away from strong opinions or humor, as shown in this remark by Peter Deutsch, "I think Larry Wall has a lot of nerve talking about language design--Perl is an abomination as a language." One aspect where Coders unintentionally shines is as a guide to finding and hiring programming talent. Even non-technical managers will benefit greatly by reading those excerpts of the interviews concerned with hiring programmers.

Another unexpected aspect of the book is the breadth of topics discussed — everything from debugging machine code to women's issues in computing workplace and education.

One area where Coders could stand improvement is in its length. Not all of the coders interviewed possessed the gift of brevity, and many interview answers could have been edited to reduce their length without affecting the message.

In her interview, Fran Allen makes an interesting assertion — programming and computer science need to become more socially relevant. Other scientific and engineering fields are filled with well-known personalities, described in prominent interviews, biographies, and major Hollywood films. The only "software people" to appear in the public spotlight are the CEOs of major software firms. Ultimately, its role in helping programming assert its status as a socially relevant profession may be the most important contribution of Coders at Work.

You can purchase Coders at Work from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×

207 comments

Sorry! There are no comments related to the filter you selected.

Microserfs (5, Interesting)

proslack (797189) | about 5 years ago | (#29288595)

I still think "Microserfs" is the best book about coders, ever. I worked as a programmer in Seattle for a year back in the late 90's and it was pretty much dead on.

Re:Microserfs (5, Informative)

micromuncher (171881) | about 5 years ago | (#29289181)

Nah, Death March by Yourdon. I re-read it frequently and it never loses its luster.

Re:Microserfs (-1, Flamebait)

Anonymous Coward | about 5 years ago | (#29289547)

Death March by Yourdon

The same guy that wrote a book called Time Bomb 2000! about how Y2K was the endtimes?

Pass.

Re:Microserfs (4, Insightful)

mweather (1089505) | about 5 years ago | (#29289675)

You think companies spent billions fixing Y2K bugs even though nothing bad was going to happen?

Re:Microserfs (0)

Anonymous Coward | about 5 years ago | (#29291149)

YES! That's exactly how corp culture works. The shareholders don't make decisions... it's the folks whose compensation/position depends on how much money flows through their department that make decisions---most huge corps have these very expensive projects of no particular use to anyone.

Re:Microserfs (1)

eln (21727) | about 5 years ago | (#29289865)

There was undeniably a lot of hyperbole, but I would argue at least some of that was necessary to get the powers that be to pay attention and actually commit to solving the problem. After billions of dollars and countless man hours, we managed to largely avert the problem. So, rather than going around telling everyone that Y2K was a hoax, it would be much more accurate to go around congratulating all of the thousands of programmers who worked around the clock for more than a year to make sure Y2K didn't live up to the hype.

Re:Microserfs (5, Insightful)

RetroGeek (206522) | about 5 years ago | (#29289991)

The look of disappointment on the faces of the major news anchors was priceless and underscored their severe lack of understanding of technology.

It was if someone had said that a bridge needs repairs (the experts can see the rot), the billions were spent fixing the bridge and when the first person crossed the bridge it did not collapse. Then they whine that there is no sensational story, that the bridge would not have fallen anyway and why was the money spent, what a waste?

I hate news people. I find them shallow, news bite hunting morons.

Re:Microserfs (1)

umghhh (965931) | about 5 years ago | (#29291399)

This is of course not to say that negative result of a search is something to snare upon as it provided some certainty instead of hope only but how serious these bugs were and why we have not seen much slipping trough these bug catching parties as it could be expected from any software enterprise? I mean there is no ideal tester so something gets always true.

Re:Microserfs (1)

rider_prider (698555) | about 5 years ago | (#29290381)

The problems due to y2k were for the most part well understood and easily fixed. Also even if left unfixed they could not possibly have caused a meltdown of our society. The main thing we should have learned from y2k was we should avoid the massive overstatement of the risk and just plain fabrication that went on in the lead up to the big day. As we can see from today's media that is no longer a problem,...

Re:Microserfs (1)

sbeckstead (555647) | about 5 years ago | (#29291287)

Oh kind of like the calendar ending in 2012, the one the Mayans just didn't bother to update past that point?

Coders that work? (0)

Anonymous Coward | about 5 years ago | (#29288641)

Coders that work?

Re:Coders that work? (2, Funny)

Anonymous Coward | about 5 years ago | (#29288769)

by "work" they must mean reading slashdot all day.

Re:Coders that work? (1)

sep0209 (1629923) | about 5 years ago | (#29289015)

Depends on the time zone, Bubba.

Niggers at work? (-1, Troll)

Anonymous Coward | about 5 years ago | (#29288811)

Ah yes, the African jungle bunny nigger at work. See him in action destroying civilizations, bankrupting them with his welfare receipts, mutilating their languages with his nigger slang, and convincing their youth that becoming a thug is a worthy and valid goal in life. Tell me, of all the nations in Africa where the majority of the population is black and the politicians and leaders are also black, which of them are stable, peaceful, successful, and democratic and got that way with no white intervention (so South Africa doesn't count)? Oh yeah, none of them, they're all third-world shitholes ruled by local warlords though starvation will probably get you before the thugs do. Let me guess, the PC types think that when black people can't even get along with each other without being a bunch of militaristic thugs, that must be because of racism too. Wake up, you fucks.

Re:Coders that work? (3, Insightful)

mh1997 (1065630) | about 5 years ago | (#29290063)

From the summary "Aside from authoring narrowly focused technical books....Peter Seibel's Coders at Work takes fifteen world-class programmers and distills their wisdom into a book."

So, instead of writing a narrowly focused technical book, they wrote a narrowly focused technical book?

Women's issues in computing workplace (5, Funny)

Dystopian Rebel (714995) | about 5 years ago | (#29288747)

I know I am not alone in deploring the puerile comments and immature attitudes of male programmers.

In every computing workplace where I have worked, men have behaved like sex-crazed animals and women have *never* felt comfortable working topless.

Re:Women's issues in computing workplace (0)

Anonymous Coward | about 5 years ago | (#29288969)

Brilliant.

Re:Women's issues in computing workplace (4, Funny)

Matheus (586080) | about 5 years ago | (#29289039)

Curious: What employer asked/required you to work topless? ...and where might I submit my application?

Re:Women's issues in computing workplace (1, Funny)

Anonymous Coward | about 5 years ago | (#29289135)

We'll get to that in a minute. First, What's your cup size?

Re:Women's issues in computing workplace (0)

Anonymous Coward | about 5 years ago | (#29290359)

We'll get to that in a minute. First, What's your cup size?

34D. Suck it. (not literally)

Re:Women's issues in computing workplace (3, Funny)

masmullin (1479239) | about 5 years ago | (#29289187)

are you sure? there are sure to be a lot of fat pasty white male nerds going topless too... you might never again be able to achieve an erection!

Re:Women's issues in computing workplace (1)

Swizec (978239) | about 5 years ago | (#29289103)

women have *never* felt comfortable working topless.

But I thought it helps you concentrate when we can see your bewbs O.o

Re:Women's issues in computing workplace (1)

auLucifer (1371577) | about 5 years ago | (#29291819)

Lack of bra . $0
Glass office for all to see in . $10,000
Woman is approached less due to coder geeks fear of naked breasts . priceless

Re:Women's issues in computing workplace (1)

WilyCoder (736280) | about 5 years ago | (#29289257)

I'll grunt to that.

Now where are the topless pics?

Re:Women's issues in computing workplace (0)

Anonymous Coward | about 5 years ago | (#29290837)

That's too bad!

Re:Women's issues in computing workplace (1)

Rastl (955935) | about 5 years ago | (#29290841)

And who's fault is that? If you didn't set the damn air conditioning at 'sub zero' then maybe we would stop poking the menu options on the monitor, making us less efficient.

Quite frankly, the temperature thing doesn't help you either. Think about it.

Re:Women's issues in computing workplace (1)

Fulcrum of Evil (560260) | about 5 years ago | (#29291195)

women have *never* felt comfortable working topless.

Why would you? All I can think of is nudie bars, and no, the bartender doesn't write code.

Coding philosophy book: Writing Solid Code (1993) (4, Informative)

davidwr (791652) | about 5 years ago | (#29288805)

I found Writing Solid Code [amazon.com] (Maguire, 1993) worth the read. Sure, some of what's in there is dated but many of the concepts are timeless and part of today's conventional wisdom.

Things like coding for security, coding for readability/maintenance, etc. etc.

Granted, those concepts weren't new in 1993 either, but many in the generation of programmers that cut their teeth on Turbo Pascal and 8-bit-machine BASIC never learned the lessons from 1960s mainframe code jockeys.

Useless book. (1)

140Mandak262Jamuna (970587) | about 5 years ago | (#29288875)

It does not mention me or Steven Colbert.

Re:Useless book. (1)

_PimpDaddy7_ (415866) | about 5 years ago | (#29289025)

Who the hell are you?

Re:Useless book. (4, Funny)

idontgno (624372) | about 5 years ago | (#29289209)

Judging from the construction of his statement*, not Steven Colbert. That narrows it down a bit.

*My evidence? The use of the "or" conjunction, which in English is semantically equivalent to a logical XOR.

Re:Useless book. (1)

bencoder (1197139) | about 5 years ago | (#29289543)

*My evidence? The use of the "or" conjunction, which in English is semantically equivalent to a logical XOR.

That would only narrow it down if Steven Colbert actually WAS mentioned in the book. Anyone got the book to check it out?

Re:Useless book. (0)

Anonymous Coward | about 5 years ago | (#29290113)

No. If `me' is Steven Colbert then if it would have mentioned Steven it would also have mentioned me. Look at $me like a reference to $Steven_Colbert.

$me == $Steven_Colbert

Re:Useless book. (1)

zindorsky (710179) | about 5 years ago | (#29291239)

The use of the "or" conjunction, which in English is semantically equivalent to a logical XOR.

_Usually_ equivalent to XOR. Consider the following statement:

"It will rain today or tomorrow".

If, in fact, it rained today _and_ tomorrow, would you consider the statement false? Most people wouldn't. Therefore, in that particular case, English "or" is equivalent to logical OR not XOR.

Re:Useless book. (1)

jo42 (227475) | about 5 years ago | (#29290017)

A reject from Digg.

Does this complement "Code Complete" (1, Interesting)

line-bundle (235965) | about 5 years ago | (#29288881)

How does the info in this book compare to Code Complete (2)?

Re:Does this complement "Code Complete" (1)

vsedach (1630061) | about 5 years ago | (#29291027)

Code Complete obviously has a lot more technical details in its advice on writing code. A lot of them are very specific to C/C++. A lot of them should be obvious. Coders at Work has a lot more general guidance that can be applied in any programming setting, and more importantly they're put into better context so you can kind of get why people recommend doing what they recommend. Code Complete is not that great at explaining "why." I think both are worth reading.

So what will they do? (0)

Anonymous Coward | about 5 years ago | (#29288907)

"Aside from authoring narrowly focused technical books, teaching university courses, or mentoring others in the workplace, programmers don't often get a chance to pass on the knowledge of the practise of programming as a profession."

Then they author another narrowly focused and self-centered book?

Andy Hertzfeld... (1)

sycodon (149926) | about 5 years ago | (#29288947)

... is not interviewed.

WTF?

Re:Andy Hertzfeld... (2, Informative)

DustCollector (903185) | about 5 years ago | (#29290833)

You'll find him in "Programmers At Work" by Susan Lammers. That book was published by Microsoft Press back in 1986.

ah yes, anti-perl tirades are refreshing (2, Interesting)

doom (14564) | about 5 years ago | (#29289047)

A refreshing aspect of Coders at Work are the interviewees who don't shy away from strong opinions or humor, as shown in this remark by Peter Deutsch, "I think Larry Wall has a lot of nerve talking about language design--Perl is an abomination as a language."

Yes, it must be refreshing all right, listening to aging Computer "Scientists" reciting crap that's been stale for years. It certainly is courageous for an ACM member to continue the smear campaign against perl. His friends in the gentleman's club will be shocked at his outspokeness.

You might think that the obvious utility of perl, the fact that perl and perl derived languages remain tremendously popular with people writing actual code, might blunt the man's opinion that it's an "abomination". Is it at all possible that Larry Wall got a few things right, and that the CS field's decades-long obsession with elegance and reductionism was somewhat misplaced?

(And if you want to take the line that the CS attitude is correct, how would you prove that it's correct? Writing working code is evidently not relevant. And if you can't prove it, then what does the "S" stand for in "CS"?)

Re:ah yes, anti-perl tirades are refreshing (2, Informative)

wurp (51446) | about 5 years ago | (#29289283)

In general, I agree with you. To nitpick, though...

Proving things is the domain of math, not science. In science, you can only find models which aren't disproven in a particular domain or by the body of experimental data. You can't prove your model is correct.

And the only reason you can do it in math is because you get to choose the assumptions and assume they're absolutely true.

Re:ah yes, anti-perl tirades are refreshing (0)

Anonymous Coward | about 5 years ago | (#29289765)

With a randomized experiment, you can prove a causal model within a probabilistic system (i.e., to any degree of belief you want, with enough data). I guess it depends on what you mean by "prove". Your view is a rather shallow one in my opinion (any many other philosphers and scientists).

Re:ah yes, anti-perl tirades are refreshing (0)

Anonymous Coward | about 5 years ago | (#29289285)

Anything with "science" in the title, isn't.

Re:ah yes, anti-perl tirades are refreshing (0)

Anonymous Coward | about 5 years ago | (#29289403)

It certainly is courageous for an ACM member to continue the smear campaign against perl
 

What have they got against perl? She's just a singer ... and she sings songs for the lost and lonely ... which is a fair description of Slashdotters.

Re:ah yes, anti-perl tirades are refreshing (1)

pileated (53605) | about 5 years ago | (#29289483)

I was looking forward to reading this book based on the thread above. But you're right, Peter Deutsch's comment about perl is less refeshing than asinine. I'd love to see a thoughtful analysis of perl compared to other languages, because sometimes, even though it's the language I use most frequently, it drives me nuts. But calling it 'an abomination' doesn't quite qualify as thoughtful analysis. And it certainly doesn't consider that it must be doing something right to still be used in so much functioning code.

As essay or two on elegance and reductionism versus practicality would be nice to see in the book.

Re:ah yes, anti-perl tirades are refreshing (3, Interesting)

VirginMary (123020) | about 5 years ago | (#29290641)

If the popularity of a programming language were a sign of it being a "good" language, then how come there is so much COBOL and FORTRAN? This reminds me of an old saying: "Eat shit, 10 billion flies can't be wrong!" I'd also like to point out that most programmers are hacks. I don't doubt that languages like Perl are useful for small scripts but I think it is not a language that scales up very well. Google for example uses C++ and Python and they try really hard to hire only the best programmers they can find. Many languages are culturally assimilated. I come from a physics background and most physicists used to, and may still, program in FORTRAN, yet FORTRAN is a terrible programming language. But guess what, if challenged on this, most physicist programmers might have replied that they can readily solve any problem of interest to them in it. I'm sure the same is true of the armies of Perl programmers. But, using the popularity of anything as a measure of its quality is questionable.

Re:ah yes, anti-perl tirades are refreshing (1)

mbkennel (97636) | about 5 years ago | (#29290857)

Fortran, as in am modern Fortran like Fortran 95, is [b]not[/b] a terrible programming language for physics problems.

For some of those problems, it's better than almost all alternatives. I like it much much better than perl.

It's suited to its domain at least as well, and is far less idiosyncratic.

Re:ah yes, anti-perl tirades are refreshing (4, Insightful)

RightSaidFred99 (874576) | about 5 years ago | (#29289745)

As a language it is an abomination. As a tool used for its intended purpose it's a masterpiece.

Re:ah yes, anti-perl tirades are refreshing (3, Insightful)

steelfood (895457) | about 5 years ago | (#29289775)

The thing is, from an application standpoint, I wouldn't consider perl a programming language. To me, it's an advanced scripting langauge. And it does that really, really well. But as a programming language, it isn't exactly the best.

Re:ah yes, anti-perl tirades are refreshing (1)

Tetsujin (103070) | about 5 years ago | (#29290411)

(And if you want to take the line that the CS attitude is correct, how would you prove that it's correct? Writing working code is evidently not relevant. And if you can't prove it, then what does the "S" stand for in "CS"?)

Hal Abelson says Computer Science isn't really a Science [google.com] , nor is it about Computers. It's more like magic!

As for Perl... Whether or not people have said bad things about Perl before, whether or not people do good work in Perl, I can't find fault in anyone who feels it's still worth mentioning that Perl is a horrible jumble of a computer language.

Re:ah yes, anti-perl tirades are refreshing (2, Insightful)

Fulcrum of Evil (560260) | about 5 years ago | (#29291285)

You might think that the obvious utility of perl, the fact that perl and perl derived languages remain tremendously popular with people writing actual code, might blunt the man's opinion that it's an "abomination".

Excuse me, but why can't it be both? It's nasty, but it works for a lot of things. That said, python does what perl does with easier syntax, so I'll be using that.

Socially relevent (4, Insightful)

dkleinsc (563838) | about 5 years ago | (#29289109)

FTFS: "In her interview, Fran Allen makes an interesting assertion â" programming and computer science need to become more socially relevant."

How do you recognize the extroverted programmer? He's the one staring at *your* shoes.

Same goes for engineers. Name a well-known (outside of engineering) engineer. I'll wait ...

Since programming involves long hours alone staring at a computer screen, it's no surprise it tends to attract people who don't mind or even enjoy being alone, and for whom self-promotion is fairly low on the to-do list.

Re:Socially relevent (5, Interesting)

Beardo the Bearded (321478) | about 5 years ago | (#29289287)

Same goes for engineers. Name a well-known ... engineer. I'll wait ...

Rowan Atkinson has a Master's in Electrical Engineering.

Re:Socially relevent (1, Interesting)

Anonymous Coward | about 5 years ago | (#29289501)

Dolph Lundgren, Master's in Chemical Engineering.

Re:Socially relevent (2)

rolfwind (528248) | about 5 years ago | (#29289715)

He's not a well-known engineer.

He's a well-known actor/comedian that happens to have studied electrical engineering.

Re:Socially relevent (1)

Mr Z (6791) | about 5 years ago | (#29291531)

Steve Wozniak? Dean Kamen? Burt Rutan?

Re:Socially relevent (0)

Anonymous Coward | about 5 years ago | (#29289337)

Richard Buckminster âoeBuckyâ Fuller

Re:Socially relevent (2, Interesting)

SigILL (6475) | about 5 years ago | (#29289907)

Name a well-known (outside of engineering) engineer.

Mahmoud Ahmadinejad (president of Iran), who has a doctorate in civil engineering and traffic transportation planning.

Re:Socially relevent (0)

Anonymous Coward | about 5 years ago | (#29290215)

Same goes for engineers. Name a well-known (outside of engineering) engineer. I'll wait ...

Jimmy Carter (nuclear engineer).

Also, Scotty

Re:Socially relevent (2, Insightful)

Monkeedude1212 (1560403) | about 5 years ago | (#29290227)

Same goes for engineers. Name a well-known (outside of engineering) engineer. I'll wait ...

Imhotep - Ancient Egypt.
Leonardo DaVinci - Renaissance
David Fisher - Present (Dynamic rotating tower thing).

Come on now, You can't clump Engineers into the same group as computer scientists, they've been around for ages.

Re:Socially relevent (0)

Anonymous Coward | about 5 years ago | (#29290271)

Name a well-known (outside of engineering) engineer.

James Watt.

Re:Socially relevent (2, Informative)

Catullus (30857) | about 5 years ago | (#29291067)

How about Hu Jintao, Paramount Leader of China, not to mention hydraulic engineer? I think there may be a few people in China who have heard of him.

Re:Socially relevent (1, Informative)

Anonymous Coward | about 5 years ago | (#29291743)

Angela Merkel - PhD in physics.

And chancellor [~=president] of Germany, for our american friends...

Re:Socially relevent (0)

Anonymous Coward | about 5 years ago | (#29291807)

Since programming involves long hours alone staring at a computer screen, it's no surprise it tends to attract people who don't mind or even enjoy being alone, and for whom self-promotion is fairly low on the to-do list.

Except for Eric Raymond.

Biggest Gripe about coding .. shouldn't be coders (4, Insightful)

ackthpt (218170) | about 5 years ago | (#29289203)

I'm disguted, repeatedly, at what passes for applications these days. Back when I started we wrote tight, purposeful code and optimised for speed or size. But now I'm constantly encountering untested code, applications which have the most bombastic interfaces, layouts which seem more ad hoc than well planned and a dozen other gripes.

Can't be all the coders faults. Whatever happened to Q/A? Whatever happened to analysts who have a clue? I keep seeing people who have no background in IT making decisions and overruling experince wiht seat of the pants decisions. Even to the point of corrupting data and having no fall-back plan.

I feel I need to retire, but I'm many, many years from that.

I'd like a book which discusses the EPIC FAIL of present day standards and practices of software development.

Re:Biggest Gripe about coding .. shouldn't be code (3, Funny)

aquatone282 (905179) | about 5 years ago | (#29289499)

I'm disguted, repeatedly. . .

Sounds painful. Hope you get over it soon.

Re:Biggest Gripe about coding .. shouldn't be code (0)

Anonymous Coward | about 5 years ago | (#29289883)

That sounds bad, but it's nothing compared to being digested repeatedly.

Re:Biggest Gripe about coding .. shouldn't be code (5, Insightful)

oatworm (969674) | about 5 years ago | (#29289797)

Ah yes, "They Don't Make Them Like They Used To. [tvtropes.org] "

Bugs have been around forever. Q/A has been troublesome since the beginning - heck, many of the problems outlined in the Unix Hater's Handbook were the direct result of poor Q/A throughout the... erm... Unixverse. Bloated code? That's been around as long as there's been code - heck, INTERCAL was explicitly designed to produce it! People with no background in IT making decisions and overruling experience? That's also been happening for ages.

That said, I'll give you credit on one thing - yeah, your code was tight, purposeful and optimized for speed or size, at least as far as the machine was concerned. You didn't have a choice. Instead of focusing on maintainability or ease of understanding, programmers had to bend to the machine's thinking instead of the other way around since there just wasn't enough machine to tolerate human weakness. Eventually, though, computers became powerful enough where programming could stop focusing on getting every last clock cycle's worth by any means necessary and more on solving programming problems quickly and easily. Put another way, the programmer's time finally became more valuable than the machine's time. Once that happened, the rules changed - something which those some of those people with "no background in IT" figured out years ago (I hear it's because they had a background in some dark discipline called "accounting") and which a lot of IT people still can't wrap their minds around.

Re:Biggest Gripe about coding .. shouldn't be code (1)

SquirrelCrack (522382) | about 5 years ago | (#29289929)

Are you sure you don't just need a new job?

At my current company we have great analysts and we tend to write purposeful code that has been well optimized for speed and maintainability. Our management even has a clue... Don't assume that your personal experience at your job is indicative of state of an entire industry.

Re:Biggest Gripe about coding .. shouldn't be code (0)

Anonymous Coward | about 5 years ago | (#29289999)

Sorry to nitpick, but QA is different from Q/A or Q&A. The first refers to quality assurance, which I'm most assured you're referring to the lack of, and Question and Answer, which undoubtedly you have to do to compensate for the potential hire's lack of QA.

He's right! (2, Interesting)

Invisible Now (525401) | about 5 years ago | (#29290469)

If working down on the corporate cube farm has shown me anything - it's that non-technical managers produce atrocious applications. Unbelievably expensive. Too slow to be used in spite of the cost. Rejected by users, because they are seldom part of the development team.

I can predict, fairly accurately, the outcome of a corporate development effort from the answer to these questions:

Is the business sponsor and the user team deeply involved in an Agile/Iterative way throughout the development effort?
Is the actual technical side of the development led by a technical manager with real authority?
Does he or she have their choice of tools and technology without interference from above or corporate IT's "Best Practices"?
Are requirements managed flexibly, with early deliverables of basic functionality followed up be newly discovered needs?

The biggest breakthrough in coding, reflected in the biographies of the coder interviewed, is a return to smaller teams, guided by involved end users. In other words, rediscovering earlier practices and respect for the lessons of the Mythical Man Month.

"Agile" happened. (4, Interesting)

Animats (122034) | about 5 years ago | (#29290577)

Whatever happened to Q/A? Whatever happened to analysts who have a clue?

"Agile programming" happened. No need to figure out the requirements up front, they're going to change anyway. No need to architect the system, we'll just use a "framework" and add features.

This works OK for web sites in PHP, but don't try to do hard real time or database internals or secure software that way. Agile programming will give you a set of loosely coupled features, but for many user-facing applications, that's good enough.

Re:"Agile" happened. (0)

Anonymous Coward | about 5 years ago | (#29291369)

Wow, someone doesn't know Agile or has worked for a company that didn't use it properly.

Agile Development in the company I work for works very well. Everything is tested/architected/"securified" properly within the constraints of limited scope we are given. Agile allows us to quickly develop pieces of a larger plan and change when the requirements inevitably change. When done properly scope-creep is eliminated, code is tested, and the product is delivered on time.

The real trick is making Agile work is finding BAs, developers, and QA who can all work together and communicate.

Re:"Agile" happened. (0)

Anonymous Coward | about 5 years ago | (#29291637)

You might be surprised how well you can do complex, high-performance, high-reliability systems while being agile. And I speak from doing so for decades before the word "agile" was applied to it. First in assembly language, then in C, and more recently in Java. The key is to nail down the critical parts first, to allow flexibility in the core so that the inevitable changes won't wreck the existing core. Hint: clean simple systems are easier to change than baroque bags of tricks. And generally perform better/more reliably.

What happened to Q/A? The "Git 'R Dun!" requirement. Rush it out the door! Yesterday!

Analysts who have a clue? Cost too much. We'll just add another team of cheap offshore developers.

Re:Biggest Gripe about coding .. shouldn't be code (2, Funny)

Dutch Gun (899105) | about 5 years ago | (#29291145)

I hear you. I remember when, back on my Apple II+, I could write new music on my sequencer (with fully sampled orchestral sounds - no external hardware needed), download new mp3s from Amazon.com, and chat in real-time with some friends, all at the same time. I remember how easy it was to stream real-time video wirelessly to my TV. Programming interfaces was a snap as well, with fully-featured APIs available for several different flavors of operating systems.

I remember how just about any information you could want was available on the Internet with just a click of a mouse. I especially loved how I could order just about anything online - no more hectic holiday shopping for me! Also, remember how awesome the videogames used to look and play? Why, those first-person shooters practically looked photo-realistic. It was amazing how well they ran on such old hardware.

Integrating new hardware and devices was far easier as well. We could just pick up a new gizmo and plug it to the Apple II's USB port, and damned if the computer didn't just instantly recognize it and load up some drivers. Best of all, you could pick up a new, reasonably powerful computer for about $1000 or so.

Man, those were the days... Oh, wait. I'm thinking of *today's computers*.

Re:Biggest Gripe about coding .. shouldn't be code (1)

scamper_22 (1073470) | about 5 years ago | (#29291889)

I'm surprised you think code quality has gotten worse.
Heck, even look at protocols. What about SMTP... the completely authenticantionLESS mail protocol! You wouldn't find that today.

I think this the 80s television syndrome. We all think TV was better back in the day. Probably because we only remember the good ones and we compare it to all the crap we have today (reality tv...). But we forget the good shows today (Lost, BSG, seinfled... whatever floats your boat).

let's not even get into how much more is expected of a modern applications. It's not simple text fields any more.

I've run the gamut from old control systems code to networking and even some modern web stuff.
All I can say is software has gotten a whole lot better, as has the process.
I'm sure there's all kinds of crappy code out there. and that is largely due to software being used so much more. Not everyone writing software can be an expert in it.

I Hate All Programming Languages (0, Troll)

Louis Savain (65843) | about 5 years ago | (#29289313)

Perl is an abomination as a language

LOL. From my perspective, all computer programming languages are abominations [blogspot.com] . They are ancient primitive relics of what I call the Babbage and Lovelace era. They should all be placed in the Smithsonian right next to the buggy whip and the slide rule. I live for the day when a constitutional amendment is passed to ban them all. :-D

Re:I Hate All Programming Languages (-1)

Anonymous Coward | about 5 years ago | (#29289449)

You're an idiot and your blog posting doesn't make any practical sense. Also I hope English isn't your first language. Dipshit.

Re:I Hate All Programming Languages (0)

Satanicolas (1374761) | about 5 years ago | (#29289461)

go play with Labview and leav us alone !!!

Re:I Hate All Programming Languages (1)

Louis Savain (65843) | about 5 years ago | (#29289669)

Funny. In my opinion, Labview, too, is an abomination. A truly compositional programming environment should be based strictly on a hierarchical tree. That is to say, the program should look like a tree and should be a branch in the universal tree of all software applications.

Re:I Hate All Programming Languages (3, Insightful)

gnupun (752725) | about 5 years ago | (#29291715)

A truly compositional programming environment should be based strictly on a hierarchical tree.

How would you handle loops or complicated algorithms with many conditional paths in such a language? Languages are designed to solve practical problems, not to just to look pretty.

Re:I Hate All Programming Languages (1)

Louis Savain (65843) | about 5 years ago | (#29291777)

It's all done with sensors and effectors.

The Well of Uncomfortable Truths (4, Insightful)

Tetsujin (103070) | about 5 years ago | (#29291069)

Perl is an abomination as a language

LOL. From my perspective, all computer programming languages are abominations [blogspot.com] . They are ancient primitive relics of what I call the Babbage and Lovelace era. They should all be placed in the Smithsonian right next to the buggy whip and the slide rule. I live for the day when a constitutional amendment is passed to ban them all. :-D

So your solution is a concurrent language using diagrams in place of syntax?

I'm not about to tell you the COSA approach is a bad idea, and I'd hate to discourage someone who's obviously got a lot of interest in making a system that really is better... But I have my doubts about visual programming languages in general. Mainly because it bypasses the established mechanisms humans have developed for conveying complex ideas (i.e. writing) in favor of visual diagrams - you lose the capability to convey a large volume of information effectively in a reasonably small space - or at least it seems you would. At any rate I can't figure out how those node graphs work...

And your statements about reliability? In what sense can a logic circuit be "guaranteed" free of defects? Did Intel know about this method of quality assurance back when they were designing the Pentium? It seems to me that simple logic circuits can be guaranteed free of defects because the human mind can readily model the whole system and intuitively decide it is correct. When the system is complex, that is no longer true.

I donâ(TM)t want to know about how to implement loops, tree structures, search algorithms and all that other jazz. If I want my program to save an audio recording to a file, I donâ(TM)t want to learn about frequency ranges, formats, fidelity, file library interface, audio library interface and so forth. This stuff really gets in the way.

It seems as though you've just said you want someone else to solve your problems for you.

To a certain extent this is quite reasonable. If you want to save an audio recording, it's reasonable to expect someone else to have come up with a program that will make it easy for you. This is why we have "sound recorder" applications and the like.

But what if you're the first person to write such a program? Or what if, for whatever reason (i.e. licensing issues, etc.) you can't use the work that's already been done? Then it seems to me that there's no way around it: you simply must understand about audio formats and deal with them on their own terms.

Likewise, suppose you want a program that can calculate a route to drive from Baltimore to Chicago. Of course it's been done: you can go ask Google for the route... But what if you want your own program that does this? Like if you wanted to compete with Google and get in the computer-map business? Then you'd need one of those pesky algorithms to turn that big pile of data into a usable route. The problem's not practically solvable unless you approach it with the right kind of strategy, that's exactly what an algorithm is. It's not practical to expect that all the problems in the world have already been solved by whoever created your language toolkit - if it were, then I'd be out of a job.

Good Points But... (1)

Louis Savain (65843) | about 5 years ago | (#29291421)

I see your points but I think you should read Parallel Computing: Why the Future is Compositional [blogspot.com] ... and hierarchical... and non-algorithmic... and deterministic... etc.

And while you're at it, you might as well read How to Solve the Parallel Programming Crisis [blogspot.com] . Without multithreading, of course, since multithreading is the biggest and most hideous abomination of them all.

"Sorry, no copies available for requests." (-1, Offtopic)

assassinator42 (844848) | about 5 years ago | (#29289459)

Convince some libraries in Michigan to get the book. Then I'll read it.

No offence (1)

ctid (449118) | about 5 years ago | (#29289827)

But why don't you convince your local library to buy the book? They will thank you for your recommendation.

Slashdot (1)

hey (83763) | about 5 years ago | (#29289653)

Do good coders read Slashdot during company time?
(Like me and you)

Programmers at Work (1989) (4, Informative)

plcurechax (247883) | about 5 years ago | (#29289699)

Another similar book that is no longer in print is the semi-classic, Programmers at Work [amazon.com] subtitled Interviews With 19 Programmers Who Shaped the Computer Industry, (1986 /1989) by Susan Lammers [wordpress.com] which includes interviews with well-known or pioneer programmers such as Charles Simonyi (Microsoft), Bill Gates, Gary Kildall (Intergalactic Digital Research), Andy Hertzfield (Macintosh Operating System), John Warnock (Postscript) and C. Wayne Ratcliff (dBASE).

Re:Programmers at Work (1989) (-1, Troll)

Anonymous Coward | about 5 years ago | (#29289917)

Who's Bill Gates??

Re:Programmers at Work (1989) (1)

David Off (101038) | about 5 years ago | (#29290435)

I've read it. To be honest I didn't find Gates contribution to be very inspiring, I think he has far more to say about business. I think Simonyi is way overrated.

This book sounds like an update to that work to some extent.

Re:Programmers at Work (1989) (1)

vsedach (1630061) | about 5 years ago | (#29291139)

Talk about not knowing the history of the field! I haven't read Programmers at Work yet, but it is on my to-read list. I completely forgot about it when writing this review.

Why Donald Knuth? (0, Interesting)

Anonymous Coward | about 5 years ago | (#29289993)

That guy is a relic of another age, and certainly not a coder; he's purely an academic in theoretical computer science.
He's good at making algorithms, but certainly not at coding.

Re:Why Donald Knuth? (4, Informative)

1729 (581437) | about 5 years ago | (#29290487)

That guy is a relic of another age, and certainly not a coder; he's purely an academic in theoretical computer science.
He's good at making algorithms, but certainly not at coding.

You're ignorant. Have you ever used TeX or METAFONT? Knuth wrote them. The CWEB compiler? Knuth again. How about the MMIX simulator and assembler for MMIX architecture that Knuth designed to go along with TAOCP? Yep, Knuth. Want some more? See:

http://www-cs-staff.stanford.edu/~uno/programs.html [stanford.edu]

Re:Why Donald Knuth? (2, Interesting)

wdavies (163941) | about 5 years ago | (#29290811)

Interestingly, I do wonder how Knuth would be rated in these days of massive (have you seen Java recently?) APIs, agile, test-driven development ? One thing that seems in common with all these guys is that they have written code which is of the old-school low-level infrastructural variety. His algorithm code is awesome, but a little spartan on the variable naming conventions. This is coming from someone who has an autographed set of TaoCP (and attended his occasional rare seminars).

Does the book actually have interviews with the front-liner programmers who have to deal with product management and managers in their day to day development work on web apps?

Winton

Devaluation of software engineering (1)

JustNiz (692889) | about 5 years ago | (#29290161)

Is it just me or does anyone else also hate being described as a coder?
It seems to me that this label is just another devisive step in the general undermining of skilled Software Engineering.

Re:Devaluation of software engineering (0)

Anonymous Coward | about 5 years ago | (#29291117)

That's funny, I also have issues with the devaluation of the time honored profession of engineering by over liberal use of the term for anything remotely related to technology.

Programming isn't engineering.

jwz is a household name? (0)

Anonymous Coward | about 5 years ago | (#29290943)

Never heard of him.

I Googled to find out that it refers to someone named Jamie Zawinski. Still never heard of him, and I've been programming for over 20 years.

I also checked around the office. I got blank stares at the mention of jwz and Jamie Zawinski.

Everyone knew Knuth though.

Knuth is a household name, but jwz? Don't think so.

Business Model should change (1)

424f54 (997473) | about 5 years ago | (#29291373)

"programming and computer science need to become more socially relevant"

Top engineers should market themselves using a system like actors or athletes. A lot of the jobs for top level software engineers are project based.
They should get Agents to negotiate contracts for them and market their skills for the top dollar.

Engineers today are treated like resources with experience being looked at as the number one factor in compensation.
Every engineer brings a different set of skills to the table and should be compensated based on their talent not on their experience.

Maybe they also need a reality show to make coding more relevant.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>