ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Again I disagree. Let's replace "Linux" with "a Mercedes car" and "C" with mechanics. Can you get away knowing how a Mercedes works without an intricate knowledge of mechanics? Knowing "Ah .. it has a motor and some wheels which go on the ground etc." is not knowing how the car works. Knowing how the car works means knowing exactly how all it's components work individually and together. You've said that with C you know how to programmatically make a process run as a daemon but you can also do it with something like `./task &` or whatever. Perfectly agreed. But does that mean you know *how* linux does this task? You call fork(), etc. Great. What does the kernel do when you call fork()? That's my understanding of knowing how linux works. There's a difference between knowing how to use a tool and understanding how the tool works.
I Don't think that everyone will need to know car mechanics to drive. By the way, mechanics wouldn't be enough (you'll need to know eletronics, etc, since the modern car is a quite complicated mechanism). And I don't thinkg that everyone will need to know how exactly kernel works. It isn' necessary if you are only planning to use linux and write some programs for it.
"Lisp has all the visual appeal of oatmeal with fingernail clippings mixed in" (Larry Wall).
HAHAHAHA...said the guy who created Perl. Speaking of hard-to-read languages...
I happen to like the way Lisp reads on the screen; I don't ever find myself getting as lost as to where certain control and flow structures reside (tab-wise).
Quote:
Originally Posted by introuble
Again I disagree. Let's replace "Linux" with "a Mercedes car" and "C" with mechanics. Can you get away knowing how a Mercedes works without an intricate knowledge of mechanics? Knowing "Ah .. it has a motor and some wheels which go on the ground etc." is not knowing how the car works. Knowing how the car works means knowing exactly how all it's components work individually and together. You've said that with C you know how to programmatically make a process run as a daemon but you can also do it with something like `./task &` or whatever. Perfectly agreed. But does that mean you know *how* linux does this task? You call fork(), etc. Great. What does the kernel do when you call fork()? That's my understanding of knowing how linux works. There's a difference between knowing how to use a tool and understanding how the tool works.
Alright, I see where you're coming from, now.
I'm in the boat that doesn't necessarily care how x does y, but as long as it does it, and does it within respectable means.
Quote:
Originally Posted by ErV
I Don't think that everyone will need to know car mechanics to drive. By the way, mechanics wouldn't be enough (you'll need to know eletronics, etc, since the modern car is a quite complecated mechanism).
Haha, I completely agree. When I read this, the first thing that came to mind was a stereotypical, suburbanite blonde driving her daddy's Ferrari up and down the main strip: She knows how to turn the key and work the gas and brake, but don't ask her where to find the doo-hickey that makes the music come on.
Don't get me wrong I think Python is the bee nees when it comes to a dynamic RAD programming language.
But for linguistics there is Perl.
Perl was written by a linguist, I don't know, the only time I would advocate Perl and in the exact setting for it Python is there
And you know sed and awk but avoid the killer of them that is Perl, oh the irony.
You don't need to know C to use Linux well, but if you wish to appreciate coding then learning C is a requisite I would say, in fact don't stop there go to asm as well.
unix is built for C by C that is the history, so yeah go for it but it will probably not be used much in your day to day activities but then again who knows with you.
Probably some confusion here comes from the fact that we didn't define our concepts. What means "to understand" linux? Plus, usually there are more levels of understanding when it comes about everything, not just an OS. So, to understand it could mean to know its history, or how it boots through the runlevels, or what the packaging system does, what is the kernel, what does its code look like and how is it supposed to work, how the processor executes the code and so on. All these can mean "to understand" so it's probably up to you to choose how deep do you want to go.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.