I start by asking if any of the technical readers know how to answer a few questions:
- what is IUnknown ?
- what is MFC ?
- what is ATL ?
- is Borland Pascal a savant’s name ?
If you know the answer to a few of the questions then you may infer my programming life started with C and C++. When STL showed up in my vocabulary it was after memory managers were in vogue about different mechanisms/algos to speed up your application.
Fast forward in the web era and after a long stint with ASP.NET I discovered Python. During a discussion with an acquaintance about tuples and lists and lambda functions in C#, she mentioned the cornucopia of easy structures in Python. It was a time in my life as a software manager when I had to devise tools for testing and even for debugging of firmware. Writing flexible testing/debugging software in C++ is a challenge.
I started with the request package to test Restful APIs and external services, then I got into Celery for scheduling small jobs in cleaning data from ETL reports and somehow ended by developing a full fledged application by using Flask.
Coming from a static checked language and hitting problems at run time was a surprise and raised my frustration with Python. It helped that I was scanning internet chats/groups for people who used to be care free if compilation was successful and adapted my tools to make my life easier (PyCharm helped a lot, thank you).
Python is slow but quickly evolving and one of the reasons we love it is the covering of areas that few languages are in – AI, ML, Big Data, scientific packages, etc..
I am still waiting for a framework to write mobile apps in Python. Until then, I am smiling and play around with the new kids on the block – FastAPI, etc.
P.S I forgot to mention Raspberry PI, Python is also present for dabbing in automation and small embedded software projects.
The grand-dad C++ is still used, but there are so many more options for the programming minds.