Live data from Hacker News

Unapologetically build your startup technology in C#

sirchristian.net

51–60 of 152 posts

Re: Unapologetically build your startup technology in C#

#51
post #34
post #7

When you're choosing a tech stack in a startup there's a very important factor to consider that this article neglects to mention. It's likely, if you have any measure of success or you go down the investment route, that you'll be expanding your technical team quite early. The availability and cost of developers is critical at the beginning. Building in languages like PHP, JS, Java, and to a lesser extend Perl and Pyt…

man, I agree with your recommendation, but strongly disagree with your reasoning. Cheap devs don't pay off. Seriously, I have hired a lot of developers and one good dev (at twice the rate of a cheap one) can easily do 10 times the work, while minimizing technical debt. If you're doing a prototype with the full intention of throwing it away, that's one thing but please don't go cheap. Get less devs and pay them more.…

In my experience, in the case of people wanting to work in a startup, cheap usually means 'lots of competition for the job' rather than 'is bad at code'.

Re: Unapologetically build your startup technology in C#

#52

Earlier quoted context omitted.

> You need expensive Windows Servers to host your stuff no. For startups you get 3 years free server: http://www.microsoft.com/bizspark/default.aspx

I've tried to sign up for this about 5 different times and have been denied and ignored every single time despite providing plenty of documentation at every turn. Pretty typical of my experiences with Microsoft.

Well, that means it's only free if you have all the right papers and permits.

Re: Unapologetically build your startup technology in C#

#53
post #31
post #7

When you're choosing a tech stack in a startup there's a very important factor to consider that this article neglects to mention. It's likely, if you have any measure of success or you go down the investment route, that you'll be expanding your technical team quite early. The availability and cost of developers is critical at the beginning. Building in languages like PHP, JS, Java, and to a lesser extend Perl and Pyt…

> Building in languages like PHP, JS, Java, and to a > lesser extend Perl and Python, means you have access to > lots of cheap devs. Especially in the case of PHP and JS. Given that PHP and JS is what Facebook's stack is written in, does this mean that Facebook pays below market salary and they're taking advantage of all those cheap devs who could instead be raking in the money at a C# company?

I imagine 'coding in PHP' is quite a lot way down the list of requirements to work at FB. There are much more important skills, like being able to write code that works at scale. That isn't the case for most startups - prior experience of the tech stack is right at the top.

Re: Unapologetically build your startup technology in C#

#54
post #45

Earlier quoted context omitted.

a measurable advantage of c# over java is LINQ.

Java now has lambda's and a stream API, with which you can do the same thing as LINQ: http://blog.jooq.org/2013/11/02/does-java-8-still-need-linq-... .

LINQ has expression trees (or maybe I should say .NET has them). Libraries like autofac or moq would not be possible without them.

Re: Unapologetically build your startup technology in C#

#55
The throwaway comment is this: who cares about backends? Go make something people want. Every second you spend chatting tech is wasting your time. Make something people want even if you have to do it with a pencil and paper. Worry about the tech when you've figured out step one. 99% of startups don't do this.

So for all of the armchair startup warriors out there, the guys eager to hear if Facebook is really running MongoDB or what their sharding plan looks like, let's look at the tech.

I'm a MS hound from way back. I made a bet -- a very good one -- back in the 90s that MS was going to own the PC market. And it did. And life was good. Microsoft sold tools and apps, I came in and programmed using those tools and apps. Many times I came in after the local yokels had already screwed things up. This meant a higher bill rate. Life was nice.

But I started noticing something: there was a certain arrogant-jerk-inbred-echo-chamber feeling to the MS community. MS pimped tools to the developers. Developers ate it up. MS pimped new servers to their MVPs. The MVPs sold them to corporations, consultants came in and collected. It was all fine and dandy, but over time there just got to be more and more tools and apps, and more and more servers and experts. Any small reasonable thing you'd like to do, like set up an email server, involved books, certifications, special servers, learning the acquisition history of all these small companies, and so on. It was ludicrous that any one person could be an expert enough to maintain the small set of tools that most folks would need. Microsoft was adding complexity -- unneeded complexity -- into everything it touched.

More troubling, once I started learning more about startups, I saw developers obsess over new Microsoft tools or third-party components instead of making things people wanted. Microsoft's interests was in creating and maintaining this ecosystem of selling servers and tools, not in helping people make things other people want. So I'd see these projects that were supposed to be solving a simple problem. They'd use all kinds of fat, bloated, feature-laden junk strung together in a huge pile of tech. Then somebody would start down the "happy path" of making a "hello world " app work. Very soon, however, developers ventured off the happy path, and then they had to learn javascript, html, SMTP, SQL, and so on.

So development consisted of salivating over new stuff, eagerly installing it, and then wandering around in the weeds trying to hook all the pieces together. And oh, by the way, the user was supposed to like it. But, let's face it, screw the user. We're here for the tech, right?

I still love the CLR and several other things Microsoft has created. But I'm not part of the ecosystem any more, and I won't spend any time at all learning whatever new version of Silverlight they'll have out next year. I'll also stick to my command line and bash, thank you very much. I've been burned too many times, and I've seen too many development teams destroy their productivity by getting lost in the Microsoft ecosystem.

Re: Unapologetically build your startup technology in C#

#56
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…

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…

Obviously the technology of choice should be Node.js and Ember, duh!

Re: Unapologetically build your startup technology in C#

#57

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…

I think its simple. Unless the person is interested in Mono they don't develop for it and don't have any interest in supporting it. Many people use C# to develop applications for Windows and don't, won't or can't support other environments.... And while there are thousand of useful C# programs I doubt many don't have direct python / Linux competitors readily available that do near enough the same thing.

"I think its simple. Unless the person is interested in Mono they don't develop for it and don't have any interest in supporting it."

But why wouldn't someone who IS interested in running the application on Linux simply do the last bits to get it to other platforms? I have NEVER seen that happen.

"And while there are thousand of useful C# programs I doubt many don't have direct python / Linux competitors readily available that do near enough the same thing."

Sure, but I refuse to believe all the competitors are always doing a better job. There should be at least some application that found their way over to for example Linux.

Re: Unapologetically build your startup technology in C#

#58
IMHO the problem in not a programming language choice, but the entire ecosystem that you should support if you will use microsoft. Today for ex. linode and digital ocean have a very cheap entry price around 5$, with the power of entire open source lib, and the power of the community of every open source project.

Re: Unapologetically build your startup technology in C#

#59
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…

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?

Re: Unapologetically build your startup technology in C#

#60

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…

I think its simple. Unless the person is interested in Mono they don't develop for it and don't have any interest in supporting it. Many people use C# to develop applications for Windows and don't, won't or can't support other environments.... And while there are thousand of useful C# programs I doubt many don't have direct python / Linux competitors readily available that do near enough the same thing.

Two reasons:

a) I can't imagine somebody bothering to support .net software on the Linux desktop without being paid for it. I know those guys[1] are a minority, but it takes only a minority to create an absolutely toxic atmosphere. Maintaining a end user product can lead to frustrating interactions, and it doesn't really help if your choice of technology means that there exists a significant number of people who literally want you, your spouse, your three year old daughter and the family dog to die in a fucking fire.

b) Mono was always a bad choice for asp.net, which means that the software people are actually paid for doesn't run well on Linux. That was mostly a problem outside of xamarins control, and I hope it becomes better not that the devdiv MS seems to be somewhat committed to work together to make it truly interoperable.

[1] Just look at the comments at http://techrights.org/2013/02/09/tombye/.

Post reply on HN