Does deep knowledge of linux help you learn how to program?
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
Does deep knowledge of linux help you learn how to program?
Does deep knowledge of linux help you learn how to program?
Does being able to work through a terminal using command lines help you learn how to program? I understand that these are different things, but I would be interested in starting to learn programming or design. And I wonder if my knowledge of linux could help me learn programming? Or is it unrelated?
No, in my opinion totally unrelated. Writing a program is basically separate from the operating system, it's just how you do it and the development environment can be different. But In many ways it might be easier using Linux.
No, in my opinion totally unrelated. Writing a program is basically separate from the operating system, it's just how you do it and the development environment can be different. But In many ways it might be easier using Linux.
But just as in programming, we use ready-made chunks of commands and functions. It seems to me that 60% of the skill of programming is in the ability to google ready-made solutions and integrate them intelligently)
It is possible that knowing linux does not help but it is possible that knowing how to work with information and use ready made solutions is an advantage for a beginner who knows how to work with linux.
By the way, perhaps someone can advise a good online course on programming? I am now thinking of starting to learn java or python.
I'd say more that it helps you be able to program which is an indirect way of helping to learn programming. Keep in mind that the whole GNU/Linux environment itself is an IDE, if you know how to use it.
It depends on what you are planning to do.
In my opinion, Linux knowledge has little in common with helping in learning programming itself. But as turbocapitalist mentioned, it can contribute to your programming skills.
Anyway, it's a huge pro to know Linux.
It seems to me that a good Linux expert will have an advantage over other students who learn how to programming too.
Are there any good Linux programmers here?
If Linux doesn't help, what does?)
(I understand what you're asking; I am not clear on why you're asking it.)
If you want to learn to write software, do so. Why does it matter if you do or do not have an advantage?
There is synergy been system administration skills and programming skills, but that is not unique to Linux, and someone who merely uses a Linux desktop will not automatically become a better developer, (even if they know a lot about editing config files).
Someone who writes their own shell scripts already has a degree of coding skills, but even someone who doesn't but is not afraid to use the terminal will have an advantage. (It's frustrating how many "professional" developers I've encountered who will be quite happy to put pages of code on a live server, but are too scared to enter a single line into a terminal.) Again, that's not unique to Linux-based OSes, those skills can be applied on MacOS and Windows too.
Good programmers will not re-invent the wheel - they will use existing libraries and applications where they make sense - but that is not quite the same as "ready-made chunks of commands and functions" - that phrase brings to mind people who copy-paste code from StackOverflow without understanding how it works or whether it's appropriate.
Quote:
By the way, perhaps someone can advise a good online course on programming? I am now thinking of starting to learn java or python.
It seems to me that a good Linux expert will have an advantage over other students who learn how to programming too. Are there any good Linux programmers here? If Linux doesn't help, what does?)
Linux won't help you be a programmer any more than Mac or Windows will. What helps you to be a programmer is to learn a programming language, and there are many that are supported under Linux, and available to you for free, along with documentation. Which is something that is lacking on other operating systems.
Your question is much like saying, "If I know how to drive really well, will that help me be a good auto mechanic?" One is use; the other isn't.
I think this depends on what you consider programming.
Before I was a full time programmer, I had learned UNIX (linux didn't exist yet) and how to do things on the command line, those commands, when grouped together, became a shell script, which I considered programming.
I used my shell scripting skills to move out of my networking job into a programming job. I moved into Perl and C after shell, which were way more complicated, but I found the shell work to be beneficial background to learn.
Incidentally, before there was stackoverflow and online programming tutorials, programmers actually bought reference books to learn or look up how to do new stuff. Even today publishers like O'Reilly still put out really good reference books. I recall "UNIX for Dummies" being the main way to get started with both using the command line in general and for the basics of shell scripting. There's always been a lot of trial and error to programming, you can't just cut and paste everything - you have to have a plan for what you are trying to do - working on linux I think helps you develop skill at troubleshooting especially that are useful in programming.
I think there are two distinct parts to programming. The simplest is learning the language. Some languages are interpreted (Perl, Bash, Python, among many others) and some are compiled (C, C++, and others)
The second and more difficult is learning the logic and how to structure the flow. The task there is defining efficient flow and decision structures to perform the desired task. Once a good understanding of the logic structures is achieved then the task becomes much easier.
Learning Linux cannot by itself aid in programming, but administrators learn to write scripts to simplify their jobs, and thus are using basic programming skills. The need to accomplish a certain task starts with "how do I do it?" and ends with a finished, fully functional program.
There have been many books published on programming; many formal classes designed to teach portions of the task; and many more documents, tutorials, guides, etc. are available for free on the internet.
The goal for any programmer is to learn the language he/she wishes to use and set out to write a useful program to accomplish a particular task. In doing so the programmer will need to learn what libraries are already available for use in the given language and OS to aid in their task.
The net result is that it takes a considerable amount of time, dedication, and perseverance to develop good programming skills but the reward is great.
It does not hurt to know extras.
I am a retired IT guy who worked more than 30 years in a mid-frame IBM environment. I consider myself
lucky because after Y2K a lot of guys got laid off. If you are young, it does not matter much, but at 55+, thing can get tough. My baggage of Cobol, RPG ... won't help much.
I learn Linux now and keep going until the end to fight ... dementia.
Last edited by leclerc78; 03-31-2021 at 05:17 PM.
Reason: orthograph
By the way, perhaps someone can advise a good online course on programming? I am now thinking of starting to learn java or python.
I think that may refer to the trusted sources if you're looking for an online course on programming.
If your point is to learn java I suggest you have a look at the most popular java sites (https://www.udemy.com/, https://www.codecademy.com/, https://codegym.cc/). First of all, it's necessary to get acquainted with the basics - syntax, operators, methods etc. Be ready to research on some functions and practice-practice-practice
In my opinion, Java isn't the easiest language and kinda complex one but if you are eager to develop code with the help of it just start. A good programmer can be distinguished with his excellent taste while compiling a simple program, cause there is space for some creativity.
A lot of docs and books are available as well, for example, a great guide is "Java: Programming basics for absolute beginners" by Nathan Clark. Easy to read and very helpful if you dunno what to do with all this stuff.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.