3 ms·
I would consider .Net 5 that threshold... there's no more Core, fyi. As for VS Community, if someone is getting started in C#, I'd suggest VS Code and learning
by tracker1 6y ago
I would consider .Net 5 that threshold... there's no more Core, fyi. As for VS Community, if someone is getting started in C#, I'd suggest VS Code and learning the CLI tool before jumping in on the IDE bandwagon if only to learn the platform better in getting started.
- t-writescode 6y ago> I'd suggest VS Code and learning the CLI tool before jumping in on the IDE bandwagon if only to learn the platform better in getting started. I absolutely hate most CLI tools and C#'s is no exception. I'm happy to say that I have never, in any of my time developing, been in a situation where I absolutely had to use one for C#. It's made me very happy. .csproj's and .sln files are such a better design pattern for project management than raw folders that I wouldn't torment someone by requiring them to learn that alternative model when any good C# IDE will do all of that for them. Same with Java. If you want to require someone to learn everything CLI, then they should probably be learning a different language, to start. In a similar tone, if I was teaching someone Python, I would start them with running `python` and then just ... typing commands. I wouldn't teach them if __name__ == __main__ until later on. Same reason. Unnecessary complexity for the kind of work they're doing. When you start wanting to configure CI on Jenkins (not TFS, because TFS handles all this for you, too), then the command line has any value for C#, imo.
- tracker1 6y agoAnd if you're targeting Docker deployments on Linux? Or have developers on Linux or MacOS laptops?
- t-writescode 6y agoSure doesn't sound like beginner C# questions at this point, eh?
- mikeyjk 6y agoI'm sorry but it definitely does, there are plenty of developers using Linux coming from language set (a,b,c) trying to pick up language 'c'. I would consider myself a beginner for language 'd'.
- t-writescode 6y agoI was specifically thinking about the Docker part of the question when it was asked. I certainly wouldn't encourage the first thing someone does when writing C# be "create an application that will run in a Docker container". Running locally and getting one's feet under them seems like a better first step. It is valid, though, that the Linux development experience for C# is worse overall. If you're using Linux, though, your options are greatly reduced, though, so life becomes easier. You're either developing for Mono or .Net Core. As I wouldn't recommend developing in C# for a Linux developer, in general, though, but that is my bias against .Net Core speaking out. If someone's a Unity Developer on Linux, I would recommend MonoDevelop or whatever Unity's recommended IDE and pipeline are.
- tracker1 6y agoIf you're experienced with other languages, you are... Also, there are plenty of beginners with Macbooks.
- t-writescode 6y agoIs it bad that I would steer someone away from learning C# if they're on a MacBook, unless they're learning Unity? And then I would recommend what Unity recommends.
- tracker1 6y agoDepends on why they would be learning C# I do most of what I do with C# in WSL with VS Code (WSL Remote) ... because that's where I do most of my Programming. Where I work, pushing towards most of what we write to be able to deploy/operate in Linux/Docker environments. Doesn't make C# less of a language for the teams that have over a decade of experience with C#, but it is a mindset shift. The bigger issues I have are with the framework and that it's very difficult to search for working paradigms as framework apis and interfaces have dramatically changed in a lot of areas the past few years. I like the dotnet cli better than what was before it... that said, it's still got a lot of rough edges. And getting started, especially when you are experienced in other platforms, isn't always easy... even experience from .Net framework to newer runtimes has been painful in the past.