Jump to content

Does understanding Linux make you a better...


wakish
 Share

Recommended Posts

Does understanding LInux (kernel and its system) make you a better programmer..etc?

And will this make you more strong in understanding windows or any other piece of software?

 

Discuss and share your expereince..either as a programmer or someone who enjoys self-teaching computer stuffs..

 

(hope we will have a nice time and will learn something new each in our own way!)

 

Regards!

Link to comment
Share on other sites

Almost certainly, indeed on both counts.

 

The more you understand what is going on under the hood the more you can use it.

It is impossible to write kernel modules (drivers without understanding the kernel for instance)

 

In the same way now Xorg7 has modular support and if you want to write something for it understanding the basics of how it works are fundamental ....

 

My personal experience with learning linux is it changes completely how I view Windows.

Once you understand the linux way you realise many windows ways are really the same but hidden.

 

I think a good example is your post on defrag...

Many new linux users look for this (it should really be a FAQ its so common)

Most windows users don't understand how NTFS or FAT work and hence they just follow what they heard about defraggging ... its not that you can't find documentation on these filesystems but the way Windows users are part of a philosophy of hiding things you don't need to know...

 

When I was at school in the UK (a long time ago) we had two different math sylabii. The advanced one was all about "you do this because ad an explanation" whereas the dummies class was more "you do this because we say its done this way" .. one emphasised understanding and the other practicability of following instructions.

 

If you took the dummies class you could never do science later because you missed the fundamental understanding of WHY... so if you did science pre-uni you needed to go back to the beginning with math and do it all again from a perspective of understanding not just doing it.

 

The whole issue of the MS Dev tools and limited API is why non-MS progs don't intergrate so well as MS products. Ms programmers are limited to writing against an API that the internals are hidden from even though they may have comp sci degrees and understand the underlying OS....

 

Linux puts emphasis on being able to understand to the level you need and that level rolls all the way back to the source code for the kernel and internals. You don't need to be a l33t programmer to benefit from seeing the source code even if its level is beyond you because understanding how its working and being able to do it yourself are different levels.

 

You can even modify parts of it without being so hot a programmer for instance adding support for an unsupported device by example. I have done this myself and Im no hot programmer!

Finally peer review is the ultimate in OS software, opwening your code to scrutiny of millioins of programmers who might have a different insight or suggest a cleaner method helps you improve....

Link to comment
Share on other sites

Does understanding LInux (kernel and its system) make you a better programmer..etc?
I hope so. I am not a programer (I could program once e.g. simple databases and small pieces of software with dbase IV and Basic but that's about it and I mostly forgot all my programing knowledge) but if ou want to be a good programer you should know how the system you are working with manages processes, how it handles dependencies, how it manages the system-ressources etc. I guess you don't build an engine for a car without thinking about the layout/design of the car first, either. ;) If you do so, then good luck. :D
And will this make you more strong in understanding windows or any other piece of software?
Sure it does, as you will get to know how things can work under special circumstances. You will see that there are many different approaches for solving a problem, you will learn that different operating systems will handle the same tasks in a different or very similar way. Thus, if you learn the ins and outs of one OS, you will learn a lot about other operating systems, too, even if youdon't realize it at once. And this has a direct influence on the way you design your applications. ;)
Link to comment
Share on other sites

If you dont know or understand how something works, you're not going to do a great job programming for it.

Unfortunately hundreds of thousands of MS developers seem intent on proving us wrong... ahhhhhhhh

 

course that depends what you call a great job but I see plenty of VB devel jobs and such on nice salaries and I used to work with a 'dba' who's knowledge of Oracle was pityful and limited to using the Java interface...

 

Unfortunately it seems somewhat like modern car service places, you hook up the GUI driven diagnostic and it tells you 20 degrees clockwise on the fuel mix and that the onboard computer reports the brake fluid wasn't changed and prints out the procedure....

 

Common sense dictates you are correct but I have seen so many badly written commercial programs that seem to imply the opposite. In my old job I often solved problems by imaginging how a crap programmer might do a task like a data import routine and they work out whay it failed on a specific dataset. I had an uncanny ability of fixing these problems which indicated to me that my suspicions were right (Oh and I knew some of the devels)

When you are looking at SW selling and several hundred thousand dollars a single user license with maintainance fee's in the tens of thousands per year with bugs obviously due to sloppy programming and not really understanding the underlying OS you get very sceptical....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...