there's nothing in that post that gives C# a measurable advantage over say, Java. Visual Studio Express? still way behind JetBrains IntelliJ (the community edition is FOSS). Visual Studio is unusable without JetBrains Resharper, which isn't cheap. Azure? AWS Bizspark? not required for Java dev as everything's free and OSS anyway. Popularity? most popular .net libraries/tools (NUnit, NAnt, NHibernate) are all clones o…
Unapologetically build your startup technology in C#
71–80 of 152 posts
Re: Unapologetically build your startup technology in C#
#72I just couldn't get over the thought in the back of my head that I'm making the wrong decision investing in Microsoft's development platform. C# is literally my favorite language, but I felt trapped and missed open source... Both the freedom it brings and the community. Maybe I spend too much time on HN.
I even tried to go 'indie' .NET. I moved to RavenDB (fuck MSSQL and it's overpricedness, and EF) and stuck with Azure, so really my only costs after my 3 years would be an MSDN license per developer. But in the end I just gave in to my worries.
One weekend I just rewrote the damn thing in NodeJS and I'm pretty happy. No need to boot up my Windows VM anymore either.
I think the talent pool is also what put me off. There seems to be - in London at least - a lot of career developers who pick .NET.
Re: Unapologetically build your startup technology in C#
#73there's nothing in that post that gives C# a measurable advantage over say, Java. Visual Studio Express? still way behind JetBrains IntelliJ (the community edition is FOSS). Visual Studio is unusable without JetBrains Resharper, which isn't cheap. Azure? AWS Bizspark? not required for Java dev as everything's free and OSS anyway. Popularity? most popular .net libraries/tools (NUnit, NAnt, NHibernate) are all clones o…
In my experience C# is just a better language than Java (which isn't suprising, as C# was made just to be a better Java clone). Things like * value types (instead of boxing) * no type erasure * runtime exceptions * dynamic/duck typing * operator overloading (try working with arbitrary length decimals in Java) just solve a lot of the small headaches of everyday programming. That said, I still prefer Java because of th…
Re: Unapologetically build your startup technology in C#
#74Interesting how the post completely ignores the quality of the language . Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.
I really feel like your idea of C# is based on C# 1. It's at version 5 now, and many modern C# codebases are hardly more verbose than Ruby. Still slightly more verbose, because types, but it's really incomparable to Java these days.
Re: Unapologetically build your startup technology in C#
#75It's important to remember that C# does not imply .NET Xamarin has done some great stuff lately, for example you can use C# to make a native 3-platform mobile app. This is still proprietary tech, but it isn't Microsoft and it isn't .NET In my eyes the best thing about the .NET ecosystem is the tools, if you like me fancy a polished IDE like IDEA, then VS is definitely one of the best ones around. In my eyes tools are…
Yes, other solutions exist, no those solutions aren't hugely popular in the grand scheme of things.
Re: Unapologetically build your startup technology in C#
#76Its weird that the HN crowd just seems to assume that the advice to use linux and mono just has to be a better idea than using windows. If you haven't looked at windows since 2003 you really need to take a look at server 2012 R2. The default installation mode is server core. It requires dramatically fewer patches. Management with PowerShell is incredibly powerful. IIS has seen many, many improvements. Also, "developi…
I personally prefer developing on linux because of the tools available, but they're both perfectly capable.
Re: Unapologetically build your startup technology in C#
#77Its weird that the HN crowd just seems to assume that the advice to use linux and mono just has to be a better idea than using windows. If you haven't looked at windows since 2003 you really need to take a look at server 2012 R2. The default installation mode is server core. It requires dramatically fewer patches. Management with PowerShell is incredibly powerful. IIS has seen many, many improvements. Also, "developi…
But from the point of view of technology stack, innovation seems to be standing still on the UNIX side of things.
Microsoft seems to innovate more in terms of how modern OS stack should look like, in terms of full stack, whereas UNIX clones hardly offer more than "portable" POSIX cli and daemon model APIs.
Re: Unapologetically build your startup technology in C#
#78Earlier quoted context omitted.
Better how? C#'s one of the best languages in town and the IDE's the unchallenged best in town by a long way. And the SQL product is amazing, much better than MySlowQL. So what bit is better? Deployment? Hosting? I'm genuinely asking here, you're just waving hands. I've used both, the thing that puts me off .Net is the lack of choice when new stuff comes out (like elasticsearch, or a new language, or something like D…
I've used Visual Studio, XCode, Eclipse and IntelliJ - the thought that Visual Studio is the unchallenged king of them all never crossed my mind. Honestly curious - what makes it the best in our opinion?
Nothing beats the integration level between .Net and VS, and I don't care what tech stack you're using to compare.
But outside of .Net, for things like C++, javascript, etc, things get a lot murkier.
Re: Unapologetically build your startup technology in C#
#79Its weird that the HN crowd just seems to assume that the advice to use linux and mono just has to be a better idea than using windows. If you haven't looked at windows since 2003 you really need to take a look at server 2012 R2. The default installation mode is server core. It requires dramatically fewer patches. Management with PowerShell is incredibly powerful. IIS has seen many, many improvements. Also, "developi…
I find it hard to believe it all happened in the couple minutes it took you to create the account and post this.
The main problem I see with developing for Windows is that the server side ecosystem outside Windows is much richer. Once you built your application on ASP.NET, you are pretty much limited to Windows servers or Mono on Linux and even that step may need some work because Mono is an incomplete subset of the Windows environment.
I would say the same for developing software that only runs on Solaris (and its descendants). Despite Solaris being an amazingly solid OS, if your app does not run neatly on other OSs, you are limiting yourself - you made many architectural decisions very early in the development process that will impact it for a very long time and, if you are not careful, limit your future decisions to whatever is available from a single vendor.
The last time I made a decision to move from Windows to Unix-likes it was a Java application running on the Orion server. It was a 15-minute job, even though we never gave much thought to porting it. I seriously doubt such thing is possible with ASP.NET and Mono.
Apart from .NET, there is little reason to go with Windows. Most of my development these days is with JavaScript, Python (with Flask or Django) and PHP. None of these would run any better on Windows.
Re: Unapologetically build your startup technology in C#
#80I'm currently working on a SaaS product built on .NET running on Windows Server, IIS, and SQL Server. We're not really a "startup" anymore, but we're still very small. I wasn't here when the first version of the product was built so I wasn't part of that decision.
If I were building this product from scratch today as a money-poor startup, I would probably go with tech stack included Java or Python and PostgreSQL. The primary motivation being cost (as in money).
Each developer is technically required to have an MSDN/VS Pro license (renews for just under $1000 per year). This is not very expensive if you're generating revenue, but if bootstrapping it is not cheap. You could cheat and just share a single license; you definitely won't get caught.
Windows Server licenses, compared to other datacenter costs, are relatively inexpensive. Windows Server has a few advantages; particularly in it's easy to administer and there are plenty of sysadmins out there than know it well.
The elephant in the room, at least for a SaaS product, is SQL Server. The features of Enterprise Edition are so compelling for SaaS (HADR, unlimited RAM, online index operations, compression, and encryption) that it's practically a requirement. But this will quickly become one of the most expensive costs in your datacenter.
But in my experience, SQL Server has some real advantages that I haven't yet discovered for PostgreSQL. The "community" around SQL Server is huge and has a ton of great people who love to help (often for free!). For instance check out http://brentozar.com or http://sqlblog.com/blogs/adam_machanic/.
There are programs like Bizspark which can bring the initial software license investment down to nearly $0. But if you're not generating significant revenue after three years, the licensing costs could hurt.
So like everything in world, it depends. But the bottom line is that, in my opinion, if you're bootstrapping then costs matter and Microsoft products (SQL Server in particular) are a huge cost which have real viable alternatives.