Programming Language for Home Project Development

Started by aAgilifypl, Feb 11, 2024, 01:44 AM

Previous topic - Next topic

aAgilifyplTopic starter

Greetings!

I am considering starting programming as a hobby, just for my personal enjoyment. I am not looking to monetize this skill, as I already have a stable source of income at nearly 40 years old.



My goal is to learn how to write programs for personal use. For instance, I recently delved into Arduino and created something akin to a weather station. It would be great to develop a program for it that displays data in a visually appealing way, records sensor readings daily, allows for different data sampling, and generates graphs. Similarly, if I were to manage a small pig farm, I'd like to create a program for tracking animals, feed consumption, financial transactions, and more. Moreover, I enjoy playing the card game "Preference" and would love to create a computerized version of it.

Now, I need to select a programming language. After researching on Google, I've narrowed down my options to three languages:
1. C#
2. Java
3. Python
As I lack expertise in this area, I'm concerned about heading in the wrong direction. While I encountered programming briefly in college, I have only dabbled with simple sketches for Arduino up until now.

What literature would you recommend for me to read to get started?
  •  

centigon

I would recommend starting your programming journey with Python. It's a versatile language known for its simplicity and readability, making it an excellent choice for beginners. To kickstart your learning, I suggest the following literature:

1. "Automate the Boring Stuff with Python" by Al Sweigart - This book introduces practical Python programming for complete beginners. It covers topics such as working with files, manipulating strings, and handling data through real-world examples.

2. "Python Crash Course" by Eric Matthes - This resource provides a quick-paced, thorough introduction to Python that will have you writing programs and solving problems in no time. It's beginner-friendly and covers the basics of Python programming.

3. "Learning Python" by Mark Lutz - This comprehensive guide offers in-depth coverage of the Python language. It's perfect for those who prefer a more detailed and exhaustive approach to learning programming.

Once you have grasped the fundamentals of Python, you can progress to more advanced topics and explore libraries and frameworks suitable for your personal projects, such as data visualization libraries for creating visually appealing displays and graphing tools. Remember, the best way to learn programming is by doing, so don't hesitate to start creating mini-projects that align with your personal interests, like developing a weather station program or a system for managing your hypothetical pig farm.
  •  

mickyrobert

I highly recommend considering C++ as your language of choice. This versatile language allows you to develop applications of any complexity without the pressure of making money from them. In fact, it's a great way to gain a deep understanding of the logic behind other C-like languages such as C, Java, and C#. Don't let the perceived complexity of C++ discourage you – in reality, it's often exaggerated by those who are not familiar with it.

Embrace the opportunity to make mistakes and learn from them, knowing that they won't have critical consequences since you're not aiming to sell your products. Dare to embark on exciting discoveries in the vast universe of C++ programming! And remember, the journey of mastering C++ is filled with endless possibilities for creativity and innovation.
  •  

hieronymusf01

I'd recommend selecting a programming language suitable for your operating system. If you are using Windows, it would be beneficial to start with C#, Delphi, or even begin with C/C++ as you have already familiarized yourself with it on Arduino.
It's important to consider that cross-platform frameworks may not be the best choice initially due to their lower entry threshold and the requirement for experience with "native" platforms. However, PureBasic could be an exception worth exploring, despite its limited support for other operating systems beyond Windows.
  •