Ask HN: If I want to learn programming should I start with mobile or Web app?
Hi HN,
I want to teach myself how to program and build a simple app but don't know where to start. Should I build a mobile or Web app? Google is a bit overwhelming because it gives so many different options so I was wondering if someone can point me in the right direction?
Thank you
6 comments
[ 3.9 ms ] story [ 21.1 ms ] threadThere is more demand for Web App developers than Mobile Developers
But if you are starting a company and want to build your idea which is a mobile focused product I would suggest start with mobile, you will be able to execute on your idea faster.
I always see people starting off with python, Java, or JavaScript, but I feel that if you do that you are missing some core concepts which will take you a long way. This knowledge you will gain by struggling with memory management in C will give you an appreciation when you finally decide to move on. It will also provide you with a foundation for deeper understanding when exploring how things work in these higher level languages.
It may be a pain, and an unpopular opinion, but I think it is the best way to learn the basics, and the basics are important.
Great!
> Should I build a mobile or Web app?
As artellectual says, it depends on what you want to do, between those two.
But there are many more types of software beyond web or mobile apps. You could write personal programs that run locally, for your own use (and which are a good way to learn, since you're scratching your own itch). There's math, science, embedded, financial, etc. Any of these might be standalone programs, or they might run on a web server with a browser front end. You might program on the front or the backend.
If you want to learn "to program," here are a few resources:
https://docs.python.org/2/tutorial/
https://www.ruby-lang.org/en/documentation/
http://docs.oracle.com/javase/tutorial/
http://racket-lang.org/
http://docs.racket-lang.org/htdp-langs/index.html
https://duckduckgo.com/?t=lm&q=learn+c+programming&ia=web
https://www.khanacademy.org/computing/computer-programming
More broadly:
https://en.wikipedia.org/wiki/Computer_programming
https://en.wikipedia.org/wiki/Outline_of_computer_programmin...
https://en.wikipedia.org/wiki/Portal:Computer_programming
Racket: https://docs.racket-lang.org/
Processing: https://processing.org/
Most web development tools and nearly all mobile development platform assume that the developer is a professional. The tools are complex. The documentation assumes significant familiarity with programming.
Good luck.