HACKER Q&A
📣 FollowingTheDao

How should I get started learning modern programming?


So, an introduction of sorts because I thin it matters. From 1985 to 1987 I was a computer science major and was doing really well. It was Fortran back then. I also grew up using a Sinclar ZX81 so programming is not really new to me. But the programming languages sure are as well as the things you can do with it. I make bash scripts al the time for my genetic research so, well, you get it.

Also, I was a Network Engineer for Cisco Systems before my Bipolar Disorder made it impossible for me to work. That was in 1999 and I have been living on disability since 2003.

I would like to try my hand at programming for Linux applications, possibly MacOS as well. I have a 5th get Thinkpad X1 Carbon running Ubuntu and an M1 MacBook Air.

I am also homeless and live in a minivan. I am doing fine with this life but if I could get back into programming and make some extra money it might be something I can use to get myself back into housing after a while and still be able to deal with the Bipolar Disorder.

I have been looking at where to start but it is overwhelming. Mostly I am looking for a programming language with some longevity.

Thanks for any help!


  👤 svennek Accepted Answer ✓
IMHO python is a pretty good place to start.

Friendly language, that can be used for most stuff (not operating systems or high performance stuff though). Batteries included makes short work of a lot of tasks.

The significance of white-space makes most python code look relatively clean.

I think, you should not overthink it. Get back on the bike and figure out where to go when you are back up to speed.


👤 JoeMayoBot
In addition to language, it might be helpful to explore the type of coding you want to do. e.g. Web, Mobile, Cloud, etc. One of the things you can do is peruse some free resources to see what's available and how you like it.

A free resource I like is FreeCodeCamp:

https://www.freecodecamp.org

They have curriculum on Web development with JavaScript and React, which is a popular framework. They also have data science material with Python and related tools.

I'm in the Microsoft space, which has a lot of opportunity and they have free courses on everything you would want to do. You can even open a free Azure account to practice cloud development.

https://docs.microsoft.com/en-us/learn/

They also have material geared toward certification.

Another resource that I find interesting is Google Cloud:

https://developers.google.com/learn

They have various certification programs and I hear they've hired people who have taken and passed their courses.


👤 mikewarot
Lazarus brings Turbo Pascal/Delphi forward into the current world. You can build GUI programs in Linux, Windows, MacOS by pretty much drag/drop of the controls into a form, then filling in the event handlers. It's open source, and likely one of the lowest barriers to entry available.

👤 nnoitra
1) Learn the syntax of either Javascript(the entire Web runs on this language) or Java (incredibly versatile language)

2) Solve around 100 LC easy problems. This will help you convert ideas to code. (https://leetcode.com/problemset/all/?difficulty=EASY&page=1)

3) Learn design patterns - this will help you learn to structure your code well

4) Pick up a bigger project to create to add to your portfolio (2-3K lines of code)

5) Get a job and keep learning!


👤 ThrowawayR2
> "Linux applications, possibly MacOS as well"

Probably Java, much as it pains me to say that. Mature language and ecosystem, will have longevity for decades more since it's as deeply embedded in business systems as COBOL was, and can be used for cross-platform GUI applications with a bit of effort.

(Python may be easier but, thanks to the GIL, doesn't deal well with multiple threads of execution and that's the name of the game to get performance from modern multi-core systems.)