Drakkith said:
So I'm about to be done with my first class in programming where we learned C programming. Unfortunately, I don't actually know what you can do with it. . . . I don't really have any specific applications that I'm thinking of.
Nidum said:
Real world applications programming is a thousand times more challenging and more interesting than just shuffling fictional data sets around and doing pointless graphics .
I agree with Nidum above.
Beyond that, speaking as someone who many years back did a lot of script-based programming to aid with my work as a technical writer documenting software; as well as many automation routines just for my own enjoyment at home; who used to interview a lot of programmers; and who taught himself the rudiments of C for the fun of it; and did other DIY projects like write an entire shared editing website (back before shared editing became commonplace) for a team of writers on a book project, completely in objects in Python; but who doesn't program at all these days - to me, the disconnect you are experiencing seems directly related to not having any applications in mind, nor perhaps any interest quite yet in programming as a culture (e.g.
how language design relates to purpose, for example, as Paul Graham once wrote about).
Which I admit surprises me. I would have thought that in a school setting, your profs would have laid out a general path or out-branching paths in terms of why and how to learn programming. And likewise I would have thought it a natural inclination to come up with some candidate applications that either interest you personally, or seem possibly relevant to your potential career path or paths; and then to take it from there. But perhaps this opening course in C was taught the way my freshman year English lit classes were taught long ago - by rote, very distanced, not much guidance?
Anyway C is just one language - very far from a stopping point or even necessarily something you need to get good at right away; the point is that having learned a little bit about C, learning your next language ought to be easier. Play with C if you think you'd enjoy it; otherwise I'd suggest getting on with finding applications. You can do that by learning one or two more languages; this makes it more likely that at some point you will experience serendipity, i.e. learn about potential applications which are interesting and/or useful to you. Hardcore programmers used to be obsessed in maximizing efficiency with really frugal algorithms and I imagine there must still be some of that aspect today in some areas, in other words really geeky math-driven approaches; meanwhile, cheap fast hardware long ago opened up scripting. All in all programming always seemed more like play than work; so you could think in terms of playing around, experimenting.
- - -
P.S. Back when I was still doing freelance editing, I edited a textbook on programming for biologists - Python for scripting, various tools available in the Linux shell, and Arduino for field data:
Practical Computing for Biologists, Haddock and Dunn. It's not anything to do with physics, but but a glance at the table of contents via
https://www.amazon.com/dp/0878933913/?tag=pfamazon01-20 does demonstrate that a programming language by itself is just a small part of what computing in science is about. If you're a carpenter, you're going to want more than a single hammer to build something with.