I know literally nothing about programming and I want to learn some of it because I heard it is important and I am a community college student and I just want to explore it. My major is Statistics so I know some programming is required. At my college, they offer Python and C, and other classes but I just want to focus on these two for now. If I am majoring in Statistics, which one should I take first and why? I could actually take both during the same semester in the fall but I will find out later whether I would have time for that. But let’s say if I could. Should I take both? Or should I concentrate on 1 programming language because I might get confused? And by the way, the professors for both C and Python are very good at my college. Someone told me that C is like learning Spanish and Python is like learning Portuguese. People usually learn C first because it is more widely used, and people usually learn Portuguese after they know some Spanish. But I heard that for statistics or data science majors, Python might be better, but I really am not sure. I also heard that Python is like breaking the rules of coding and makes it easier so if you take Python first and then C later, it is harder than if you do vise versa but I don’t know if this is true or not. I need advice please! Thanks.
I would recommend sticking to one language to start. CS languages don’t matter as much as people think, it’s about the language of logic that is a part of all languages, and then at the higher level, what the design of each language allows for. You don’t seem to need to worry about that level, so just take one. After going into one language in depth, picking up other languages is much easier.
Personally, I would say go Python, but either is fine. i started in C and don’t have any strong feelings about it.
I don’t know of any wide use for C, I know of much more use for Python.
Are the classes just languages or is one labeled introductory or known to be the first in a sequence? If one is, go with that one. One of them may assume prior experience.
https://gasstationwithoutpumps.■■■■■■■■■■■■■/2013/03/21/why-python-first/
Python is better see above link
If you have the choice, learn C first. It’s the basis for Python, C++, C#, Java, JavaScript and others. C was invented first. Most scripting languages like PHP and Python are versions of C with easier memory management and BIG libraries of functions and objects. But if you understand C first you’ll get what the other languages are helping you do. You’ll also know how to manage memory when you need to. That can be important sometimes.
Same time would be OK.
There are different philosophies about teaching computer science. Some say start with a high level language like python, learn the important CS concepts with that, since something like C will bog you down with details at first. Others say start with C and it will teach you everything you ever need to know with that one language. Having been a TA for an intro CS class for 5 semesters, I fall into the first group. If you start with python, the major concepts are front and center (loops, recursion, scope, design principles), not complicated syntax and memory handling. Those are important to learn at some point, but at. The beginning I think they can be distracting from the big picture and extremely frustrating for some students.
TL;DR: I vote for python.
I would say to go for C first, might get more of an introduction there and learn other languages that are of higher level after that.
Both are widely used. A Python-using course will get you into learning beginning concepts in CS faster. Later courses about computer systems, organization, and architecture are likely to use C, as it is more suited for programming in those contexts.
C is used much more in industry, but I agree that Python might be a better language to learn first. I certainly wouldn’t try to take both at the same time if this is your first programming class.
I agree with the Python first crowd for the reasons stated. I would strongly recommend against taking 2 programming classes together. Since you haven’t programmed before, you don’t yet have a feel for how time-consuming the homework may or may not be for you.
C having a longer history does not make it a good first language. Before there were Python, Java, JavaScript, and other languages now used as teaching languages, the common teaching language was Pascal, even though C was more widely used in industry. C does not protect you from your mistakes, it just does whatever you tell it, and so is harder to debug. Python is a good language for learning to debug errors, which is a key skill.
Many people recommends Python first, so do i, but just remember there’s a new version of python and a lot of people still using the old one.
if i’m not right please correct me, thanks.
Python 2 and 3 aren’t that different, and the main difference is the print statement/function. Use whichever the class teaches. It’s easy to learn the differences for the other once you’ve learned the language.
Go with Python, for sure. When I fully mastered Python, C++, C, and Objective-C came a lot easier. If you have 0 experience whatsoever, I’d also look into learning Java, as there are many good beginner guides on the internet.
Happy coding =)
C is mostly a systems language, which is to say it’s used to write code for the operation of the actual function of a computer. It has many quirks and seemingly arbitrary rules that you simply will not be able to understand without a few classes worth of prep.
Python is a more straightforward language with a lot of features that abstract away the more annoying rules. Much better for a first language, though Java or C++ would be even better if those were offered.
C++ is the worst language to learn as a first language.
Well, assembly would be worse, but C++ is certainly pretty high up there in the category of “not easy starter languages”.
I’m not sure assembly language is taught anymore.
I know assembly isn’t common anymore, except for people that are nuts about theory/programming languages. But even so, C++ is something either CS savants or people with degrees know this early on. Or if you’re willing to donate all your time to it.
That’s quite an exaggeration. It’s not the easiest language but it isn’t so hard that learning it as a first language is a bad idea. Gives a nice introduction to working with a language that is similar to machine code. Whether or not you want to do that depends on if you think those should be taught early on, but it’s certainly far from a terrible idea.
On course structure: Where I went to school, assembly is taught as part of a class on computer architecture at the undergraduate level. C++ or Java are both first languages, depending on major (EE vs CS). OOP is taught as a second course, in Java. Everything past that is C++.
There’s a computer architecture class that teaches assembly at our community college. It transfers to UCs, so I suppose the UCs teach a similar course. I write assembler manuals for a chip manufacturer, and people download the manuals. So, some programming in assembly still happens.
BTW, here’s an amusing list of the worst 1st languages: https://en.wikipedia.org/wiki/Esoteric_programming_language
Haha, I like the BF one, I can’t spell out the word, CC would bane the word.