this post was submitted on 14 May 2024
154 points (99.4% liked)

Programming

17392 readers
145 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Start learning at 50

I've always wanted to learn programming. I've read a blog post saying that at this age it was to late . Then I read a post here in saying the opposite. I've found a site that was learn x in y minutes where it has a bunch of languages there. After reading them, the languages that caught my attention were Julia, Clojure and Go. Are any of these good for a beginner or should I start with something else? I know what are variables, can spot an if/else statement but that's about it. What are some good resources for someone like me who likes to learn by doing things?

(page 2) 7 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 6 months ago* (last edited 6 months ago)

I'm a big proponent of life-long learning. Never let anyone tell you that you shouldn't learn something. Do you know what types of things you would want to write a program to do? It's easier if you have a goal in mind as it will provide a motivation as well as specific things to learn since "programming" is a rather large topic.

Clojure, Julia and go are very different languages. Of the three "go" is probably the most popular and would likely have a lot of resources available for learning. Python is also a very popular and "beginner friendly" language since it's interpreted and you can run scripts without the need for compiling them. But they're all fine languages so if you're drawn to one go for it. There are many concepts that are simply "language agnostic" so if you learn one language it will be easier to switch to another language later. You're not going to be locked in. That said Clojure will be the most different from the others you've listed. It's a so-called "functional language" which has a different approach from non-functional languages. This is not a criticism, just an FYI. Though functional languages do tend to be "less popular" generally but with a core of people who simply love them. Your mileage may vary.

And there is an important point to make here - programming is about more than learning languages. There are many concepts that you'll want to learn as well that are used when programming. "Object Oriented" programming, the aforementioned "functional programming", various data structures (lists, maps, arrays, etc.). many algorithms for things like sorting, searching, etc. The list goes on. To start with you'll want to learn simple data types (numbers, strings, probably dates) and data structures (lists, maps, arrays). Then move to more complex data structures ("structs", classes, queues, etc.).

Once you've selected a language you'll want to consider a development environment. What will you write code with, how will you run it, etc. Often some sort of IDE (Integrated Development Environment) is useful as it will provide many tools that assist in running your code. There are sometimes different IDEs for different languages, and some that support many languages. VSCode is a flexible option that is free, IntelliJ is another good option but is commercial (though with a "community edition" that is free). You can always ask here about tooling.

These days I would start out with an AI helping you. AI's get a lot of crap for "sometimes generating bad or non-working code" but they can be extremely helpful as a learning aide and for explaining concepts, code, etc. They're infinitely patient and provide near-instant response. I've been coding for, well, we'll just say "some time" but even I've found AIs very helpful when learning a new language. You can directly ask it "what's that '?:' thing on line 4?" and get a good quick response vs. trying to google "?:" without knowing it's called "the elvis operator". Some AIs are better at coding than others and they're getting better almost daily. If you've sat for an hour trying to figure out why something isn't working chances an AI can often provide some guidance and keep you from getting too frustrated.

Edit: One thing I should add is that you will find many people with very strong opinions in the programming community. These opinions can be about which languages are good, what editors you should use, etc. Take any guidance that "X sucks" or "avoid Y" with a grain of salt. Best to ignore them completely and look for people who have more reasoned responses.

[–] [email protected] 2 points 6 months ago

It's always worthwhile to learn new things!

And programming is a tool, so it's typically made to be clear how to use it, although of course people will differ on what needs to be clarified the most.

My experience is that there's way too much discussion in what tool to pick, it doesn't matter that much and almost all of the common languages will allow you to do all the things. And even though some will be better adapted for certain applications, it's easy to pick up the new tool when relevant, and you'll be that much ahead by being well versed in one.

As for how to learn, I find that you kind of need to figure out the basic syntax in each language (loops, conditionals, output, memory management, typology, lists, function calling, maybe classes/libraries if you're fancy), and then start doing projects.

A nice intro for C# is the C# Player's Guide by R B Whitaker, using some gamification and storytelling to get you through the basics, and even leave you prepared to tackle your first projects (by practicing design philosophy, how to break down projects, etc).

Otherwise, Python is a lot of fun, it's made to be very easy to jump into, and then it's fully featured to do anything you'd like it to. Unfortunately all my resources for it are in my local language, but it has many many users so I'm sure there's great resources to be found in your own language.

[–] [email protected] 44 points 6 months ago (4 children)

What are you looking to actually do with your programming skills? That will heavily influence which languages to recommend you learn. Do you want to make websites? build games? do AI stuff? Create enterprise-level software? something else?

load more comments (4 replies)
[–] [email protected] 6 points 6 months ago

Julia, Clojure and Go. Are any of these good for a beginner or should I start with something else?

That totally depends on what you want to do.

Go should be easiest since it's purposefully simplified in order to make learning it easier. There are some more difficult concepts, but the start should be easy enough. I know about go with tests, but it's not really programming beginner friendly.

I'd avoid clojure as a beginner. It's more for people who know java, but don't want to write java. Common lisp and schemes are good for learning programming, but they're not a popular group of languages and that can be a problem.

[–] [email protected] 15 points 6 months ago

Its never too late to start learning something! I am sure you are well aware of your learning rate and how it changes as you get older but that doesn’t mean you cannot learn at all.

As a beginner, often Python is recommended as a simpler language to pick up and start learning.

Do you have a goal in mind with what you want to learn? Learning to write code in general is fine, but if you have an idea in mind that you want to program, different languages maybe a better starting point. For example if you want to build a web app browser based, id suggest learning front end tools like javascript. Whereas if its a desktop app you want to build, python would work well.

Or maybe you want to just learn programming as a concept without any specific goals in mind beyond how stuff works?

[–] [email protected] 37 points 6 months ago (1 children)

Julia, Clojure and Go

From these 3 I think Go is the most straightforward and similar to most industry standard languages.

load more comments (1 replies)
[–] [email protected] 3 points 6 months ago

What are some good resources for someone like me who likes to learn by doing things?

Have small project ideas that match your skill. Search the project ideas or ask an A.I for ideas, good luck!

load more comments
view more: ‹ prev next ›