| This post reminded me when I started programming, very nostalgic. I started out with C as my first programming language simply because the language rankings at the time said it was the most popular. Looking back, I don't think C helped me out as much as I wanted it too. Now to answer your question by looking at your goals. "Knows no programming language" lets me know that you are starting from scratch. In my opinion, this means you need to answer the following question first: do I even like programming? The best way to answer this is to not abuse yourself with C but instead start with python to get a real feel for what programming is. "Learn coding for building with best design principles" means you want to learn good habits early on. Python has a stable style guide (pip8) and the zen of python, so at least some good habits can be learned quickly. I don't think there is a comparable zen of C, but maybe that's because I haven't looked. "Gaining efficiency of data structures" means understanding why data structures are important in program design. Python has some pretty solid built-in data structures (i.e lists, sets, dicts, tuples) that are good for beginners who want to experiment with data structures. C doesn't have lists, sets, dicts, or tuples, but you can implement them if you try hard enough. "Thinking abstractedly in algorithmic rollercoaster of fun"...I think what you meant is the freedom to think about an algorithm and to implement it with ease. Python is fantastic for this, while C requires a lot more thinking to get a thought manifested to code. This post kinda struck a chord with me because I wrestled with the same question when I started 4 years ago. Python helped me more than C because I was more creation oriented. I wanted to implement a useful tool as fast as possible. With your questions in mind, I think python would be better choice than C as a beginner. |
As I said in other comments before, I was apprehensive if I could deal with initial frustration due to subconscious comparison of how easy life was with python. I asked myself If I would trip off; will I be able to cope up; will my brain be malleable enough or get hardened against the higher cognitive load C poses comparing to python, etc. with no good answers. Hence this question.
Every other commenter echo with your respected opinion and I appreciate your well explained suggestion. I just needed my answers through other's experiences to the above questions.
I will be "starting out with python"(amazon<dot>com/dp/0134444329).
Thank You.