The dilemma of first programming language to learn: resolved

I would like to share my experience of overcoming the challenge of choosing a first programming language to learn. This is a hurdle that many of us face when embarking on our programming journey. I hope my experience can shed some light on this common dilemma. When I first started learning to program, I felt overwhelmed by the multitude of languages and paths to choose from.

My initial attempt at learning through a combination of paid and free courses did not yield the desired results. I experienced a degree of discouragement, but I was determined to identify the optimal path. I decided to pursue web development and enrolled in a comprehensive course covering HTML, CSS, and JavaScript. While it provided a solid foundation in web development, I yearned for a deeper understanding of the underlying principles of programming.

This pursuit of deeper knowledge led me to self-study, where I explored JavaScript, HTML, and CSS through various open courses. However, it wasn't until I ventured into Ruby that I began to grasp the intricacies of programming on a more profound level. Ruby's elegant syntax and powerful features sparked my curiosity and propelled me further into the world of programming.

After careful consideration, we have determined that Python, rather than Ruby, is the optimal choice for achieving my long-term goals. I have identified an online course on the fundamentals of programming in Python from the University of Helsinki that aligns with my needs. My mentor has approved this course and we have set a goal to complete part 12.

In the course of our discussion, an interesting development occurred: my mentor suggested that I work on exercises in both Python and C. He believes that learning both languages will offer a more comprehensive understanding of programming.

Thus, the proposed solution to the dilemma of choosing a first programming language is as follows: select a language and course that suits you. At this stage, it doesn’t matter whether the course is online or offline. Then, study this language in parallel with C. The learning process would look like this:

  1. Read the theory on your chosen programming language (language 1).
  2. Thoroughly review the course assignment.
  3. Complete the assignment in C.
  4. Complete the same assignment in language 1.

Here’s why I believe this parallel approach can be highly beneficial:

This approach will help you gain a deeper understanding of fundamental programming concepts and see how these concepts are implemented at different levels of abstraction. This method has truly helped me not only to better understand programming but also to increase my confidence in my skills.

Links:

Published on May 24, 2024 by Yeldar Kudaibergenov