This is not to say that a startup founded by technical people couldn’t be successful using .NET; I just haven’t seen it.
This is not to say that a startup founded by technical people couldn’t be successful using .NET; I just haven’t seen it.
Besides, with AWS and all of the services being hosted, the only servers you really have to manage are your own app servers.
And there is the whole global infrastructure thing for regional redundancy.
- jet.com uses F#
- stackoverflow is C#
I don't get why a startup couldn't just use .net for the application layer hooked up to a MySQL or Postgress backend. The drivers for both Db exist so someone must be doing it.
With a startup I would stick to open source. It's the more vibrant and reliable option.
- state of the art language features from .net (linq, async&await,powerful generics)
- Multiplatform runtime and SDK, even development is great via Vscode + omnisharp.
- MIT license
- llvm backend via Ryu jit compiling straight to machine code (Wow!)
- unparalleled language server capabilities via Roslyn's API, even available on Linux / Osx via omnisharp.
And more stuff I'm not thinking of. Almost everywhere you turn .net is the toughest beast in the arena if you exclude ecosystem. I don't see how you could possibly think it doesn't have a fighting chance.
But if you also need other libraries or systems then things get thinner. For most cloud providers that aren't called Azure the .NET support usually is behind. A lot of popular libraries are either written in Java, Javascript or Python with maybe an outdated unmaintained .NET wrapper. Most CI/CD pipelines are not geared towards .NET.
To me MS is a warm cozy place but the open source world is more chaotic and much richer.
There are a few gaps like troposphere for cloud formation.
What do you mean most CI/CD platforms aren't "geared" for .Net? Which CI/CD platform are you using?
C# is a fantastic language, .NET framework is good but in my view the ecosystem is too weak.
I really hope no one in 2018 is using whatever Microsoft’s old version control system is with TFS. TFS has had first class support for git for years.
As far as AWS, using CodeBuild and CodeDeploy, AWS has provided a .Net Core Docker Build image for Linux for awhile (https://docs.aws.amazon.com/codebuild/latest/userguide/build...)
They just recently added Windows support for CodeBuild, they have a prebuilt image for .Net Core for Windows and they have instructions for how to create a .Net framework image (https://aws.amazon.com/about-aws/whats-new/2018/05/aws-codeb...)
I had never used Docker before and I was able to create the .Net Framework Docker image following their instructions.
For deployment, AWS has a code deploy agent for Windows and Linux. There is no “support” for any language. Just a yml file that you use to specify the batch files/Shell scripts you want to run during each stage. Actually the same is true for CodeBuild. You just specify the commands you want to run in a yml file and the output srtifacts.
- Linq is great but less unique than it once was, and almost everyone has async and await (or some equivalent) now -- javascript & friends and python almost exactly, and Java has a wealth of options in this arena.
- .NET is "multiplatform", but clearly second-class in terms of tooling and perf on non-windows platforms.
- Congratulations on the open-source licence?
- This one is legit, but other languages do some pretty interesting stuff too
- VS might be ahead in this regard, but Java IDE's aren't far behind, and even the dynamic languages are starting to get really impressive tooling.
I have used and liked .NET, but I have no need to pay the premium it imposes. .NET is just another very capable platform among very capable platforms -- and then throw in the single-ecosystem thing.
> Compared to popular >> open-source << options like Python, Javascript, and Java:
Even in your comment you can see there is still that stigma that separates .Net from the rest of the languages. .Net core has many non MS contributors. It truly is a project in the spirit of open-source.
No other language that I'm aware of has duplicated the fundamental power of Linq -- expression trees.
Expression trees allow you to express your query logic in Linq and let a provider at runtime translate that expression tree to SQL, MongoQuery, REST calls, etc.
I agree that most people that think of LINQ as "just another set of collection functions" miss the "code-as-data" bit that can make it truly shine, but .NET isn't the only place that can be found. The most unique thing about it is that C# was the first ALGOL descendant deigning to add some modest code-as-data chunks to its compiler. ;)
I agree, and we found this out recently the hard way.
For example, the CoreCLR does NOT build on 32-bit Linux as of now [1]. While our software has absolutely no reason to complain (and doesn't on Windows!), we can't target 32-bit Linux users.
But, when you look at the jobs that are out there, while there is no salary difference between .Net and NodeJS, at least in my market, there are a lot more jobs from well funded small companies for Node. Besides, JavaScript isn't going anywhere because of the web. I plan to stay up to date on C#, but also add Node to my tool belt - just to increase my options.
A 2018 startup choosing .Net is very different from a 2005 startup choosing .Net, IMO. (I would place a higher likelihood/possibility of technical cluefulness on the latter.)
I’d bet that there are many startups that don’t need technical founders, and many who have them are building technology that isn’t really differentiated. One thing that is important is obviously fine-grained control over the business, so I could see how outsourcing might make that slightly harder to manage.
For Microsoft and .NET community — yes.
Even if one outsources, having someone doing reviews, QAing the code being introduced and setting guidelines on what’s production quality code is a good thing. This could also be outsourced to someone else though. Doesn’t have to be a founder.