Skip to main content

Programming Language Learning Template

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.

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

Popular posts from this blog

Event Sourcing with CQRS.

  The way event sourcing works with CQRS is to have  part of the application that models updates as writes to an event log or Kafka topic . This is paired with an event handler that subscribes to the Kafka topic, transforms the event (as required) and writes the materialized view to a read store.

GraphQL microservices (GQLMS)

I'm curios of GraphQL !     -  GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015. It should be solving a problem in querying data !     -GraphQL lets you ask for what you want in a single query, saving bandwidth and reducing waterfall requests. It also enables clients to request their own unique data specifications. A case study ?!    -https://netflixtechblog.com/beyond-rest-1b76f7c20ef6 So, This is just another database technoloy ?  -  No. GraphQL is often confused with being a database technology. This is a misconception, GraphQL is a   query language   for APIs - not databases. In that sense it’s database agnostic and can be used with any kind of database or even no database at all. Source:   howtographql.com