In programming, one realizes that some of the activities can get repetitive.

One needs to look for common features of such activities.

Automating some of these activities will generally be a great help and time saver in the long run.


Description language

One approach to the problem of have code work across platforms is to have interface description languages.

These IDLs define the data and operations supported and code can be generated and compiled from this on a platform specific basis.

This ensures that though the generated code may be platform-specific, the IDL remains common across platforms.


It is interesting to note how computers have moved from even being conceived of thanks to mathematics.

From this conceptual stage, it moved to vacuum tubes to transistors and semiconductors.

Today, one finds supercomputers, quantum computing and other fascinating developments.

Efficient, continued

On the theme of efficiency, C language is a great option for many applications that have constraints of memory, CPU etc.

The reason is that compiled C code can efficiently utilize limited resources without additional overhead such as garbage collection etc.

The catch of course is that the programmer is completely responsible for memory management.


In choosing programming languages, one can decide on some criteria.

If one looks for quick and easy script without consideration for speed, one may look for python.

However, efficiency can be found in a lower level language like C.

How does it work?

In programming, one often comes across situations where information about existing code needs to be gathered.

Practically, not all the code tends to be well documented.

In such cases, the best bet may be to read the code and try to understand it. Also, in languages such as Python, tools like “inspect” and other built-in runtime functions help massively.


Every programming language has its own set of constructs for any given feature.

Each feature of a language is implemented based on the available resources and the underlying assumptions of the language.

If one wants to have a table of elements with a key, one finds this feature supported in various ways in most modern languages. In a language like C, however, one ends up making one’s own implementation.


The behavior and information of a program is usually seen and controlled at either the time of compiling or at runtime.

For compiled languages, attributes and types cannot be manipulated dynamically to the them extent it can be for a language like Python.

The danger of uninhibited runtime manipulation is it may lead to indeterminate behavior.

Of coding

Coding is said to be a great exercise of the brain:
Occasionally, it even involves the brawn;
More often than not, we try with the results to make it rain;
Great is the feeling when the job gets done when gets called the main()!


A programming language usually defines numerous base types for it’s variables. Examples include strings and integers.

In most languages, there is a need for an all-encompassing type of variable that, in theory, can store any value.

This type is variously defined as the union type, the void pointer or the empty interface in different languages. In a duck typed language such as Python, all variables can take on any type based on runtime usage.