Coffeehouse Thread

38 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Glad to be off the Microsoft API treadmill

Back to Forum: Coffeehouse
  • User profile image
    vesuvius

    @cbae: Or exchanging one persons treadmill for another, that is the shortsighted-ness of the assertion

  • User profile image
    JoshRoss

    @vesuvius: It's more like Microsoft has this really super long treadmill-- like the ones at airports-- and instead of getting off, you just decide to stop walking forwards. Kind of like what Herbie said.

    -Josh

  • User profile image
    cbae

    ,JoshRoss wrote

    @vesuvius: It's more like Microsoft has this really super long treadmill-- like the ones at airports-- and instead of getting off, you just decide to stop walking forwards. Kind of like what Herbie said.

    -Josh

    Well, treadmills move backward and the airport "speedwalks" move forward. Smiley

    On a treadmill, if you stop walking, you fly off of it backward. You have to run just stay in one place. On a speedwalk, if you stop walking you still move forward gently until you have to step off.

  • User profile image
    Richard.Hein

    I kind of agree with rhm, that there's this API treadmill ... but I've always thought it is part of being a developer, not restricted to MS devs.  Do you really think the frameworks, libraries and APIs you use are that mature?  Then there's probably something new coming around the corner, don't you think?

  • User profile image
    Frank Hileman

    I agree with rhm and Richard. It is not just windows. It may seem that way perhaps because there is no competition between APIs on windows -- we are forced to swallow whatever comes out, more because of crowd behavior (use this since it is from Microsoft) than added value. This is reinforced by constant reminders that you should do development a certain way, and that way.. and API, is a constantly moving target.

  • User profile image
    Frank Hileman

    Consider the "metro style" rules for applications. Is it worth paying lots of attention to the metro profile? It may disappear soon. We have no way to know.

  • User profile image
    KDawg

    ,Frank Hileman wrote

    Consider the "metro style" rules for applications. Is it worth paying lots of attention to the metro profile? It may disappear soon. We have no way to know.

    Isn't that always the case?  Technologies progress.  People used Prototype, now they use CoffeeScript.  What will it be next week?  People used tables, then only divs/spans, now grids and flexbox, what will it be next week? 

    This is why the core of a good developer should be fundamentals.  If you ask me to RoR, I can pick it up in a day or two.  If you want me to ASP.NET MVC, the same thing.  Was up and running with WPF in a few days coming from scratch.  HTML/JS -- literally felt comfortable in a few hours.  Haskell, give me a week to be comfortable.  Learned QT (from w/ C++) in a couple of days.

    Sure I'm not a language lawyer in that time, but I'm "early" productive in that time, and learning.  But I've built the foundation and I supplement it with these languages and frameworks.

    If you feel like you're on a treadmill, it's because you have no foundation.

  • User profile image
    JoshRoss

    @KDawg: You're such a show off! Take a stab at BrainF***.

  • User profile image
    Ray7

    @Frank Hileman:I think you've hit it there.

    There is a lot of API competition on the Java platform which gives you a lot of choice (perhaps too much choice in some cases). It also means that you new ideas come along much faster.

     

  • User profile image
    vesuvius

    @Frank Hileman: If I am honest I have come to see some bad API's compared with some open source ones. I don't want to seem as if I am being anti-Microsoft but they do have a lot of bad API's.

    People seem to think somehow that because it has the Microsoft seal it is the best in the World, this seldom is the case. Take the Entity Framework that is programming terror all wrapped up in one. Juxtapose this to Linq to SQL or nHibernate and you just accept that sometimes people there prefer to keep their heads in the sand. If you used enterprise Liibrary before the fourth version or workflow foundation before .NET 4 or Patterns and Practices in Windows Forms there is a pretty wide ranging suite of failures that noone seems ever to be able to take the blame for.

    That is why architects usually opt for stability and maturity in APi's, rather than the latest thing

  • User profile image
    vesuvius

    I needed to perform some zipping of a file today, and was pleasantly surprised to find http://msdn.microsoft.com/en-us/library/system.io.packaging.zippackage.aspx

    Zipping a file is a very easy thing to do with the plethora of free zip libraries. I don't know why there is no simple way to achieve this with this library, it could be simpler.

  • User profile image
    Blue Ink

    @vesuvius: Yes, it could be simpler: some of the classes in the BCL look like they were designed for generality and minimalism, not for convenience. But without knowing what kind of guidelines and restrictions the BCL designers are subject to it's hard to judge.

    Off topic: if all you need is to zip one file, the ZipPackage class is probably overkill; I would try a simple DefalteStream first.

  • User profile image
    Bass

    The API treadmill definitely happens for non-Microsoft stuff as well. One example I think of is Java XML marshaling libraries, and web frameworks. Java has many of both, in various stages of "hotness" and approaches.

    But the difference is in the non-Microsoft world there is no "cathedral model", where a bunch of "high priests" come out every year to command some new form of development that everyone must follow.

    In the Java world evolution happens in a distributed ("bazaar") style, where the developer community organically moves to various technologies as time progresses, and these technologies rarely comes from the original sponsor of Java (Sun). It works like natural selection.

    That's why we got stuff like the Spring Framework which pretty much eclipses the "cathedral"-competitor EJB. It's more even more true in Python and Ruby communities which have nothing resembling a centralized commercial sponsor.

  • User profile image
    vesuvius

    @Bass:That is how the world works in Microsoft world as well, so even though pontification is rife, people vote with their feet (or should that be knees).

    The development world is getting more and more interesting as there just simply is no one-way to do things anymore, having people concerned in whatever camp they belong (all for some of us) means better software for us all round Wink

  • User profile image
    Frank Hileman

    @KDawg: You are correct, but newer "technologies" don't always represent progress. Newer is not better, etc. The word "technology" has been twisted to take on a new meaning, now referring to pile of new code. For an economist, a technology is something that increases productivity without adding resources. Time spent learning a new API, or debugging problems with it, decreases productivity. There is nothing wrong with that if you get greater productivity in the long run.

  • User profile image
    brian.​shapiro

    WPF is sidelined (as far as I can tell) by WinRT/Metro apps if it wasn't already by Silverlight.

    I don't see WPF as being in any jeopardy:

    http://joshsmithonwpf.wordpress.com/2011/09/18/winrt-is-your-friend/

  • User profile image
    KDawg

    , Bass wrote

    The API treadmill definitely happens for non-Microsoft stuff as well. One example I think of is Java XML marshaling libraries, and web frameworks. Java has many of both, in various stages of "hotness" and approaches.

    But the difference is in the non-Microsoft world there is no "cathedral model", where a bunch of "high priests" come out every year to command some new form of development that everyone must follow.

    In the Java world evolution happens in a distributed ("bazaar") style, where the developer community organically moves to various technologies as time progresses, and these technologies rarely comes from the original sponsor of Java (Sun). It works like natural selection.

    That's why we got stuff like the Spring Framework which pretty much eclipses the "cathedral"-competitor EJB. It's more even more true in Python and Ruby communities which have nothing resembling a centralized commercial sponsor.

    What is the Microsoft world?  Is that Windows?  Or is it Microsoft dev tools?  Because I have a ton of different dev tools I can use for Windows, many that don't originate from Microsoft. 

    If you're referring to MS dev tools then it is a tautology.  Every dev community has its own high preists.  Go to Rails and they are even more hardcore about "only one right to do things".  That's the whole notion of opinionated frameworks, "We know better, so listen to us, or go home". 

    But the MS high preists have typically been quite good, compared to the open source world.  Even the great high preist of open source dev tools, gcc, just recently because decent. 

    But the MS dev community doesn't blindly follow the preists.  When the preists came out and said, Visual Source Safe then later TFS, for SCC everyone said that is blasphemy.  And everyone used SVN, Mercurial, Git, etc...

    The world is never as nice and neat as some would like you to believe.

  • User profile image
    Bass

    @KDawg:

    I don't really think there is much a Microsoft ecoystem outside of what Microsoft produces. Microsoft has never that I recall "blessed" something from the community and integrated it with .NET - other than jQuery.  

    If you look at the Java Persistence Framework, a official part of Java - but it's basically Hibernate. Would Microsoft ever do something similar with NHibernate? Would they adopt NHibernate as the "official" .NET ORM?

    No way, they rather spend millions developing (and redeveloping) an incompatible and widely derided alternative, Entity Framework. And have their army of evangelists push it over NHibernate.

    Do they profit from Entity Framework? No, they do not. Is it a competitor to Microsoft's business? On the contrary. So why go out of your way to compete with your own community? You compete with competitors not allies. Allies that are enriching your ecosystem with powerful software at no cost to yourself. Microsoft is throwing cash at a problem that's already solved. In order to gain absolutely nothing in return, except confusing their developers and perhaps spawning threads like this.

    There is only ASP.NET and it's various flavors for web stuff. I tried to promote this competitor to ASP.NET called Manos de Mano, which IMO has a much simpler and more powerful design. But have yet to see any real world use of it. Compare to Java and stuff like Lift, Play, Spring MVC. None of which came from Sun but enjoy wide usage. Will a .NET web framework ever be successful if it isn't written by Microsoft?

    PS: I know a lot of companies that use SourceSafe and STILL use it. It was a successful product.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.