Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Joel on Software

Joel on Software

Scheduled Pinned Locked Moved The Lounge
questionhtmlcsscomtools
53 Posts 22 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L l a u r e n

    wow!! he articulates brilliantly the subtle-back-of-my-mind feeling ive been having for the past 6 months or so ... i completely agree thats what ive been trying to see with linux ... i dont need a new computer every 2 yrs just to run enough os and tools to do my job ... linux will run fantastically well on a 5yr old machine unless im writing windows desktop apps i dont need windows


    "there is no spoon"
    biz stuff about me

    N Offline
    N Offline
    Nick Parker
    wrote on last edited by
    #12

    l a u r e n wrote: wow!! Hey, I finally posted something that got a lauren wow-ism! ;) - Nick Parker
    My Blog | My Articles

    1 Reply Last reply
    0
    • S Steven Campbell

      I found it an interesting read, although I felt he did not make his point really. So what if MS is giving up on the old API, when they have a superior API already available? He is right that many programs will remain as classic ASP or VB6, but I think that over time they will become the new COBOL. I do not think that it can be disputed that an experienced .NET developer will be more productive than a VB6 developer, and productivity is what drives the path that business software development takes. My overall impression is that Joel does not understand object-oriented programming. He seems disillusioned with it, and attributes productivity advances primarily to memory management. Memory management is not why VB6 is more productive than C++; it is because of the API. The .NET API is far superior to the VB API, so I think that MS has bet on the correct horse.

      N Offline
      N Offline
      Nemanja Trifunovic
      wrote on last edited by
      #13

      Steven Campbell wrote: I do not think that it can be disputed that an experienced .NET developer will be more productive than a VB6 developer, An experienced .NET developer will be more productive than a VB6 developer, but I can't take for granted that .NET makes programmers more productive. Sometimes does, sometimes doesn't, it depends. Steven Campbell wrote: Memory management is not why VB6 is more productive than C++ First, automatic memory management can be achieved easily with C++ as well. Second, VB6 developers are sometimes more productive than C++ developers - in many situations they are not. In my experience, productivity has little to do with a choice of programming language - it is all about development process, tools and libraries.

      1 Reply Last reply
      0
      • W wrykyn

        Its true what he says about the Empower ISV. For a mere $ 375 you can have 5 pc's up and running. You can literally start a small company with 5 developers for that amount !! "I believe I referred to her personality as a potential science exhibit." - Elaine, about Ellen, in "The Dog"

        P Offline
        P Offline
        palbano
        wrote on last edited by
        #14

        >> You can literally start a small company with 5 developers Great, we really needed more of that attitude. "All it takes to produce a software product is..." Those ... are .... sorry i just puked, nasty words.

        "No matter where you go, there your are." - Buckaroo Banzai

        -pete

        G 1 Reply Last reply
        0
        • N Nick Parker

          Steven Campbell wrote: My overall impression is that Joel does not understand object-oriented programming. What gives you that impression? Steven Campbell wrote: attributes productivity advances primarily to memory management Have you had to track down memory leaks recently? - Nick Parker
          My Blog | My Articles

          S Offline
          S Offline
          Steven Campbell
          wrote on last edited by
          #15

          My impression on his understanding of object-oriented programming is based primarily on the fact that he dismisses it as a productivity booster. In reality, object oriented APIs have been a huge productivity boost. Compare using a COM object API to using a Win32 API. It adds a whole other dimension to the API. Even before .NET, we were realising the power of OO. IMO, if someone cannot grasp that, then they do not understand OO. Secondly, while Joel has experience in C++, and that certainly qualifies as a language with object-oriented features, it is hardly proof that he knows OO. Programming in C++, Joel may or may not have good OO experience. Given that Joel states that he has experience in VB6, ASP and C++, I doubt that he has had the chance to really grow in that area. Regarding memory leaks, yes I have tracked down a few. Yes, it took some time. But it was nothing compared to the time I spent in actual development, so it did not have any more effect on my productivity than other non-trivial bugs.

          N A J 3 Replies Last reply
          0
          • S Steven Campbell

            My impression on his understanding of object-oriented programming is based primarily on the fact that he dismisses it as a productivity booster. In reality, object oriented APIs have been a huge productivity boost. Compare using a COM object API to using a Win32 API. It adds a whole other dimension to the API. Even before .NET, we were realising the power of OO. IMO, if someone cannot grasp that, then they do not understand OO. Secondly, while Joel has experience in C++, and that certainly qualifies as a language with object-oriented features, it is hardly proof that he knows OO. Programming in C++, Joel may or may not have good OO experience. Given that Joel states that he has experience in VB6, ASP and C++, I doubt that he has had the chance to really grow in that area. Regarding memory leaks, yes I have tracked down a few. Yes, it took some time. But it was nothing compared to the time I spent in actual development, so it did not have any more effect on my productivity than other non-trivial bugs.

            N Offline
            N Offline
            Nick Parker
            wrote on last edited by
            #16

            Steven Campbell wrote: I doubt that he has had the chance to really grow in that area. Joel used to work at Microsoft, I believe he has had more than the chance to grow in that area. :) - Nick Parker
            My Blog | My Articles

            J 1 Reply Last reply
            0
            • N Nick Parker

              Steven Campbell wrote: I doubt that he has had the chance to really grow in that area. Joel used to work at Microsoft, I believe he has had more than the chance to grow in that area. :) - Nick Parker
              My Blog | My Articles

              J Offline
              J Offline
              Jeremy Falcon
              wrote on last edited by
              #17

              Nick Parker wrote: Joel used to work at Microsoft, I believe he has had more than the chance to grow in that area. MS develops in more than just C++ ya know. A lot of the lower-level stuff is still in C. And, for that matter, he could've been doing mainly VB6 development for MS. Just because someone works for MS doesn't guarantee they know OOP well. Jeremy Falcon

              N 1 Reply Last reply
              0
              • N Nick Parker

                Steven Campbell wrote: My overall impression is that Joel does not understand object-oriented programming. What gives you that impression? Steven Campbell wrote: attributes productivity advances primarily to memory management Have you had to track down memory leaks recently? - Nick Parker
                My Blog | My Articles

                H Offline
                H Offline
                Heath Stewart
                wrote on last edited by
                #18

                Nick Parker wrote: What gives you that impression? For one, he thinks .NET is an "upgrade" for VB6. Not true at all. VB is constrained by OLE automation, .NET is not and is, in some ways, lower level than the VB VM. And of course there's P/Invoke. :) And 2, 3, or 4 languages for .NET? I don't think he understands the CLI at all. Maybe saying he doesn't understand OOP is wrong, but I certainly would agree he doesn't understand .NET as well as he should before spouting off such rants (though I did find some of his arguments well put, and often amusing the way they were written).

                Microsoft MVP, Visual C# My Articles

                N 1 Reply Last reply
                0
                • N Nick Parker

                  Interesting read, rather lengthy but interesting none the less. What is your opinion? How Microsoft Lost the API War[^] - Nick Parker
                  My Blog | My Articles

                  N Offline
                  N Offline
                  Navin
                  wrote on last edited by
                  #19

                  His best point was that, in most cases, people *don't upgrade* their OS. If their computer works fine, what point is there in upgrading? Unlike what some people in this thread have said, and as much as we hate to admit it, development is driven by what customers want. I could be a billion times more productive writing some cool GUI in Avalon, but if nobody will buy it because it only runs on Longhorn and nobody has it, what good is that? ... though I disliked his stick-shift analogy. Once you've driven a stick-shift for a while, it's just as easy to drive as an automatic. And they usually cost less, and certainly are cheaper to work on, and since they weigh less, get better gas mileage. "Fish and guests stink in three days." - Benjamin Franlkin

                  N 1 Reply Last reply
                  0
                  • S Steven Campbell

                    My impression on his understanding of object-oriented programming is based primarily on the fact that he dismisses it as a productivity booster. In reality, object oriented APIs have been a huge productivity boost. Compare using a COM object API to using a Win32 API. It adds a whole other dimension to the API. Even before .NET, we were realising the power of OO. IMO, if someone cannot grasp that, then they do not understand OO. Secondly, while Joel has experience in C++, and that certainly qualifies as a language with object-oriented features, it is hardly proof that he knows OO. Programming in C++, Joel may or may not have good OO experience. Given that Joel states that he has experience in VB6, ASP and C++, I doubt that he has had the chance to really grow in that area. Regarding memory leaks, yes I have tracked down a few. Yes, it took some time. But it was nothing compared to the time I spent in actual development, so it did not have any more effect on my productivity than other non-trivial bugs.

                    A Offline
                    A Offline
                    Alvaro Mendez
                    wrote on last edited by
                    #20

                    Steven Campbell wrote: Regarding memory leaks, yes I have tracked down a few. Yes, it took some time. But it was nothing compared to the time I spent in actual development, so it did not have any more effect on my productivity than other non-trivial bugs. I agree. If you can do something in VB in one line of code what would require ten in C/C++ it's not because of automatic memory management. It's because VB's class library has always been more abstract than, say MFC's. But that's Microsoft's fault for not making MFC much more than a simple wrapper around the Win32 API. Regards, Alvaro


                    Give a man a fish, he owes you one fish. Teach a man to fish, you give up your monopoly on fisheries.

                    1 Reply Last reply
                    0
                    • L l a u r e n

                      wow have u misunderstood the whole point of his article? users dont care what api is running the same as i dont care what my mechanic does to fix my car ... just make it run i have always said that .NOT presents a zero value proposition to most people and very many developers ... i get the feeling that longhorn is turning into an os/2 fiasco


                      "there is no spoon"
                      biz stuff about me

                      S Offline
                      S Offline
                      Steven Campbell
                      wrote on last edited by
                      #21

                      The only advantage web applications ever had was that they required no installation. There were attempts to get around this...Installing ActiveX application via the Internet created a decent UI with minimal installment, but was a security nightmare. But what if you could install an ActiveX application without any security worries? Take a moment to think about the .NET API. What do you think code-access security is for? How many .NET programmers use it? Hardly any. But MS must have spent a lot of time to get it right. And there must be a performance penalty associated with it. So why pay the price of adding code-access security? And what about isolated storage? Hardly anyone even knows what that is, yet there is a whole API devoted to it. They are there because they enable *untrusted* applications to be run on people's PCs. Thus allowing .NET apps to sidestep the browser, providing a more powerful and slick user interface than a browser will ever be capable of. So, IMO Joel wrote a whole long article on APIs, concluding that MS has lost the war, when in fact they may have just executed the coup-de-grace. But like you said, I probably just missed the point.

                      L N 2 Replies Last reply
                      0
                      • S Steven Campbell

                        The only advantage web applications ever had was that they required no installation. There were attempts to get around this...Installing ActiveX application via the Internet created a decent UI with minimal installment, but was a security nightmare. But what if you could install an ActiveX application without any security worries? Take a moment to think about the .NET API. What do you think code-access security is for? How many .NET programmers use it? Hardly any. But MS must have spent a lot of time to get it right. And there must be a performance penalty associated with it. So why pay the price of adding code-access security? And what about isolated storage? Hardly anyone even knows what that is, yet there is a whole API devoted to it. They are there because they enable *untrusted* applications to be run on people's PCs. Thus allowing .NET apps to sidestep the browser, providing a more powerful and slick user interface than a browser will ever be capable of. So, IMO Joel wrote a whole long article on APIs, concluding that MS has lost the war, when in fact they may have just executed the coup-de-grace. But like you said, I probably just missed the point.

                        L Offline
                        L Offline
                        l a u r e n
                        wrote on last edited by
                        #22

                        yah like i said u missed the point


                        "there is no spoon"
                        biz stuff about me

                        1 Reply Last reply
                        0
                        • N Navin

                          His best point was that, in most cases, people *don't upgrade* their OS. If their computer works fine, what point is there in upgrading? Unlike what some people in this thread have said, and as much as we hate to admit it, development is driven by what customers want. I could be a billion times more productive writing some cool GUI in Avalon, but if nobody will buy it because it only runs on Longhorn and nobody has it, what good is that? ... though I disliked his stick-shift analogy. Once you've driven a stick-shift for a while, it's just as easy to drive as an automatic. And they usually cost less, and certainly are cheaper to work on, and since they weigh less, get better gas mileage. "Fish and guests stink in three days." - Benjamin Franlkin

                          N Offline
                          N Offline
                          Nick Parker
                          wrote on last edited by
                          #23

                          Navin wrote: ... though I disliked his stick-shift analogy. Once you've driven a stick-shift for a while, it's just as easy to drive as an automatic. And they usually cost less, and certainly are cheaper to work on, and since they weigh less, get better gas mileage. Hey, what about the fun factor of driving a stick-shift? :) - Nick Parker
                          My Blog | My Articles

                          D 1 Reply Last reply
                          0
                          • J Jeremy Falcon

                            Nick Parker wrote: Joel used to work at Microsoft, I believe he has had more than the chance to grow in that area. MS develops in more than just C++ ya know. A lot of the lower-level stuff is still in C. And, for that matter, he could've been doing mainly VB6 development for MS. Just because someone works for MS doesn't guarantee they know OOP well. Jeremy Falcon

                            N Offline
                            N Offline
                            Nick Parker
                            wrote on last edited by
                            #24

                            Jeremy Falcon wrote: MS develops in more than just C++ ya know. I didn't mention anything about C++. I completely agree with what you said, however I simply stated that he definitely had the chance to grow it that area which I still whole-hearted feel - there are a lot of resources around Microsoft that can allow you to grow as a developer. :) - Nick Parker
                            My Blog | My Articles

                            1 Reply Last reply
                            0
                            • H Heath Stewart

                              Nick Parker wrote: What gives you that impression? For one, he thinks .NET is an "upgrade" for VB6. Not true at all. VB is constrained by OLE automation, .NET is not and is, in some ways, lower level than the VB VM. And of course there's P/Invoke. :) And 2, 3, or 4 languages for .NET? I don't think he understands the CLI at all. Maybe saying he doesn't understand OOP is wrong, but I certainly would agree he doesn't understand .NET as well as he should before spouting off such rants (though I did find some of his arguments well put, and often amusing the way they were written).

                              Microsoft MVP, Visual C# My Articles

                              N Offline
                              N Offline
                              Nick Parker
                              wrote on last edited by
                              #25

                              Heath Stewart wrote: For one, he thinks .NET is an "upgrade" for VB6. We know that VB.NET was completely rewritten for .NET, however his comments are rather subjective regarding his impression of it. Heath Stewart wrote: I certainly would agree he doesn't understand .NET as well as he should I thought he said something about not being experienced in .NET in the article... - Nick Parker
                              My Blog | My Articles

                              H 1 Reply Last reply
                              0
                              • S Steven Campbell

                                The only advantage web applications ever had was that they required no installation. There were attempts to get around this...Installing ActiveX application via the Internet created a decent UI with minimal installment, but was a security nightmare. But what if you could install an ActiveX application without any security worries? Take a moment to think about the .NET API. What do you think code-access security is for? How many .NET programmers use it? Hardly any. But MS must have spent a lot of time to get it right. And there must be a performance penalty associated with it. So why pay the price of adding code-access security? And what about isolated storage? Hardly anyone even knows what that is, yet there is a whole API devoted to it. They are there because they enable *untrusted* applications to be run on people's PCs. Thus allowing .NET apps to sidestep the browser, providing a more powerful and slick user interface than a browser will ever be capable of. So, IMO Joel wrote a whole long article on APIs, concluding that MS has lost the war, when in fact they may have just executed the coup-de-grace. But like you said, I probably just missed the point.

                                N Offline
                                N Offline
                                Nick Parker
                                wrote on last edited by
                                #26

                                Steven Campbell wrote: What do you think code-access security is for? How many .NET programmers use it? Hardly any. Have you ever looked at the source of any production .NET applications that are sold to the public? I think you would be surprised. Steven Campbell wrote: And what about isolated storage? Hardly anyone even knows what that is I don't think that's fair to say, what proof is there? - Nick Parker
                                My Blog | My Articles

                                S 1 Reply Last reply
                                0
                                • N Nick Parker

                                  Interesting read, rather lengthy but interesting none the less. What is your opinion? How Microsoft Lost the API War[^] - Nick Parker
                                  My Blog | My Articles

                                  S Offline
                                  S Offline
                                  Stuart van Weele
                                  wrote on last edited by
                                  #27

                                  I agree that Microsoft is screwing up the API, however I doubt that web based GUIs will be the solution for most application. What really irks me is how they have screwed up access to the underlying hardware, and continue to make things more and more dificult. Abstraction is great, until it prevents me from getting the job done.

                                  J 1 Reply Last reply
                                  0
                                  • N Nick Parker

                                    Steven Campbell wrote: What do you think code-access security is for? How many .NET programmers use it? Hardly any. Have you ever looked at the source of any production .NET applications that are sold to the public? I think you would be surprised. Steven Campbell wrote: And what about isolated storage? Hardly anyone even knows what that is I don't think that's fair to say, what proof is there? - Nick Parker
                                    My Blog | My Articles

                                    S Offline
                                    S Offline
                                    Steven Campbell
                                    wrote on last edited by
                                    #28

                                    I asked my mom, she has no idea what either of those 2 things are! So far, my representative sample supports my view. :eek: There I go again, making unverifiable statements. No Nick, I do not have any studies to back that up. In future I'll try use less "absolute" language so as not to obscure my point. ;P

                                    J N D 3 Replies Last reply
                                    0
                                    • N Nick Parker

                                      Heath Stewart wrote: For one, he thinks .NET is an "upgrade" for VB6. We know that VB.NET was completely rewritten for .NET, however his comments are rather subjective regarding his impression of it. Heath Stewart wrote: I certainly would agree he doesn't understand .NET as well as he should I thought he said something about not being experienced in .NET in the article... - Nick Parker
                                      My Blog | My Articles

                                      H Offline
                                      H Offline
                                      Heath Stewart
                                      wrote on last edited by
                                      #29

                                      Nick Parker wrote: I thought he said something about not being experienced in .NET in the article... I don't remember seeing anything like that, just a lot of griping about how .NET isn't backward compatible (which should be obvious since it never existed before) and a few others things. Whether he said he knew it or not, it certainly isn't right to lament something you don't understand. It just makes the author sound ignorant. To note, though, I do read Joel's comments from time to time ( I actually did read that Unicode link you sent me a long time back and learned a thing or two - like about UCS-4 :eek: ). I'm not saying the article was bad, just that there's a few things with which I heartily disagree. Plus, if he things Microsoft's changing APIs are bad, at least they're well documented. Try reading *nix man pages lately? :) And if people - like he mentioned regarding Apple - are using undocumented features than they do so at their own risk. At least Microsoft has been mindful of that and has tried to maintain backward compatibility, even with undocumented APIs. That's no small feet.

                                      Microsoft MVP, Visual C# My Articles

                                      N 1 Reply Last reply
                                      0
                                      • S Steven Campbell

                                        My impression on his understanding of object-oriented programming is based primarily on the fact that he dismisses it as a productivity booster. In reality, object oriented APIs have been a huge productivity boost. Compare using a COM object API to using a Win32 API. It adds a whole other dimension to the API. Even before .NET, we were realising the power of OO. IMO, if someone cannot grasp that, then they do not understand OO. Secondly, while Joel has experience in C++, and that certainly qualifies as a language with object-oriented features, it is hardly proof that he knows OO. Programming in C++, Joel may or may not have good OO experience. Given that Joel states that he has experience in VB6, ASP and C++, I doubt that he has had the chance to really grow in that area. Regarding memory leaks, yes I have tracked down a few. Yes, it took some time. But it was nothing compared to the time I spent in actual development, so it did not have any more effect on my productivity than other non-trivial bugs.

                                        J Offline
                                        J Offline
                                        Johan Rosengren
                                        wrote on last edited by
                                        #30

                                        Steven Campbell wrote: Compare using a COM object API to using a Win32 API. It adds a whole other dimension to the API This I just don't understand. Do you mean that plain-vanilla COM-programming is more productive than Win32 API-programming? This can't be true, so I must assume that you mean any COM-wrapper above developing COM on the API-level. Well, that COM-development on the API-level is less productive than using a class wrapper might very well be because the COM-API is so... badly designed from the beginning (well, complicated, rather). It would certainly have been possible to design an easier interface without OO. OO is a productivity boost in the same way as a well-designed non-OO interface is a productivity boost - and the opposite is definitely true as well. Steven Campbell wrote: IMO, if someone cannot grasp that, then they do not understand OO. If you don't grasp that OO is a productivity boost, you don't understand OO. So, by definition, if I say that OO is not a productivity boost, then I just don't understand it. Now, that is unfair reasoning - either I must agree with you, or I don't understand :-)

                                        S 1 Reply Last reply
                                        0
                                        • S Steven Campbell

                                          I asked my mom, she has no idea what either of those 2 things are! So far, my representative sample supports my view. :eek: There I go again, making unverifiable statements. No Nick, I do not have any studies to back that up. In future I'll try use less "absolute" language so as not to obscure my point. ;P

                                          J Offline
                                          J Offline
                                          Judah Gabriel Himango
                                          wrote on last edited by
                                          #31

                                          Steven Campbell wrote: I asked my mom, she has no idea what either of those 2 things are! So far, my representative sample supports my view. hehehe there you go, proof positive. ;-) I actually agree with your point though, right now CAS doesn't make a lot of sense when client apps are currently being run with full permission on Windows 98/ME/XP machines. But CAS will make a whole lotta sense once rich client .NET apps are deployed from a web server or even run in a semi-trusted environment. This is actually possible right now (again, almost nobody knows this) but you can put a .NET assembly on a web server and run it from Internet Explorer in a semi-trusted environment, making use of CAS. This will become more apparent once .NET 2.0 rolls around with its "ClickOnce" deployment (or whatever buzzword they're using for it now). And further down the road, it will become inevitably visible when Longhorn is released. #include "witty_sig.h"

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups