Sunday, March 7, 2021

My childhood days

 

Visiting grocery shops to buy vegetables. We used to get vegetables for 1 rs for sambar/Aviyal


Helping mother to get grass for Cows from paddy field







Selling milk by visiting different houses




Helping father at temple, by distributing "Chandanam" to devotees.



Playing with Kites after harvesting


Making boat/changadam using banana stems


Playing in temple ponds



Tuesday, July 7, 2015

Programming in C/C++ using Python



How do we select programming languages for a project/program. It involves lot factors; availability of hardware, target operating system, cost, availability of programmers, previous investments, and of-course the emotional attachment of team/stake holder. 

Programs written with high level languages are efficient in terms of speed and memory. These applications are compiled, executables can run directly run on the indented operating system. High level languages are useful for low level programming; examples are, to directly interface with memory and hardware. Since these programs are efficient, mostly used in process intensive application and OS development. Once these programs are compiled and deployed, it would be difficult to change the program that means they are less flexible. 

Scripting languages are flexible, usually they don't need to be compiled. Every time scripts are compiled or interpreted at run time. Nowadays there are lot scripting languages available with lot features; almost like any other high level languages. 

Why Python 

It supports Object oriented programming, so code can be reused by inheritance. Data structures are also well supported by Python. Usually program written in Python are less in size. Large applications can easily be written in Python by taking advantage of modular name-spaces.

Use case: 

Use of high level programming language for critical/processor oriented portion of the program and Python for non-critical and futuristic. In IOT it is easier to do local customization with python. Consider an IOT system with some sensors; these sensors can be from different manufactures. Each 
time, when we change the sensor or end device, we need to change the code as per hardware specification. If we use C/C++ we need to re-factor our code; but if we embed python with C/C++, we just need to modify the python script to support new end device. This allow us to try different alternatives and see the result instantaneously. 

Conclusion: 

Adding Python (or other script )  to C/C++ program reduces the changes/modifications, and makes it much easier to add more features or fine tune the product/project without compromising much (speed and size) on the quality.