sanjaykumarmonu Posted December 12, 2011 Posted December 12, 2011 how do i mastering a programming language ?
Xittenn Posted December 12, 2011 Posted December 12, 2011 I think the language chosen will have too great an impact on how this question should be answered, that you would first have to choose a language before anyone could give a better response than what doG has given.
immortal Posted December 12, 2011 Posted December 12, 2011 Before you can really start writing pretty good progams in a particular programming language, you should first know some of the basics like, 1. What are the instruction sets and their corresponding functions, operators, headers and data types that are supported. 2. How to declare the variables and the keywords used. 3. How to assign the memory addresses and initialize them. 4. How to prototype the functions. 5. How to define the functions. 6. How to call the functions. If it is a object oriented language how to create objects and constructors. 7. How to compile and execute them. With this much basics you can use logic to implement your problem in which ever programming language you wish to solve the problem in. The same problem can be solved in many different ways and each programmer may have his own choice of the program constructs and methods used to solve the problem. That is why we have patterns or Idioms to understand the code developed by a programmer more easily.
khaled Posted December 12, 2011 Posted December 12, 2011 1. the first level is where you learn how to make a program 2. the second is where you create one 3. the third is when you create one from a design 4. the fourth is when you try to understand a program written by someone else (with no comments) 5. the final level is when you can take an open-source software, read its documentation, and do some modification You might not understand why we use those five levels, but knowing how to write a program in C++ is not something we can measure like that ... You may notice that the first & second levels are actually the learning stage simply, you go with the third when it's professional, the fourth one means you have mastered that language, but the final one means you're a guru Think it's that simple, try to look at one of GNU open-source projects
Daedalus Posted December 13, 2011 Posted December 13, 2011 Besides learning the language and the things listed by other people in this thread, it can be very beneficial to learn as much math that you can. A lot of software written is based on concepts that are exploited from Algebra, Trigonometry, Calculus, and Numerical Analysis, to name a few. Even though you can find a lot of third party APIs and SDKs which wrap up a lot of these types of maths into easy to use packages, a lot can be said for mastering mathematics and applying it to develop software (especially if you intend to create games, art programs, accounting systems, and most other types of software).
Greg Boyles Posted December 13, 2011 Posted December 13, 2011 how do i mastering a programming language ? Easiest way I have found is to obtain a working example program in a given language and fiddle around with it. It also helps if you already know once computer language. I managed to teach myself client side javascript very quickly by obtaining a working example of a shopping cart type website. Although the syntax and structure of javascript is almost indentical to C/C++ which I already knew. I then modified it to suit my own website, including generalising the creation of items through appropriate functions rather than each item being stand alone code. Made modifying the structure of the webpages a breeze - simply by tweaking 2-3 functions rather than 20 individual items on each of 20 or so webpages. Then I taught myself ASP programming and converted my shopping cart website to server side javascript. Wasn't to bad once I got me head around 'Response' and 'Request' etc. Then I converted my ASP javascript to PHP so that my website could be hosted on a linux server. Did all this in the space of perhaps 3-4 months. If I tried to learn javascript, ASP and PHP purely from text books then it would almost certainly taken me a year or more to acheive all this. Give it a try, it may work for you also. But if you don't already know a programming language then you will no doubt have to start off with some structured online tutorials to get yourself up to speed. Then perhaps you could try reverse engineering some working programs.
redache Posted December 14, 2011 Posted December 14, 2011 5. the final level is when you can take an open-source software, read its documentation, and do some modification This isn't true at all. I've contributed to Open Source projects in languages I've barely known let alone mastered. Most people can do this even with the most basic knowledge and in fact most Open Source code is a of terrible quality. Mastering a language is not something one can achieve in a lifetime, like all skills we are only here for a finite time and as such we can only achieve a certain level of any skill and whilst some people would say they are a master of something, to truly master something you have to know everything and as human beings can't memorise everything it just won't happen. All you need to do is focus on a single language and learn all of the idioms and paradigms that exist for that language once you feel confident enough in its use then learn more esoteric things to do with the language and maybe look at how the language is actually implemented at a low level. These things as the minimum I would expect from someone that uses the term competent to describe their use of a language.
khaled Posted December 14, 2011 Posted December 14, 2011 This isn't true at all. I've contributed to Open Source projects in languages I've barely known let alone mastered. Most people can do this even with the most basic knowledge and in fact most Open Source code is a of terrible quality. Mastering a language is not something one can achieve in a lifetime, like all skills we are only here for a finite time and as such we can only achieve a certain level of any skill and whilst some people would say they are a master of something, to truly master something you have to know everything and as human beings can't memorise everything it just won't happen. All you need to do is focus on a single language and learn all of the idioms and paradigms that exist for that language once you feel confident enough in its use then learn more esoteric things to do with the language and maybe look at how the language is actually implemented at a low level. These things as the minimum I would expect from someone that uses the term competent to describe their use of a language. I think the question was about mastering the practice, just the coding part ...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now