Summer'17 Intern-Week 3

Challenges are fun!

Posted by Tahmid Efaz on June 16, 2017

Challenges are fun!

I will be using the CUDA platform to write parallel programs for the GPU. CUDA uses C/C++ as its primary programming language. Even though I have used C++ before, it is not the language that I use often. I was formally introduced to programming languages by Python. Python is the language that I use most of the time. It seems like getting familiar with a programming language that I don't use often seems a little challenging, however, it is fun at the same time.

Even though C++ and Python are both high-level general purpose programming language, there are key features that make these two programming languages very different from each other. C++ is a compiled language, which means that a program written in C++ needs to be compiled beforehand. Python, on the other hand, is an interpreted language and do not require compilation.

The memory management of these two languages is very different. Through the use of Pointers, C++ makes the memory location of a certain variable easily accessible. This robust feature is unavailable in Python. Pointers make C++ a truly fun and powerful language. Pointers in C++ are mutable, which means that they can be modified. Pointers enable non-fruitful functions to modify variables. The programmer can make a non-fruitful function that takes in a pointer as a parameter and can then modify the content of that function without the function not returning anything.

C++ is a language that has been around for ages and its popularity does not seem to wither away a bit. People still use C++ in the industry extensively. This fact tells a lot about C++ as a language. I might be finding my re-introduction to C++ a little challenging, but the truth is that learning C++ would only improve me as a programmer. I am a strong believer in the notion that a person can only grow through struggle. To be honest, I am finding work with C++ very fun.