
Why .NET? - pionar
http://engineering.gopangea.com/2015/12/10/why-dot-net.html
======
jlewallen
I've never been on a Go project so I can't speak to that but I do find myself
moving between Java/C# clients every 12 to 18 months or so. Prior to the
lambdas support in Java C# was a clear winner in the language category for me.
Sure, there's some minor things that can be frustrating in the Java world
(ahem generics) but for the most part I find myself at home after a week. Now,
the Java platform is an entirely different matter and that's something MS has
been gunning to improve recently. I always thought that Java being on Linux
gave the platform some real strength because of being able to take advantage
of so much server side stuff that's typically only available on Linux. That
seems to be about to change and I'm excited.

------
otakucode
I am looking forward to playing with .Net again. I used C# and .Net for my
personal projects for years, but left it for Linux and Python a few years ago.
As Microsoft has made it more open, .Net becomes an option again. Windows 10
even seems OK.

I would add one additional negative against Java though: Java is bureaucracy
incarnated as code. The degree of over-engineering present in almost
everything I've ever seen written in Java entirely turns me off as a
developer.

------
manigandham
While not very deep, this is a good general outline of why .NET is still
great. I think most startups and SV companies get caught in their echo chamber
and use whatever is shiny/fancy without realizing that .NET powers many of the
businesses that you interact with daily. Practically every company in the
Fortune 500 uses it and if you're looking for one tech stack that can do
everything, this is it.

We're a small startup/biz in the adtech space and we went with .NET and it's
allowed us to be more agile and build better faster and better technology than
all of our competitors. The real test isn't blog posts or endless dev debates
but actual productive output and when looking at that, .NET is one of the most
successful options available.

------
benvds
Were doing a coupling to a soap backend. It has been 7 years since I last did
.NET and now I've decided to never go back.

~~~
junto
.NET WCF to another WCF integration is fine, but if you try and hook a .NET
SOAP webservice to one written in Java, and you'll have pulled all of your
hair out after two weeks. The reverse is just the same. They all have slightly
different implementations of the specifications.

Make that one week if you have to start dealing with the monster that is
called WS-* a.k.a. WS-WTF.

I wrote an article on this many moons ago. It is still one of my most
frequently read posts: [https://benpowell.org/supporting-the-ws-i-basic-
profile-pass...](https://benpowell.org/supporting-the-ws-i-basic-profile-
password-digest-in-a-wcf-client-proxy/)

It just goes to show how many SOAP integrations are still going on in the
"enterprise".

------
richardboegli
If you are building for client side Windows machine there is no better
solution. Its just that simple.

Visual Studio is the best IDE available, bar none. Eclipse has everything
you'd need but takes a long time to configure. Visual Studio "just works".

I'm not a Microsoft troll, I've just been around long enough, seen the
different koolaid commercials and tasted a few.

------
technion
Most of these requirements seem like they were picked after the fact based on
.Net's features. Things like a "rich ecosystem" are very subjective and easily
rule out several valid options as part of this justification.

What happened to ever just saying "we want to roll with Microsoft's solutions
so we did" ?

~~~
okhudeira
As the last paragraph states, we saw the writing on the wall with the open
sourcing of ASP.NET MVC which is why we were comfortable with sticking with
.NET.

We actually _don 't_ "want to roll with Microsoft's solutions so we did" which
is why we use MySQL not MS SQL, AWS not Azure, git not TFS, RabbitMQ not MSMQ.

------
Ryuuke
What ORM are you using?

I heard that EF 7 which is compatible with ASP NET 5 doesn't support MYSQL
database.

Also the disk space when asp net 5 app is published is realy high.

Imagine you have 20 application, it with ~70Mb each one on disk you'll end up
with +1GB of packages that you depend on.

I think something like Go, scala or Node JS is better.

~~~
manigandham
EF6 is still the recommended ORM and amazing at what it does. EF7 is still
missing major features like Lazy-Loading so while you can use it in
production, the team has repeatedly said that it's not recommended or
necessary unless you have a specific reason to use it. Summer 2016 is when EF7
is supposed to be at full release.

EntityFramework can also support any underlying database and EF6 has providers
for sql server, mysql, postgre, oracle, sqlite and many others. EF7 will even
support nosql options like MongoDB.

What exactly is the issue with disk space for a published running app? The GAC
(global assembly cache) in Windows was originally designed just for this: to
share references and avoid having multiple copies of the same binaries. All
this led to was a complicated situation with maintenance and reference
nightmares. Disk space is exceedingly cheap and a strange to worry about when
picking a tech stack.

~~~
manigandham
You can read more about EF7 RC1 here:
[http://blogs.msdn.com/b/dotnet/archive/2015/11/18/entity-
fra...](http://blogs.msdn.com/b/dotnet/archive/2015/11/18/entity-
framework-7-rc1-available.aspx?WT.mc_id=DX_MVP4025064)

They currently have working providers for SQL server, SQLite, SQL Server
Compact, and PostgreSQL

~~~
Ryuuke
Great ! looking forward to see the changes in RTM version.

When I was talking about disk space I was referring to linux operating system
where there is no GAC.

~~~
manigandham
Well there's no other way around it - you can either publish all the
dependencies with each project or share them in a central place.

Central places don't work very well and again, file space is very cheap. Most
binaries compress down very small so there really shouldn't be a disk space
issue. And you can always remove dependencies if necessary.

It's just not something that has ever been a problem in over a decade of
building and publishing .NET apps.

~~~
Ryuuke
yeah, you're probably right !

------
bellp
The brightest part of Java is actually Scala.

Don't forget about F# for .NET too. Type Providers are a killer feature.

------
jhwhite
The article says:

>download a free and open source version of Visual Studio on your Mac

But the link for that takes you to Visual Studio Code. I thought that was just
a text editor. That's not the full blown Visual Studio.

It's not possible to run full blown Visual Studio on Macs yet without a VM or
Bootcamp right?

~~~
manigandham
You're right - VS Code is a open-source text editor with Intellisense and
refactoring and plugins and about 80% of the functionality found in Visual
Studio. It works well and does almost everything you need if you're working
with ASP.NET 5 / .NET Core stuff - which is the only thing you can deploy
cross-platform right now anyway.

Visual Studio the full edition will likely never be running on Mac or Linux,
but it doesn't need to.

~~~
pionar
> ASP.NET 5 / .NET Core stuff - which is the only thing you can deploy cross-
> platform right now anyway.

I understand what you're saying, but it's wrong. You can deploy earlier .NET
apps to Linux and OSX via Mono, and get 95% of what you'll get from .NET on
Windows. Alas, at a bit slower performance, but it works. Many of the most
popular Linux desktop apps are actually written in C#/.Net and run on Mono
with GTK#.

------
OnorioCatenacci
It's hard to take anyone who's building new .Net applications on C# very
seriously. F# is about 1,000 times better--as evidenced by the fact that the
C# team themselves are stealing features from F# left and right.

