
Ask HN: If I want to learn programming should I start with mobile or Web app? - jserna90
Hi HN,<p>I want to teach myself how to program and build a simple app but don&#x27;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?<p>Thank you
======
grimgram
I would start from the beginning using something like C. Get familiar with the
fundamentals and how programs work before moving on to something higher level.

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.

------
brudgers
Between mobile and the web, I'd recommend the web. In terms of learning
programming however, I'd recommend starting in a language ecosystem where the
community values teaching programming to new comers. In my opinion, Racket and
Processing are good places to start learning to program:

Racket: [https://docs.racket-lang.org/](https://docs.racket-lang.org/)

Processing: [https://processing.org/](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.

------
artellectual
It depends on what to want to do. If you are learning because you want to get
a job in the market I would suggest picking up web application development.
Web application developers are in higher demand than mobile developers. This
is based on me working with multiple web agencies and observing their hiring
ratio. Usually it's 4-5 Web App developer to 1 mobile developer. Another thing
is good web developers are a rarity. Mobile developers have flooded the
market.

There 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.

~~~
jserna90
Thank you. Really appreciate the advice.

------
a3n
> I want to teach myself how to program

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://docs.python.org/2/tutorial/)

[https://www.ruby-lang.org/en/documentation/](https://www.ruby-
lang.org/en/documentation/)

[http://docs.oracle.com/javase/tutorial/](http://docs.oracle.com/javase/tutorial/)

[http://racket-lang.org/](http://racket-lang.org/)

[http://docs.racket-lang.org/htdp-langs/index.html](http://docs.racket-
lang.org/htdp-langs/index.html)

[https://duckduckgo.com/?t=lm&q=learn+c+programming&ia=web](https://duckduckgo.com/?t=lm&q=learn+c+programming&ia=web)

[https://www.khanacademy.org/computing/computer-
programming](https://www.khanacademy.org/computing/computer-programming)

More broadly:

[https://en.wikipedia.org/wiki/Computer_programming](https://en.wikipedia.org/wiki/Computer_programming)

[https://en.wikipedia.org/wiki/Outline_of_computer_programmin...](https://en.wikipedia.org/wiki/Outline_of_computer_programming)

[https://en.wikipedia.org/wiki/Portal:Computer_programming](https://en.wikipedia.org/wiki/Portal:Computer_programming)

------
blackflame7000
Neither, you should start on a desktop/laptop learning a core language like
C/C++ before moving on to mobile.

