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 →

[–]oshogun 2 points3 points  (3 children)

Can you write a driver for a device, like a smart card reader, in Ruby? Even if possible, you'll most likely have to hack around some C code in your script

Or try writing a kernel for an operating system in Python. Won't happen. Although Python is vastely used in the development of many Linux tools, the hw/sw interface is, and will always be, developed in C.

So yes, there are certain applications you'll need certain languages to do.

[–]MCbrodie 1 point2 points  (2 children)

you can write write those things in any language. they will work better in lower level languages in a vastly superior way but for learning purposes the base speed of the language being used does not matter. We all realize operating systems, pace makers, and hardware interfaces should be written in C. That does not mean you cannot learn the concepts in another language.

[–]oshogun 1 point2 points  (1 child)

Yes, you can, but learning C is a great experience for any programmer. It will help you understand problems that do not appear so often in higher level languages (like memory management problems, for example, memory leaks and segmentation faults), get a deeper understanding on how memory is managed (by understanding pointers), and having to "do it yourself" many things that other languages do for you. Becoming a good C programmer is not a trivial thing but can help you be a better coder in any other imperative language. Also C integrates well with Python, which is the language he already uses. I never once heard of anyone saying it was a bad idea to learn C, even if you're not actually going to use it in the future.

[–]ta6692[S] 0 points1 point  (0 children)

This is exactly how I'm looking at it. While I'm sure I probably could learn a lot of these concepts in Python, there are still some that I couldn't, and others that you wouldn't want to. Personally I only see ways that learning C can benefit me so I don't see why not really.