I'm here at RailsConf in Portland (where I live, so that was nice, eh). As with all conferences, in my experience, the real "conferencing" happens outside the sessions. I stopped by the ThoughtWorks booth and started chatting with a number of folks.

I've been increasingly concerned with the "Web Developer Stack" that we're (the collective We) using. I started a conversation in the ThoughtWorks booth (because they had free granola bars) where I expressed this concern, and it turned into quite a large and very spirited conversation between the ThoughWorks crowd, DHH, Martin Fowler, myself, and a pretty decent-sized crowd egging it on. It was multi-faceted chat and covered a lot of area. I haven't had so much fun at a conference in a while.

The next day, Chris Sells (unintentionally) got a crowd going that also included the ThoughtWorkers, and we talked about what Alpha Geeks want. I asked if there was a coming diaspora of the Alpha Geek towards developer tools and developer experiences that feed their passions, perhaps more than tools and experiences from Microsoft and Sun. At this conference, the general feeling was that a migration of Alpha Geeks had already started. Just as Alpha Geeks forced to develop using Waterfall migrated to more agile shops, these folks feel the same kind of migration is happening around Web Development.

I propose that newer (somtimes younger) programmers may have less "tolerance" for development pain or frustration present in existing stacks just as a frog doesn't like being thrown into a hot pot. Perhaps we older frogs are starting to notice some heat and are considering other, cooler pots to spend time in.

The one thing I learned about Rails and Rails/Ruby folks at this conferences is that they are enthusiastic and passionate. Not just because many are young (I suspect the mean age to be about 26 at this conference) but because they feel that Ruby and Rails expresses their intent in a clean and aesthetically pleasing way that avoids repetition. The code is DRY (Don't Repeat Yourself.)

In the blogosphere, David Laribee proposed a term I've heard bandied about in the last few years - ALT.NET, to describe developers like this:

What does it mean to be ALT.NET? In short it signifies:

You’re the type of developer who uses what works while keeping an eye out for a better way.

You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.

You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.

You know tools are great, but they only take you so far. It’s the principals and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principals [sic] (e.g. Resharper.)

Why does this have to be ALT.NET? Why is this alternative? Seems that this should be mainstream and baked in by the tools and "dogma" that comes down from on high. Microsoft needs to make ALT.NET attitudes Mainstream.NET attitudes, through leadership, openness, and a lot more prescriptive guidance.

Rails appears to be very prescriptive. It says, by its very nature, "do it this way," but still allows developers to do creative things and extend the framework in ways not previously thought of by DHH.

It's important to remember, I think, that Rails is a Web Application Development Framework that enables one to make Web Applications that talk to Databases really fast. It's not the end-all-be-all development stack, and it's better to compare Rails to ASP.NET than it is to compare Rails to .NET proper.

That said, there's a sense of striving for true beauty, beauty in tests, beauty in expression of code, in markup, that .NET developers should drink in.

I'm an Alpha Geek, and you likely are too. I'd love to have the Ruby on Rails developer experience, the gems, the libraries, as well as the ability to bring in .NET libraries, and run the whole thing on IIS and SQL2k5. I'm not the only one who thinks this way. Sun knows it, and JRuby will (is) bringing "pure" Ruby to the Java-based datacenter.

The collective group in the discussion at RailsConf seemed to agree that Microsoft should make not just the DLR source available, but actually create a non-profit organization, ala Mozilla, and transfer the developers over to that company. They should allow commits to the code from the outside, which should help get around some of the vagaries of the GPL/LGPL licensed Ruby Test Suites. "IronRuby" should be collectively owned by the community.

Why? Because as the Wu Tang Clan said, "Protect Ya Neck." This isn't about Microsoft making money on developer tools, but rather about the platform, where the money is made. An open CLR-based implementation of Ruby on Rails would be a great way to introduce Rails into the Windows-based Enterprise, and would encourage more Alpha Geeks to code on Windows.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

I believe the main problem is that Microsoft is terrified by the IP consequences of opensourcing technology that they may use for their own products down the road.

It's not at all a dislike for the open source movement, freedom, or whatever (IMO)... it's a fear of getting sued for using IP they don't own. They are Microsoft after all, with a TON of cash on the bank, which makes them a very good target for any lawyer.

That's hindering their penetration in OS and alpha geeks, for sure (we love to look at the sources if we can, to lean, to criticize, to improve, etc.).

You can see this same thing happening on the myriad of CodePlex projects they are starting. Unless they allow the community to take ownership and make contributions, none of those "open source" projects will ever take off. They are more of an out-of-band "product" strategy than anything else.

But responsibly opening a whole company to open source takes time. I believe Microsoft is on the right track and will eventually get there.

I was worried to hear Eric Gamma at SET Zurich talk about "open commercial software development" (http://www-03.ibm.com/developerworks/blogs/page/BillHiggins?entry=big_jazz_news). But nevertheless, they seem to have solved the IP problem (they have commercial products running on Eclipse), so Microsoft should be able to do the same.

Regarding the DLR, I fail to see why it would be so important to have it open source and owned by the community. As long as it's a "pure" Ruby implementation, the focus should be on advancing Ruby-the-language itself, and the frameworks on top of it. The DLR should be just one instance of a runtime for Ruby. I think it's much more important to have good opensource frameworks on top of the runtime, than an opensource runtime itself (although it's a nice to have, of course)

The alpha geeks departed a long time ago. I'd say that I became an alpha geek around 2001, and they had already left when I came. What alpha geek would agitate for a move to Vista? They'd be banished from the union immediately.

I guess I'm an Alpha Geek, although I'm still not clear on what that means. I do have issues with terms like ALT.NET as I agree that it should be the mainstream, not some alternate form of it. Just by saying ALT.NET you're stating that the mainstream isn't fulfilling enough to match up to what ALT.NET can provide. I have similar issues with the term Web 2.0, why we bother will silly invocations like this. I prefer to see software development, the Internet, and the relationship of driving elegant solutions to meet more demanding business needs to be an evolution that will never be complete.

Having stated categorically that I consider myself to be Alpha, I'm not jumping on the RoR bandwagon simply because I don't buy into the architecture. As you said, you see it as a way to make web applications talk to databases really fast. I've already done that and it was called databound controls in ASP, ASP.NET, JSP, and whatever other technology you want to throw into the mix. I see the elgance of systems to be solving problems with solid code that works, is tested, maintainable, and adaptable to changing needs. Nowhere in that do I need "fast access to databases from the web". If Rails is about getting database -> web going quickly, great and all the power to us to build prototypes or proof of concepts and small applications that don't need a domain. I'll get blasted for that statement by Ruby purists that say it's a better language than C#, F# and whatever other flavor of the week is out there. I just haven't seen the kind of enterprise applications I build created on Ruby. When that happens, I might change my tune.

Although I see dynamic language to be the new kid on the block, we'll see how it plays out in the Silverlight and 3.5 CLR space. I hope to see the Alpha geeks out there bring these type of concepts to light and get some real world examples of where we want to go out there for others to build off of. Goodness will brood like goodness and we'll be in a happier place at the end of the day.

A couple months ago I was thinking some of the same thoughts, how can the Ruby on Rails style of development be converted to .NET? But then I realized that I only wanted to bring it to the .NET stack because that is what I am comfortable with. Why try to change .NET to be Ruby on Rails, when you can just use Ruby on Rails? Why run it on IIS and SQL Server? MySQL and Apache aren't that different. I don't own stock in, or work for Microsoft so why should I try to use their technology when the other technology works just as well?

The whole Rails phenomenon is interesting as to date there is not a single *major* software company who has thrown their weight behind it. And this is after nearly 4 years of it being around. Java had some heavyweights behind it by its 4th year.

While this mere fact has caused many to dismiss RoR completely, I think it remains to be seen where RoR takes us. While it doesn't yet have the technical chops to launch the space shuttle, it's definitely a game-changing technology.

I think JRuby is more of a coolness factor right now. Offering some support of a platform is one thing, but actually building a major component using it is something more.

I was thinking more along the lines of Yahoo or Google rebuilding their Maps site using RoR or something like that. Think what that would do for Rails if Google got behind it and rebuilt the Google Reader in Rails.

Microsoft's decision heuristic for whether to be involved with a market/technology is the following: Is it a billion-dollar market? If not, will it likely become one in the near future?

If the answer to both questions is "no," Microsoft is likely to not care about it. This means they don't care about ideas that come from the margins, because marginal technologies do not involve millions of people and hundreds of millions of dollars.

At least, that was my experience with the Microsoft developers who came to my university campus. One time one of them gave a demonstration of IronPython, and showed a feature that reminded me of something in Squeak, and as I was starting to discuss Squeak, the Microsoft guy interrupted me and abruptly stopped my line of questioning. New ideas are terrifying, threatening things to be ignored at all costs, apparently. Unless it's attached to a billion-dollar market, in which case if you aren't interested in it you're a fucking moron.

@Jeff: "I just want Twitter, a site built on Ruby on Rails, to have more uptime than the average Windows 95 personal web server. Is that so much to ask? "

As Ayende said, your blog was completly down yesterday. What stack is that running on? ;)

Diego

Monday, May 21, 2007 6:47:46 AM UTC

@jeff, your blog is still down. I guess you shouldn't go around throwing stones when your own house in not in order. :)

Diego

Monday, May 21, 2007 8:07:27 AM UTC

I think that there are a couple of important lessons emerging from Ruby: the main one of which is that bloatware generalist frameworks are being outcompeted by agile specialist frameworks. MS needs to avoid turning .NET into bloatware if it wants to compete:

Fashions come and go, but it does seem there is a rising undercurrent of 'grrr too complicated, and I'm not going to take this anymore!'. Rails is special for what it doesn't try to do, rather than what it does - and that's probably the meta-lesson.

As for Alpha Geeks, quick pop quiz: Name three Microsoft-centric alpha geeks that don't currently work at the big house? And there's your answer.

The career path for those on the Microsoft track is to end up at the Redmond mothership eventually, and there's the rub: they gain the brains but lose the community. Long-tail and all that.

Stay away from the light Scott Obi-Wan, you're our only hope! ;-)

PS I coughed flakes all over my laptop over your comment:'@James Avery - it's about getting rails into the Enterprise. Hosting on Java or Windows is often more comfortable and understood than introducing Rails and Mongrel. ' - that doesn't sound a compelling long-term strategy to learn something x2 (RE:WS-*, SOA and anything else not clearly understood, i.e. image is key).

There's no question that Microsoft are losing the hearts and minds of of alphas and younger developers in particular.

If I could just gripe about ASP.NET for a moment...

While ASP.NET gets a lot of things right (e.g. handlers, authentication), it's (IMO) fundamentally over architected and pushes you into a model that was clearly devised by people who don't actually build websites. It's equally clear that many of the original design decisions made with respect to how controls are created and then render on the client were made solely to accommodate WinForms developers used to drag and drop controls in Visual Studio.

One form per page is particularly annoying, as is the fundamental lack of understanding of semantic HTML (e.g. the Label element, empty alt attributes (the workarounds in ASP.NET 2.0 are frankly stupid). CSS Display adapters should be unnecessary in the first place. I'm sure I can't be alone in cursing ASP.NET's atrocious rendering.

Project such as MonoRail give me hope, although I'm not sure why Microsoft feel the need to compete with it with their own proposed MVC framework. They should work with the community, not against it. MonoRail is here now - why not provide direct support in Visual Studio?

On a more general note, I've also never understood why Microsoft don't simply give the development tools away. The Express editions are a start, but surely the more developers on board the better?

Derek Lawless

Monday, May 21, 2007 10:12:21 AM UTC

I guess I am just out of touch, but "why" would I bother with other technologies? If I have a systemt that works and keeps me productive, why would I spend time keeping up with other technologies instead of staying focused on teh MS technologies?

Yes, I have heard a lot of people jumping all around about Rails, but I cannot see what it brings to the table that I cannot already easily do with ASP.NET/C#. Is there something it brings to the table that would make me jump up and down?

I do not know about who is excited or not about Microsoft's technologies, but over the last two years we have been flooded with great new technology that will change the face of software development both on the web and desktop. That seems to be enough for my mind to keep up with and I find it hard to consider keeping up with the green yard next door when mine already looks like a golf course.

I have been in the computer field for over two decades. Am I missing something?

@Rocky, Well said, 2 decades here as well so one other old-timer agrees...

Mike

Monday, May 21, 2007 12:39:17 PM UTC

@Karthik,ThoughtWorks declares 40+% of their new projects are coming in RoR (http://studios.thoughtworks.com/rubyworks). They're not a software vendor per se, but hey, they've got Fowler and that's a strong reference for me.

Sergio

Monday, May 21, 2007 1:40:44 PM UTC

What I especially love in these endless debates is the use of nebulous, sweeping statements that lack any quantification of any sort. There are numerous fringe nebulous examples e.g. Ruby is "fun", "clean", "expressive" etc. Even the guys if C can argue the same about it. But the one that really gets my goat is the obtuse claim that due to its being dynamic, you write less code.

Giving me the following code:

#rubys = 1

and // C#int s=1;

and telling me those few keystrokes saved constitute less code, is the classical definition of fool's economy.

Wow quite a religious war we have going here. I think I'll wait till IronRuby is released. Why relearn everything just because you can make a trivial website in a few lines of code.

Looking at the direction of ASP.NET Futures isn't talking about RoR as an end all platform a bit short sighted everyone. When you can just wait till the fall and have most features baked into the ASP.NET platform. Like BLINQ having a control lib to implement codeless Data Access Pages. It all looks very much like Ruby. Without the funky, inconsistent, perf poor platform that is ROR. I see ROR as a Transition starter for semantics of future APIs not a persistant technology. In 3 years Ruby will be just a memory.

For someone who is invested in ASP.NET for a few years I hardley see RoR compelling enough for an outright switch. And I have looked at the differences. Its standard features that all surviving platforms will have not differentiators that call for a switch.

I expect from the comments here, that the real question is not about the Alpha Geek pushing the direction but rather a question of "What pain / business problem does this solve?" I can't say I've *ever* seen the Alpha crowd push a market - it's usually the other way around where the market's need/pain is requiring a solution that is out-of-step. M's code regarding a Ruby integer assignment and other older (read; sage) timers above wondering what does this technology do that the people (NOT the Alpha Geeks) will clamor for...

SO... the challenge I throw to you is: Can you give a distillation of your discussion (and podcast included) for your talk entitled, "Why Dynamic Languages?" (Shameless plug for Scott's Blue Theater talk, WEB11-TLC, with John Lam on 6/5 @ TechEd 2007)

I'm sincerely interested to hearing the BUSINESS problem that dynamic languages solve. If they don't, they will be relegated to the fate of the myriad of CodePlex projects as Kzu discussed. Maybe John can shed some light on the MS tangent given he's a blue badge now... Maybe you both can talk about the value proposition the platform will offer for the dynamic languages?

See ya at the TLC!Mark D.

Mark Deason

Monday, May 21, 2007 3:24:26 PM UTC

Did you mean "diaspora"?

Dan McCarty

Monday, May 21, 2007 3:55:20 PM UTC

Wait, when did Microsoft *have* the alpha geeks?

"Rails appears to be very prescriptive. It says, by its very nature, "do it this way," but still allows developers to do creative things and extend the framework in ways not previously thought of by DHH."

How is this different than ASP.NET? I've seen screen casts from Scott Guthrie where he easily creates To Do lists using ASP.NET. ASP.NET is just as opinionated as Rails and the tools are better. (Command line-debugging? c'mon). Where Rails wins is if you follow it's prescribed path, convention over configuration. ASP.NET and JSP follow to opposite path, configuration over convention. Once you get off either path, the prescription is pain. (where pain is defined as "more typing than I'd like to do")

"It's not at all a dislike for the open source movement, freedom, or whatever (IMO).."

Go back and read Steve Balmers rants about OSS. Then remember that a companies character and opinions all stem from the top. I think some of the rank and file at MS may have a positive opinion about OSS, but I think they are a minority. I've had my MS friends tell me many, many times that they reason my system is unstable is because of all the "shareware and third-party crap" I install on my system. They don't just hate OSS, they hate anything thats !Microsoft.

"I'm sincerely interested to hearing the BUSINESS problem that dynamic languages solve."

Often the frameworks that are built using some dynamic languages ease the pain of development. That's it. That's the business problem they solve. Technologies don't solve business problems, people using technology solve business problems. :) Hugh Macleod phrased the question a little differently a month or so ago, but the answer is the same. http://www.lazycoder.com/weblog/index.php/archives/2007/04/19/why-should-open-source-meet-the-needs-of-ceos/

Ruby is riding on Rails back to fame. If it weren't for Rails, Ruby would just be a footnote in Don Box's blog where he shows how you can write ruby code using C# (that's where I first heard about Ruby). Python has some of the same language features as Ruby, but Ruby put out the "build a blog in 10 minutes" video before Django or Turbogears did.

Karthik: "However, for the IT market as a whole to accept Rails, a larger more well known vendor would likely to have to start using Rails as well."

If you havent heard of it, find out about a book called "The Dip" by Seth Godin (http://sethgodin.typepad.com/the_dip/). It's about mastery, and why you don't want to be 'average'. If Rails (or MonoRail, or Ruby) becomes mainstream then they start down a slow road to mediocrity...

A lot has been said about the attitude of the Rails crowd to other platforms, but that's part of why people like it, and the reason for it's continued niche status.

Mark D.: "I can't say I've *ever* seen the Alpha crowd push a market"

If you take the Rails crowd, it is very much pulling a market. The market is "small webdev companies" with limited time to build quality solutions using their old platform PHP. They get lots of well integrated tools with the platform eg. unit testing, deployment). Some popular sites such as Twitter may use it, but only a very small number are that popular, or ever need to worry about scaling to that level.

Don't kid yourself that scalable platforms, are always more important than getting an application out the door and being able to maintain it easily.

I'm interested in hearing how SubSonic fits into this discussion. I know it's outside of the "Microsoft vs. Alpha Geeks" discussion, but it's germane to the "RoR and ASP.NET" discussion.

Disclaimer: I'm a huge fan of SubSonic and a sometime contributor to the project, but I'm not just bringing it up here because I like SubSonic. Rather, I like SubSonic _because_ I think it answers the "how do the RoR values" fit into my world as a primarily ASP.NET developer.

As others have noted, there's little to gain from trying to directly replicate RoR on the MS stack. If you're going that far, why not just do RoR and be done with it? I really like the way that Rob and Eric have worked to provide the end results which make RoR appealing - simpler code, quicker development, etc - but have built it in the context of the existing ASP.NET stack, so we get to continue to use the controls, libraries, IDE, and corporate acceptance which have made ASP.NET a compelling platform to date.

I'm currently working on a small project with two other developers who haven't used SubSonic before. I am blown away by how quickly this project is progressing, and by how clean the code is. One measure of the code quality is how homogeneous the business logic is - I can't tell which developer wrote specific methods or pages by their individual coding style. We're having fun due to the speed we're able to get this done, and the code is really clean. I'm getting the feeling that we're getting the benefit of RoR style development without having to throw out our ASP.NET skills.

You know what kind of idiot you are to look up to others before adopting a technology. Now that kind of pointy haired boss, paul graham talks about in his essays. I am not trying to be harsh, but so what Martin fowler and thoughtworks are doing rails? I mean, how exactly does this help your programmers?

Its like, you are talking, geez thoughtworks is using Rails, it must be good. So, you will start using rails, and hire a bunch of idiots for coding and then abuse shit outta rails, because it will not work for you. Projects doesn't fails because of languages or frameworks, it fails because of crappy project managers and coders.

@Jeff:Twitter has solved their scaling woes man. You must be beating dead cow.

gnufied

Monday, May 21, 2007 9:04:28 PM UTC

[pfft]

Yes, there are cool things in Rails, it tickles your fancy... you could say the same about Squeak. On the flip side, one of the top 10 features of Rails 2.0 announced during DHH's keynote at RailsConf was that debugging actually works.

Console debugging.

Many bandied-about Rails extensions/addons/etc are things that ASP.NET had years ago. Scott, you know there's more reason why Rails isn't being picked up in the enterprise than just hosting comfort... if all it took was the shiny factor, we'd all be beholden to Apple (or Zombo :) by now. Rails is great for some Web 2.0-ish stuff, but by other measures it's far from complete.

I see the alpha geek factor as being a bad sign to some extent. The high alpha geek quotient points to something that you're not seeing at RailsConf, which is the average Joe developer. Most developers aren't alpha geeks. Widespead adoption depends on the average Joe being able to pick it up. (See HTML, VB, PHP, SQL, etc). Rails is where it is mainly from developers jumping ship from Java and PHP. They're not growing the market like VB did. I am not convinced that Rails has what it takes to move beyond and break out of its niche. Running Rails on .NET and IIS doesn't change that either, despite how geeky cool it would be.

Now to more directly respond to your question, many of the people I consider to be alpha geeks on the Microsoft side of the fence are very excited right now about things like Silverlight, LINQ, IIS7, PopFly, and the DLR. Just look at the stuff released last year in .NET 3.0... lots of geek fun in that goodie bag. I don't see these people going somewhere else for their geek goodies. (I actually see the opposite... there are so many cool things that have come out from MS in the past 1.5 years it's a strain to absorb them all.)

But so what? I understand your focus on alpha geeks being one yourself, but you're talking about the platform, and the alpha geek factor is a piss-poor measurement to predict success of a development platform.

You know the dev technology I've seen light up more people overall than anything else? XNA Game Studio Express. Alpha geeks, enterprise devs, hobbyists, you name it... and it was only released 5 months ago. A lot of the interest I see is with high school and college students who aren't even developers (yet) and couldn't give a rat's ass about Rails, ASP.NET, or other web frameworks. Obviously, XNA is not something enterprises are going to use. But not only does it get people into .NET building games, it gets new people building. THAT is a good sign of where .NET is going, at least in my book.

Very interesting discussion here and an intriguing blog post. Probably a lot of us that read about this stuff code .net during the day to pay of the bills and for fun in php / rails / <insert cool language here> at night ? Not that .net isn't fun, but it sure is nice to broaden your horizon and do some fun stuff on the side.

Now to more directly respond to your question, many of the people I consider to be alpha geeks on the Microsoft side of the fence are very excited right now about things like Silverlight, LINQ, IIS7, PopFly, and the DLR.

Yes, there are more exciting things coming out of Redmond these days. Also things like channel9 does improve their image in my opinion.

Anyways, I think it's kind of cute watching a bunch of Rails programmers yammering on about being alpha geeks. Sorry, kids, if you only do Rails, the only possible alpha who has touched your code is DHH, and he's kind of a dick about it.

The best point has already been made: alphas don't use a specific technology, they use a wide variety of tools as they are most appropriate. That might sometimes include Rails, but probably only for internal tools or prototypes that need to be up quickly with little fuss. REAL SOFTWARE(tm) can't sit on a such a shitty interpreter with such piss-poor libraries (and, sorry, Twitter is not REAL SOFTWARE(tm), it's glorified instant messenging that has "scaling issues" only because Ruby sucks so much ass).

Alphas aren't with Microsoft anymore for the same reason. They want the best tools, and MS 'solutions' don't offer the modularity or verifiable quality (in the sense of, can I take it apart and look at it myself?) that open source as a whole gives. OSS does falter in places, like consistency and support, but it isn't like MS really has an advantage there: for every good thing that MS does (CLR, maybe? I dunno.), they do 1 or 2 mediocre things (the actual apis for said CLR), and a truckload of horrendously awful things (SQL Server, Vista as a whole, Exchange, IE, etc), and the support is decent only if you need your hand held (try getting gory implementation details about why your database is choking when it tries to release a lock on the last day of months with 5 Tuesdays, and you're SOL).

In any respect, fuck Microsoft, nobody important wants or needs them anymore.

Doug Hanselman

Tuesday, May 22, 2007 9:16:15 AM UTC

Oh, hey, I should have Googled you before posting that last comment. I didn't realize you were a paid MS shill, you did a fairly good job of coming across as actually concerned about the issues you discussed. Sorry about that "fuck Microsoft" bit.

Doug Hanselman

Tuesday, May 22, 2007 9:39:17 AM UTC

What's hilarious is watching PHP scripters think they are alpha geeks because they've done a little Rails. Ruby is not an alpha geek language. Haskell is, or maybe Common Lisp, but definetely not Ruby.

Move along dorks, you're not alpha.

David Hartman

Tuesday, May 22, 2007 9:41:53 AM UTC

In any respect, fuck Microsoft, nobody important wants or needs them anymore.

Doug Hanselman, you're just another loser that thinks you speak for people while wallowing in your open sores.

David Hartman

Tuesday, May 22, 2007 10:05:35 AM UTC

Open sores, that's good. It's like a pun. I like it. Anyways, David, if you want or need Microsoft anymore, I will retract my statement.

Doug Hanselman

Tuesday, May 22, 2007 4:46:34 PM UTC

This comment thread was very interesting and was moving along nicely until swearing and hyperbole started. It's a shame we can't talk about our "religious" views without eventually insulting each others religions.

@DougHanselman I'm not a paid Microsoft shill, I'm not sure what Googling told you that. I work for an online Banking company that uses Microsoft products. I also worked at Nike and did Java. I'm not a religious zealot, I'm a software engineer trying to be productive.

I'm sorry, I retract the "paid" from "paid shill", then. The fact remains: you've participated in one of their lame marketing gimmicks (for several years on end), you've accepted a title and a pittance, you've written articles for MSDN, and you've conveniently ended a blog entry about top developers leaving MS with a stupid idea of opening a community around DLR so that these developers come back to Windows. And yet, your response to me was that you simply used their products.

Do you know what the word "shill" means? Posturing like you aren't affiliated is a giant step in that direction.

Anyways, some points:

First, nobody cares if MS opens up the DLR. All of these languages already have open communities, so if a developer actually values openness, they are already being served. Most people are smart enough to realize the only motivation MS has in this is to try to con them back to Windows, and most people aren't stupid enough to say "I like open communities" and then tie themselves to the antithesis of an open platform. You bring up the Java model as if it's equivalent, but there's a huge difference: I can run GPL'd Java on Linux, Mac, Solaris, BSD, Windows... the JVM is the platform, rather than a loss leader like CLR would be for MS.

Second, I acknowledge that MS actually has some decent technology, sometimes. That's beside the point. If I get on the platform to take advantage of IronFoo, then I'm also on the platform when Trusted Computing goes mainstream, when the inevitable horrible security failure happens, when MS decides they're going to arbitrarily ignore widespread standards, when they take an extra 5 years to ship their flagship product with only half the features, when they wield trivial software patents like weapons, when they abuse their monopoly to stifle innovation, when they use their clout to suppress open data formats.

Finally, you act as though my first post had zero content, simply because I dropped the f-bomb. Grow up. We aren't in the third grade. You completely ignored: MS solutions tend to be less modular than roughly equivalent OSS solutions, meaning you end up shipping products with more bloat than is needed, meaning you waste resources and broaden your security exposure. MS solutions aren't verifiable, in the sense that I can't check the code myself, except in some cases by going through a costly and time-consuming process that introduces exposure to legal liability. MS quality is no more consistent than OSS, I gave a whole list of products that suck pretty well wholesale. And finally, MS support is only decent in those cases where a true Alpha Geek (who we're supposedly talking about) wouldn't need support in the first place.

Doug Hanselman

Wednesday, May 23, 2007 12:38:14 AM UTC

Finally, you act as though my first post had zero content, simply because I dropped the f-bomb. Grow up. We aren't in the third grade.

You missed his statement.

It's a shame we can't talk about our "religious" views without eventually insulting each others religions.

Your basically insulting both fans of Ruby since it's a "weak" language, then attack Microsoft with the same FUD that FOSS uses. Yes, FOSS has their own agenda and opinions, and statements like "lame marketing attempts", complaints about code bloat which is false, and complaints about the "abuse of the monopoly" which is false. The other posters are debating the pros and cons with realistic statements on why Ruby has a buzz.

I think that's what Scott was referring to.

JRT

Wednesday, May 23, 2007 12:44:50 AM UTC

I respect your point of view, but I'm not sure why the marketing program matters. Martin Fowler is a MS Architect MVp just like I am, does that ruin his credibility also? Is he a shill for M$FT?

Maybe I'm a little reactionary about the f-bomb, I'll accept that criticism, although I'm not sure how often swearing in a professional situation at work is justified or helpful.

Help me, sincerely, learn more from this conversation...how are Microsoft solutions not easy verifiable? Because the source isn't available?

I ended my post suggesting that the DLR have a community built around it because it seems that'd be a useful thing. I'd like to run Ruby faster and on my chosen (today) platform. I'd like a better factored Boo, I'd like VistaSmalltalk running on the CLR.

Bloat false? Okay, I'll remember that next time I remote desktop into that web server and fire up my management app. Abuse of monopoly false? They were convicted, so even if you disagree, in the legal sense, it's as true as it can be. As for linking to Joel Spolsky as if he were an authority: come on, really? Stop reading bloggers and start digging into the tech.

And I didn't say anything at all against Ruby the language. I don't really like it, but I won't claim its bad. The Ruby interpreter, though, sucks. Really bad. Same with the libraries, with the exception of the Rails ecosystem. I'm not the first or only to say this, and I don't think many people who actually have a clue would disagree. In fact, the whole reason that IronRuby is appealing is that it bypasses that horrible interpreter and gives access to the .NET libraries. Were you asleep for that part?

As for FOSS "FUD": "Trusted computing" means MS can decide what runs or doesn't run on your computer; that's actually the whole point. They spend millions lobbying Congress and the states to prevent the adoption of open document standards, because being able to process data with a wide variety of tools threatens their market dominance for office applications. If it doesn't inspire fear, uncertainty, and doubt that Redmond can choose what you can do with your computer, and whether or not you can access your data, then I think the problem is with you.

Doug Hanselman

Wednesday, May 23, 2007 2:18:33 AM UTC

Regarding bloggers, don't dismiss them. The bloggers I read are based on what they wrote. Joel wrote the Excel Macro Language at Microsoft before leaving and starting his own company, wrote successful packages and books. And he's shown to be critical of Microsoft. I'm here because I read Scott's Windows Power Tools books. Rick Chapman's "In Search of Stupidity" book really identifies why Microsoft got to their point and mostly points out the other mistakes that the others made.

JRT

Wednesday, May 23, 2007 2:21:32 AM UTC

My goal is to be Microsoft free.If we go with rails it will be on a a linux server.Using a MySql database.

Development has no room for definitive statements of that nature. Developers should all be pragmatists, you use the tools and solutions that best resolve your problems.

By excluding Microsoft technologies from your repetoire, you have effectively declared yourself unwilling to use the best solutions available, as you can now only select 'the best solution from a self limited set.

Alpha Geeks, and the rest of the development world, should alway be pushing the envelope with the future in mind, just a very few of us actually have the luxury of not having to deliver a real solution in the present.

Ruby and Rails dudes are so yesterday. The young talented developers on my staff have long since moved on from such old school web development paradigm and are now doing RIA web apps ala Flex 2.

You dudes are already dinosaurs even before you could really became relevant.

Either that was meant to be sarcasm - or you totally missed Silverlight and the DLR ... Flex2 just became irrelevant too ... now you can have your RIA web apps, using JS, Python, Ruby, VB, C#, Cobol, or pretty much any other language under the sun, or for that matter all of those languages at once.

No offence, but you fall into the dinosaur bracket yourself, by yet again dismissing tools at your disposal, before evaluating your requirements. RIA may be an aspect of the future direction of the web, but to think it is the only future is short sighted and blinkered at the same time.

That is precisely why you aren't, nor could ever be an Alpha Geek ... (Casey)Well Casey, I remember VB version 3.0 using vbx controls.Where is that tech now?I remember QB - where is that now?I remember when Microsoft supported java and I bought their ide for java.Where is that now?I remember when Bill Gates said he would piss on java all the way.How microsoft would embraced it to change it and make it irrelevant.Then microsoft came up with C# - a new tech that copied java when they lost in court with Sun.Then came up with .net their new java want-a-be.Lets view their new tech.silverlight - copy of Flash or Flex - take your pick.the whole development cycle for the web - a take off of Adobe.Their desktop gui - take off from the mac.

By the way , how can us use php and asp together?Or jsp with asp or php?There is only so much time in a day, at some point one must choose a path.

I noticed that your web site is based on asp.If php where more cutting edge technology, how long would it take to move your website to php?You have a bias as well.My bias is based on experience with Microsoft.

As of now I use php and java and looking into ruby.As for ide, I have used Micros solutions, including C++ as well.Right now I use netbeans and eclipse.Have you used netbeans or eclipse?My text editor is bbedit for web, however will move php to jsp or rails.

By the way Netbeans is the most cutting edge ide i have ever seen,and would take a small book to explain it.

I still think you miss the point entirely Randy ... you don't use the most appropriate tool, you use the one you think is best based on past experiences (which many reasoning observers migth say were more than a little biased).

So you don't like 'Microsoft Technologies' - and yet you have used only a small fraction of them, and clearly don't understand most of them, or even the 'alternatives' you claim to prefer.

A simple example, you claim Silverlight is a copy of Flex or Flash ... even 5 minutes browsing the SIlverlight web sight would tell an average developer that not only is it a Flash/Flex killer, but it is almost a quantum leap ahead. If I were the person in Adobe that spent millions over the past few years on developing Flex, I would be seriously worried about my job when my boss finds out how far ahead MS just stepped. Sure, Adobe will catch up, and maybe Java will catch up with C# one day too. Until then, I will be using the right technologies for the problems I have to deal with today, and should that require a RIA, then there's more than a small likelihood that Silverlight will be far more suitable than Flex.

Personally, there are some MS technologies I detest, but I'm not blinkered enough to try new versions of them when they appear, nor blinkered enough to state something as dumb as 'My goal is to be LAMP free!'

I appreciate your point - CaseyMy point really is that Microsoft has tried to put barriers on new technologies.For example:Linux and Macs have open source already installed, such as java,php,ruby,pearl and the Apache web server.Also with Eclipse and Netbeans ide, one can download plugins for many languages and technologies making it easier tochoose the right database or tools for the job.Visual Studio could be, but will not give these options.Eclipse is working on plug ins for php, Netbeans working onplugins for popular scripting languages such as(javascript,javaFX,ruby).

If we are going to take the stance of the right tool for the right job, how does Microsoft fit in?

As of now Microsofts suite for web development does not include php, so how can we use a pragmatic approach,or any approach other than Microsofts approach?

Perhaps this is why Microsoft is losing the API wars , and Alpha Geeks..If Microsoft supported open source they would have already won.

The fact that ruby is now ported to the Java platform will have a big impact on web development and even desktop progs.Just think out of the box...Could .net or c# be ported to the java platform and then run on any OS?

When I say our goal is to be Micro free it does not mean we will.However, if Microsoft continues on its present course we will try harder.

Casey, I think your a smart guy, and maybe you are right.I just see things a little differently.

Microsoft does not provide a PHP option, becasue it sees no commecial demand for one, should others see one then nothing that MS do prevents you using PHP. Microsoft VS2005 does not have the option to edit Boo, because it is not in the vision for MS, but again that does not stop you using SharpDevelop.

Conversely, an Apple Mac using OS X doesn't give me an editor capable of editing C#, unless you count the rather poor addin for Eclipse. And even if it did, I can't edit ASP.NET pages.

Whichever platform or framework choice you make will limit your options, all I am saying is I haven't discounted one complete suite of tools before I even get to that point.

The current project I am working on will use: ASP.NET, C#, JS, C++, Windows Servers, SQL Server, WebSphere, Java, Linux, Oracle, and half a dozen mainframe and legacy systems. That is the reality of providing solutions for now, versus theorising over which is the best solution (which is what Alpha Geeks do)

For what you do you definitely need all the tools.You have convinced me look into it more..but not convinced totally because of Micro's past.

I was wondering.What if you owned a company that was growing and was not embedded with big legacy system.The company increased sales and moved to the internet.Thinking of going to the next level and had sale reps in other cities and reaching out to the Spanish market.Had to have Macs for design and print production.Needed local networks,internet , and intranet.You had to pay for all server fees,database,software,and wages.Which way would you go?(ie: it would seen to difficult to embrace Micro and Netbeans (or Ruby) at the same time , especially if you could choose- would you agree, I mean would it not be more efficient to have one code base?)

What if you owned a company that was growing and was not embedded with big legacy system. The company increased sales and moved to the internet. Thinking of going to the next level and had sale reps in other cities and reaching out to the Spanish market. Had to have Macs for design and print production. Needed local networks,internet , and intranet. You had to pay for all server fees,database,software,and wages. Which way would you go?

Firstly I don't see why you would have to have Macs for design and print, but assuming you had to, what application running through a browser would require a Windows client? Even if you can't write a decent web app that works ok on IE, Firefox and Safari, you can use Silverlight and not worry at all about the client.

And having been in that position, I would choose Microsoft every time ... the 'and had to pay the bills' bit secures that one.

Microsoft tools are common, and relatively cheap. I can hire people by the cart load that know Windows tools, and developer that know Windows development tools.

Remember, the cost of ownership of a system is not in the hardware or software, but in the people you need to pay to work on it. And the rarer a skill is (and PHP is very rare to find a commercially competent programmer for at least in the UK) the more you pay.

So businesses choosing MS over Open Source is a perfectly viable business decision. Because Open Source may cost me 1/10th of the installation costs, but my ongoing staff and support costs will be just as high, if not much higher.

A good example would be IBM or Sun ... they make nothing fom selling software these days, they give it all away. All of their money comes from giving software away, knowing full well you will need to pay them to develop and support that platform afterwards. That system I'm just about to start working on, has seven figure sums going to 2 or three suppliers, for giving us free software. The internal budget is significantly less for more of the work.

Casey - thank you for your input.We will do more research before implementing.

The reason for Macs is that Macs are to print as Micro is to the spreadsheets.(can't think of a better analogy)Postscript 3 is the engine that drives digital and offset printing. Not my choice - just is.

It has been fun, and informative.I will look into Siverlight in depth, as well as Microsoft new Suite for design and web(it is cheaper than Adobe).Our business is print and design. But the way of doing business has changed.(i have 30 years experience in this)We have an employee time,material,and reporting system in java, but could be recoded if it would run on macs as well as pc's. We do have a couple of Window machines.

It would be too difficult for us to use Netbeans ide, and Visual Studio. We need to pick one because I like to do other things besides work and learning new languages just because its new.I already work all the time.

I will check this site a few more times, but have to go do some research, and work. Also bookmarked your site.

For what it's worth, I'd like to add another data point to the alpha geeks/Microsoft post. I just graduated from college, and consider myself an alpha geek. In my job search I declined to apply to Microsoft, despite having contacts there and a good chance of an interview, because I'm simply not interested in what they're up to. ASP.NET seems like a blind alley to me (no offense intended), Vista doesn't excite, and Silverlight? Well, I don't know. Obviously I'm young, and no expert. But even if their technology was thrilling, their politics certainly aren't, and this latest patent brouhaha is an excellent example of that.

I was a Java programmer for all of my college co-ops, and learning about Ruby/Rails changed my life. So I'm doing that instead.

thank you brian.After a day of searching ebooks and looking into Micros solutions, i will next tackle ruby.Here is may final note.. As an artist type i read a book (maybe 10-15years ago) called The Art of C.And it change the way I look at programming. Is programming an ART or a SCIENCE. Maybe both,but as in the Impressionist era, Science and Art became blurred. And color theory of Science was best expressed in art not a mathematical expression.I have known Scientist who loved art and science.And there are artist who love science as well - lets not leave out the musicians. I knew of a friend who's best friend was a concert violinist , got in an auto accident and could not play anymore. She became a programmer. No degree in science. Point - programming is an abstract way of thinking which is what all science, math, musicians, and artist do.Therefore does Micro help or hinder? Casey is all about fixing things, and making them work, and for that he will always have to know many programming languages and configurations. For me, I just want to CREATE without all the obstacles. I don't care if Micro, Sun, or IBM make money - I just want to create without being sued. Just think if Music and Visual ARTS where patented. I had to pay a royalty because that TABLE looks too Van Gogh. Or that music had a line of Mozart.Perhaps i am just too far out of it (i must just be a dreamer).

You claim to be such an expert on all technologies, but your 'winners' are all MS products. Notice that all the Alpha geeks left after your paid rants!

Paul

Wednesday, June 06, 2007 12:43:10 PM UTC

'shill'... 'M$'... 'paid lurker'...

Did somebody post this blog entry on slashdot?

commenter

Wednesday, June 13, 2007 3:28:26 PM UTC

Wow, the conversation definitely kicked off.

On ROR, I find it interesting but it seems most appropriate for getting a quick Web application going from a nice database without much business logic. Thats the way I see it anyway.

What bothers me about the whole ROR discussion on in the MS related blogs at the moment is people seem to be losing their heads (though this blog is an exception) over how great ROR is. Thats fine, I'm sure it is wonderful, but I think we also need people to take a step back and see where the technology and process is appropriate.

Hmmm ... for those criticising Ruby on Rails, try doing a small toy app one weekend in it - following the Agile Web Development with Rails book should do it nicely. What you will see is a way of building websites that removes the artificial abstractions Microsoft built into Visual Studio and .NET for WinForms developers and show you how your applications can remain light in code, both on the server and client sides.

I work in .NET, but play in Rails, and other languages when I have time. Getting some experience outside the MS-stack can be a good thing. It shows you good ideas from elsewhere that you can re-use in .NET to make your .NET better.