Live data from Hacker News

Unapologetically build your startup technology in C#

sirchristian.net

111–120 of 152 posts

Re: Unapologetically build your startup technology in C#

#111
post #87
post #13

There are two people talking in my head while I read this post. One says : Too many people obsess about backends. Yes, build your startup in C# and a .NET stack if that's what your familiar with. The backend ultimately doesn't matter, and the faster you can create and then iterate on your product, the better off you'll be. The primary factor that will decide whether your startup is successful or not is if people like…

"but almost any OSS Framework" - are there real choices that do not involve the dynamic typing maintenance nightmare while giving you a C#-quality language? Maybe just Scala + Play.

You can also do Java + Play. And Go's out there now, and it comes with most of the stuff you get from Play out of the box (and for the other stuff, getting it is easy enough).

Re: Unapologetically build your startup technology in C#

#112
post #94

Earlier quoted context omitted.

a measurable advantage of c# over java is LINQ.

This is a very unpopular opinion among .NET advocates, but personally I think LINQ is the worst thing to ever happen to c#. It leads to ( in my opinion ) grotesque, unreadable code that more often than not hides enormous performance problems. It offers so much expressiveness, seemingly so innocent of its cost, that it gets massively overused and abused. As with all things in languages, one can argue "use it right", "…

Linq is an opportunity to write slow code very quickly. Of course when you have to spell out a 1-line Linq expression as a 50 line method, you'll notice that you wrote a triple nested loop and avoid it. But the point is this: the longer code is MUCH harder to comprehend than a concise Linq query, and the developer that didn't see that their Linq query was going to be slow wouldn't have reacted on that the expanded version also looked slow. The single line query can be more easily refactored as it can be comprehended.

So I say write slow code so you can find what's slow early on. The problem is likely to be in the architecture and data structures rather than in the processing code. If Linq gives an opportunity to deliver a working example quickly, and that example shows that for large N the perf is horrible, then Linq was extremely useful! Change some collection type, demoralize something, add some caching etc. and then slightly adjust the Linq query to suite. Large query methods are inertia to such changes so when they DO become necessary it's a larger effort.

Note that I mean Linq to objs now not Linq to Sql or some other provider.

Re: Unapologetically build your startup technology in C#

#113

Earlier quoted context omitted.

hang on a sec.... Long time developer here, came from vs to eclipse and later Netbeans and Idea: Tell me: don't you still have to buy resharper to get the same refactoring tools that I get for free in eclipse?

What kind of refactoring tools do you get free in eclipse that aren't included in VS 2013 or 2014?

I'm asking the question: maybe vs has improved since I left.

Until recently the meme among tje fanboys seemed to be "VS is the best ide" (i.e.: after you have installed resharper).

Are all modern refactoring tools installed ootb with vs 2013 or 2014?

Re: Unapologetically build your startup technology in C#

#114

Earlier quoted context omitted.

"I know it is cross platform, but the focus of the eco-system in very much on Windows." There's a funny thing about its cross-platform nature: You almost never see C# apps on other platforms. Why is that? There must be thousands of useful C#/.Net applications made that other platforms could benefit from, but the ONLY ones I've seen are the ones that targeted Mono to begin with. Nothing else. Something fishy is going…

> There's a funny thing about its cross-platform nature: You almost never see C# apps on other platforms. Why is that? There must be thousands of useful C#/.Net applications made that other platforms could benefit from I'm not sure that that's actually the case. C# has never caught on in a big way for consumer desktop development; the bulk of that still seems to be C++ and Win32/Win32 wrapper. It's used for _enterpri…

Yeah, that could explain it. Sort of like how you rarely see Java client applications...

Re: Unapologetically build your startup technology in C#

#116

I work at a company where we have built one of our products (a large distributed system that tracks television content worldwide) completely on .NET. I love C#, it's a very decent blend between a whole lot of languages and additions of LINQ and async/await kept it relevant. Visual Studio is the best IDE I've worked with, not because it's such a good editor but because it has a sane debugger that is actually helpful.…

> Mono simply isn't there yet. Code that works fine on Windows mysteriously stops working on Mono due to threading or GC vagaries (yes, even in the latest version).

I remember having to maintain a small C# SDK in my previous work. That was a bit of a headache given that we were a 100% OSX shop. I installed MonoDevelop and libraries in my Mac to try to make some changes there, just to find out that Mono has not implemented some .NET standard encryption libraries.

I really appreciate what Miguel and team has achieved with Mono, but it is still incomplete, so from my experience it is not really an option. We ended installing XP in a virtual machine to modify the code.

Re: Unapologetically build your startup technology in C#

#117
post #29

Earlier quoted context omitted.

> NHibernate vs. Hibernate As a counter argument to that (specifically), we don't really need NHibernate when we have Entity Framework.

As a counter-counter point: You absolutely need NHibernate (or something else) when you use EF. Steviee

The proof is in Orchard CMS.

Re: Unapologetically build your startup technology in C#

#118
post #87

Earlier quoted context omitted.

"but almost any OSS Framework" - are there real choices that do not involve the dynamic typing maintenance nightmare while giving you a C#-quality language? Maybe just Scala + Play.

You can also do Java + Play. And Go's out there now, and it comes with most of the stuff you get from Play out of the box (and for the other stuff, getting it is easy enough).

> And Go's out there now, and it comes with most of the stuff you get from Play out of the box (and for the other stuff, getting it is easy enough).

Any link? That seems to be pretty much wrong.

Re: Unapologetically build your startup technology in C#

#119
post #88

Earlier quoted context omitted.

new VS subscription licences don't seem to be well publicised, but I'm pretty sure that $1000 could be cut down: http://www.visualstudio.com/en-gb/products/visual-studio-onl... - Assuming I'm reading it correctly.

That's very interesting. But it's not clear if you get the other important MSDN benefits, specifically dev licenses for Windows, Windows Server, and SQL Server.

No, it doesn't include MSDN, its just Visual Studio itself + cloud hosted TFS. "Visual Studio Online" seems to have replaced the non-MSDN tier of retail, one-time purchase Visual Studio licenses with a monthly licenses.

Re: Unapologetically build your startup technology in C#

#120
post #79

Its 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…

> Some people on HN have accused me of working for MS just because I use their stuff. 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 Li…

Actually I've had to start over with this account. But...good catch. I'm trying to take some advice this time about the way that I respond to people.

I get your point about portability, its just not one that I agree with. I think that using the platform for what its good at is a totally viable thing to do.

I also take your point about the stack that you are using. Cheers.

Post reply on HN