this post was submitted on 08 Jul 2023
6 points (100.0% liked)

Learn Programming

1625 readers
1 users here now

Posting Etiquette

  1. Ask the main part of your question in the title. This should be concise but informative.

  2. Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.

  3. Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.

  4. Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

My bachelor's in software engineering starts in quite a few months

I am thinking of downloading Linux and learning the Linux terminal using the Linux bible.

then learning video, photo, and vector editing.

After that finishing the rest of the cs50 except the scratch one.

Lastly, becoming extremely good at Python

How does it all sound?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

I might be a little biased but I wouldn't really choose Python as your first language. I did and I can't say I regret it but I would have rather strated with Go, the language I currently use. Go will allow you to learn more concepts whilst having a syntax that isn't so different from Python. Go is especially useful for building projects because not only is it reasonably easy to use, it is vary fast and it has a lot of support and libraries. Python obviously even more support but it is very slow and quite limiting, also the thing that it's best at is AI and data science, which fingers crossed ๐Ÿคž will be taken over by Mojo. As projects to work on I recommend working with the web building web applications.

As for Linux, the general consensus will be use Ubuntu. I personally have been converted to a Arch zealot so I recommend something like Arco, Endeavour or Garuda. If you're very daring then even go for Arch.

If you want an advantage in your computer science class have a look at the leetcode easy questions.

PS: I am only in my first year of highschool so take my comment with a grain of salt because I still have a lot to learn.

[โ€“] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

Don't worry about what your first programming language is. Every language has something to teach you. If you continue on in programming for any length of time, you will learn many languages. There will always be new ones, too.

It helps to learn languages that come from different paradigms or approaches to programming. This gives you a better sense of what a language can be; what it can do for you. There are languages with a lot to teach, and they're often the ones popularly considered "difficult".

Learn Haskell. You might never use it professionally, but it will greatly improve your understanding of what programming is. And no, you don't need to be a mathematician to use it. (Recommended text: Graham Hutton's Programming in Haskell, second edition.)

Learn SQL. You will use it professionally, sooner or later, and you'll be better off actually understanding your database than trusting libraries designed to hide your database from you.

[โ€“] [email protected] -1 points 1 year ago (1 children)

In my opinion the first programming language that you choose does influence how you learn and perceive new languages.

[โ€“] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Oh sure, but so do the second and third and nth. When I write in Go today, I'm much more influenced by Python which I learned in the early 2000s than by BASIC which I learned in the 1980s, or even Scheme which I learned in the 1990s.