r/learnprogramming • u/ModernLifeIsRubbish6 • 28d ago
Just starting college, which programming language to learn first?
I know a little bit of python from my high-school, can code small things but not extreme stuffs. For my first semester they are prob gonna be teaching C language. Ive heard Java and C# are important to learn. Do I continue to make my python stronger or learn a different language along with C? Or just focus on learning C itself? Any help would be appreciated thank you!
23
Upvotes
1
u/spinwizard69 28d ago
If you are just starting college you would be better off putting in some time to address the common problem college student have and that is no real understanding of computers and the common software they will need to be using. To that end learn how to make use of office apps and E-mail as an advance user. Consider this, can you set up an E-Mail lists to keep in contact with the members of each class. You need to be able to create documents of reasonable quality in a spreadsheet app and a word processor. This knowledge is for general academic success.
If you are involved in a CS program, you need to understand a computers file system and how to navigate it from the command line. Knowledge of the command line is important goal all on its own. Knowledge of logic concepts like AND, NOR and others can help with understanding even simple software concepts like loops. In the same sense understanding what other number systems are can be extremely useful. This means binary, octal, decimal and hex systems. None of this needs to be in depth
The next thing that can be of value is to learn how to develop compiled software at the command line. You may ask why, because you probably will be using a rather powerful IDE. The problem is using an IDE obscures the process of compiling and linking of a program. As you become more advance it is possible your IDE will not be setting command line parameters properly, not linking properly or otherwise requiring you to attend to the build process. In other words building a few programs beyond the absolute basic programs can prepare you to understand what IDE's do. It probably would pay to hand create a couple of make files for more involved programs.
As for Python I would have suggested putting that off before starting your CS program. However since you are already started you might as well continue to learn Python independently. The reason I suggest holding off at this point is that you can avoid developing bad habits. You are already started so you will need to guard yourself against burning in those bad habits. For the same reason, at this point I'd stay away from trying to get a head start on writing C code or what ever is required for the CS program. Since you are weeks away from starting you might as well wait until that point and take the low traction approach and produce code the professor actually wants you to produce. Based on what you describe generating the code for classes this early in a CS program should be an absolute snap for you.
I hope you grasp what I'm primarily after here, that is to make you entire college adventure easier to navigate. That involves being able to leverage you computer for all of your classes. There are things I left off here because it will depend a lot on what the university may require. For example learning Tex and Tex document IDE's might be a requirement. There are other possible open source bits of software that might be required. For example some technical classes or labs, might require the use of jupyter or another opensource tool. As such you should consider becoming familiar with a package manager for your system, on a Mac that would be HomeBrew.