Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I started my career working on VB apps, and ASP then ASP.NET websites, using a Windows dev box.

After learning several OSS stacks, I have nothing but contempt for Microsoft technologies. I wouldn't say I hate MS - they are what they are - but I am certainly conditioned to be very suspicious of their offerings. I would never take a job working on a MS stack again, ever.

I currently work for a large enterprise that uses a mix of MS and OSS, and I take every chance I get to swap out the MS tech with OSS. The devs love it and it makes me happy.



''The devs love it and it makes me happy.''

Not all devs. Microsoft tools have contributed to a long, successful, and enjoyable career for me, and I have yet to find an IDE as nice as VS (any contemporary version). The MS toolsets have been mostly good to work with, a few warts not withstanding.

What OSS tools and IDEs are making your devs so happy, and making their jobs better than say, VS 2012? (serious question)


• The biggest smile was moving them from VSS to GIT (+GHE)

• Replacing Windows servers with Redhat has opened up a wealth of automation opportunities

• RoR on the frontend has allowed a much faster development and deployment pipeline (ASP.NET and Java are still used for the high-ceremony stuff)

• Our monitoring and alerting is much more straightforward and comprehensive for the OSS components

• I am so tired of propping up sickly MS servers, the Redhat servers are rock solid straight out the gate

OTOH for large enterprise, Sharepoint and Office integration works very well, that's really the MS sweetspot. I'm also interested in their new ALM offering (TFS), I haven't seen an OSS equivalent as yet. However these are not dev stacks.

I'm not saying you can't do great stuff using MS tech - stackoverflow is proof of that. But I have extensive experience in both worlds, and I'll take OSS any day.


"What OSS tools and IDEs are making your devs so happy, and making their jobs better than say, VS 2012?"

You will believe that I am joking, but Vim, bash, git, grep, gdb, valgrind, llvm and lots of UNIX tools. We use IDA Pro a lot too.

Most of the people that work with me learned with Microsoft tools, myself included but we can't stand it anymore. Why? They are so powerless and limited, specially in the extension mechanism: extending it using your own tools, which basically do 90% of our work.

The main reason for that is that commercial companies can't let you do what you want, they can't let you do what you need like reading the system internals like with linux system utilities(Windows or Apple monopolizes access to it making amazing tools like Numega SoftIce dead) and even reading the source code.

We use VS 2012 and Xcode for compiling Windows and Mac versions of our software, that is mainly designed and tested in pure Unix.


Sure. And we shouldn't forget that Microsoft was primarily a development tools manufacturer for a long time. They have a long track record in such tools.

> What OSS tools and IDEs are making your devs so happy, and making their jobs better than say, VS 2012?

It depends to a large extent on what people are doing. To be honest, I have become so happy with VIM, BASH, base UNIX utilities, and such that I don't think I am ever likely to achieve the same productivity in an IDE. The thing is that IDE's are a fundamentally different paradigm and they make easy things a bit easier, but I think a text processing paradigm is better for the hard problems.


With all due respect you're just another OSS evangelist comparing RoR to Visual Basic, Classic ASP and ASP.NET.

It is a silly comparison but it is so unbelievably common here. Try comparing it to ASP.NET MVC and you'll see that Microsoft actually has a modern and compelling offering. They really haven't sit still since you've been gone.


Quite so~

There is a difference between being keen to see the new features in the next version of .Net, and having Microsoft suddenly decide, actually, we dont care about .Net anymore, XNA is cancelled, metro apps are javascript only now. All that WFC stuff you were doing with windows phone... yeah, forget that.

People invest their time and knowledge in a technology stack, and Microsoft just seem to love throwing things away rather than improving them.

When you set fire to the developers that use your technology, are you really surprised when they don't want to have anything to do with you?

I've only seen this anecdotally, but new developers who haven't yet been set on fire seem to be very positive about the integrated MS stack.

...and slightly older jaded developers who are on fire, and looking for jobs using technology no one cares about anymore say things like 'I'll never use microsoft technology again'.

That's just been my personal experience, but I've got to admit, seeing it, I'm pretty skeptical about investing any more of my time in learning to use MS stack for anything.

...but yes. C# is quite a nice language. I fully endorse the use of Xamarins offerings (ie. C# .Net outside of microsofts control)


The Alt.Net movement is a powerful force; always looking for better ways of doing things no matter where that alternative might come from. So if it's something new from Microsoft, that's great - if it's an approach from the open source world or an alternate language or somewhere else entirely then that's great too.

Xamarin deserves particular mention as the ability to share 80-90% of your core codebase between all mobile phone platforms is just stellar. It makes absolutely no business sense to re-write your core business logic for each platform and in that platforms language. So much less project risk, merge three/four code bases into one. Do it once then implement native UI's for each platform and bind back to the core library? Spot a problem in the core library on iOS? Android gets the hotfix for free. Just ask Rdio ;-)

Other hotness:

- https://www.nuget.org/ - http://www.servicestack.net/ - http://owin.org/ - http://nancyfx.org/ - https://github.com/MvvmCross/MvvmCross - http://research.microsoft.com/en-us/projects/pex/ - https://github.com/swax/CodePerspective - http://signalr.net/ - https://github.com/Redth/PushSharp - https://github.com/Squirrel/Squirrel.Windows

Last but not least:

http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/26/d...


The funny thing is I never mentioned RoR in my GP, so you inserted that comparison in your own head. I'm talking about a complete OSS ecosystem - dev language, servers, VC, deployment tools, monitoring etc. I work at enterprise scale in FIRE, and there is so much more to successful project delivery than just language/IDE.

BTW I had to bandage up a limping ASP.NET MVC app about three years ago for a large Canadian telco. Nothing I saw under the hood changed my mind about MS.


Inserted the comparison in my head or read your subsequent comment that prominently mentions RoR? For a hint, it is the latter.

As for your claim to have "bandaged a limping ASP.NET MVC app about three years ago", you might not be aware that version 1.0 was only released about 4 years ago and that they're currently at version 5.1. How much work with Razor syntax have you done considering it didn't exist three years ago?


I hate when people do that, 'I had to mess with some shitty code and it was made in X, therefore all of X is shitty'

Crappy work can be done in any language/framework


Well, he did reply half an hour after you mentioned RoR. So it's possible that he just chose to reply to your first post because he thought replying to the other one would derail that discussion.

Not that I care, not having used any of the technologies discussed here other than a little VS, that a I liked, and a little VSS, that I hated.


And all latest Microsoft technologies are Open Source as well by the way.


Similar career arc to me but I actually recognize that a company is not a person, it is a collection of people that change. The Microsoft that exists today is far better than that of a decade or two decades ago.

Don't let prior experience prevent you from seeing when great stuff is happening.


This kind of argument appears often in threads about companies not being one entity - but it is wrong. An engineer asked by management to implement enthical program parts can either play along (thereby endorsing behavior) or go home.

A member of the legal team cannot decide to NOT extort e.g. Patent fees from e.g. Android handset makers, or allow e.g. BeOS to be installed by licensed vendors that were forbidden to do so.

A company behaves like an individual, sometimes schizophrenic, often psychopathic or sociopathic. But policy, and reponsibility is not, in fact, up to individual employees.

What you say is true of a group of sports fans, not of a company. And having watched Microsoft's stacking of the ISO committees, patent extortion and chilling effects, SCO proxy war, scathing disregard for industry standards etc - I'll say that I think they have earned all the hate they get here, and then some. The fact they they are not doing as much damage these days is mostly thanks to sliding away from the dominant position - but the culture is still one of bullying.


In what ways is RoR superior to asp.net (besides the fact it is not microsoft?) RoR is still it it's relatively infancy, has security issues, is significantly slower, and good luck finding a good IDE. To the author's point, don't just hate, give some specific reasons why one technology is superior or inferior.


Rails initial release: 2004 ASP.NET initial release: 2002

I've heard nothing but good things about RubyMine, but few people use it because a good text editor is all you need to work with most dynamic languages. C# is practically unusable without Visual Studio.

I've worked with both, give me Rails any day.


MVC released 2007/2008. WebForms has it's own purpose: RAD development in corporate environment, for vast amount of ex-VB6 devs (or any desktop RAD drag'n'drop tool). It should bring desktop devs to webs, nothing else, and its done great job. Not that I like the result, but you could build forms - heavy apps in no time! Under the WebForms and MVC is ASP.NET, and anybody could build their own web framework (and server) on top of it! Like today we have NancyFx, 6-7 years ago there was Monorail and some other MVC frameworks - but nobody used that. Because 90% of asp.net devs was exVB6 locked inside some corp building. Today, with MVC, OWIN and healthy OSS ecosystem, things are different. Even MS is supporting OWIN web middleware, which will in the end allow running web app under win/linux without any change.


xamarin studio is great to work with. Mono has a c# repl. OTOH if you said c# is practically unusable without resharper, I'd have some sympathy.


Little known fact about Xamarin Studio (MonoDevelop) is that there is a option to enable source analysis which is for some reason off by default. Flipping it on essentially enables resharper mode. Only item missing is auto namespace resolution for references.


Thanks, it's under: Preferences -> Text Editor -> Source Analysis


C# is practically unusable without Visual Studio.

Why?


Rails is an actual MVC framework, ASP.NET was an over-complicated, leaky, fairly opaque abstraction for web programming. And it took years for MS to then come out with their own MVC framework.


ASP.net MVC is still ASP.net. You're probably thinking of WebForms.


Yes, ASP.NET MVC is ASP.NET, but that neither changes, nor invalidates anything that I said.

a) Rails is an actual MVC framework. b) ASP.NET was an over-complicated, leaky, fairly opaque abstraction for web programming. c) It took years for MS to then come out with their own MVC framework.


RoR vs Asp.Net is largely community (and modules) vs tools. Both are important and I am not sure if a combination of the two is even feasible. VS is like crack, it's so good, but at the same time nuget looks like a joke compared to gems. TLDR; nobody is good at everything because different things are optimized for different cases.


Hmm, any specific examples? I really like c# as a language. ASP.NET whilst not as new and shiny as Rails etc., it's still moving in the right direction with new additions like WebAPI.

And VS is I think one of the best IDEs out there.


You could certainly provide specific examples. How exactly is VS so much better than anything else? I've used other things that worked just as well for me. And, what is "the right direction" - MS is always moving in some direction with new APIs or frameworks.


Intellisense for anything other than JS has worked far better and more consistently than IntelliJ or Eclipse. Setting up a project in Eclipse often seems like pulling teeth (with respect to tomcat, jake, etc). Most options in VS are available via the GUI or easier to install extensions.

I mostly use WebStorm, while having pretty shitty intellisense for JS itself, is a much better experience for node.js development. Second would probably be MS's Web Matrix, and I'm disappointed that MS chose not to include the, imho (with an addon) much better support for node.js into VS.

I'll say that for C# development, I really like ASP.Net MVC, I've used classic ASP in the past (both JScript and VBScript) and also used VB.Net with ASP.Net. I've used PHP in the past (hate it with a passion), as well as a dabble of Ruby (like some aspects, not as much with others). I'm warming up to CoffeeScript, and have also done a bit of Python (desktop UI) and currently toying with Go.

I'm not really tethered to MS by any means, I'm pushing for moving away from what little MS tech we're using in the product I work on. That said, VS is pretty damned good, and on a whole, I haven't used better.


Same here. With the caveat that C# + F# are crazy awesome, not that I'm jumping at the bit to work with them again...


F# is the bomb. Once in a while I even consider running ASP on mono so I can use F#, then I realize I'd need a windows box with Visual Studio and decide against it.


Why would you need that? The F# compiler's open source and runs just fine in MonoDevelop/Xamarin Studio (or outside of an IDE, for that matter).


Will try MonoDevelop, to be honest the last time I tried MonoDevelop was when the Intel MacBooks were new, and it wouldn't run on OS X.

Downloading MonoDevelop as we speak, thanks for the reminder :)


you can run mvc on mono with nginx.


I've done some fun stuff with Mono and C# but it's significantly more clunky than just apt-get install


What does a virtual machine + language have to do with a package manager?


Installing mono was significantly more complicated than most vm/language packages on Ubuntu, and required commensurately more upkeep.


That maybe a while ago, like when Ubuntu was 9.0 and you had to compile from source code in order to get sgen? Things are much better now. Since early this year, I've been running a web service written in C# serving one of my iOS apps. That piece of service has been running happily in a tiny VPS for half a year now. Installation of the Mono runtime was an easy apt-get.


Mono is completely installed by default on older versions of Ubuntu (8-11). The runtime with some development tools is installed in 12 and 13. You can get it on any version since 8 with apt-get.

$ sudo apt-get mono-complete $ echo "using System; static class Entry { static void Main() { Console.WriteLine(\"Hello World\"); }}" > hello.cs $ mono-csc hello.cs $ ./hello.exe Hello World


It's much like ruby in that to get everything I wanted I had to go to source, which means jumping through some hoops. That's all.


You could just use OCaml, of which it is an obvious copy. You wouldn't get the whole MS stack, for better or worse.


Don Syme has added some interesting features to F# like type providers, so I think it is OK to say that F# has transcended its OCaml roots to become an interesting language in its own right.


Not to mention the approach to OOP is rather different in F#. It's syntactically and culturally different. Most OCaml programmers I know avoid OOP for the most part, whereas it's embraced to some extent in F#. Seems like a sort of "functional first, but feel free to use objects as you see fit" philosophy in F# versus a "functional always, objects are a failed experiment" philosophy in OCaml.

I don't mean to imply any judgment here, I'm just noting another difference between F# and OCaml.


> It's syntactically and culturally different.

Most people seem to think it's not syntactically very different: http://stackoverflow.com/questions/179492/f-changes-to-ocaml


I mean specifically the syntax for OOP support. Otherwise, much of the syntax is the same.


Absolutely, I have much love for OCaml.


I actually come from the opposite side of you. I've always developed with opensource tools on windows machines (running VM for Ruby, but most others run just find in windows).

I really like all the consumer products by Microsoft, but never liked or got into the development stuff.

At the same time, I've tried OSX a few times (I have both a Windows and a Mac), and just never got into it as an OS.


I started a little later than you, same endpoint.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: