Why is programming so complicated?

This page summarizes the projects mentioned and recommended in the original post on /r/learnprogramming

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • LeetCode

    Discontinued This is my LeetCode solutions for all 2000+ problems, mainly written in C++ or Python. (by lyhsieh)

  • Programming is complicated because computers and computer science are complex. Computer scientists try to design high-level programming languages to be less verbose and have less overhead to express algorithms for many decades now. They improve with each iteration, just look at the history of C, Java and C++ languages standards implementations and how these languages evolved over time. Also look at all the new languages and approaches taken by designers as the old inadequate languages were phased away in favor of the new ones. BASIC, COBOL, ADA, Pascal once thrived, then C revolutionalized the industry, then C++, Java came, then Rust, Python, Scala and so on. Sometimes it helps to get that spark by understandind how computer system works, going from the bare metal level, up to the high level programming. It doesn't have to be a complex 64-bit generic purpose multiprocessor computer architecture, like today's PC or even a smartphone. Start with something simpler - an 8-bit microcontroller, 8-bit CPU or similar small system. Check out Ben Eater's web site, seek him out on youtube. Check this excellent resource: https://www.nand2tetris.org/. I agree with others that answered you earlier - you must learn by doing. Programming is not only a craft, but also a science and an art. In all of these categories you must practice and experiment a lot to improve and develop your own technique and style. Start with solving simple exercises from beginners books, then when you feel these are not challenging anymore, move on to something more challenging, take up the programming challenges on the websites like codecademy.com, leetcode.com and similar. Build small apps, any apps, doing something with the data, putting stuff on the screen, solving real-life problems. Try to learn at least one new programming language and about one new computing technology a year. Write a program to solve a logical or math puzzle. Write a simple computer game, doesn't have to be fast action arcade, can be a text turn based one. The skill and experience will come with time. Don't give up on yourself too easily. Then, if you still don't get that spark and passion for the programming craft and you feel like after months of learning and practicing you keep struggling too much, only then reconsider if perhaps programming is not for you? Good luck!

  • py4e

    Web site for www.py4e.com and source to the Python 3.0 textbook

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • developer-roadmap

    Interactive roadmaps, guides and other educational content to help developers grow in their careers.

  • This is a great starting place https://roadmap.sh You’ll drive yourself crazy if you try and absorb everything at once.

  • obsidian-releases

    Community plugins list, theme list, and releases of Obsidian.

  • For knowledge management (Obsidian) and knowledge retention (Anki).

  • anki

    Anki's shared backend and web components, and the Qt frontend

  • For knowledge management (Obsidian) and knowledge retention (Anki).

  • W3Schools

    W3Schools Full Offline Version

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Ask HN: How do you find employment opportunities in 2024?

    1 project | news.ycombinator.com | 2 Mar 2024
  • Where Is Noether's Principle in Machine Learning?

    3 projects | news.ycombinator.com | 1 Mar 2024
  • Lessons from leetcode: 347 Top K Frequent Elements

    1 project | dev.to | 23 Feb 2024
  • Top 10 GitHub Repositories Every Developer Should Bookmark in 2024

    5 projects | dev.to | 7 Feb 2024
  • Memorizing a programming language using spaced repetition software (2013)

    3 projects | news.ycombinator.com | 7 Feb 2024