
Ask HN: Learning Python? - flask
I want to learn programming languages. I am new to programming. I want to build some web apps. I am starting with Python.
What are best resources for learning? What are your best tips? Is there any roadmap to learn Python? 
I am confused. Would appreciate your advice?
======
sosilkj
For Python you could start with:

\- The Python Tutorial:
[https://docs.python.org/3/tutorial/index.html](https://docs.python.org/3/tutorial/index.html)

\- Composing Programs:
[http://composingprograms.com/](http://composingprograms.com/)

As an alternative to Python, you might enjoy learning to program with one of
these books, all of which use a language in the Lisp family:

\- How to Design Programs: [http://www.htdp.org/](http://www.htdp.org/)

\- Land of Lisp (book)

\- Realm of Racket (book)

I'd say give HTDP a try and see if you enjoy it.

------
grawprog
How much do you already know?

Do you understand any basic concepts like variables or assignment?

If you don't understand any of the basics of programming you need to start
there.

I definitely recommend starting small. A webapp with frameworks is not the way
to learn. It will be overwhelming.

Some basic things to understand before starting a big project:

-variables and assignment

-types

-functions

-branching statements(if/else)

-loops and iteration(while/for)

-modules -classes

~~~
flask
Thanks for advice. I know nothing about programming. What are resources I can
start with?

~~~
grawprog
Well after a quick google search on the topics I listed:

Here's one for python:

[https://m.wikihow.com/Start-Programming-in-
Python?amp=1](https://m.wikihow.com/Start-Programming-in-Python?amp=1)

\-----

[https://lifehacker.com/5736011/learn-how-to-code-part-i-
vari...](https://lifehacker.com/5736011/learn-how-to-code-part-i-variables-
and-basic-data-types)

[http://lifehacker.com/5742493/learn-to-code-part-ii-
working-...](http://lifehacker.com/5742493/learn-to-code-part-ii-working-with-
variables)

[http://lifehacker.com/5742494/learn-to-code-part-iii-
arrays-...](http://lifehacker.com/5742494/learn-to-code-part-iii-arrays-and-
logic-statements) [http://lifehacker.com/5742495/learn-to-code-part-iv-
understa...](http://lifehacker.com/5742495/learn-to-code-part-iv-
understanding-functions-and-making-a-guessing-game)

These are in JavaScript which may be helpful if you wish to build a webapp but
the concepts are the same in any language.

These are the basics you need to learn. Start with the python one and work
through until you understand each lesson completely. Then try changing some of
the code from the lessons or making something similar and get it to work.
After take a look through the JavaScript one so you can see the same concepts
in a different syntax. Don't worry too much about it unless you want to learn
JavaScript. This is just to help you recognize the things you learned in a
different form to show they are universal concepts. Try and see if you can
figure out how it's different or similar to python.

Keep looking through different beginner tutorials and writing small one file
programs until you feel like you're not learning enough. Then move on to
something a little bigger.

At the same time you may want to start looking into how web apps work. The
difference between client and server side code. How the browser makes requests
to the server to access your api. It's a fairly different process than
standalone programs and if this is your ultimate goal you should begin looking
into, at least a general idea, of how they work.

[https://www.quora.com/What-is-a-web-app-and-how-does-it-
work...](https://www.quora.com/What-is-a-web-app-and-how-does-it-work-Please-
explain-what-it-is-how-it-works-architecture-wise-and-whatever-else-you-think-
is-important-and-in-which-way-it-is-different-than-the-previous-way-of-doing-
things)

[https://selftaughtcoders.com/how-web-apps-
work/](https://selftaughtcoders.com/how-web-apps-work/)

