Fog Creek Software
Discussion Board




the best programmer and why

Who's the best programmer that you've ever known, and what makes him the best? Is it more because of talent or other things?

gunslinger
Thursday, July 25, 2002

I'm not sure about the best programmer, but the best software developer (i.e. person who gets the overall job done) I know has the following characteristics:

1) He is an excellent communicator, at all levels
2) He always designs before he codes, and checks his designs with the appropriate people
3) He looks for simplicity in design, rather than clever technical solutions (in other words if we can solve the job through design rather than programming, we will)
4) He forces precise requirements at the beginning of a project
5) He will never give a 'rough' or 'off the top of his head' estimate
6) He doesn't take shortcuts
7) He has a genuine interest and knowledge of a variety languages, technologies, etc
8) He is a good bloke

Sherlock

sherlock_yoda
Thursday, July 25, 2002

9) You rarely need to ask them to explain how a piece of their code works 

Andrew Reid
Thursday, July 25, 2002

The best I have known managed to combine three things:
brilliance, delivery and speed. I have known more that could do 2 of these things, but very few combined these three. These guys (sorry, no girls) did the work you normally got from a team of 2 over a 3 month period on their own within 3 days and the result was always better in all respects.
Juicy bit: none of them were "communicators", "good blokes", asking for "precise requirements" or using "elaborate explicit design". As noted all were male, young and single (as in NEVER had a girldfriend). I have also seen all of them seriously go to waste after a few years (Drink, drugs ...), from the inevitable moment they got into trying to hack the social scene. None has ever recovered.

Just me (Sir to you)
Thursday, July 25, 2002

Me

Me
Thursday, July 25, 2002

The best programmer I have ever seen was our Chief Scientist at my old job, Mike Gallagher (MG). It wasn't necessarily his coding skills that made him uber (although he was beyond anyone I have seen), it was his ability to disseminate information to our developers. His job was to streamline our development process and help build a solid development staff. He would research new development techniques and if they had merit and could meet a need in our organization they would be passed down to the development chain. He would coach everyone from newbie to seasoned veteran on better ways to accomplish things, usually taking an approach that led you to the answer, as opposed to him beating you over the head with it. Although he was quite technical, he could talk with clients about how we could solve their problem in terms they could understand, without ever speaking down to them.

Ian Stallings
Thursday, July 25, 2002

It is Bill Joy, this guy is simply amazing he is the best computer scientist best programmer and a very smart person.
Tell me a person that wrote major part of an OS (berkley-bsd), help architect a CPU (sparc) and worked on a programming language. He also worked on many great projects.

Bill
Thursday, July 25, 2002

Any imbecile can attain the delivery & speed criteria you put forth.  In fact, most imbeciles *do* attain these criteria - almost by definition.  Consider the typical recently graduated imbecile (who, by the way, probably doesn't have a girlfriend or a life).  This clever fellow thinks he's cool when he turns out shit code that is indecipherable to his fellow developers.  He reasons that if others can't understand his garbage code, then obviously he's on a higher plane of thought.  He reasons that he has attained your third criteria, brilliance.  He fails to realize that *anyone* who cuts corners and doesn't spend a second making his code readable, coherent maintainable or extensible can attain delivery & speed.

The only thing worse than a self-satisfied newbie imbecile is a developer who puts forth that this sort of fellow is good!  Any developer who mistakes ad hoc, unreadable, unmaintainable, incoherent, inextensible code for "brilliant" should get the heck out of this industry.  One can't be a good developer without years of concerted effort directed at honing his skills and his craft.  I'm just a little sick of juvenile, unseasoned idiots perpetuating the myth of the wunderkind.

SZP
Thursday, July 25, 2002

There is only one answer to this question, and that is Mel.

http://www.tuxedo.org/~esr/jargon/html/The-Story-of-Mel.html

Tim Sullivan
Thursday, July 25, 2002

Yoda's list (and Andrew's additon) are spot on.  I'll add one somewhat controversial item:

Good developers can find solutions to problems.  Great developers do this also, but when the choices are unclear, they can carefully weigh A vs. B, taking into account the effects on the customer, maintainability of the code, team dynamics, and business environment.  We're talking about cost/benefit analysis.

I think this is a general skill, not necessarily one that is grown in the vacuum of software development.

The best developers I know can understand their personal finances, juggle family, resolve conflicts, understand both sides of a political dispute, etc.  Rarely do I run into someone who is clueless "on the outside", but is a _great_ developer.

Some of the consequence of the 70 hour weeks and endless technology cycles is that many developers never grow as people, limiting their common sense and keeping them from making the jump from good to great.

Anyone care to agree or flame?

Bill Carlson
Thursday, July 25, 2002

Ya' know, Tim Sullivan, Mel is just the sort of fucking imbecile I attempted to describe in my previous post to this thread.  While he's certainly not a newbie, his code is useless.  Worse than useless!  Mel's brand of clever, clever code has cost industry how many billions of dollars and how many years of real progress in software engineering?  How much money did his company waste on the worthless garbage that ol' Mel spewed forth.  Are you actually suggesting that it's a good thing that another developer spent a week analyzing one loop in this amazing hero's code. 

I just can't believe that the lore of Mel and his ilk still captures the imagination and respect of professional software developers.  It's a whole lot simpler to obfuscate code and claim you're on a higher plane of thought than everyday developers than it is to make insanely great code look easy.  True geniuses do the latter, and true idiots glamorize jackasses like Mel. 

SZP
Thursday, July 25, 2002

In the old days, programmers wrote short, fast code.  Today, these programmers are fired.  Today we write readable and maintainable code.  Today, we know the code does not belong to us - at some point in time, someone else will go in and try to change things around.  I have gone in as a "maintainance programmer" and believe you me - I prefer readable over clever any day of the week.

Icelander
Thursday, July 25, 2002

No, its definitely me.

Me
Thursday, July 25, 2002

SZP, the story of Mel is tongue in cheek. Cowboy coders who don't believe in documentation or like programming using a debugger get replaced these days. Maybe years ago when hackers where the actual wunderkind this kind of style was accepted. In today's world where a team is the norm and human costs outweigh hardware costs (as opposed to years ago when the reverse was true) the cowboy coder is merely a player from the past that cannot fit into today's "paradigm". Similiar to the ones in the past who blazed trails across the frontier, they are hard, rough around the edges, and know how to get sh** done. No place in today's typical development environment but they do serve a purpouse, seeking the frontier/edge of development. Just take a look at Linux to get a look at some real life cowboy coders.


http://c2.com/cgi/wiki?CowboyCoding

Ian Stallings
Thursday, July 25, 2002

I'll probably be a bit off the "beaten path" here since I consider a brilliant developer, different from a "billiant COMMERCIAL developer".

For me a brilliant developer has tremendous insight about the system she is setting to work onto. Can foresee system pitfalls before she casts her preeliminary design. A developer that can release quickly, setting a healthy feedback loop among users. A developer that refactors painlessly and often has multiple solutions for the same problem. But above all, a good developer appreciates SIMPLICITY as the most valuable system design policy.

Beka Pantone
Thursday, July 25, 2002

Its great to here all of you developers that learned how to code through years of dilligence knocking people who come up with innovative things to do.  Sure, when your writting simple business app in VB 6, its nice to have neat code.  When you try to do something complex, its almost always going to be very abastract, and very hard to read.  Sure, there are tons of times when I could have dumbed down my code so you retards could understand it, but it wouldn't have been near as modular, or near as fast.  (and yes, speed does matter, especially when dealing with CMS and Reporting etc.)

Vincent Marquez
Thursday, July 25, 2002

Which is worse?

Cowboy Programmer "Mel"

or,

a Visual Basic "programmer" who thinks Bill Gates is God?

Mmmmmm....

Nat Ersoz
Thursday, July 25, 2002

Bella

Joe AA.
Thursday, July 25, 2002

Joe AA.

Bella
Thursday, July 25, 2002

Nice to see the "old guard" still lurking.

I miss you guys.  <sniff>

Nat Ersoz
Thursday, July 25, 2002

To a software engineer, a great programmer is the guy or girl who can solve complex problems and do so well. Given some stated need, he or she will think about the problem, gather additional information where needed and then develop a solid solution. If appropriate, he or she will tell the commissioning entity that their expectations are invalid, and must be revised.

The resulting software or component developed by the great programmer will work smoothly and continue working smoothly for years with little or no need for maintenance. If it's a component to be used by other programmers, they will find the documentation leads them effortlessly through the process and that everything works as advertised.

When, three years later, a junior programmer is required to make a change to the software, he or she instantly sees the structure of the program and makes the necessary change, and there are no unexpected side-effects. When the program encounters an unexpected set of circumstances, it handles them without problem.

To a modern MBA-educated corporate executive or Project Manager with Project Management certification, there are no great programmers, only resources and prima-donnas. The modern corporate executive (MCE) will hire the lowest cost resource (LCR), who will say yes all the time, readily accept his inferior role, work all weekend and be puppy-dog grateful when MCE brings in some pizza at 6 pm Saturday.

Modern Corporate Executive will not realise that Lowest Cost Resource has to work on the weekend because his or her code is crap. LCR will meet his or her deadlines by hardcoding numerous conditions and massive cut-and-pasting, including great slabs or irrelevant code copied from the internet. It will not be possible to run the software unless the LCR carefully configures the software and the five open-source packages LCR needs, each with their own dependencies. MCE will see this as evidence that LCR is a good resource. Whenever LCR has to make an adjustment during development, he or she will spend all day cutting and pasting into 30 different files, because he or she doesn't know about modularisation.

As soon as the software is finished, Modern Corporate Executive will promote Lowest Cost Resource. Meanwhile, the two of them will hire cheap new LCR's to undertake the continual daily maintenance and bug fixes needed for LCR's product. The new hires will find it very difficult, and stressful, to maintain the garbage code base.

Hugh Wells
Thursday, July 25, 2002

"When, three years later, a junior programmer is required to make a change to the software, he or she instantly sees the structure of the program and makes the necessary change"

This is true if the best coder was assigned a medium difficulty task. Some problems are too hard for some programmers to ever understand though - and these are the problems the best coders tend to end up working on.

b
Thursday, July 25, 2002

It's said that a programmer tries to give you what you ask for: e.g. bug free, or small, or quick, or fully-featured, or ...

Also the quality of the software is only the developer's responsibility, it's also the company's. I'd like to quote something which someone once posted on a newsgroup:

        "re: The whole process relies on individuals "doing the right thing" and to do that, they have to know what "the right thing" is, which isn't always easy.

        Beyond that, it's fundamentally unworkable.  Software development on any significant scale requires coordination that simply can't be achieved on the strength of good intentions.  The individuals rely on the process, rather than the other way around.

        Companies often believe that by paying salaries and providing equipment and facilities they are providing the capital to develop a product.  They fail to grasp that the crucial capital is intellectual capital.  _That_ comes in the form of the developers' smarts and an effective process.  A company doesn't "own" the former, so if it doesn't own the latter, it isn't really bringing all that much good stuff to the picnic.

My vote for world's best (fictional) programmer would be _Moravia's First Programmer_ (from DeMarco's _The Deadline_), because.

name witheld by request
Thursday, July 25, 2002

(paragraphs 1, 2, and 6 were mine; 3, 4, and 5 were the quote).

name witheld by request
Thursday, July 25, 2002

A novice asked the Master: "Here is a programmer that never designs, documents or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?"

http://www.users.cloud9.net/~hennessy/tao.html

Sammy
Thursday, July 25, 2002

Mathematicians have great respect and admiration for those who put forth particularly beautiful proofs.  Paul Erdos liked to imagine that God created a book that contains the most succinct, elegant and illuminating proofs for all provable mathematical statements.  Similarly, mathematicians have a great distaste for difficult, long-winded or ugly proofs.  This sense of the aesthetic permeates their literature and lore.  Computer Science literature and lore, on the other hand, is polluted with admiration for "cowboy coders" like Mel.

Ian Stallings claims that, “the story of Mel is tongue in cheek.”  If this were only the case!!!  In the computer science community, rather than experiencing distaste for cowboy coders, there is a perverse and extremely counter-productive fascination with imbeciles like cool Mel.  You need look no further than this thread to see proof of this pervasive attitude.  My new hero, cool Vincent Marquez states:

“When you try to do something complex, its (sic) almost always going to be very abastract (sic), and very hard to read. Sure, there are tons of times when I could have dumbed down my code so you retards could understand it, but it wouldn't have been near (sic) as modular, or near (sic) as fast. (and yes, speed does matter, especially when dealing with CMS and Reporting etc.)”

It seems amazing to me that higher mathematics can be presented in an accessible, elegant way, but somehow software genius, Vincent, can’t find a way to make his *highly abstract*, Visual Basic reporting programs readable to we retards in the development community.

Here’s more from a link in Sammy’s message on this thread:

“A novice asked the Master: ‘Here is a programmer that never designs, documents or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?’

The Master replies: ‘That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of Tao.’"

I do not believe this to be tongue in cheek.

I am sorry, but cowboy coding *never* works, and there is no room for it in a mature software engineering “profession”.  Have a look at the statistics.  There is more than enough empiricle data to support the claim that cowboy coders are not romantic figures.  They are untalented assholes who wish to hide the fact that they can't think logically behind a bunch of obfuscated, undecipherable code.

 

SZP
Friday, July 26, 2002

The best coder is the one than can convince all other coders to write code like the master.  He is Alpha Coder.

If we all write the same, then all is easily understandable, maintainable, documentable...

If you think that you are writing excellent code but it just happens to be so abstract and complex that mere mortals couldn't deal with it, then you are not Alpha Coder.  You'd never get the unwashed masses to follow you.

Alpha Coder is a leader, a teacher.

Here is my ultimate goal:  Define a set of coding standards and refactoring practices such that, given the same problem, two independant coders will write exactly the same code.

When you can write such sage wisdom, you will be Alpha Coder.

And do not flog me about how such a thing is impossible.  I believe that code is ultimately mathmatics equations.  The first thing you learn in Algebra is how to simplify equations.  Asked to simplify an equation, all mathmaticians will come to exactly the same formula.  In fact, given two different equations, I prove that they are identical by simplifying them to exactly the form.  Why?  Because there is an acceptable standard that defines a "simple" equation.

If you give the same problem to two different coders and you get two different results than at least one of them is wrong or at least one of them hasn't been simplified.  Code that is functionally equivalent should simplify to exactly the same code.

William Frantz
Friday, July 26, 2002

William, your point is a good one, but I humbly proffer two reasons that there's not necessarily a "one best" solution for each coding problem:

1. There is are multiple trade-offs involved. Speed vs. size springs to mind.

2. A program is not a black box -- it has inputs and outputs. How the programmers deal with these unknowns will differ.

Adrian Gilby
Friday, July 26, 2002

3 coveted S.E practices - Quality, On Time, Within Budget.

Pick any two.

Robin
Friday, July 26, 2002

No offence, but I believe a lot of the posters in this tread have never met a truly extraordinary programmer.
Many of you refer to the stuff that determines a good, decent, honest hardworking programmer. That is great, but there are things beyond that level. I find it hard to explain, but some people are just ... well ... better than that.
When I referred earlier to the people that deliver 100x times faster than average and top level quality, crystal clear code that does things beyond your stated requirements, but to the point in the problem domain, I wasn't thinking of the typical cowboy losers that some imagined.

Just me (Sir to you)
Friday, July 26, 2002

Any programmer who knows how to K.I.S.S.

Bella
Friday, July 26, 2002

SZP:
Perhaps you are right and the story of Mel is not tongue in cheek, but it certainly reads that way to me. I understand your anger at the community for raising these types to deity level, it is frustrating. Any programmer that considers making a program readable "dumbing it down" and documentation a waste has obviously got a chip on their shoulder and needs to take a time out. Development is a team sport.

Just me (Sir to you):
Every programmer I know thinks they have the secret recipe, what makes you so different? I never stated the cowboy coder was the ultimate coder. In my eyes "cowboy coder" is a deragatory term reserved for those with huge chips on their shoulders with something to prove.

Vincent Marquez:
CMS and Reporting? Wow. Hardcore :|

Ian Stallings
Friday, July 26, 2002

Ian,

I was certainly not refering to myself, but to others I have had the pleasure to know (see above). My reply was targetted most at SZP, which I should have mentioned.

Just me (Sir to you)
Friday, July 26, 2002

SZT:

Take a joke, buddy.

There is no "best programmer".

Tim Sullivan
Friday, July 26, 2002

Just me (Sir to you): I should have read into it less. no worries i hope.

Ian Stallings
Friday, July 26, 2002

Only a coward would post something using someone else's name.  You know who you are and I hope you really feel cute and intelligent.  You obviously don't have any other value to count on.

Joe AA.
Friday, July 26, 2002

The best programmers are the ones who will, when appropriate, tell you they *can't* do something.  A jack o' all trades is...

But I'm mainly posting to say that you shouldn't slam Cowboys [who don't mind refactoring].  Cowboys who know how to refactor can get your to market first and give you maintainable code second, which, as long as you get both, should be where your priorities lie. 

For a while they'll have you on a thread over a fire, but stand-up Cowboys who produce stable, interoperable code are the best programmers out there.  It's the Cowboys that feel more powerful by keeping code written "from the hip" (cute reference, eh?) behind a layer of FUD that you need to ditch.

Rufwork
Friday, July 26, 2002

"A program is not a black box -- it has inputs and outputs. How the programmers deal with these unknowns will differ. "

Actually... I believe the term "black box" means dealing with just the inputs and outputs.

Joe AA.
Friday, July 26, 2002

Tim Sullivan wrote:

"Take a joke, buddy.
There is no 'best programmer'."

Tim, you may know that this sort of thing is a joke.  Ian may know it's a joke.  But for every developer out there who gets it, there are three like Vincent Marquez who believe they can't possibly make their little reporting applications readable to other "retards" in the development community.  I see it everyday.  People who perform the vilest, most hideous kludges imaginable pat themselves on the back for being so-o-o-o clever.

SZP
Friday, July 26, 2002

didn't you guys read? it's me!

Me
Friday, July 26, 2002

Vincent Marquez: I think you miss the point and setbacks of abstracting complex problems.  Abstraction is meant to make things conceptually similar (reusable) and (often) simpler.  Your abstractions should make your code easier to read, not harder.  Also, abstraction suffers a (negligible) performance hit.  Abstraction does not speed up code.  If your code is so modular, it should already be easy to read, and not as fast as possible.

If you were to "dumb down" your code for us, it would end up being more modular, not less.  And chances are high that the performance hit would be negligible.  Use a profiler to find out.  Don't trust your intuition when you can have proof.

David Blume (a retard to you)
Friday, July 26, 2002

"me"... will you get out of here... in no way can you possibly qualify!!!

I'll nominate "Bill Gates".

No, not to tick certain people off...

But there is a story... probably around 10 years old, and I have no idea to it's validity... that Bill Gates' business card had his job title on it as...

"programmer".

And in my world, the title of programmer is not limited to "coding".  Because....

Before there were "system engineers", or even "system analysts", or even "system programmers" (meaning now-a-days those that are dedicated to operating systems updates), or "security analysts", or "database administrators/analysts", or any number of currently used wannabe job titles...

there were "programmers".  Because programmers did it all.  Any of you ever work on an IBM 1401?  It was the root of all business programming, and any of your point-and-click programming environments (which some other poster called WYSIWYG programming... I still love that term!!) can trace all of its primary algorithms back to this ancestor - and the programmers that programmed them.

All of those other specialities mentioned above only came about after the fact... and they are only subdivisions of the work that us "programmers" did all by ourselves... thank you very much.

So I nominate "Bill Gates"... because he never let himself be limited by the term "programmer".

And even though he might have one now, which I believe he has earned hands down, he never would have gotten to where he is now by merely sitting on his ass and not doing anything productive because he"felt entitled to whine" about the lack of a "private office".

I think most of the whiners among you out there are only given "high" job titles by your employers to avoid paying you anything in "cash".  They know your worth.... EXACTLY to the penny (and they still wish a penny could be subdivided further!!).

HA, HA, HA, HA, HA!!!!!

Joe AA.
Friday, July 26, 2002

It's rather annoying to read flames about programming 101 topics.  Yes we know about writing code for humans to read instead of machines.  I'd just really like to hear about the programmers others respect, even if I disagree.

sherlock_yoda pointed out a distinction between developers and programmers.  This is the root of the flames.

To be on-topic, my observations are that the industry doesn't nurture wunderkind types.  (Yes, I know you don't think they exist SZP.  But I have a mind of my own, you know.)  Really good programmers like to work on important things... but if you look at things like the Amiga losing to DOS, Unix-Haters, worse-is-better, you notice that the people who most need technology can't afford it, while those who can tend to buy marketing and incremental improvements.  At some point, a wunderkind just has to find a more interesting and fulfilling system.

Tayssir J.
Friday, July 26, 2002

Bill Joy?? I sat through a talk he gave at a Seattle Sun/Java conference. He came across as a dolt. Not long after that he wrote that weird una-bomber style anti-technology manifesto and I just wrote him off altogether. He might have been OK in his day, but that day was a looong time ago.

Mr. Obvious
Saturday, July 27, 2002

bill joy == old == can't program anymore

something else to flame about
Saturday, July 27, 2002

Word.

Son of Mr. Obvious
Sunday, July 28, 2002

I'm "curious" as to why "Joe" AA. uses "quotation" marks quite as "frequently" as he "does". Is this "strictly" necessary? Although "what" would "I" know, "i'm" just "a" programmer"?"

Father Jack
Sunday, July 28, 2002

Joe AA,

I don't know what I was thinking with that Black Box analogy. I meant to say "A program may not have fully defined inputs and outputs". From many perspectives a program _is_ a black box, of course. Apologies.

Anyway, this whole topic is like asking who's the best chef, or the best soccer player, etc. Everyone has their own index of excellence.

Adrian Gilby
Sunday, July 28, 2002

What's wrong with Bill Joy?  He's an entertaining guy, and anyway he apparently said these things:

http://www.molgen.mpg.de/~wwwutz/Unix_Haters/text/joy-quotes.html

I don't quite know why people think he's The pimp engineer, but he's a smart guy.  And as for entertaining:  "The buzzwords of the 1990s will be verification, reliability, and understandability."

Sammy
Monday, July 29, 2002

I was seriously dissapointed in Bill Joy. I would have thought a man of his caliber could sort of transend the bonehead level, but instead he has to stoop down to the McNealy level of delivering empty anti-MS retoric even at technical outings.

http://murl.microsoft.com/LectureDetails.asp?454

Just me (Sir to you)
Monday, July 29, 2002

I will second Joe AA.'s probably unpopular nomination: Bill Gates. Not because of his coding skills, but because of his overall hacking mentality.
After hacking code, he hacked business and now added hacking philantropy.
How many CEO's have you worked for that could read C++ (or any other tech. spec/language for that matter), lett alone comment on it? What percent of your fortune will you give to charitable causes?

Just me (Sir to you)
Monday, July 29, 2002

Joy: Java, NFS, BSD,Sparc.
Gates: DOS, Basic.

Yeah, I'd "vote" for Gates.  Very cute.  Dumbasses.

Nat Ersoz
Monday, July 29, 2002

All Bill Gates is responsible for is DOS and Basic?

Wow, am I misinformed!

Dumbass.

Dunno Wair
Thursday, August 01, 2002

That's all he ever coded, under the MSFT flag anyway.  Dumberass.

Nat Ersoz
Monday, August 05, 2002

So you're giving personal, individual credit for the coding of the Java language to Joy?

That IS impressive.  No wonder you're on your knees in front of him.

Dunno Wair
Tuesday, August 06, 2002

"All Bill Gates is responsible for is DOS and Basic?"

Is he really?  I don't exactly know but I remember seeing somewhere that DOS was essentially a CP/M clone written in 8086 assembler (instead of Z80) that he bought the rights to from the "programmer".

I wouldn't be surprised if basic was much the same situation.

Joe AA
Tuesday, August 06, 2002

Joe AA.,

I was "being generous".  Much of what we might call our own are derivative works.  Yes, DOS was a CP/M derivative bought from someone else.  BASIC may have been too, I'm not sure.

Did I give Joy credit for writing all of Java?  Sorry, he architected it.
http://java.sun.com/docs/books/jls/

Quite frankly, if there is a Bill Joy equivalent at MSFT, its Dave Cutler, who architected (and wrote much of) Windows NT.

How anyone looks to Gates as a great programmer or engineer is beyond me.

Nat Ersoz
Wednesday, August 07, 2002

A topic on the best programmer, and you people are not mentioning Peter Norton and John Socha, the guys that created what I at least, thought to be magic over at
Peter Norton Computing in the 80's.

I grew up on Norton Guides, while learning ASM and such
for the 8088 :-)

Just my 2 cents,

Patrik
Wednesday, August 07, 2002

Ok... then if you want that kind of programmer (smile) then it would have to be Dan Bricklin... the author of visicalc - the worlds first spreadsheet application.

Joe AA
Wednesday, August 07, 2002

Then I´d go with Adrew Schulman for exposing the Windows self-modifying anti-DRDOS startup code in Win95.  Along with some excellent books like "Undocumented DOS" which are right in the same category as Noron´s anthologies.  Good picks all.

Nat Ersoz
Wednesday, August 07, 2002

i am the best programmer bitchez

programmerr
Wednesday, April 07, 2004

The answer depends on a number of factors. I'm currenlty working in a service oriented company. I didn't make use of my talent in Maths, graphics till now.

The environment you work may kill your talents.

T. Hussain
Tuesday, August 10, 2004

*  Recent Topics

*  Fog Creek Home