Ravines are better than plateaus

Appreciating the power of a true community

In Community on July 4, 2011 at 00:56

Want to discuss this? find me on twitter

Update: for the record, I might not have made myself clear enough. I think the .NET community itself is not to blame(only partly) for these feelings. there are many OSS projects in .NET. The problem is with the MS frame of mind, and how it tries to actively fight the community of such talented, smart people, to conform to its POV. MS does not deserve the people who are working so hard to make OSS work on its platform, because it actively discourages them from continuing to do so, and they, in turn, encourage MS to continue to act this way, by staying in this community.

Update 2: When I said MS doesn’t deserve great developers because it doesn’t want great developers, I meant things like this (among many others, such unit test code generation, not fixing bugs relating to the unit testing framework etc)

—————–

I’m a Microsoft born and raised developer. in Israel, you are basically ‘indoctrinated’ into a Microsoft development universe early on – if you start programming in the military, you’ll find that .NET is pretty ubiquitous, and PCs are everywhere. If you want to find a job, most listings will want a .net developer, although there is some pretty nice demand for Java too. There are many more places consulting and teaching .NET than Java, as far as I could see, and Microsoft throwing a ‘TechEd’ conference usually makes the news here.

I decided, half a year ago now, to switch and try to move out of Microsoft for at least a year. the OS, the dev tools. everything. It was a cold hard blow to my ego and self esteem, to re-learn things I once knew,now just baby-stepping through the simplest of things(ok, vim is NOT simple). I went through Ubuntu for four months, and mac in the last two. I work in Ruby now, on a real project, and am learning on the job, and during the night, from books and real world code and coders doing ruby and non windows technologies daily.

The things I’ve noticed during the past few months were nothing less than astonishing to me, coming from a Microsoft background (assume that nothing is perfect and glitches exist in many things I saw, but the overall feeling was the following) :

  • I saw what happens to a community that is passionate about a technology, taking free reign. I was going to write “given free reign” but there is no one here to ‘give’ the reigns to anyone else. you either take the reigns yourself or you don’t. there is no master overlord that dictates what you will or won’t work with. instead there is the proliferation of many beautiful and unique forks, branches, patches and contributions to an ever growing jungle full of weird and exotic plants, each one built to serve one specific purpose. each one living the life it was meant to live – to get better and better until it flourishes in the community, or to wither and die if it wasn’t right, or it wasn’t built right, or it wasn’t up to par with the community’s standards.

The outcomes are amazing. I can say (as someone who wrote a book about unit testing in .NET) that a good TDDer in .NET who switches to ruby will be at an apprentice level here. Not because they do not know TDD, but because the differences in the tooling and attitude are immense. the thinking has evolved way beyond that in the .NET world (sometimes to the point where it even seems like it regressed back to older concepts, but it’s been done after going all the way forward).

Think of the difference i see like tokyo vs. US in terms of internet and online growth.  Things that have dawned on me in the past couple of years in the .NET world have been addressed in multiple ways by the community of Ruby more than a couple of years ago. in multiple ways. For example – database related testing. I remember coming up with the idea of using rollback transactions in .NET to rollback DB related changes made by integration tests. Then I looked at things like Rspec in ruby and realized that rollbacks have been built in with such thinking for a few years, in a seamless manner, so that people just don’t need to reinvent that in ruby. they get ‘out of the box’ for their tests. I didn’t even realize why my data wasn’t “staying” in the db, until someone dryly told me, as if it’s the most boring thing in the world. In a world where DB testing solutions are boring, where things like factory_girl exist (smart factories for tests) in multiple versions for a couple or more years now – that’s the world that .NET was supposed to be in as well. but it can’t.

It’s like we were all reinventing wheels and barrels in .NET land in the past 5 years, when just on the other side of the island, people were beginning to wonder what is the best material to pave a highway with. No, they don’t have intellisense (although that is changing), but they have pretty much gone through most paths that in .NET I still struggle to teach people about where to start.

It’s like the Ruby community lives 3x faster than the .NET community, and has been for the past 5 years.

For example, I’m learning about migrations in rails, and every time I read about a feature, and think “hmm well that could even be better by just doing X”, I find out a minute later that someone had already come up with X, and after than someone realized that X is bullshit, and Y is better, and then a few months later someone combined X and Y and created a whole new DSL so that you don’t give a crap about even needing X anymore. and all that happened two friggin years ago, so it’s boring to even mention it now, unless you’re a total newbie. It’s as boring (or needless) as explaining to a child how this blog physically appears on the screen, in terms of CPU registers. it’s a fascinating learning experience, but we’re all way beyond that now.

Rubygems are a great engine for simplifying things for your dev environment. in the .NET world a few employees from MS had to “take over” a community related project so that it can finally get into the visual studio tooling strategy. that seems to be working well. My feeling is that in a year that project will be in trouble.

Razor is a view engine from MS(there’s also spark, by the community, that MS is pretty much ignoring), outed in the past few months. HAML and others like it have been out for a long while in the ruby world. The ruby community is just so far ahead of the curve, that it’s in a different curve. because there are no limits to changing, and playing and tweaking and publishing and forking and beautifying and polishing and churning on the tools and technology.  It’s fucking beautiful.

Now, it may looks like I’m a MS hater, and that maybe a bit true, but not for these reasons. the reasons for that will be detailed somewhere else (I’ve been a MS MVP and teched speaker for a few years before switching).

But Mostly, I just feel betrayed right now, by the lack of drive that has been instilled by MS in most .NET developers. no, actually I remember multiple instances where MS chose to drive sales instead of helping its community. That I had to fight so hard just to learn (and teach!) about things like unit testing, and that the .NET community still gives MS props by *staying* in the MS community – that’s sad to me. MS don’t deserve .NET developers who want to get better, because MS aims at developers who *don’t* want to get better. just developers who want to *stay where they are and have a job until they die*. They can fill their lives with the wonders of a new technology every month, just like solving soduku puzzles for a living. it’s not about bulilding great software, it’s about keeping your job.

know sharepoint? how about sharepoint 2013? oh yeah? how about the new CTP with async features? or yeah? how about running it in azure? oh yeah? how about exposing it with WCF and RIA services? oh, and talking to windows phone? know silverlight? how about HTML 5 for windows 8? ever had to create a TFS server proxy for caching source control for distributed teams? oh, but we will use the 2003 version. oh yeah baby!

each of the puzzles is usually incredibly hard to solve, but they are supposed to be, so that you don’t get bored. and behold, 10 years have gone by, and although you were mostly working on crappy projects, you had a lot of fun solving all those weird problems, right? or maybe now you’re the only guy in your organization who knows sharepoint on WCF ria services running from azure – job security here I come!

So I decided to look elsewhere and see how others deliver software. I tried to be a web dev on the MS platform, but things were just too convoluted. in rails I see simplicity, and lack of “stoppage” . its concepts advance in the speed of its community’s thinking. I’m able to fucking build a website that does something, and I don’t feel dirty in the morning.

Now, the ruby community in israel is not there yet. But I’ helping making it a bit stronger by creating some meetups. The python community seems to be doing a bit better, but overall, open source in Israel is still a very small flame. I am actively working on changing that.

  • I saw healthy discussions and changes in the technology

Rubygems is screwed up? Hey, slimgems to the rescue!. or, maybe rspec isn’t that great after all? maybe it’s too complex? maybe we shold all go back to TestUnit?  questions that strike at the heart of the community seem to be open for challenge. no holy cows. Don’t like rails? how about sinatra? screw it, use node.js (yeah, that’s part of the ruby community, it seems, even though it’s not ruby related in many ways.

ORM? pretty much solved. in multiple ways of course. because there are no limits to what the community has the power to accomplish when there is no “grand master” that controls all the strings.

at MS land, the most you could do is write a few angry blog posts. if you were a high enough profile blogger, you might also be contacted by a real MS program manager of some sort telling you thanks for the feedback. you could raise as many chairs and broken as many rulers as you liked, but the MS ship would not budge, and even if it did, it’s not up to you.  It’s a helpless community, that has most of it’s semi successful ‘open source’ projects ending up ‘eaten’ or competed against by MS itself.  like a beaten wife who convices herself that next time it will be different, I see people in the MS community (and remember myself as well) endlessly pursuing another fata-morgana , another tell tale that things will be better next time. just wait a couple-years-boy and you’ll see.

so, I’m still learning about community. I’m trying hard not to become a “fanboy” , but to see things for what they are, and there are definitely some celebrities here. but the nice thing is that anyone can challenge anyone and not be afraid to do it. or at least so it seems. we’ll see in the next year!

  1. I simply cannot agree more. The only true mvps are the ones who say “thanks, but no thanks” to the offer.

    I’ll never forget sitting in a meeting at Microsoft where the group was being told to revoke an MVP because the person was “attacking the brand”. What he was saying was correct, but the company didn’t care. The MVP program is an extension of marketing where a message is “given legs”. If you want to look where .net devs get the frustrating “abdicating our brains to the next new promise out of Redmond”, you have to start here.

    Mvps quickly realize that the cost of losing their credentials is high – the status quo is just too valuable. Selling out is all too easy when people are blowing smoke up their six and being told how great they are. Some folks in Msft get the spirit of an MVP program, but are unable to fight the marketing arm on these grounds.

    Msft devs have become increasingly dogmatic and progressively more dim. And if you look at soma’s reply to Mary Jo Foley’s article on the death/life/purgatory of wpf illustrates how high the attitude persists at the company. The “we aren’t saying anything until BUILD” is completely bankrupt and bull*hit.

    Let’s face it, WPF/xaml would have died an inglorious death long ago if it was driven by community.

  2. > and all that happened two friggin years ago, so it’s boring to even mention it now, unless you’re a total newbie.

    As someone learning Ruby (soon to be followed by Rails) would you think about blogging about these things?

    For example the migrations changes you mention, I’d definitely find it interesting to know the history of some of the decisions and as you say the more experienced members of the community are unlikely to consider them worthy of comment.

  3. In .Net world you can switch to #mono http://www.go-mono.org

  4. Wow…it’s like you took the words out of my mouth. Awesome.

  5. Razor is a thing of beauty!

    I am writing this on my Mac, so I have everything I need to get started with Ruby. But I’m just too damn addicted to Visual Studio! Its IntelliSense and debugging are really, really good, there’s no denying that.

    It does suck that Microsoft comes up with the good stuff and that it always integrates with the tools better then anything else. But that’s their strategy, so the whole developer division is specifically targeting that experience. They didn’t adopt NHibernate, or Spark, or Monorail, or OpenWrap. Each time they did their own thing, and each time their thing was the thing that got traction. Their strategy seems to work. Microsoft wants to increase Server and Tools from revenue 1B to 2B, so they are NOT going to change this.

    Also, let’s not forget that Microsoft has created an environment where consultant thrive. With the success of Windows, Office and SharePoint, you’d be hard pressed to find a consultant to advise on Ruby. I mean, as long as you know the key differences between v200x and v200y of any platform and the possible solutions, you can be a hero every time.

    Anyway, you have inspired me, I will try to get a small Ruby CMS working. Any tips for the tool-addicts? I can live without IntelliSense (just have to get intelligent myself) but I am afraid of coding without a debugger.

    • Mike –
      Check out RubyMine. It’s the “VS + ReSharper” tool for Ruby. Honestly though, I use TextMate or e-TextEditor for development 95% of the time and I use RubyMine for debugging.

      Hope this helps.
      -Damien

      • Hey Thanks for that tip! To be honest I’m not a huge fan of JetBrains products on OS X, doesn’t look right, but I will give it a try.

  6. regarding things that have evolved : see the inherited_resources gem in ruby. someone realized that all controllers kinda look the same so why even write any code in them at all. unless you want to specialize some of it. so now you can write basically code free controllers for regular crud related operations on resources.

    now people are beginning to question that as well, since it seems that you *always* specialize. at least, they are arguing about it.

    in .NET – the idea of how to build an effective controller is relatively new. inherited_resources hasn’t been invented yet in .NET. however, there is an OSS in .NET called FubuMVC that takes some interesting approaches, that, would eventually lead to that… and then back again. but maybe 10 .NET devs out there know it exists.

    did I make my point?

    • Roy, You’re missing ideas like OpenRasta (which has been around a long time), NancyFX etc. I’m not saying there is not a lot for the .NET community to learn from the Ruby community – there certainly is – but you are coming over a bit ‘drunk the kool aid’ right now. I don’t think that helps your message.

      • Ian, I’n not missing those ideas. they exist, but they are silos, and until MS decides that they benefit it somehow, they will stay that way. Then MS will either gobble them up or create mediocre representations of them. then they will die (dead as in monorail dead – zombie state mostly)

      • I used to think the same on the drunk the kool aid but that was two years ago when things looked promising and it did seem like .NET was going to progress quickly. These days I don’t think anyone could really argue that in the node.js/ruby/clojure/python spaces things are moving a massive amount quicker than in .NET.

  7. I’m with you brother, I feel your pain. The only way is to get out ASAP, and warn all new developers to not get involved with Microsoft. Spread the word.

  8. I’m a bit puzzled by your statement that there is no “intellisense” in the Ruby world.

    Have you tried TextMate? It doesn’t have the same thing as intellisense, but it achieves similar goals in different ways (some would say better, others: not).

    Or any of the ruby-capable IDEs, like RubyMine or NetBeans? These all have intelligent autocompletion and documentation lookup.

    Or even a properly configured VIM or EMACS? A bit hardcore, I know, but once again, some swear by them.

  9. Hi Roy,

    Great post! I am on the same boat. I am MS dev and always wanted to learn Ruby on Rails. I know Rails is 10X better than ASP.NET MVC but the main problem is with Rails jobs. The ratio between .NET jobs and Rails jobs is 10 to 1.

    But I guess in the end life is too short and one must do the things that make them happy.

  10. I see where you are coming from, but I also see an *immense* amount of community-based projects/activity in .NET-land. I think the *problem* is simply the habit of expecting Microsoft to provide all the libraries.

    There *is*, if you look for it (and you don’t need to look hard) a pretty decent ecosystem of .NET projects out there, covering pretty much every aspect of development / tools. Equally, if the discussion is around *community*, maybe it is odd to even mention Microsoft and the PMs /at all/ – the community is the devs, on the ground, doing the day job.

  11. Marc – yes the .net comunity is certainly trying and working on its own projects. But my point is its a helpless community in the face of MS’s efforts. take any OSS project there and chances are it is one of the following situations:
    1) ignored by MS and so almost anyone outside of the project’s authors know about it
    2) ‘embraced’ by MS – as in MS takes over that project instead of just including it (thus killing other efforts – see openwrap vs. nuget)
    3) ‘good enough’ competition by MS (see Nunit vs. mstest, Nhibernate vs. entity framework, monorail vs asp.net mvc and a million others, unity vs. all the other containers)

    rarely is something just “adopted” like jquery. so my point is, in a world where MS isn’t king – some of these projects would have been in a different place, but because of the giant’s steps, all the community can do is hope that these project get recognition *in spite* of MS, not *because* of them.

    Yes, there *is* a .net community of OSS. but it is done behind the scenes, instead of taking a front row seat. and the only one who gets to make that front row seat decision is MS. and it always chooses the mediocre solutions to the OSS ‘problem’ instead of embracing it.

    other things that get shut down by MS – the community’s attempts at teaching practices to .NET developers. the problem is *reach*. Iv’e been teaching unit testing in MS conferences for 6 years now. to teach it in alt.net conferences is singing to the choir. you want the people who *don’t * get it yet, right?
    but they are all at the MS events like teched where MS will shut down any speaking opportunity that doesn’t fit its agenda. so even though a couple years ago I had 3 talks in the top 10 talks at teched Europe, the next year when a new version of sharepoint went out, i only got a single slot for speaking at teched, because my talks weren’t about pushing some product.
    to get to talk at a MS conference you need to bend your talk to be about a product, so that it benefits some team at MS. as long as I was explaining how you *can* be agile with team system, for example, I got talks and even pre-conference courses on that subject. when I stopped, those stopped as well.

    so the community in MS lives *in spite* of MS, not because of it. is what I’m saying.

  12. *stands up*
    *begins the slow clap*
    *watches everyone else join in*
    *wipes tear*
    *scribbles out Obama Poster – Yes We can*
    *carefully cuts out authors photo and scrapbooks into place*
    *sends former employer – Microsoft – email*
    *watches Microsoft ignore*
    *waits for the next .NET journey’s into the lands of PHP/ROR*
    *shared a moment*……..

  13. Thanks Roy! Very well written!

  14. Yes this post just sounds like another M$ sucks, Ruby rules! I think you are intending to compare actual communities, .NET vs Ruby, yet somehow you throw in Microsoft in there. I’m not sure Microsoft belongs in that discussion. Microsoft’s motivation is to make money, the communities motivation is to make chosen programming language/experience better.

    The only lack of drive you see is probably your own. You obviously have not been looking in the correct place for passion. I’m not sure a conference for Microsoft, put on by Microsoft would be the place to look for that. Those conference serve a purpose…exactly as you complain about, to sell products. You want real passion go to the smaller more regional conferences. Many have all sorts of sessions together, not just Microsoft based.

    Should Microsoft make it easier to plug in OSS frameworks into theirs? Yes. Should MS drive/adapt OSS? No probably not, IMO. No matter what community you look at, you will find people who only develop for a paycheck. All in all you can’t compare Microsoft to Ruby, one is a company, one is a programming language.

    • > All in all you can’t compare Microsoft to Ruby, one is a company, one is a programming language.

      I have to ask, did you read his post?

  15. Roy – What a great post! It echoes 100% of what I feel as a former .NET developer that moved to Rails a few years ago. Once we dove into the Rails community we had the same feelings of “Wow..these guys just get stuff done so much faster.” and “Why did MS never promote these kinds of things?”

    I spent years working with MS tools and was an ardent supporter of Redmond. So when I saw the great things happening in the OSS community,I felt that same sense of betrayal by MS. Like I had been lied to and manipulated to support the status quo that MS desperately wanted to maintain. I felt like I had wasted a good many years supporting an ecosystem that I now realize is fundamentally broken because it’s largely controlled by MS.

  16. Roy, nice post. As an MS fan, I have been very curious and continually questioning of fellow .NET developers who take the plunge in Ruby. I really appreciate your point of view here as I dip my toe in to see what all the fuss is about.

    To what Nick stated, I think he missed your point that Microsoft IS .NET and the .NET community is secondary.

    To me it seems like a major difference is that there are two kinds of .NET developers, those that are interesting in continually evolving like those in the ALT.NET community, and those I’ll call “Enterprise” developers who are content to punch the time card, keep working in .NET 1.1 and spend their weekends Bass fishing. Microsoft is in the business of making money so their interest is definitely in keeping those “Enterprise” developers and their deep pockets happy.

    The outside perception of Ruby, and perhaps ROR specifically is that there is no “mother-ship” in Ruby to drive the mainline direction of development and so the community just does what it needs to do to solve their individual problems and then share those solutions with others. In recent years, I feel though that MS has begun hiring people who understand this distinction and are trying to inwardly change the culture and embrace the developer community outside the enterprise.

    As a consultant, I have seen many teams begin to loose focus on the big picture of a system as they continually focus on the smallest incremental user value, and I wonder if the individually driven nature of Ruby will suffer from a similar dilemma when everyone is focusing on their own problems and nobody is responsible for steering the entire ship. (Not a statement, I don’t have any Ruby experience so maybe that is already there in the community.) Microsoft, on the other hand is the benevolent dictator of .NET and has an interest on keeping the larger ship on course, whether or not you as a developer are interested in the same destination.

    I hope that people like Scott Hanselman and Phil Haack continue to let the things that developers love about Ruby to influence the direction of .NET. I also hope that learning Ruby will help make my .NET development better as well.

    • No I think I got his point, I just didn’t articulate my view well. And I think I agree with him for the most part. Just not the way he says it. I think me and Roy come from different perspectives, maybe the sense of betrayal is the inevitable evolution of a .NET developer and I’m not there yet.

      I think there are a few kinds of .NET developers, as you do, and I’ll admit I was once one who just worked for a paycheck. I wanted to learn how to do things better and even learned outside of the office. But my first impression of most of the ALT.NET community was that they were a bunch of pompous jerks and I didn’t want anything to do with them. I don’t just like to be told I’m doing it wrong. I’d rather have someone suggest why it is wrong and how to do it better. Maybe that is what is different in the Ruby community, they do it that way. I’ve only seen .NET developers turned Ruby say, “Ya’ll are doing it wrong. .NET sucks, go Ruby”

      Also I was never under the impression that MSFT would ever do what is right for the individual developer, I always assume they are the evil company. I think from that perspective it is easier to dissociate .NET from MSFT. Sure MSFT controls .NET and VS. But they have no say in Mono. A C# dev can switch to Mono if they didn’t like the evil Big Brother company.

      And Like you said Jimmy, I hope MSFT continues to follow it’s course of listening to developers better.

  17. (Disclaimer: I am a .NET dev).

    I’m interested in the idea of moving to a different stack, hence the fact I read the post, but having looked at ruby/rails a few years ago it dawned on me that I would be stuck doing web development if I went down that path. Oh the horror.

    As for the post itself, despite looking for some hooks to convince me to have another look I couldn’t find much substance, just a pile of conjecture.

    Here is my summary of what you said :

    Ruby : free reign. No substance

    TDD : the thinking has evolved way beyond that in the .NET world. No substance, aside from a cringe worthy db rollback example.

    Some non-specific ramble about X and Y: No substance.

    The ruby community is just so far ahead of the curve: Just a a statement.

    Lack of drive that has been instilled by MS in most .NET developers….: Pure speculation, with no attempt to explain how such a conclusion might be drawn.

    Etc

    • If you wanted to you could go do some of your own research (RSpec, cucumber etc), expecting Roy to cover it all in one blog post is a bit unreasonable.

  18. Assuming it is in fact true, it wouldn’t surprise me if TDD in the ruby community is more advanced than .NET. For one simple reason, someone forgot to write the compiler ;-)

  19. Great post!!

    What I find since moving to Ruby and Rails is that I get so much more done. I can jump in and submit patches for open source gems, I can jump into new projects and be productive from minute 1 because how it is laid out and structured. And since the code is usually (not always) easier to follow and read in ruby than in C# it is possible to jump in and kick ass in almost any project.

    Any time I go back to Visual Studio, I hate waiting for it to respond, I hate waiting for the compiler and I hate having to do everything manually/myself.

    The best part with ruby so far and in my humble experience though is how easy it is to write tests for your code and how those tests actually improve how you structure you code base because of this. With .NET the testing is just so fucking hard sometimes.

  20. Hi Roy,

    Thank you for the post, I started the same journey a while ago, to be more precise, I ditched .NET development and Windows/Microsoft stuff altogether in 2008 and never looked back. Back then, I was starting to do web development using ASP.NET and after following a incredibly stupid “best practices” tutorial by Microsoft (which recommended the creation of no less than 7 stored procedures to create a simple CRUD) I started to look for something different, easier to use, more productive and less insane. Eventually, I found Castle’s Monorail, which was inspired by Ruby on Rails, and from then on my life has changed.

    I really tried to help, learn from and participate of the .NET community, both in France and in Brazil, or at least some part of it, which used to call itself ALT.NET, and they did have some interesting projects, like the whole Castle and NHibernate stuff, but the community as a whole were never as advanced or engaged as the Ruby one. A friend of mine once told me that the .NET community is like the Java one minus 5 years, nowadays I think he was kind. The mothership shadow is too powerful.

    After all this time, I can assure you that you won’t regret changing direction, you’ll learn lots of new and exciting things, will be surrounded by very smart and dynamic people, you didn’t lose anything. I still hope that MS will understand and tap the power of the open source communities, there are many good developers in the .NET world, but I won’t hold my breath and I recommend anyone fearful of switching tools to just give it a try. Believe me, autocomplete is really overated :)

    Best regards,
    Rafael

  21. Part of me wants to play devils advocate. Like how does your betrayal of the .NET community is any less damaging from the one you feel from Microsoft has placed on you?

    I feel posts like these are in poor taste. If you want to use a different stack, use a different stack. If you feel their needs to be change in a community, propose solution instead of just whining about it.

    Asp.Net Mvc vs Mono Rail vs Fubu mvc or Nuget vs Open Wrap probably aren’t fair evaluations. The have been plenty of lib management tools that have failed miserably. hornget, nupackage. Open wraps timing was just poor.

    Mono Rail was interesting but tried too hard to be like rails. And Fubu mvc, meh. The api doesn’t look all that friendly and feels too elitist.

    EF coming into the ORM/NHibernate space or pushing the poorly designed MSTest into the unit testing space and trying to overtake those projects are probably valid where MS has stepped in over the toes of FOSS developers and tried to hang them out to dry.

    I’m sure their are plenty of fanboys who swear by VIM, textmate, or an apple logo wearing hipster clothes who will rush to agree with your stance and welcome you with open arms as a new brother into their community.

    However, as someone who linux, osx, and win platforms, does c#, javascript, ruby, php development, these kind of posts are just fodder used by the religious programming zealots to rally on and tread on others.

    If you are going to write about the issues, post some suggestions, become a part of the solution. Otherwise you’re now just as much of the problem as Microsoft is, a software zealot/politician. We have enough of those as it is and its part of the reason why the .NET FOSS community suffers as it does.

  22. There’s one question that the whole .net versus Ruby debate almost never touches on, and that is, which is the most appropriate platform for the end user?

    Ruby is only the best option for one specific class of projects: namely, web applications where you control the hosting environment. If you need to distribute your web application for installation by customers, it’s not so good (examples: cheap-and-nasty shared hosting, enterprise environments which only support Windows servers, etc). If you’re developing for a platform other than web, Ruby is unlikely to be the best option (e.g. Windows desktop apps) and may not even be an option at all (e.g. iPhone/iPad).

    I personally maintain that the number one consideration in choosing a programming language or platform should be the needs of the project itself and of its end users. If factors such as language design, or the community, or attitudes and best practices, take precedence over that, then programming ceases to be a means to an end and becomes an end in itself.

  23. Nice post Roy. Here’s something similar – about my transition from a Microsoft-only approach – to building an open source solution on Linux. Best, Tony

    http://www.58bits.com/blog/2011/11/10/the-long-road-home-from-microsoft-to-linux/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 10,714 other followers

%d bloggers like this: