Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I learned C# in under a day by using ReSharper and reading a few articles about C# idioms and memory management.

If you know a variety of languages already and your IDE is hinting, linting, and suggesting idioms, you can be productive super quickly.

(I've now been writing C# for years and can confirm that my understanding of the language has not changed dramatically since my first week with it.)



The actual language, sure. The ecosystem, tools, libraries, and techniques surrounding it, I would say takes longer.

For example, I was making games professionally using C#/.Net for several years before getting hired in enterprise app development. I was able to contribute right away, but there was a ton I wasn't familiar with and took time to understand, from SQL Server (especially SQL optimization, transactions, triggers, etc), to BLL/DAO, dependency injection, CQRS, Unit Testing, Octopus Deployment, Powershell, Active Directory, TFS Server/Build, Windows Services, XAML, Microsoft Azure, IIS, Entity Framework, .NET Core, and a bunch of other things.

Six years into enterprise/web work on the Microsoft stack and I'm still learning new things here and there.

All that being said, I will reiterate that I was able to work on bug fixes and new features within a week of being hired at both companies, despite not knowing hardly any of this stuff at the beginning, and most of that time was spent getting familiar with how everything was structured and flowed in all their various software.


That was my experience with Java. I knew C++ and I was able to start coding on Java almost immediately, for me Java was semantic subset of C++. Of course I had some books and checked out things here and there and, of course, Eclipse was of tremendous help to me, but I never did Java learning as a specific activity.

That was Java 5, though. And frameworks is a different story either, I spent lots of time trying to figure out what J2EE is.


> I learned C# in under a day by using ReSharper and reading a few articles about C# idioms and memory management.

did that include reflection ? P/Invoke, and support for native pointers ? async/await and coroutines ? differences between structs and classes ? how generics are implemented ?


Yes to all except P/Invoke. I don't know what that is or why I'd need it. I'm writing web services, not replacing C++. I also haven't used native pointers, but have read about them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: