Hacker News new | ask | show | jobs
by antihero 4823 days ago
Until Mono becomes 100% supportable, none of the advantages of .NET outweigh the misery of having to use Windows for development and serving.
5 comments

I've put my foot down as long as I could about the joys of developing on Windows. But, since I've moved onto doing PHP and Python (with sprinkles of Ruby) full-time, I can't any longer.

Windows has come a long way in terms of development of non-.NET languages. But, there are still too many idiosyncrasies to function as a full-time platform for many languages.

Seems like my base need for Photoshop will push me to Mac sooner than I'd like.

care to name examples ? from my experience, especially when doing web development, the OS your tools run on does not really matter anymore.
A number of Python and PHP extensions either aren't up to date or don't work at all. Memcached comes to mind.
i run my dev enviroment in the cloud on ubuntu vms, just my editor and terminal client are on windows or osx if i happen to work on my laptop. So the OS doesnt really matter. If you run everything on the local machine, sure windows might not be ideal, but i dont consider that good practice anyway.
Mono is as "100% supportable" as any other open source stack, including Node.
Um. Mono supports just about everything these days: http://www.mono-project.com/Compatibility

There is a reason why people are using it to simultaneously develop for Win, OSX, Linux, Android, iOS, XBOX, Wii, etc....

Its not only that. For me, Visual Studio, the best single piece of software ever made, should be made available too - which unfortunately probably ain't gonna happen. It just saves so much time and makes the process such a breeze, that it was what converted me to windows to begin with...
Visual Studio is the greatest set of training wheels ever made. Beautiful, shiny training wheels that let you coast along and drink and eat without worrying about falling over. The people using the training wheels just don't understand why the big kids flying by on only two wheels would ever do such a thing. It's so much harder! I don't want to make my life harder. I have code completion and fantastic syntax, error detection etc. Why would I give that up and make my life harder? But when you give it up, you soon start to learn to find the errors yourself.... your memory picks up again. Think about how many phone numbers you knew before you stored them all in a cell phone. Think about how many you know now....

Every tool user will think tools more complicated than there's are ridiculous. Visual Studio users will think Sublime Text users are morons who are making their lives harder for no reason. Sublime Text users will think this about Vim users...... but my analogy:

Visual Studio: training wheels Sublime Text: fat tire 5 speed bike Vim/Emacs: 21 speed skinny tire Tour de France bike

I'm not sure many people would use Vim/Emacs in real life. I don't know... maybe some people... certainly not pros.
so what you are saying is that the many brilliant game programmers, including the likes of John Carmack or Tim Sweeny, dont know what they are doing ? Not everyone in IT is writing dead simple CRUD web apps using scripting languages, but those guys seem to have the biggest egos...
Honestly, what percentage of Visual Studio users are building game engines, vs. using it for building ridiculously overwrought MS apps that achieve the same functionality as a dead simple CRUD app (I'm looking at you Sharepoint)
Why did you go to all that trouble to make an analogy when you have no evidence to back it up?
What do you mean by supportable? I was happily using mono for a number of custom servers in a similar way a couple of years ago. You don't need any huge frameworks to make mono really useful.
What, you mean, unless you're doing something useful like trying to write a web app?
Writing web apps may seem like the only thing people do lately, but it's not. Given a choice of a number of languages and runtimes available 5 years ago for example, .net/mono was a perfect choice for a daemon dispatching jobs to a number of usb dongles where having a good ffi (p/invoke), nice io abstraction, async actions and database interface was important.

This is something you write from scratch. No big frameworks are involved. If I ever find I need MVC.net, I'll probably go with a completely different language.

What if you already have code written in MVC.NET?
I couldn't get an ASP.NET 3.5 app running a while back.