
I Smell Smoke - Rob Conery on Microsoft - javery
http://blog.wekeroad.com/2010/06/21/i-smell-smoke
======
pragmatic
This is a religious war. However, innovation in the C# language places it as
the most advanced production level language on the market (IMHO).

Form validation (client and server side with the same code) is still a killer
feature. Easy deployment as there is only IIS, no decisions about fcgi,
mogrel, keeping your processes running, etc.

I don't really see his point. You've got one of (if not THE ) best IDE's with
easy debugging, intellisense, etc. You've got a super stable platform (IIS 7),
some of the best documented API's and code in existence and you want what?

I guess I don't get what he wants? Is there some missing feature or just sad
that he can't be one of the cool kids?

~~~
bad_user
> _innovation in the C# language places it as the most advanced production
> level language on the market (IMHO)._

On a scale of 1 to 10 of vagueness/subjectiveness, this would be a 30.

I like the new additions, like Linq or the properly done closures or generics.

But throwing words like "innovative" or "advanced" for techniques used from
the late '70-ties brought together in a language with the same corporate-
stinch of Java or Cobol?

Yeah, right.

> _Form validation (client and server side with the same code) is still a
> killer feature._

Form validation is a hard feature to get right. I do not agree that the
validation done in ASP.NET MVC is a "killer", especially since I've hit hard
limitations in the first hours of me trying it.

In case you're wondering about what limitations I'm talking about ... try
building a dynamic forms system that gets stored in the DB (fields, references
to validation rules) allowing a user to build some forms and for another user
to supply values for those forms.

The only validation system I've seen that's reasonably productive and that
works in most cases is the one in Django, but even that is lacking considering
you have to add your own code to have client-side validation and keep it DRY
(although that happens due to Django's policies, not due to bad design, and
really it's not that big of a deal to add something that works well in most
cases ... bringing server-side validation to client-side is an easy to solve
problem, unless your framework is fucked-up).

> _Easy deployment as there is only IIS_

You are probably kidding, although I'm happy they finally discovered the
virtues of text configuration files.

> _no decisions about fcgi, mogrel, keeping your processes running, etc_

Not every platform is as fucked-up as Rails ... mod_wsgi for Django (or any
wsgi compliant Python framework) just works with no headaches.

It takes me 20 minutes flat to manually get an EC2 instance up and running
with everything needed. And I can quickly automate that in a way Windows devs
cannot begin to dream of.

> _You've got one of (if not THE ) best IDE's with easy debugging,
> intellisense_

Sometimes I miss that, but not that much, mostly because I need the
flexibility to use the best tool for a certain job, not to mention that
sometimes I don't have a choice in the tools I use.

That's why I'm using Emacs ... the flexibility I gained made me several times
more productive than a clicky-clicky IDE.

If you don't believe me, try working with Python from VS.NET, while using
pychecker/pylint to automatically check your code (let's say it's a company
policy) and to also use ReviewBoard in combination with a Git repository.

Or better yet, try debugging with VS a production environment.

> _some of the best documented API's and code in existence_

In comparison with Django it pales.

Not only does it have good documentation, but when it's lacking the clarity of
the actual code is breathtaking ... yes, devs using Django are actually
looking at its source-code and I have quite a few friends developing on top of
ASP.NET ... none are doing that.

Maybe it's a cultural thing, maybe it's because ASP.NET is proprietary, the
end-result is the same though ... the Django devs I know have intimate
knowledge of Django's internal mechanisms, while ASP.NET devs do not.

> _Is there some missing feature or just sad that he can't be one of the cool
> kids?_

HN has degraded a lot recently. I see many comments containing ad hominems
that are getting upvoted.

Pity.

~~~
rbranson
> Not every platform is as fucked-up as Rails ... mod_wsgi for Django (or any
> wsgi compliant Python framework) just works with no headaches.

erm... Phusion Passenger is the deployment platform of choice for Rails (Rack)
applications. It's even easier than mod_wsgi.

~~~
bad_user
Nice ... had no idea about Passenger. While working on a Rails project 2 years
ago, had to wrestle with a Mongrel cluster and it wasn't nice.

Thanks for the tip,

~~~
rbranson
Yes, it was admittedly a nightmare back then. Passenger is amazing.

------
jpcx01
I smelled smoke 4 years ago and promptly evacuated (to rails). Rob Conery was
always my favorite asp.net open source dev, I hope he's able to teach the
Microsoft community what exactly they are missing.

~~~
redstripe
That article taught me nothing about what I'm missing. Why write something
like that and not fill it with examples? Show me what you can do in rails that
is a pain in asp.net mvc.

~~~
regularfry
This is an honest question, not snark: has ASP.Net MVC got anything like
cucumber available to it out of the box? Or rubygems, for that matter?

I did suggest to Sara Ford at a MixUK conf a couple of years ago that a Visual
Studio plugin that would search for and import projects from CodePlex straight
into your project would be pretty awesome; I never followed up on it, and I've
been out of Windows dev since then so I haven't heard if anything similar
exists. I still think it would rock :-)

~~~
squidsoup
_> has ASP.Net MVC got anything like cucumber available to it out of the box?_

Cucumber isn't strictly speaking out of the box - it's dead easy to install of
course, but it's not part of the rails core distribution. Rails still uses
Test::Unit by default.

Specflow (<http://www.specflow.org/>) is a .Net oriented BDD framework that
uses Gherkin - essentially Cucumber for .Net.

------
andrewdavey
You can try to stream the video from here: <http://streaming.ndc2010.no/tcs/>
The server seems to be overloaded right now though.

There is a torrent of 33 talks from NDC2010:
[http://dl.dropbox.com/u/757631/NDC2010/NDC2010%20Part1.torre...](http://dl.dropbox.com/u/757631/NDC2010/NDC2010%20Part1.torrent)
Rob's talk is in there.

~~~
portlandFan12
For people looking at the torrent, Rob's talk is the one named "The Next Big
Thing Or Cool-Kid Koolaid Slicing Through .mp4"

------
dasil003
This is a great example of why I'm wary to get into iOS development. Companies
like Apple and Microsoft have the resources and talent to make great
platforms, and the control they have allows for really polished tools. The
allure of the integrated ecosystem is strong, but then if they fall short in
some critical way, or become irrelevant over time you have to either start
begging the vendor for change or else chuck your whole time investment.

In the open source world things are often buggy and rough around the edges,
but the cross-polination of ideas happens faster, coupling is looser, and the
cost of switching is lower.

I'll still probably pony up for the damn ipad sdk, but hopefully I'll know
better than to pin my career on it.

