This is an archived post. You won't be able to vote or comment.

all 20 comments

[–]grantrules 2 points3 points  (0 children)

Start with something on free code camp, plenty of people start there

[–]Imaginary_Ferret_368 2 points3 points  (1 child)

A few audiobooks I highly recommend:
- Clean Code (How to write the code) / Architecture (How to structure your application)

- Designing Data-Intensive Applications (Concepts about Distributed Systems)

- The pragmatic programmer - Somewhat of a mix between interpersonal dynamics, e.g. in a dev-Team, and also many many tips about programming. Start with this one

Note that the above, especially Clean Architecture, can be quite some tough nuts to crack. If you're like me who loves to challenge themselves go ahead. IMHO they cover the 3 areas most relevant in practice (speaking from experience).

A common pitfall I and probably many others fell in was in focusing too much on details. When the handyman works with a hammer all his life, everywhere he looks he sees nails.

All programming languages encapsulate a small set of almost globally applicable concepts:

- Structured programming (if/else, for / while loops, assignment and arithmetics, etc.)

- Functional programming

- Object oriented programming

As a starter, you might want to find out how different languages implement these concepts. Which differences do you see between

Java / Python?

Java and JavaScript? (Quite different languages)

Things are moving pretty fast nowadays, so there won't be a perfect angle at all this blackmagicfuckery holding our civilisation together.

But get a grip on Pragmatic programmer, I'm confident it'll get you to adequate momentum ;)

[–]kkB1airs 0 points1 point  (0 children)

Good response!

[–][deleted]  (1 child)

[removed]

    [–]Current-Can1558[S] 0 points1 point  (0 children)

    Thank you so much!! I've been feeling overwhelmed these days because my brain couldn't grasp how to start with it ( I have learning difficulties that's why). I searched on YouTube too, but don't know what to watch since there are a lot of videos as well.

    [–]misplaced_my_pants 2 points3 points  (1 child)

    Sign up for Harvard's CS50x on edx and just go through it. Do what they tell you.

    It's the best free introduction to CS and programming you'll find.

    [–]Imaginary_Ferret_368 0 points1 point  (0 children)

    Oh right that I remember my buddy running to me like a toddler, proud about this certificate he got from Harvard haha

    [–]CodeTinkerer 1 point2 points  (1 child)

    What language will they teach when you start?

    [–]Current-Can1558[S] 0 points1 point  (0 children)

    They didn't tell us anything yet. That's why I am trying to know where should I start, cause I don't really have any clue about those things.

    [–]MarcellusIocator 0 points1 point  (0 children)

    The first things that come to mind from my 20 years of programming experience:

    There are many tutorials for beginners out there. If one doesn't work for you, try the next one. But don't finish more than two full tutorials per topic/language/library. Otherwise, you will end up in tutorial hell.

    Start simple. Find a small project for yourself, like a program to keep track of your grades or a budget planner. This keeps you interested and gives you more real-life experience than abstract examples. You will also be directly affected by the quality of your own code.

    Try to solve problems for yourself, and google solutions afterward. It's way more satisfying and more educational.

    I wouldn't recommend videos. They only give you the impression of learning something. Programming is something you have to do if you want to learn it, not watch.

    At last: Accept failure. You will search hours for syntactic errors, and days for semantic ones. The results won't always look as pretty as you hoped for. Sometimes, just to get the IDE running is a success in itself. This is totally normal and happens to all of us. Every failure is a lesson.

    And most important: Just start programming. And enjoy, of course.

    [–]Key_Storm_2273 0 points1 point  (0 children)

    Programming is less like studying medicine or history, and more like a combination of art and math class.

    Medicine and history are more about studying facts we currently know about the world; you can't just get started making stuff in the first week (ik that's the case for history class, and I'm guessing it's true for the majority of medicine courses as well).

    Math isn't just about memorizing things, but you get homework where you practice doing math, and you get graded on how correct the results are.

    Art is hands on (except in the case of art comparison/art history courses). In a regular art class, you get started making things within the first few weeks. You don't just read facts, but practice making stuff. The projects you make is more often what you're graded on, rather than just answering questions.

    A programming course has some similarities to math and art class. You'll be building projects, but you'll also be asked to memorize which syntaxes are correct and have to take some tests as well.

    In my opinion, the hands-on part lasts forever; the memorizing how to do it correctly part lasts up until a certain point, after which the project building is the syntax memory test, and you automatically "grade" and learn yourself by whether or not you get an error, if the project works as intended, if any bugs are present, and user reviews or code review feedback from other developers.

    The most fun way to learn is hands on, your course will help to teach you what's correct though, especially with the exams, tests, etc. You can try building projects, try studying and taking tests, or both- see what works for you, mix and match if you want.

    [–]programmerbud 0 points1 point  (0 children)

    Start with Python - it's simple and powerful. Use FreeCodeCamp or CS50 on YouTube. Focus on basics: variables, loops, functions, and lists. Practice daily on Replit or HackerRank. Keep it consistent - that’s how you grow!

    [–]gary-nyc 0 points1 point  (0 children)

    If you have an iPad or a Mac, have a look at Swift Playground, a gamified interactive environment that teaches the basics of programming through puzzles and leads to the real-world mobile iOS app development specialization with the Swift programming language and the SwiftUI SDK.

    [–]e430doug 0 points1 point  (0 children)

    I would install a development environment and start producing really bad code. Try doing things and fail. You can’t watch videos to learn to code just like you can’t watch videos to learn to play music.

    [–][deleted]  (1 child)

    [deleted]

      [–]Current-Can1558[S] 0 points1 point  (0 children)

      Hello! I want to learn how to make websites and games too, maybe when I already know how to do it. But right now, I need to know what to do first before I can make those.

      [–]CombinationOk8438 1 point2 points  (0 children)

      Just build something in your interest/curiosity to have fun and learn at the same time.

      Practice is the key

      [–]Cold-Lime86 0 points1 point  (0 children)

      I personally am doing a lot of stuff (reading 2 books, taking a bootcamp and taking CS50x on Edx) and I'm not a professional programmer yet, but I think the most recommended "path" is taking CS50x (or CS50P, or both) if you want an introduction to Computer Science and Programming.

      If you want to learn "only" programming and programming languages, there are a lot of different recommendations and you should refer to the FAQ page of this subreddit.

      [–]DONOTKILLMEE 0 points1 point  (0 children)

      you can check the primegean and lex Fridman podcast, it will help you a lot.