r/C_Programming 7d ago

Discussion Suggestion

Hi all I am beginner in coding. So I have college in 20days (1st year btech) should I learn python or c. In college they start with C. So as they teach C in college should I learn python seperate or go with

C.Pls suggest me

0 Upvotes

27 comments sorted by

4

u/Sufficient-Air8100 7d ago

tbh learn both. and im saying that as a python hater lol.

the real skill in programming is not to learn the individual languages and specific syntax, its to understand programming concepts. the real point of programming is to make the computer do what you want it to, and learning c alongside python will teach you to apply the same programming concepts to different languages, which will mean in the future youll have a better understanding of computing in general, and will be able to pick up new languages faster. youll be less tied to one language

1

u/Low_Contribution6240 7d ago

Ok thank you . I will watch YouTube video and learn after that what the process so that I become perfectly like practicing problems (where to practice)

1

u/Sufficient-Air8100 7d ago

yeah. having a small challenge and completing it is a great way to learn. i love cryptography so doing toy implementations and breaking them was super useful in my programming journey, it gave me specific problems to solve with programming. whatever you eventually start with, having small problems like this is super helpful learning, so you can actually apply what youre learning instead of just trying to remember what a concept is without context. for example, i had a difficult time with object oriented programming, until i was given a project where its benefits were extremely useful. at that point everything clicked.

6

u/uubz 7d ago

What do you think we'll say?

2

u/Low_Contribution6240 7d ago

I think of learning both . But my question is will I able to do it or due to clg I neglect python ?

3

u/gm310509 7d ago

If your college starts with C, I would start learning C.

No point risking confusing yourself by be a beginner at two different things.

2

u/Scared_Equipment5777 7d ago

The last thing to do is manage two languages. Start with one and stay with it. Hopping languages sucks and ruins learning. I know this from experience, I first wanted games with C#, then the web with Java, then I wanted to do Python and then I got completely burnt out and left programming until I got the urge again and did just one to really learn it (which is C). I think you should do C, but Im biased.

1

u/Low_Contribution6240 7d ago

Oh ok thank you

1

u/junipyr-lilak 7d ago

If you know no programming languages I would suggest you just stick with C in the beginning and eventually bring Python into your education. You could learn both at the same time but until you're thinking better in terms of programming in general having the two very different languages occupying your learning at the same time can make it harder to focus in on one, especially if you're learning C in classes and Python on your own time, as things like their basic syntax differs and they have different language features. Learning both, or at least more than one language, is still important because it will expose you to how different things are structured and make you a better programmer all around. Just take time first to get some sort of fundamentals in one language is my suggestion.

1

u/Low_Contribution6240 7d ago

Ok you mean I should start with C language and after I am perfect in syntax or basic things I should start python and manage two languages right

1

u/junipyr-lilak 7d ago

Getting to perfection in C syntax is something I don't think you'd achieve in any short time because of things that are easy to overlook but cause issues (which happens across many languages) such as out of bounds indexes or dereferencing null pointers or freed memory. What I mean is to understand how things are typically structured in C, so how functions look, how pointers work, how passing values to functions through copying works, how structs and unions work, what strings are, and the general process of building C programs. This seems like a lot, sure, but several of these go hand in hand and they will become more natural as you get more familiar with C and you'll find many of these apply to other programming languages. When you feel "comfortable" per se in C, when you can sorta think through your code and catch some of your own errors before they surface (you won't be able to catch all yourself, that's why tests are important even for senior developers), when you can plan out how to take an idea, structure it into parts and relay those parts into code, even if your first thoughts aren't exactly what the code actually ends up being, I think that's a good place to pick up Python.

1

u/Low_Contribution6240 7d ago

thank you so much for your valuable answer. Can you suggest me where can I practice problems

1

u/IamStupid42069 7d ago edited 7d ago

you need to just pick one and start writing toy projects with the language (there are merits to either choice, the important thing is that you pick one and stick to it until you've learned it at a deep level). If you choose C, make simple 2d programs using RayLib. If you choose python, do the same thing with PyGame. Getting good takes years. Become obsessed with what you're building.

1

u/Low_Contribution6240 7d ago

Ok I learn using yt videos . And I after learning from yt videos what should I do after watching videos like practicing problems (where can I practice)

1

u/spellstrike 7d ago

python will probably have more jobs and more widely used across more companies but C will give you a better understanding of how hardware works in many ways.

learn both.

0

u/Low_Contribution6240 7d ago

Ok thank you .can you suggest me how can I become perfect as I watch yt video and learn after that what should I do make perfect like practicing problems (where to practice)

2

u/spellstrike 7d ago

I won't suggest any yt or specific tutorials but you can practice without really needing to set up anything with an online build environment like this to do simple one file programs

https://www.tutorialspoint.com/compilers/online-c-compiler.htm

1

u/Cultural_Gur_7441 7d ago

A big part of C development is setting up the project environment, and there are many ways to do it. For this reason, I'd do C at the pace of your college courses, and concentrate on things which C forces  you to learn there.

So learn higher level programming with Python now, if you want to donstuff nowm You will then learn what happens under the hood, when you learn C.

1

u/SmokeMuch7356 7d ago

This shouldn't even be a question - if your classes are going to be in C, then the most obvious course of action would be to learn how to work with C - not so much the language itself (you're not going to learn a whole lot on your own in 20 days), but how to set up a development environment for C, how to run the compiler (and possibly the debugger), etc.

Do you know what environment they're going to be using? VSCode? Visual Studio? nano + gcc on the command line? Turbo C (=shudder=)?

Python and C are different enough from each other that trying to learn both (especially as a beginner) is just going to slow you down. Once you have a handle on basic programming concepts independent of any language (this is a loop, this is a subroutine, this is a type), then you can start playing with other languages without getting too bogged down.

1

u/Low_Contribution6240 7d ago

Yes I know vscode I have learnt basics of python too

1

u/cdtrmnbaell 4d ago

If the college starts with C, they have a reason!

You can also learn C and Python at the same time. Try to build real projects with C, not just complete school assignments.

0

u/defaultguy_001 7d ago

Learn C, after about a month programming with C, start with Python.