Programming language is a convenience of a programmer to define how the machine should behave.
Usually students who are new to computer science domain think that learning a programming language is a hard thing. Also they get bogged down by the vast API and STL created for any particular language.
In such situations you need to understand that you don't need to memorize every single function and API calls to say that you know a particular language. Even people who are involved in the language development are not aware of every single function out there.
But you should know the core components of any particular programming language. This should be enough to get the things done at any level. For any particular necessity of a programming construct you should be able to be in a position to find it the documentation of such particular programming language.
So how do I know that 20% of the language to get to the core of a programming language ? The list of questionnaire presented here should help you get there.
A processor at a fundamental level can only do 1. Data transfers 2. Arithmetic and logical operations 3. Control functions (defined in micro kernel or hardwired )
So any high level programming language should revolve around these fundamental operations.
About Memory:
1. How do I get memory, i.e how are variables declared. Any specific facts and constrains about variables ?
2. How do we get the entry point for the program execution ? [ Example : main() in the C program ]
3. How does dynamic memory handled ? Is it supported in first place ?
4. What are the datatypes which are supported and its range?
5. Is user defined datatypes support ? If so how you do it ?
6. How do you cast from one data type to other data type ?
_________________________________________________________________________________
About Program Control :
1. What are the program control options available ? [ like "IF ELSE" , "Switch Case ]
2. How are Boolean operations supported ?
3. What is the operation precedence applied in compile operation ?
4. What are the operations supported ?[Arithmetic and special ]
_________________________________________________________________________________
Program refactoring :
1. How do you subprogram ?
2. What are argument passing paradigms supported for subprograms ?
3. What are the ways in which multi threading applications are created in the programs ?
4. How are subprograms called , what are the options we have got ?
_________________________________________________________________________________
Special Operations :
1. Have the overview of string,file,system operations supported by the language's standard library.
2. How exceptions are handled and common exceptions.
3. What is the function recursion depth supported.
4. Some language specific concepts : Like class hierarchy(if OO), creating disposable objects, function injection, detecting for loop abrupt breaks etc ..
Finding answers for these questions for a particular programming language will give the core part of the language which is a good enough point to build further on ...
Usually students who are new to computer science domain think that learning a programming language is a hard thing. Also they get bogged down by the vast API and STL created for any particular language.
In such situations you need to understand that you don't need to memorize every single function and API calls to say that you know a particular language. Even people who are involved in the language development are not aware of every single function out there.
But you should know the core components of any particular programming language. This should be enough to get the things done at any level. For any particular necessity of a programming construct you should be able to be in a position to find it the documentation of such particular programming language.
So how do I know that 20% of the language to get to the core of a programming language ? The list of questionnaire presented here should help you get there.
A processor at a fundamental level can only do 1. Data transfers 2. Arithmetic and logical operations 3. Control functions (defined in micro kernel or hardwired )
So any high level programming language should revolve around these fundamental operations.
Core questionnaire :
About Memory:
1. How do I get memory, i.e how are variables declared. Any specific facts and constrains about variables ?
2. How do we get the entry point for the program execution ? [ Example : main() in the C program ]
3. How does dynamic memory handled ? Is it supported in first place ?
4. What are the datatypes which are supported and its range?
5. Is user defined datatypes support ? If so how you do it ?
6. How do you cast from one data type to other data type ?
_________________________________________________________________________________
About Program Control :
1. What are the program control options available ? [ like "IF ELSE" , "Switch Case ]
2. How are Boolean operations supported ?
3. What is the operation precedence applied in compile operation ?
4. What are the operations supported ?[Arithmetic and special ]
_________________________________________________________________________________
Program refactoring :
1. How do you subprogram ?
2. What are argument passing paradigms supported for subprograms ?
3. What are the ways in which multi threading applications are created in the programs ?
4. How are subprograms called , what are the options we have got ?
_________________________________________________________________________________
Special Operations :
1. Have the overview of string,file,system operations supported by the language's standard library.
2. How exceptions are handled and common exceptions.
3. What is the function recursion depth supported.
4. Some language specific concepts : Like class hierarchy(if OO), creating disposable objects, function injection, detecting for loop abrupt breaks etc ..
Finding answers for these questions for a particular programming language will give the core part of the language which is a good enough point to build further on ...
Comments
Post a Comment