3 ms·
Sure doesn't sound like beginner C# questions at this point, eh?
by t-writescode 6y ago
Sure 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.
- t-writescode 6y agoPer the last versions of .net vs .net core that I worked with (4.....6.2(?) and .net core who even knows), I definitely agree with the frustrations. That's a major reason why, when I answered the top question, I was responding in a way to reference a new developer. I don't think they should be required to think of all of that hell, so I just wanted to point them to a particular library and to just live with it until they're asking the hard questions and have to move to something more complicated. For beginner-beginners, that shouldn't happen for a while. Someone higher up said that this post should have been titled something like .NET for Professional Beginners, developers that already have a lot of experience and are wanting to develop a single, specific, advanced usecase, or a use case where they are required to work with .net core, it was like that. I ran into something similar at my present job, trying to set up a webserver in Kotlin. It reminds me a lot of the woes I have with .net core with the numerous, almost adjacent, but not quite in the same package gradle packages. At this point, I'm not sure there's very many batteries fully included languages left. C# was kinda the last bastion of it. Elsewhere someone, maybe you?, referenced PHP, but even that isn't batteries included. The only batteries included are the ones that PHP is good at, webservices. Python is all about packages, and it just went through async hell, where the syntax for async changed over and over again over each version, so Google searching, as you mentioned struggling with in other threads, can be painful there, as well. Ruby requires you to learn Rails (which isn't Ruby! it's written in Ruby but not part of the base framework!) ... I guess Go is probably the closest to general purpose with its default framework.