Leaving .NET is a clueless thing to do

Every so often, someone writes an extensive blog post about why they left the .NET framework for greener pastures.

Invariably, the blog post contains complaints about other .NET devs’ inability to see beyond Microsoft Wonderland.

I agree with that complaint. Indeed, many people who code C# are wildly uncomfortable using open source projects, text editors, command lines, and so on. This is a problem and it’s bad for the .NET ecosystem.

What people should be doing, instead, is use the Microsoft goodies when it makes sense and something else when it doesn’t. For example, instead of using ASP.NET MVC, it’s perfectly possible to make a web app with a C# backend running on Mono, talking to a Postgres server and a custom Javascript frontend. Nobody says that if you code on .NET, you have to do it exactly like Scott Hanselman does it.

Similarly, when C# or .NET are simply not the best tools for a job, don’t use them. Quick prototypes may be much easier to churn out in Ruby. Self-hacked TCP protocols might be much easier to serve with Node.JS.

What itches me is that all these people who complain about this in their .NET-post mortems are doing exactly the same. What in the world does it mean to “leave” .NET? I didn’t code Python in the last 5 months. Does it mean I left Python? Should I now write an annoyed blog post about all the things that are wrong with Python and its community?

Of course not – despite its shortcomings, a lot of stuff is good about Python, and exactly the same holds for .NET. In fact, as Microsoft itself is opening, the navel-gazing parts of the .NET ecosystem may very well follow, at some point.

C# is great for many purposes. For example, with C# 5’s async/await syntax, it’s one of the best options out there for high-performance asynchronous code. Just like Go has become a go-to language for high concurrency, C# may very well become a go-to language for high asynchronicity. Don’t ditch it just because an earlier career mistake means you never want to write WebForms again.


Cool chemistry projects!

GitHub launched a new thing called GitHub Education. I bet it’s really cool, but that’s not what I want to talk about today. The front page looks like this:

GitHub Education blackboard with cool chemistry set

See that chemistry set there on the left? It looks so awesome! With tubes and big spherical bowls and steam and fire and bubbles, wow! Can I send my kids to a school that has that?

School projects in media are often drawn like this. Sherlock Holmes has a similar setup in the middle of his kitchen. But has anyone ever done anything that remotely resembles that in school? I know for sure I haven’t. Our chemistry projects looked like this:

Boring bunsen burner with test tube

Indeed, a test tube. Ok, and some heat, so at least we had danger. But still, boooring.

And, that makes me think, why not? Wouldn’t chemistry class be a lot more fun if we could make it look cool? Even if the experiment doesn’t need for some fluid to flow from bowl A to glass B, can’t we still make it? Maybe this is just the LEGO fanboy in me talking, but I feel like there’s an opportunity here!


Well, it’s almost 2014, I heard that blogging is the hip new thing young people do on the internets, so here goes! The idea of this blog is to not hold back to much for writing things. Anything that doesn’t fit in a tweet, goes here.

I chose WordPress because they support pasting code, see:

parse read http://www.rebol.com [
  any [
    thru "A HREF=" copy link to ">" (print link)
  ] to end

Code. Lovely.

They do markdown too, actually. And pretty decently, including all the Github Flavored Markdown goodies n’all. nice!