5 ms·
What's the best way to master a programming language?
For example, I have interest on C#. I noticed when I use framework like ASP.NET, it automates a lot of task for me. I don't want that. So I wanna completely focused on mastering the language and moved on to a framework. Is it the right thing to do? And if yes, how can master a language?
- tboyd47 8y agoFind a good, up-to-date reference manual for the language and read through it a couple of times. Then do a lot of data processing exercises.
- AKdeBerg 8y agowhat do you mean by data processing exercises?
- tboyd47 8y agoThings like transforming data from one format to another, algorithms to process large amounts of data, etc. I singled out this type of code because it tends to involve writing lots of code that uses the standard library of your language, but the point is to become very familiar with your standard library.
- AKdeBerg 8y agoohh I got the picture now! Thanks mate :)
- grawprog 8y agoBy programming in it. Make things. Think of things you'd like to make then make them in that language. Try learning how some frameworks are written then try reimplementating some of the features you like. I wouldn't actually use them in projects but the learning experience is good.
- slipwalker 8y agoPractice, practice, practice. I always suggest that you should start by writing your unit tests on the language you wish to learn, but this is valid only with languages that play together. For instance, to learn groovy i wrote my unit tests for my JAVA code in groovy, now i'm repeating the process with Kotlin... Other than that, do as many KATAs as you can find online. "codewars.com" is nice, too. But keep in mind that "language(s)" are just tools, you reaaly should focus on a better grasp of CS concepts and fundamentals, the tools will be obsolete before you notice.
- AKdeBerg 8y agothis is a great piece of advice... thanks mate :)
- zombieprocesses 8y ago> So I wanna completely focused on mastering the language Read the C# language specs. I think you can find it in doc format on microsoft's site. https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf https://www.ecma-international.org/publications/files/ECMA-S... Write C# code in vim or visual studio code ( not visual studio ). Use the csc.exe on the commmand line. I use powershell but this requires you importing the environment variables from the vs dev bat file. This way you have to write everything yourself and build/link everything yourself. Also, use ildasm to look at the MSIL. And move on from there. Other steps to mastering a language requires having built one yourself or at least a compiler for a language. Then you have to know other languages to compare it with. Function, procedural, imperative, declarative, object oriented, etc. Also, does mastering a managed language like C# mean that you have to understand MS IL? The CLR? Etc? I guess it all depends on what you mean by "mastering" a language. My advice is to not go overboard with "mastering a language". It's far more important that you learn a technology/libraries/tools/etc if you want a job. If you are trying to get a job as a developer, it's better you learn about ASP.NET, SQL Server, IIS, etc rather than mastering C#.
- AKdeBerg 8y agoGreat! very rigorous answer. Thanks mate :)