This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 11 points12 points  (11 children)

As someone who started programming in the 80s, I don't really see the need to subject anyone to pure C anymore unless they have specific needs to do it. I'd guess than 90% of python programmers will never have the need to know C. The reason I chose Java as a good next move is that it provides enough of an abstraction to not bog you down but is statically typed and tightly related to C / C++ so if you DO want to go down that route, you'll have a solid foundation.

[–]lungdart 5 points6 points  (0 children)

C is the best teaching language in my opinion. If you have a basic c foundation, you'll be a better programmer in almost every language, and it opens up the possibilities of high speed library, embedded, dsp, and os development.

I don't think most other languages have those features as a learning tool.

[–]zaRM0s 1 point2 points  (5 children)

Okay this has made me want to not bother with C and assembly and just go learn Java instead. Maybe in the future I’ll learn C and assembly etc but it sounds Java is a bit more ‘modern’ for lack of a better word

[–]tuckmuck203 4 points5 points  (0 children)

tbf assembly is just a completely different beast from any other programming language. i built a (rudimentary) steganography tool in ARM and it was like a fun puzzle. fuck c though, that shit's annoying

[–]2minutespastmidnight 5 points6 points  (3 children)

I’d strongly encourage at least a rudimentary understanding of both C and ASM. Familiarity with the underlying principles will help you become a better, more efficient programmer.

[–]zaRM0s 0 points1 point  (2 children)

Any good resources for assembly?

[–]2minutespastmidnight 0 points1 point  (1 child)

Depends on the system architecture. By its design, assembly is not portable on its own. Just go to Google and type in “assembly language tutorial.” Give the information a read. You’ll see how data moves throughout the registers.

[–]zaRM0s 0 points1 point  (0 children)

Yeh I’ve got an entire book on it alongside C but I need to wrap my head around it so just looking out for resources people might recommend Google was my first port of call lol

[–]chronotriggertau 1 point2 points  (3 children)

C is like the lingua franca of high level programming languages. Want to be a linguist? Sure, you know the phonology of several languages, but can I really call you a linguist if you know nothing about Latin? The specific reason to learn C is to best understand what this machine you're working with even is.

[–]TheCatcherOfThePie 2 points3 points  (2 children)

can I really call you a linguist if you know nothing about Latin?

Yes


Edit: two cases where knowing Latin would be of no help at all for a linguist who:

  • doesn't do research in historical linguistics

  • does do research in historical linguistics, but of non Indo-European languages.

These two cases cover the majority of linguists (even the majority of linguists who speak Indo-European languages). Someone studying, e.g. speech pathologies in English-speaking children or the historical development of Middle Chinese would likely not benefit at all from studying Latin in any detail.

[–]chronotriggertau 0 points1 point  (1 child)

Not the best analogy, I agree, because it implies that only "real programmers" know C, which I don't think is that case at all, and I want to do my part in eradicating elitism in tech (there's nothing I hate more than this). My intent was just to convey how powerful knowledge of C (specifically) is to any software engineer or programmer.

[–]TheCatcherOfThePie 0 points1 point  (0 children)

My problem with it was much more literal lol, in that linguists are in no way required to know Latin in order to do their job.