On Tue, 2010-12-21 at 13:28 +0530, Parshwa Murdia wrote: > On Mon, Dec 20, 2010 at 10:43 PM, William Case <billlinux@xxxxxxxxxx> > wrote: > > Parshwa, Two basic questions: 1) Do you want to use > programming as a way > to understand the inner workings of your computer? Or, 2) Do > you want to > acquire a programming language primarily to have the most > used/useful > programming skills in order to write a program? (at least > useful to > you). Both these objectives may be intertwined, but which is > your > primary goal now? Different goals, different programs. > > -- > Regards Bill > > > The primary interest for which the latest software technology has > lured me much is to know about how I can efficiently write the code > (despite of my job of other field) but simultaneously I would be > pleased if the same piece of code and its generation becomes the > reason of knowing how exactly the world of communications is working! > That much of the knowledge I am having that the entire world is > working on '0' and '1' as everything is going to convert to it and > then to electromagnetic signal (for communications) but the only thing > to know at first is how to write the code. Secondary things (at later > stage) would be that how that program is getting converted into a > sting of '0' and '1' which only the computer understands and transmits > through wire (as an EM wave). So at times, and it is the high time, > that despite of the fact I get very less time, this technology has > become a driving force for me that it makes me to think how a code is > working? > I am not a programmer, but I wanted the answer you seem to want. How does the damn thing work? More explicitly: How does human understandable information get converted by a machine into electrical data; then store it; may or may not, transform, compare, and/or relocate the data; and then re-present the data as information meaningful to humans? I found the answer in "The C Programming Language" by Brian W. Kernighan and Dennis M. Ritchie. This book is such a basic that it is often referred to just as K&R. If you try to simply use this book as a tutorial for the C language it is too difficult. Almost every sentence contains a new concept. But K&R and 'C' are closest to the metal. It's description and particularly its appendices are used by programmers mainly as a reference. It really is a text on how to best write code so that the compiler can use your 'C' code by translating it into machine language. It is also, therefore, basic instructions for compiler writers on how they have writer their compilers. A big however! I found that when I took my time, and worked each new concept through, with liberal use of google and some tutorial sites, with some contemplation on my part, with some reference to the the basic electrical properties of transistors, capacitors, Direct Current and crystals, I was able to come to a fairly complete (or at least useful) understanding of how my computer worked and what the text instructions that I was imputing were doing. In addition, I spent a couple of afternoons exploring assembly language and the IS-32 instruction set. Looking at how compilers work, and how they translate your text code into machine code (the '1' and '0's you mentioned) from libraries makes the need for precise instructions (text syntax) clear and less of a burden. I found that by using K&R as a course outline rather than a final all knowing, all teaching, tutorial book I was able to drill to the bottom of everything that was happening inside my computer. If you, like me, look for those Eureka! moments in life, you will find exploring the capabilities of your computer through the 'C' language is a wonderful voyage of discovery. The ingenuity and creativity over the last 50 years that has gone into making the metal, the electricity, and the programming of a computer is truly a marvel. If this is the kind of approach that you are interested in respond to this post, and I will give you some hints and tricks about uncovering the programming process. If I happen to steer you wrong, I am sure there are lots of people on this list who will jump in with corrections. -- Regards Bill Fedora 14, Gnome 2.32 Evo.2.32, Emacs 23.2.1 -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines