<story><title>Why Ruby?</title><url>http://www.codinghorror.com/blog/2013/03/why-ruby.html</url></story><parent_chain><item><author>jongalloway2</author><text>I&apos;m happy you did something different, even though your reasons are of course all wrong. I do wish it had been Node and not Ruby - JavaScript fits most of your reasons for going with an open source stack a lot better than Ruby does. Why not Node was the post I was hoping to read.&lt;p&gt;But back to why you&apos;re wrong on the internet:&lt;p&gt;1. .NET licensing isn&apos;t complicated, SQL Server is. There&apos;s an easy fix for that.&lt;p&gt;2. I don&apos;t think StackOverflow really participates in the best that the .NET open source world has to offer. From the information I can read, you (and team) published a lot of the code you wrote under open source licenses, but as far as I know the StackOverflow stack didn&apos;t really interact with many (any?) open source .NET projects that weren&apos;t run by StackOverflow - e.g. writing MiniProfiler instead of working with Glimpse, working with Mono, etc.&lt;p&gt;3. There&apos;s a lot that&apos;s changed in the .NET web space in the past year as they&apos;ve moved from just releasing the code (see 2 above) to accepting pull requests. This has resulted in a good amount of accepted pull requests - community contributed features which ship &quot;in the box&quot; and are officially supported by Microsoft. Sometimes that&apos;s lines of code, but more often it&apos;s integration of popular community libraries. If anything, that trend is accelerating.&lt;p&gt;(also posted on blog comments, but nobody reads those)&lt;p&gt;Coding Horror Fan,
Jon</text></item></parent_chain><comment><author>mdasen</author><text>.NET licensing is complicated from my perspective.  It&apos;s not about .NET itself, but I have to deal with Windows licenses and choose an edition (foundation, essentials, standard, datacenter), I have to use per CPU or per server licensing depending, I have to buy client access licenses, do I want to buy the software or pay for a yearly subscription, etc.  None of these are insurmountable problems, but it&apos;s a different style of doing things than a lot of us like.  Specifically, it seems like they&apos;re trying to get you to talk to a sales person.  In fact, they have a nice section on how-to-buy Windows Server, I&apos;m supposed to get price quotes, etc.  There are many in the industry that like sales people.  They like thinking, &quot;wow, I just talked to that sales person and I can just ferry the information from the sales person to my organization and my job is done!  I&apos;m the people person!&quot;  For many of us who just want that nonsense to get out of our way, it&apos;s just terrible.&lt;p&gt;Now if a box breaks, I have to order something with the same processor equivalents.  If I want to move to the cloud, I can&apos;t take my licenses with me unless I&apos;m on a Software Assurance subscription.  It limits my options, it takes organizational overhead.  If I bought licenses on the processor model for two servers that I want to combine into one larger (more-core&apos;d) server, can I do that?  Can I set up VMs running it within the box (even just for testing)?  What happens when the next version has a different structure?  VMWare made a large licensing change that switched from CPU to RAM (or the other way around) and it hit people that had gamed their old licensing model hard.&lt;p&gt;Again, I&apos;m not saying that the licensing is impossible, but it is a problem.  With Ruby, I can launch on a $20 Linode or any number of hosting providers.  Heck, with Windows, my cloud providers are limited to Amazon and Rackspace.  Microsoft&apos;s stack has awesome value.  Visual Studio is awesome.  I prefer C# to Java and I prefer SQL Server to MySQL (and to an extent PostgreSQL since it supports things like clustered indexing and with 2012 they finally implemented a good LIMIT/OFFSET).  But those goodies come with a price that&apos;s more than just dollars.  There&apos;s overhead in purchasing, overhead in pre-planning, and limitations.&lt;p&gt;&quot;Why not Node.js&quot; would be a great post.  Without taking anything away from Node, it is different.  If you use Django, Pylons, Rails, .NET MVC, Play (at least the Java side), etc. Rails should feel familiar.  Some people don&apos;t like evented programming.  I think a lot of people don&apos;t like JavaScript as well.  It&apos;s ok in my book, but I doubt it would be so popular if it weren&apos;t the only language that browsers spoke.  Similarly, it wouldn&apos;t be faster if companies like Google weren&apos;t pouring energy into it.  Node.js offers some wonderful benefits.  Event-driven programming with non-blocking IO can be wonderful for many things.  The V8 JavaScript engine is fast.  But &quot;why not Node.js&quot; would really be &quot;why not evented?&quot;  The answer might be something lame like, &quot;well, people are comfortable with MVC and process-based concurrency is easy and we&apos;re not planning on doing something that an evented model would give us a huge boost.&quot;  Again, evented programming is very useful, but it&apos;s also different.  While I think all CS programs should teach concurrency, some don&apos;t and even people who went through such a program don&apos;t always like it.  Processes are simple (even if they waste cycles context switching, even if they flush the TLB).  Node.js has done our broader community a great service by bringing up evented programming and creating a good environment for those who want it.  But the answer to &quot;Why not node?&quot; could simply be &quot;I didn&apos;t feel like evented programming&quot;.  No matter what their differences, MVC frameworks are more alike to each other.</text></comment>
<story><title>Why Ruby?</title><url>http://www.codinghorror.com/blog/2013/03/why-ruby.html</url></story><parent_chain><item><author>jongalloway2</author><text>I&apos;m happy you did something different, even though your reasons are of course all wrong. I do wish it had been Node and not Ruby - JavaScript fits most of your reasons for going with an open source stack a lot better than Ruby does. Why not Node was the post I was hoping to read.&lt;p&gt;But back to why you&apos;re wrong on the internet:&lt;p&gt;1. .NET licensing isn&apos;t complicated, SQL Server is. There&apos;s an easy fix for that.&lt;p&gt;2. I don&apos;t think StackOverflow really participates in the best that the .NET open source world has to offer. From the information I can read, you (and team) published a lot of the code you wrote under open source licenses, but as far as I know the StackOverflow stack didn&apos;t really interact with many (any?) open source .NET projects that weren&apos;t run by StackOverflow - e.g. writing MiniProfiler instead of working with Glimpse, working with Mono, etc.&lt;p&gt;3. There&apos;s a lot that&apos;s changed in the .NET web space in the past year as they&apos;ve moved from just releasing the code (see 2 above) to accepting pull requests. This has resulted in a good amount of accepted pull requests - community contributed features which ship &quot;in the box&quot; and are officially supported by Microsoft. Sometimes that&apos;s lines of code, but more often it&apos;s integration of popular community libraries. If anything, that trend is accelerating.&lt;p&gt;(also posted on blog comments, but nobody reads those)&lt;p&gt;Coding Horror Fan,
Jon</text></item></parent_chain><comment><author>phillmv</author><text>Did you read the post at all?&lt;p&gt;&amp;#62;Ruby isn&apos;t cool any more. Yeah, you heard me. It&apos;s not cool to write Ruby code any more. All the cool people moved on to slinging Scala and Node.js years ago. Our project isn&apos;t cool, it&apos;s just a bunch of boring old Ruby code. Personally, I&apos;m thrilled that Ruby is now mature enough that the community no longer needs to bother with the pretense of being the coolest kid on the block.</text></comment>