Live data from Hacker News

Why Startups Could Use .NET, But Don’t

piehead.com

71–80 of 103 posts

Re: Why Startups Could Use .NET, But Don’t

#71
post #68
post #44

Earlier quoted context omitted.

Really people? You guys are engineers by trade (and good engineers, at that, no?) and you find licensing daunting? Let's assume you are out of BizSpark, which gives you what you need for free. Now you have a list of licenses to acquire. What I did last was to call CDW, they put me in touch with their MS licensing guy which actually looks at this stuff full time, he took our info down and simplified our options and it…

Microsoft has put a lot of effort into structuring their licensing to maximize their profits. One of the techniques they've used is to make the licensing complex enough that people over-pay to be on the safe side. Sounds like you took the path of least resistance with Microsoft licensing, and may have paid significantly more for the privilege. Maybe that was the right business decision for you, but its hardly a refut…

Hrrmmm... I take the path of least resistance on everything. Why take the path of increased resistance?

As long as you do not betray the long-term goal, the path of least resistance is absolutely the one to take. Always.

Keeping on-topic: To a Windows-experienced team, the path of least resistance is to stay on Windows, even with its baggage. Same can be said for every other platform: Ruby guys, stay with Ruby all things being equal, and so on.

PHP guy tasked with building a high-performance socket server? The path of least resistance given the goal is probably to switch to another platform for this project.

EDIT: About MS maximizing profit: By definition, that's what a business does. Which business does not maximize profits?

Re: Why Startups Could Use .NET, But Don’t

#73
post #13

Stack Exchange comes to mind for me when I think .NET startup. I haven't worked with .NET much in the last 4-5 years, but there's obviously more out there. Maybe they don't spend time sharing. If you ask me, customers don't care what you code in. Only that you solve a need they have. Most languages are capable. Most languages have capable frameworks. Most have open source options. If a Language+Framework saves you ti…

"If you ask me, customers don't care what you code in. Only that you solve a need they have." Bullshit. Many (mostly larger) customers, do care. They may have security, regulatory or other needs that you must fulfill.

In the context of this post (startups): - most of which are SaaS; - mostly targeting SMB or Consumers (>95%?), - most of those customers don't know what a language is.

I do appreciate the subtle clarification. Done enough enterprise sales/development cycles too, and a difference can be present :)

Re: Why Startups Could Use .NET, But Don’t

#74

"Essentially, the cost differences have become moot" No, not really. I specifically ruled out .NET because BizSpark expires after 3 years or >1 million USD in annual revenue (whichever comes first). I just don't see a ton of advantage to running .NET/SQLServer/etc over something like Java/PostgreSQL/etc. I'm sure some .NET dev will disagree. There's just so much flexibility in being able to spin up as many instances…

Completely agree.

To add to your point, from the BizSpark FAQ: " BizSpark software is for design, development, test, and demo only." You have no licence to use the software for any internal business use. E.g. sales guy can't use Office. The licence has so many catch-alls to prevent "abuse" that what you can do is rediculously limited.

Of course, the activated software is very useful, and obviously MS isn't actually enforcing the rules... [edit] so BizSpark can be very handy during first few years, but indeed you are punting a big licencing hassle (staff times number of VMs).

Re: Why Startups Could Use .NET, But Don’t

#75
post #70

Earlier quoted context omitted.

The licensing costs for VS.NET, MSQL, and related products are a rounding error compared to the cost of salary paid to a 3-7 man team. Using open-source tools to save a few dollars is a sure sign of either incompetence or inexperience, and a soon-to-fail project.

> The licensing costs for VS.NET, MSQL, and related products are a rounding error compared to the cost of salary paid to a 3-7 man team. Not for a pre-seed startup. In that common situation, software licensing costs can be by far the biggest cost you have. > Using open-source tools to save a few dollars is a sure sign of incompetence, inexperience, and a soon-to-fail project. Saving a few dollars in return for tools…

> Not for a pre-seed startup. In that common situation, software licensing costs can be by far the biggest cost you have.

In that situation, it's almost free-of-charge from Microsoft with their BizSpark (and similar) programs.

Re: Why Startups Could Use .NET, But Don’t

#76
post #37

So I don't really work at a start-up in a meaningful sense anymore (Fog Creek is a decade old), but my team is just a few people, and we develop in a start-up-like mode for Kiln, which is written almost entirely on a WISC stack. I really, really like .NET, ASP.NET MVC, and C#. And I even have grown to appreciate IIS 7 and SQL Server. But if I left this company and did a start-up project all over again, there is no wa…

I recently hacked around a bug in a Python / API interaction by sending the request with Python system call to curl. I'm sure this was Not Right, but it did get'er done and on deadline. I suspect the API was somehow out of standard.

I figured out the problem 1) reading the Python code and 2) with what I'd learned about HTTP requests fooling around with curl scripts on the commandline.

No doubt a similar hack is available somehow in .NET / Windows. But I'm not sure that, outside a *nix environment, I'd have known about curl, or played with it enough to learn enough HTTP basics to figure out the problem in the first place.

Re: Why Startups Could Use .NET, But Don’t

#77
post #54

Earlier quoted context omitted.

The licensing costs for VS.NET, MSQL, and related products are a rounding error compared to the cost of salary paid to a 3-7 man team. Using open-source tools to save a few dollars is a sure sign of either incompetence or inexperience, and a soon-to-fail project.

The costs are significant for a ramen profitable startup. For example production licences for MSSQL are not cheap. Each virtual machine for a dev is a problem. For a small startup, the cost is the time it takes to try and understand your licencing agreements - it wastes a lot of time...

If it takes a developer so much time to understand the licensing terms, or to activate a Microsoft product, ... that it cuts into their production time, they don't need to be messing with anything other than PHP.

Re: Why Startups Could Use .NET, But Don’t

#78
post #5

Dupe from 7 Months ago - http://news.ycombinator.com/item?id=2557461 And we use .Net for our startup :)

igualmente :].

co-founder of a very-recently Google & Atlas Venture backed startup (so not an investment deterrent; no issues on the engineering deep-dive during diligence, and received kudos on our architecture and some clever stuff we developed). love .NET and the MSFT support & team over at azure... been on it since beta circa 09'. I'm also an avid python numpy & matlab programmer, even submit patches to and support a few open source python libraries (ps: flask is my favorite web framework).

in this discourse (and that of the original article and its comments) of the original article) I've encountered a tremendous amount of opinion/perspective that contrast my own/teams, and the experiences we've had - so I'm sharing my thoughts below. I may not address each questions but it's at least a stream of consciousness evoked by the topic.

(btw: I came from an all-java shop (oracle) by way of a company they acquired in '07.)

our language is C#, target framework 4.0.

- misc: C# is semantically equivalent to Java, virtually the same for the core libraries; syntax and the nuance of the latter aside it's easy to embrace engineers from the opposing worlds within each others framework. - diamonds in the rough: there is a treasure-trove of very smart previously inaccessible engineers toiling away in corporate waste-land, skilled in C#, and ineligible (by syntax/familiarity guidelines) for lots of startup reqs. example: we have a brilliant mathematician on our team that's been coding in C# since its release, working for investment banks where C# was the internal language of choice. as always, it's really about the person, not the language (look at what php's done to push the envelope with PHP... mysql...).

- .NET in terms of limited capability: we've written some pretty heavy non-linear optimization frameworks, stuff that while easy to prototype in python, we've found much more maintainable in C# due to the VS IDE, static typing, and the effectiveness & patterns they beget. also the efficiency inherent in some of the data structures to their static nature has been noticeably performant. (btw, latest CLR has truly dynamic types, and an independent fully dynamic runtime DLR.)

- prototyping: django's beautiful admin framework aside, .NET MVC 2 via C# and Django via Python yield very similar efforts for prototyping. MVC has a struts-like template for pushing admin stuff up quickly.

- cool/weird stuff: we've built (and had one of the best software engineering companies attest to) an incredibly innovative multi-dimensional-map for 'moving' throughout a highly constrained NP solution space during non-linear optimization. C# and Java do not support generic generics (think maps of N # of maps with X type). we have code-generate this, and their super efficient. it's something you could just bang away on at python or in lisp to prototype quickly, but you would need careful optimize and code to get performant, and also maintainable and provable (mathematically) across a multitude of types inherited for varying different sources throughout a framework. object-oriented languages w/static typing afford you this. yes it could have been done in open source C++, C or Java, but we did do it in .NET. It's one of the fun and weird things we've worked on. inspiration is/should not be limited by a language, regardless if it's correlated, it's not causal. please see auto vector regression by one of this years nobel laureate in economics or this: http://www.venganza.org/about/open-letter/ - for quick intuition as to why. :]

- liquidity/exit event, and the choice: we didn't choose .NET due to a likelihood of acquisition, or not choose it in fear of it preventing one (I mean this as in every sense except that in which .NET made our business look more compelling; hone our competitive advantage, etc.) I agree for a framework company (solely depending upon the level of the framework) this could be critical, but for most companies where at least one level of abstraction (framework included) obviates development platform dependency from a decision to use the service, it's negligible. we chose it because of how pervasive windows and its embedded and compact environments were in some of the disparate systems we're integrating with. it made life easier. it's worth stating that, whilst I stand by my first sentence, a couple of our most likely acquirers do have predominantly microsoft stacks, or are c++ based and could assimilate our development ethos quickly.

- cost of tech: we're bizspark'd which made this venture possible, I agree, without that .NET would not have been feasible decision. we would have went java or python (especially given the fantastic client-side deployments dropbox was doing w/it at the time). we would not have chosen MONO - at the time ASP.NET via Mono scaled poorly and MVC didn't exist for it (digression: absolutely no way in hell anyone should build on the old asp.net forms paradigm or hold it against .NET now that MVC is an option: even excluding the IoC weirdness and its terrible pattern, I still cringe when I see .aspx extension on a site. that said MONO for our integration platform would have been perfectly fine.

- long term cost (post 3 years): azure is not expensive, like all platforms (I have EC2 and app-engine experience) if you optimize for it, you can make it cost-effective. more importantly, if you're not earning $ or in some cases raise/preserve capital after 3 years (or until you hit $1.5m in rev per the bizspark restrictions) what kind of business are running?

- source control: TFS (team foundation server) is fantastic, from its testing framework, bug repository, and with some hacking its workflow systems it's a tool I've found as powerful (but easier to configure) than clear case, the systems we used at oracle, and myriad other variants I've worked with over the years. it's not source safe :].

- complexity: we've had to lift up the hood quite a bit to accomplish what we wanted. "the ability to patch and pull in req's for changes to FOSS software" is but one way to customize. .NET offers many, down to the many ways you can override/overload/extend even the most isolated libraries with the latest syntax sugar, to getting your hands a little dirty in MSIL. while not the FOSS way, it's possible. whether or not it's ideal is a matter of perception - e.g. when you work in (and accept) a proprietary environment.

- developer vs. engineer culture: semantics here. probably the b&b of this article, I think culture, pervasiveness (not independent of the former), and founding team/CTO experience, and biz strategy sum up to the decision as to why people do or do not use .NET. I find it difficult to place a coefficient on each of those terms but it's empirically manifest that more often than not they weigh against the choice to use .NET. strategy includes cost, only recently (~3 yrs) obviated by bizspark. it's also the market stuff I mentioned. FOSS has existed for years as an alternative - this is why it's pervaded (among other reasons). I have no data on founder XP, but I've met very few others that have experience working in .NET languages, I think this is a big contributor to start culture & personality types and where most .NET developers dwell - that's why I labeled that intersection 'diamonds in the rough'. last statement should show how those terms are not mutually exclusive.

- language/tech zealots: agreed, they're everywhere. even people I respect tremendously just have this natural predilection toward their preferred tech and its advantages.

my .2e-1

observation: have you seen the wonderful and cross-platform [android, ios, win phone] natively compiled .NET tech miguel's team @ xamarin have been working on? I suspect the # of corp clients that are leveraging that tech and the exposure to consumers the app-serving end-devices have will inspire those corp developers to create their own apps eventually... could bring a lot of .NET favoring newcomers (and different demographic) into the startup scene - neither a bad thing.

Re: Why Startups Could Use .NET, But Don’t

#79
I honestly wanted to give .NET a try. I built a machine and installed Windows Server on it. I knew that Ruby/Python have scalability hurdles to overcome if things were to take off. So I felt .NET vs. Java was the way to go.

Ultimately, the .NET toolset is just not as flexible. If you want to do anything outside of its intended use cases, it requires so much extra work and code. What took me a weeks worth of time took me 1/2 a day in Rails for example.

It looks like people at Microsoft are listening in a way by embracing Javascript. I'd be really interested to see where their nodejs effort ends up in a year.

Re: Why Startups Could Use .NET, But Don’t

#80
Not really. If startups thought .Net was the better answer they would use it.

I released my first .Net based application when .Net was at version 1.1. I've developed with it consistently since then.

I'm getting ready to release a new SaaS type application in the first half of 2012. It will be based on an open stack. If I had based it on .Net I would most likely be in production now given the advantages of my background.

I would have loved to use Azure as a platform but I had one problem with it. I could not figure out what the cost would be at different usage points. Microsoft has transferred their licensing labyrinth from the Enterprise to the cloud.

BizSpark allows Microsoft to claim that their stack costs the same a FOSS stack but their claim is disingenuous. Once you get past the BizSpark time limit there is a vast nothingness available to software companies looking to plan their future in the cloud on .Net.

Post reply on HN