Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Culture of UNIX and Windows Programmers 370

bebonzo writes "Joel Spolsky, 'Joel on Software' has an interesting review of Eric S. Raymond's book about 'The Art of UNIX programming'. Quote:"What are the cultural differences between Unix and Windows programmers? There are many details and subtleties, but for the most part it comes down to one thing: Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers." About slashdot: "slashdot-karma-whoring sectarianism..."" He's harsh on some points, but pretty on the money. Except about us. Nobody karma whores. Update Note to self, never post before coffee. Yes, its a dupe. get over it.
This discussion has been archived. No new comments can be posted.

Culture of UNIX and Windows Programmers

Comments Filter:
  • Nothing like... (Score:4, Insightful)

    by j3110 ( 193209 ) <samterrell @ g m a i l.com> on Tuesday December 16, 2003 @08:04AM (#7733579) Homepage
    Nothing like the smell of fresh dupe in the morning :)
    • by squaretorus ( 459130 ) on Tuesday December 16, 2003 @08:05AM (#7733583) Homepage Journal
      Its a Christmas treat for us all!! Nothing like a bit of bitchin about /. editors to brighten an otherwise dull day!
      • Nothing like a bit of bitchin about /. editors to brighten an otherwise dull day!

        No. This is a special case. This story is extremely important. It mentions Eric Raymond, Linux, and even /. Besides, CmdrTaco actually read Joel's article. He took to heart what Joel said about the difference in writing styles between man pages and Windows help files.
        • No. This is a special case. This story is extremely important. It mentions Eric Raymond, Linux, and even /.

          I think Taco just showed the real cultural difference. A windows programmer would have implemented a system to warn editors of potential dupes. UNIX wizards simply don't believe in such wimpy protection systems.

          The other big difference is that a Windows user would look at what the slashdot market is interesting in discussing and look at a way to support that. With UNIX there is a curious one way st

      • Re:Nothing like... (Score:2, Insightful)

        by utlemming ( 654269 )
        You laugh, but if you bitch in the right forum, they will actually mod you up -- and I expected to get modded down the last time I did it.
    • by zCyl ( 14362 )
      The fresh start of waking up,
      it's cloning in your cup!
    • "Nothing like the smell of fresh dupe in the morning :)"

      I stopped bitching when I realized that their paychecks are the same no matter how many dupes are posted.
  • Dupe immediately following the original!
    That's gotta be a record ;)

    Left hand doesn't know what the right one's doing I guess!
  • by xdroop ( 4039 ) on Tuesday December 16, 2003 @08:06AM (#7733589) Homepage Journal
    That _has_ to be some kind of non-april-fools record.

    Or is Hemos going to post the same item in an hour?

  • Deja Who? (Score:3, Funny)

    by mysticwhiskey ( 569750 ) <mystic_whiskey@ho t m a i l .com> on Tuesday December 16, 2003 @08:06AM (#7733590)
    I've got a strange sense of deja vu! Errr, hang on... I've got a strange sense of deja vu!
    • by Fjord ( 99230 )
      Neo: Whoa. Deja vu.

      Trinity: What did you just say?

      Neo: Nothing. Just had a little deja vu.

      Trinity: What happened? What did you see?

      Neo: A slashdot post went on the main page and then I saw another that looked just like it.

      Trinity: How much like it? Was it the same post?

      Neo: It might have been. I'm not sure. What is it?

      Trinity: A deja vu is usually a glitch in the Matrix. It happens when they change something.
  • ...of appearing to exert effort in avoiding dupes :P
  • Hey! (Score:4, Funny)

    by Fonce ( 635723 ) <msmunter@g[ ]l.com ['mai' in gap]> on Tuesday December 16, 2003 @08:09AM (#7733620) Homepage
    They're just being kind enough to make sure we read it. It's early, so my vision is still blurry and the coffee hasn't soaked in yet. Wouldn't want to miss a story just because it wasn't on there two or more times.
  • CVS for newsposts (Score:4, Informative)

    by HBK-4G ( 2475 ) on Tuesday December 16, 2003 @08:09AM (#7733624)
    CmdrTaco et al need some sort of CVS on submitted newsposts. Check-out a selected submission, nobody else can touch it. With some work and the tying in of keywords, it could also be a dupe-submission checker of sorts.
    • that would be UNIX or Windows programming?
    • "CmdrTaco et al need some sort of CVS on submitted newsposts."

      Why do they 'need' it? Why's it such a BFD? In this case, it's a little silly, but come on, it's a dupe story, not a Star Wars prequel.

      Maybe it's because I have a life or something, but most of the time I see dupes, I didn't catch the original.
  • by timjones ( 78467 ) on Tuesday December 16, 2003 @08:15AM (#7733671) Homepage
    Joel almost, but not quite touched on it when he mentioned source code availability as a core Unix value, and that is Peer Review.

    True, in the Unix world, one makes your source code available to give others the chance to further improve and customize the system, but by making it available, it means OTHER PROGRAMMERS WILL SEE HOW GOOD (or bad) YOU ARE. Because of this, most open source developers will want to put in the extra effort to do it right / clean it up / make it elegant/compatible (or at least the best of their ability).

    Most open-source developers are happy to learn and grow by reading suggestions and examining patches submitting by their 'users' (obviously, the ones who submit patches are programmers as well).

    In the Windows world, source code is a closely guarded secret. No one is going to see THAT source code, so who cares?

    • While I do agree with you that coding elegantly is a must in the Unix world... I don't agree that coding closed source products means you're probably going to code badly. A good coder is good at what he does no matter how many people is going to see his work.

      But yes, working in open source projects is probably the best way to learn and share knowledge.

      Diego Rey
    • by moranar ( 632206 ) on Tuesday December 16, 2003 @08:32AM (#7733788) Homepage Journal

      Playing devil's advocate, I could say that when you are doing a big closed project (say, excel or windows) somebody else will see your code. But as we can see, they don't seem to mind about the quality either.

      A point I noticed is when Spolsky talks about the Silence is golden rule and gets it all wrong. The rule is complemented by "If a program fails, it should do so in the quickest and noisiest way possible". This rule is also complemented by the possibility of someone else to write a GUI or a text interfase specifically for showing the results of a command.

      This goes without saying that the rule actually means "When a program finishes successfully it should'nt output anything but its normal output. If you say

      ps -ax
      you see all that output, but not a "command finished successfully" afterwards. If you say
      tar -jxvf dir/
      you see the file.tar.bz2 done, not a "hey, here I am!" message. This is well, and does not mean "The program doesn't say anything. And it is possible to add a "clarifying" interfase on top of it.
    • So again, you're coding for programmers, not users. Tell me again how you've added something to his core insight.
  • by soccerisgod ( 585710 ) on Tuesday December 16, 2003 @08:21AM (#7733719)

    I have a friend who's a Windows programmer.

    I, on the other side, am a Linux programmer. We've worked together on a few projects, and there were differences in the way we looked at solving problems that were sometimes almost insurmountable.

    The biggest difference between the two of us is that he has an almost religious believe that, if Microsoft says you are to do things a specific way, you have to do it that and no other way. I, on the other side, try to do things the way I think they work best.

    One example is his belief that, if there is a service pack, you need to use it, even if it breaks things (as some visual studio SPs do in some cases). He gets really upset if you don't apply them. I'm all for keeping software up to date, but if it breaks things?

    I have to say that his co-workers and fellow Windows programmers don't all agree with that philosophy though...

    • I think that it is down to the constant patching and updating of apis that comes with winders. If you don`t do it exactly the way MS tell you in the docs, chances are the next time the api is "extended", your program doesn`t work anymore.

      The other problem is that MS will not support you, they won`t even give you the time of day, unless your systems are patched right up to the latest levels and are setup in a completely standard way.
      • Actually, given the size and number of their APIs, I think MS has done a pretty good job of maintaining compatibility -- at least until DOT.NET came along. There is a bit of a leap there ;-) The MS Newsgroups are a huge reservoir for support. The most grief I ever had with Windows was a database app written in the early days of ADO. It was buggy as hell, but there were work-arounds for almost everything. Every subsequent release of the MDAC since 2.1 has provided increased stability, functionality and perfo
    • Yes. Service Packs rule. They need to be tested first, at least for critical server apps, but overall, the long march of Windows Service Packs has been an improvement. I've worked on quite a few hybrid Linix/Windows apps. Usually client server. Guess which platform the client runs on? Deploying Windows apps with PostgreSQL connectivity via ODBC is a breeze. Much easier than deploying Oracle client apps. There are _many_ ways of doing most things in Windows land. It all depends on the experience level of the
    • One, you might notice that a lot of these patches address security issues. Two, it can be difficult to get vendor support for applications when your OS isn't up to patch.
    • by syle ( 638903 ) * <syle.waygate@org> on Tuesday December 16, 2003 @11:07AM (#7735348) Homepage
      The biggest difference between the two of us is that he has an almost religious believe that, if Microsoft says you are to do things a specific way, you have to do it that and no other way
      This could well come from experience with MFC. It's certainly my experience that when you're trying to use MFC to get things finished, you can either work with it or against it. When you want to do things your way, you end up with a huge program that's hanging together by threads, but when you do it its way, you tend to get small, simple, elegant code.

      The Linux user may say, "How could I do this better?" but the Windows user says, "How would Microsoft intend for me to solve this problem?"

    • by dillon_rinker ( 17944 ) on Tuesday December 16, 2003 @11:08AM (#7735368) Homepage
      Your friend is right. When you work in a closed source world, your only option is blind obedience to the people who have the source. The alternative is simply blind disobedience, and then you have no recourse when things break. At least when you obey the Priests of the SOurce, you can (eventually) get them to listen when the API is broken. Disobey them and you will be shunned.

      "Breaking things" is subjective. Does a beaver who builds a dam break things? Does the farmer who rips out a beaver dam to un-flood his fields break things? If a service pack breaks something, it means you have disobeyed the Priests of the Source. Repent and change your ways.

      His way is best if you want to be certain that, when things break, it's Microsoft's fault. Apply the service pack and things break? It's Microsoft's fault for creating a faulty service pack. Don't apply a service pack and things break? Microsoft's fault for writing faulty code in the first place. It's a CYA mentality.
      • Your friend is right. When you work in a closed source world, your only option is blind obedience to the people who have the source.

        Umm, you do know that the source to MFC is readily available, right?

        Spolsky also criticizes ESR for flaming Windows programmers while clearly never having never written a line of code on Windows.
        • Spolsky also criticizes ESR for flaming Windows programmers while clearly never having never written a line of code on Windows.

          So? By their fruits shall ye know them. They write crappy software for a crappy OS--why shouldn't they be flamed? One doesn't need to wrestle in execrement oneself to criticise excrement-wrestlers.

      • Yes and no (Score:3, Insightful)

        by GCP ( 122438 )
        I'll start with the no. No, it's not a CYA mentality. If you're creating an app for your end users, your end users will blame *you*, not MS, if your apps has bugs. You have not C'edYA by installing the service pack. What you've done is you've kept your machine standard, which is very important in the Windows and Mac worlds. Now your machine is more likely to resemble your customers' machines, or a form that you can easily get your customers' machines into (tech support will tell them to install the same ser
    • "I have a friend who's a Windows programmer.

      I, on the other side, am a Linux programmer. We've worked together on a few projects, and there were differences in the way we looked at solving problems that were sometimes almost insurmountable. "

      Oh wow! They should make this into a buddy cop movie with Jackie Chan and Chris Tucker! It would be hilarious!

      graspee

      • two men... one keyboard...

        this summer, USB stands for revenge - in the shape of a Model M...

        so buckle in...

        you've never felt coding...

        like this...

    • I don't think that a lot of business application developers that use Microsoft technology have Computer Engineering degrees. They don't know the theory so they just "copy and paste" the architecture and the design from an existing application to their own. That's why they do everything the mother ship tells them to do. They never had the formal education that lays the groundwork for making these types of decisions.

      To serve this need, Microsoft periodically releases "sample applications" that programmers

      • I agree that most examples are superficial. This extends beyond Microsoft's documentation and into books about Windows programming and Visual Studio's code wizards.

        On my current .NET project, I learned a valuable lesson...
        Code Wizards should only be used for prototypes, and prototype-like applications!!! They're quick, dirty, and inflexible.

        Do not code to satisfy the way the Wizard and Generator does things. It makes development myopic and inflexible. I switched from using code generation to reflection an
    • I'm all for keeping software up to date, but if it breaks things?

      How do you know if it breaks things if you don't try it?

      How do you know it doesn't fix things?

      I'm not a huge fan of spending weeks trying to debug and workaround some glitch that could have been fixed by simply updating the core software.
  • I'm sure some people would object if they did that, but that has the potential to save the editors a lot of embarassment..
  • by vierja ( 632250 )
    The next Slashdot story will be ready soon, but subscribers can beat the rush and see it early!

    I wonder if it's the same story again...
    some subscriber may tell us while she beats the rush :-)

  • by sjbe ( 173966 ) on Tuesday December 16, 2003 @08:43AM (#7733857)
    Poster 1: "Wow that was a dupe"
    Poster 2: "Hey everyone, this is a duplicate"
    Poster 3: "Stupid editors don't read before posting"
    Poster 4: "Only idiots duplicate the previous post."
    etc... ad nauseum...

    Pot, Kettle, Black.
  • by argent ( 18001 ) <(peter) (at) (slashdot.2006.taronga.com)> on Tuesday December 16, 2003 @08:52AM (#7733930) Homepage Journal
    Eric Raymond is really good at rephrasing conventional wisdom so tat it sounds new, which is useful, but it's too often confused with real wisdom.

    Joel Spolsky doesn't appreciate the context that UNIX comes from.

    When UNIX came out, *it* was the user friendly operating system. The interface was linguistic rather than iconic, but compared to what came before it was a breakthrough... it was the "Macintosh" of the '70s for the academic world.

    Before UNIX you had "linguistic" interfaces, but where UNIX is "process this file with this program", these were more like "Whereas the program, 'this program', hereafter known as SYSTEMUTILITY.GIBBERISH, and the input files, 'this file', to be provided later and to be known hereafter as "GO SYSIN DD *", do AGREE to enter into a contract for processing, known hereafter as EXEC, the user humbly requests the opportunity to render this job to the SYSTEM...".

    This was a breakthrough. And once you learn the language it is far more "user friendly" than any amount of icons for those tasks it's good at.

    The real cultural divide is that UNIX programmers want programs to work well together so they'll be widely used and eventually sell well, and Windows programmers want programs that look easy so they'll sell well or at least be widely used. The aim is the same, the method is different ... because it's so HARD to use programs together in Windows... no, better stick to elephantine "suites"...

    The solution, UNIX and Windows programmers can meet in Mac OS X and everyone wins. You get Mac programs playing well together in Applescript, UNIX programs in the shell, and "osascript -e" to tie it all together...
    • When UNIX came out, *it* was the user friendly operating system.
      This is a good point. Anyone who ever had to do something with IBM's JPL (or was it JCL, so long ago and so horrible I have forgotten) would definitely understand.
    • I believe you've fallen into the same pit that Eric starts from. You don't know anything about Windows, and thus make some vast assumptions about culture.

      Windows programmers, nay users, also want programs that work well together.

      The existence of the elephantine "suite" was a step in this direction back in the earliest days of Windows, i.e. Windows 3.0. Since that time, features have been built into the OS such as OLE, etc. which now allow any and all programs to operate together as a suite even if they
      • So no need for MAc OSX... Windows has been there for several years already.

        Remember Apple's Publish and Subscribe? Now think about OLE, which came out later...

        Cheers,
        Ian

      • by argent ( 18001 ) <(peter) (at) (slashdot.2006.taronga.com)> on Tuesday December 16, 2003 @12:31PM (#7736225) Homepage Journal
        Sheldon, old bean, I've been doing Windows support and development for about ten years now, and I was the guy responsible for bringing NT into the division I was working at in the first place.

        Windows programmers may want programs that work well together, but they don't seem to know or care what "working well together" can mean. To the user, there's a very small set of operations they can perform on most programs, and a slightly larger set they can perform on a small set of programs, but there's no general user-visible glue that will let them do things like ``tell application "iTunes"; play "track 01" from "Goldberg variations"; end tell'' or ``sort +1 addresses.txt | grep "gullible" | mailmerge letter.txt''.

        And, unfortunately, what I say "they" I mean "we".

        "Hi! My name is Peter da Silva, and I'm a Windows user."

        (chorus) "Hi Peter!"
    • and "osascript -e" to tie it all together...

      Come on, show your geek heritage. The appropriate finale, especially given the upcoming event, would be, 'and "osascript -e" to rule them all, and in the command-line bind them...'
  • by Anonymous Coward on Tuesday December 16, 2003 @09:42AM (#7734391)
    Hey, no problem. I just won't waste my time by subscribing.
  • I guess we know what the question is now: How many minutes does it take for CmdrTaco to post a dupe?
  • Note to self, never post before coffee. Yes, its a dupe. get over it.

    Note to self, never post -- ever, for any reason.
  • dear god that had to be intentional.

    one probably posted it after a good long cuddle last night with the other, and the other was a bit slow on the uptake.
  • by ziggyboy ( 232080 ) on Tuesday December 16, 2003 @09:58AM (#7734567)
    I can relate to this article though not just with Windows programmers but with OS X users as well.

    I'm both a UNIX programmer/user and a Mac user. I have a friend who's the average Mac advocate around...which means NOT a UNIX programmer. Though we both love OS X, we do have conflicting views about UNIX. I see UNIX among all things as an excellent development platform and he sees Darwin as just a secure foundation for Aqua. He also looks at open source from a regular users' point of view...and not as a programmer...which really makes all the difference if you think about it. The open source movement is a pro-programmer movement.

    I think Apple has recently been trying to get more developers for OS X (though ProjectBuilder or XCode) because traditionally Macs aren't programmer-friendly. I'm a programmer. I love programming and once in a while I make small applications for UNIX and the Windows prompt (if they're ANSI and easily portable to Dev C++). Sufficive to say (man that sounds too Star Trek), I've only started compiling these small apps to the Mac now that they have Darwin (and GCC!!!).

    There are now 2 major cultures using the Mac at the moment. The UNIX people, and the "I'm just better than you are because I use a Mac" people (the classic Mac crowd). When I first got my iBook a few months ago, I registered in a local Mac forum. I eventually stopped posting simply because of cultural differences.

    Apple is attempting to bridge these two cultures mentioned below (taken from the article).

    How did we get different core values? This is another reason Raymond's book is so good: he goes deeply into the history and evolution of Unix and brings new programmers up to speed with all the accumulated history of the culture back to 1969. When Unix was created and when it formed its cultural values, there were no end users. Computers were expensive, CPU time was expensive, and learning about computers meant learning how to program. It's no wonder that the culture which emerged valued things which are useful to other programmers. By contrast, Windows was created with one goal only: to sell as many copies as conceivable at a profit. Scrillions of copies. "A computer on every desktop and in every home" was the explicit goal of the team which created Windows, set its agenda and determined its core values. Ease of use for non-programmers was the only way to get on every desk and in every home and thus usability uber alles became the cultural norm. Programmers, as an audience, were an extreme afterthought.


    • As a Mac user (of the Classic variety) and now a Mac admin, I'm happy to have you, and I welcome you and your perspective to the Mac family. While the UNIX part of the New Mac is an interesting cultural shift for me, it's a learning experience that I'm excited to go through. While I'm sorry that you were scared away from the Mac forum you attempted, I think that there are others that cater to the "Mac-Classic user learning to use UNIX" that are very interested to glean UNIX knowledge; one of which is at M [macosxhints.com]
    • "Ease of use for non-programmers was the only way to get on every desk and in every home and thus usability uber alles became the cultural norm"

      Along with a deep devotion to creative incompatibility to whiplash the coders and break them loose from portability, and lock the users into the Windows/Office platform. "It isn't done until Lotus won't run."

      And that's where the lack of glue comes from.

      If applications could talk to each other using standardised interfaces instead of task- and application- specifi
  • Yes, its a dupe. get over it.
    Given that this sort of incident is inevitable in a distributed editing system, why not have a tool that moves the text and threads from the second article into the first, and then deletes or hides the second article? Seems a lot cleaner.

    sPh

  • Philosophy of UNIX (Score:3, Insightful)

    by bluethundr ( 562578 ) * on Tuesday December 16, 2003 @10:07AM (#7734673) Homepage Journal
    I'm sure there is SOME unifying philosophy behind Windows. I have no idea what that might be, nor would I wish to. But I found this book [barnesandnoble.com] about the philosophy of UNIX very enlightening when I read it back in the day. It was an epiphany for me at the time to realize that there WAS or could be a philosophy behind an operating system. But this was the book that made the concept clear for me.
  • Joel is off base. (Score:5, Insightful)

    by Lodragandraoidh ( 639696 ) on Tuesday December 16, 2003 @10:12AM (#7734732) Journal
    The very fact that the Unix world is so full of self-righteous cultural superiority, "advocacy," and slashdot-karma-whoring sectarianism while the Windows world is more practical ("yeah, whatever, I just need to make a living here")... - Joel Spolsky

    I have subscribed to Joel's mailing list for several years, and have programmed on both sides of the fence. Joel paints a black and white picture of the differences between Unix and Windows - which I must say, is not true. I have to disagree with Joel's oversimplification because he has made the same mistake that he accuses ESR of making: namely that his own monoculturalism has clouded his view of Unix programming. Anytime someone makes a statement that starts with 'the very fact', you can be sure there is less fact and more conjecture than the writer is willing to admit.

    The key error in his analysis is narrowly defining the Unix program as being a command-line 'mostly' affair that doesn't tell 'Aunt Madge' when it succeeds. This is not exactly true; while it is true of strict command line applicatioins (which Aunt Madge will not use anyway) - the GUI interfaces do not follow that formula - and programmers are free (not constrained as he would suggest) to build interfaces that meet whatever needs an end user may have - whatever their skill level.

    Just because 99% of the end users are familiar with and resist change from the Microsoft GUI does not mean that it is the best UI - it just means that people did not have much of a choice from the beginning (there were only one GUI for PCs back in the late 80s - Windows; the other major GUI was tied to the Apple Macintosh). While the Windows GUI stagnated over the 1990s, the Linux world exploded and a plethora of user interface ideas have surfaced that are effecting the new Windows interface. Same story (DOS - a rip of CP/M), different day ("yeah, whatever, I just need to make a living here").

    He also touches on, but does not explore with a self critical eye, the limitations imposed by not having source code. The dependence of Windows programmers on Microsoft APIs provides too many limitations, and increases the likelyhood of unforseen interactions that cause bugs. He whitewashes these issues by simply focusing on the size of the Windows desktop deployments vs. *nix.

    The reality is a *nix developer has all of the options available to him; he is not constricted by artificial barriers; a Windows programmer is at the mercy of Microsoft - who can change APIs at the drop of a hat.

    His quote above really hits the nail on the head: the Microsoft monoculture is about money above and beyond any moral considerations. I would much rather be a "slashdot-karma-whore" than a Microsoft-whore. From his writings over the years it is plain that he absorbed the 'money is good no matter how you get it' mentality during his stint at the company.
  • Dupe messup (Score:4, Insightful)

    by Nemith ( 114402 ) <bennetb @ o n ewest.net> on Tuesday December 16, 2003 @10:37AM (#7734999) Homepage
    Note to self, never post before coffee. Yes, its a dupe. get over it.

    Ya tell that to the Slashdot Subscribers, they pay for this shit. You want to run a business, do it professionaly.
    • by BiOFH ( 267622 )
      I bet if ABC had run the same episode of 'Doogie Howser, M.D.' two or three times thereby causing Taco's Tivo to pick up two or three dupes HE wouldn't just "get over it".

      Seriously, you guys, no matter how much you want to pretend it is, for whatever reason, this _isn't_ still your little hobby site any more.

  • The "article" is nothing more about GUI vs command line. Unfortunately, the Unix philosophy lost the desktop market, and now it is trying to catch up through Linux.

    About duplicate posts, I suggest Slashdot puts a script that examines the previous posts for similarities. If the similarities are high enough, then the slashdot reviewers will be notified.
  • don't you guys have a "delete" button?
    how hard is that?
  • Interesting! (Score:3, Insightful)

    by MagicBox ( 576175 ) on Tuesday December 16, 2003 @12:20PM (#7736107)
    There are many details and subtleties, but for the most part it comes down to one thing: Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers."
    Well, I think this is more of a lame attempt to *divide* the programming community rather than an *informative, educated* observation. Especially the *....Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers...* piece. There are obvious differences, differences that are tied to the platform you are programming in, but I strongly disagree with different *cultures*. Programmers care about a lot of things, and code is only one of them. Most programmers I know (including myself) want to write clean, fast code, and we all hate commenting it. In fact styles of code writing are quite fragmented to personal styles. I have often been able to tell that two different people wrote two different simple functions, using the same language for the same program. There is of course a *better* conformity when the projects involve managers, teams etc etc. Ultimately, I think this: As a programmer, there's a personal achievement and satisfaction when I write code and accomplish something with it, or someone else accomplishes something with the code I write. What identifies programmers with one another is not the platform or style or culture of writing code, is the love for what we do
  • Having used KDE, Gnome, CDE, and other Unix GUIs, way back to the early pre-X11 Sun days - I forget what the Sun Marketeers called their windows system - and then using OSX, I think I have to agree with Joel that it took people who came from a culture that emphasized ease of user experience to make a great GUI for Unix.

    In the early days of the Mac, Steve Jobs was very vocal about the need for programmers to work extra hard to make the experience pleasant for the end user. Sacrificing programmer pleasure f
  • by Anonymous Coward
    Every programmer should do a serious stint in both worlds. I think starting from UNIX and then doing Windows is likely the better option, but people owe it to themselves to broaden their knowledge.

    This is clearly not the right forum for positing the benefit of the Windows culture, but there are important things to be learned. Market-driven features, profit margins, target audiences, usability, managing customer expectations. . . These quite aside from the actual coding differences (which, as I get older

Business is a good game -- lots of competition and minimum of rules. You keep score with money. -- Nolan Bushnell, founder of Atari

Working...