Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Would you introduce someone to programing
12 points by offtop5 on May 25, 2021 | hide | past | favorite | 14 comments
A random guy asked me what I did for a living today, he then mentioned he would like to learn to program too.

My first instinct would be to point him to learning JavaScript but I'd like to see what HN thinks




My first advice to anyone who expresses a desire to learn to program is to identify an itch to scratch. What problem do you want to solve? What do you wish you could improve or automate in your life, that you think could be done by a computer? Why do you want to learn to program?

If you have a goal which is not about programming, but requires programming to reach, then you are more likely to learn programming by reaching that goal than by choosing "I would like to learn to program too".


Enjoying programming for the sake of programming can end up a yak shaving bonanza! Definitely good advice to find a goal with programming required to reach that goal.


I agree. The process of programming involves a lot of "head hitting the wall." Having a goal helps you stay motivated when running into such tedious issues.


If they're interested, obviously. The fact that someone looks up to you as a mentor is great and instills a sense of responsibility onto you. I personally start with Python because its syntax is very easy to understand, even though most beginners struggle with indentation (this is where a good IDE / text editor comes in handy). Teach him about problem solving and critical thinking first. Encourage him to pursue a fun project even if it seems silly. After all, programming languages are tools just like screwdrivers. If he has nothing to fix, make or mod, he'll be directionless.

As a programmer myself, sure I'd like to tell people. It's not realistic to make everyone a programming genius, but I want them to know its significance in society. When I describe programming to somone, I start with the most basic stuff, like Theory of Computation. How inputs relate to outputs, how a computer can do stuff on its own, and how you can make it do stuff.


yep, javascript.

https://freecodecamp.com/

if doing javascript lessons for a few days doesn't scare him away from programming, nothing will.


Great, that's what I sent him


Find a problem that he is interested in fixing.

Use programming adjacent tools that he is familiar with or wants to play with. Excel, html, no code solutions. This should be a low time investment but will either get him hooked or deter him.

Read some core books like "The Pragmatic Programmer" about general skills.

Pick up a friendly book like https://www.railstutorial.org/ for web development. I'm sure there are other similar books for other types of development.


Also by the creator of the railtutorial the learnenough.com series


I have two different recommendations, depending on the type of person and his preferred learning style.

Generally, I really like CS50x[0]. I think it provides a great overview of programming, has an awesome production value, and really teaches some of the fundamentals that some beginners tend to skip these days - and which I personally believe are important (e.g memory, binary, etc.).

With that being said, I do recognize that most people require some 'early wins' that will motivate them to keep learning. While something like CS50x is definitely satisfying, it can be too heavy, difficult, or slow for some.

In that case, I think one should 'skip' the fundamentals and go straight for some web development course (any popular Udemy one will probably do) in which they'll get some early action.

[0] https://cs50.harvard.edu/x/


Sure, I would introduce people to coding in some form. Probably start with basic HTML, then CSS and finally JavaScript. Anyone who understands the basics of web dev can easily go on to creating mobile apps, doing back-end, etc.


Ended up sending him this,

https://www.freecodecamp.org/learn/responsive-web-design/#ba...

Ideally this is a good foundation


JavaScript is a good way to start. I think a lot of people enjoy doing it as a hobby, the way many enjoy cooking but would not be a chef. You don't have to actually do something useful with it.


I would start with just teaching them some command line automation stuff, at the very least that's useful enough that if they find that too confusing it hasn't been a huge investment.


I would tell him about Scratch. https://youtube.com/shorts/EURF0h3SCOE




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: