

Ask HN: Learning to program in 2015 - Benjamin_Dobell

I&#x27;m a professional software developer who recently got back from a trip to Nepal. Whilst I was there I did some trekking in the Himalayas and met a fantastic tour guide whose son has the dream of becoming a software engineer. Unfortunately they don&#x27;t own a computer, but do have Internet access via mobile phones. I&#x27;ve decided to fix-up an old Macbook (still working on that bit - http:&#x2F;&#x2F;apple.stackexchange.com&#x2F;questions&#x2F;171126&#x2F;cant-power-on-without-smc-reset-whilst-holding-power) and donate it.<p>I taught myself to program when I was 12 years old, bouncing between BASIC and C++ as I struggled to understand basic programming concepts. I believe my tour guide&#x27;s son is around 18 years old, so the things that held my attention may not seem so interesting to him. He probably also has even less experience with computers than I did when I was 12. To further complicate matters, his first language is Nepali; although I am expecting he&#x27;ll learn to program from English resources.<p>The software world has come a long way since I was 12 - so I&#x27;d like to know what resources, software and programming languages are out there for someone learning to program for the first time. I&#x27;m talking about starting from the absolute beginning i.e. What is a program? What is source code? What is a compiler? What is a variable? etc.
======
brudgers
Some thoughts:

\+ I think this is a great thing to be passionate about.

\+ Though neither OSX or Windows offers full support for Nepali, Windows
offers Napali as a display language. [1]

\+ Microsoft also appears to have some presence in Nepal.[2] Apple does not
appear to.

\+ I am not suggesting that Apple isn't better for you. What I am suggesting
is that the Microsoft stack may be a better commercial option for someone in
Nepal.

\+ I'd suggest Linux [http://www.nepalinux.org/](http://www.nepalinux.org/) as
a first choice over Microsoft, even though the projects for a Nepali Linux are
not very active because an older stable distro is fine for learning.

Good luck.

[1]:
[http://www.microsoft.com/OEM/en/installation/downloads/Pages...](http://www.microsoft.com/OEM/en/installation/downloads/Pages/windows_7_language_interface_packs.aspx)

[2]: [http://www.micnepal.org/](http://www.micnepal.org/)

~~~
Benjamin_Dobell
Thanks for the info!

It seems OS X does have some degree of Nepali support; I was able to install a
Nepali keyboard when installing Yosemite and can now toggle between keyboards
easily enough. It seems to print Nepali characters fine (although I honestly
have no idea).

I'm thinking I'll install Windows on another partition so that the option is
available, in case some software is Windows only. Dual booting on a Macbook is
reasonably straight-forward, although swapping OS is likely to be confusing
for a newbie. So I probably won't mention Windows being installed unless they
contact me saying they're stuck on something.

------
carlosolmos
check out [http://scratch.mit.edu/](http://scratch.mit.edu/) and
[http://code.org/](http://code.org/)

~~~
Benjamin_Dobell
Thanks! I knew about Blockly but the community around Scratch seems fantastic.

------
sinlung
there are some paid one from VTC and Lynda

