Re: What's the easiest and/or simplest part of Linux Kernel?
On Sun, Oct 27, 2013 at 11:05 AM, Jerry Stuckle jstuc...@attglobal.net wrote: On 10/26/2013 1:12 PM, Joel Rees wrote: On Sat, Oct 26, 2013 at 10:59 AM, Zenaan Harkness z...@freedbms.net wrote: On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: [...] Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. And a machine is not a real-world object? [...] Terminology junkies are welcome to their terms. Some on this list have graciously ceded to _your_ preferred terms, in an endeavour to attempt to maintain actual communication. I think that is a wise thing. Good luck, Zenaan Thanks for your efforts, Zeenan. However, don't misinterpret the silence. I've just run out of time to argue with Jerry. I mean, yeah, when he trivialized my whole career into a bit of reading a few pages on wikipedia and writing a little php, that got my back up. But satisfying my ego is not going to put bread on my family's table. I have more important things to do. What you don't understand is YOU are the only one who can trivialize YOUR career. No one else can. And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. But you're too caught up in your own little world to even try to understand REAL experts. Your mantra is I have my mind made up and no one will change it. Such is the life of those who will not learn. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526c7506.5000...@attglobal.net -- Joel Rees Be careful where you see conspiracy. Look first in your own heart. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/caar43inftefsy-tyyzpivbco6amrlevqz3f33toeu1dizec...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On Sun, 27 Oct 2013 21:37:28 -0400 Jerry Stuckle jstuc...@attglobal.net wrote: ... Since you brought it up - who do you think wrote Windows? A bunch of academics? Or Linux? Or OS/2? Or MacOS? Or Z-OS? Didn't Linus initially create linux while a university student? And I believe that the GNU tools / Free Software Movement were products of Stallman and other MIT academics. How about Oracle Database? SQL? DB2? MySQL? More academics? How about C, C++, Pascal, COBOL and Fortran compilers? Or maybe PERL, gcc was largely written by Stallman, an academic. Celejar -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20131028194642.1083a4141df6054d42f41...@gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
Not sure I really want to wade back into this but... Celejar wrote: On Sun, 27 Oct 2013 21:37:28 -0400 Jerry Stuckle jstuc...@attglobal.net wrote: ... Since you brought it up - who do you think wrote Windows? A bunch of academics? Or Linux? Or OS/2? Or MacOS? Or Z-OS? Didn't Linus initially create linux while a university student? And I believe that the GNU tools / Free Software Movement were products of Stallman and other MIT academics. Yup. And MacOS is based on BSD Unix (written, by academics at Berkley) and at one point included the Mach kernel, another academic project. How about Oracle Database? SQL? DB2? MySQL? More academics? SQL came out of IBM, Oracle was purely commercial from the beginning. But Ingres came out of UC Berkeley. and Postgres came out of that. As I recall, a prime mover behind both was Micheal Sonebraker - then a Prof. at UCB, now one at MIT (when not at StreamBase). How about C, C++, Pascal, COBOL and Fortran compilers? Or maybe PERL, gcc was largely written by Stallman, an academic. C came out of Bell Labs - a pretty academic environment. Wirth (Pascal) spent most of his career as an academic. -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526f01fb.6010...@meetinghouse.net
Re: What's the easiest and/or simplest part of Linux Kernel?
Not in any way disputing your basic premise that it's hard, or impossible, to do polymorphism and inheritance in C, with which I agree. And not to weigh in on whether an object is a machine or vice versa (though a pretty good arguement can be made that objects can be viewed as finite state machines - and you can find such arguements in the literature).. And also not to weigh in (much) about what's actually important about OOP (Alan Kay has more than once pointed out that it's message passing and isolation that are important, polymorphism and inheritance are just what seem to get the attention.) By the way: really nice discussion of the state of OOP at http://www.infoq.com/interviews/johnson-armstrong-oop (on a completely un-related matter, I happened to be looking at Erlang from an OO perspective and stumbled across this rather nice interview with Rolph Johnson and Joe Armstrong - of Design Patterns and Erlang fame, respectively). Jerry Stuckle wrote: And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. Kind of flip-flopping to cite recognized experts after dismissing guys like Donovan, Saltzer and Corbato as But they never were that highly regarded except in academia - when discussing operating systems and systems programming. And then to cite Booch, Rumbaugh and Stroustrup re. OO programming (ok, Stroustrup wrote C++) - but if you want to cite experts - how about Dahl and Nygaard (Simula, pretty much invented software objects) and Alan Kay (Smalltalk, pretty much invented OOP). Maybe Joe Armstrong (Erlang) for a countervailing view. But you're too caught up in your own little world to even try to understand REAL experts. Your mantra is I have my mind made up and no one will change it. Sounds more like you're describing yourself, Jerry. First, you've got to understand who the real experts are, rather than finding ones who simply backstop your pre-defined opinion (and.. experts are nothing without citations). Beyond that, why is it that you always seem to draw from narrow confines of IBM (or, where Booch and Rumbaugh are concerned, Rational, now part of IBM). IBM is an important part of the computing universe, no contest; but the field, and it's leading edge, are much broader than just IBM. Miles Fidelman -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526cf0d0.8070...@meetinghouse.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/27/2013 6:54 AM, Miles Fidelman wrote: Not in any way disputing your basic premise that it's hard, or impossible, to do polymorphism and inheritance in C, with which I agree. And not to weigh in on whether an object is a machine or vice versa (though a pretty good arguement can be made that objects can be viewed as finite state machines - and you can find such arguements in the literature).. Sure, you can find all kinds of arguments in literature. But the discussion was not about finite state machines. And, of course, you can call ANYTHING a finite state machine. But it is also not call finite state machine oriented programming because object oriented programming is more appropriate. And also not to weigh in (much) about what's actually important about OOP (Alan Kay has more than once pointed out that it's message passing and isolation that are important, polymorphism and inheritance are just what seem to get the attention.) By the way: really nice discussion of the state of OOP at http://www.infoq.com/interviews/johnson-armstrong-oop (on a completely un-related matter, I happened to be looking at Erlang from an OO perspective and stumbled across this rather nice interview with Rolph Johnson and Joe Armstrong - of Design Patterns and Erlang fame, respectively). That is Alan Kay's opinion, nothing more, nothing less. Others consider inheritance and polymorphism to be quite important. But then those are people who have actually used polymorphism and inheritance effectively. But then such is the opinion of another academic who has had no (or very little) real-world business experience. Academics get paid to write papers. Business people get paid to do work. Jerry Stuckle wrote: And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. Kind of flip-flopping to cite recognized experts after dismissing guys like Donovan, Saltzer and Corbato as But they never were that highly regarded except in academia - when discussing operating systems and systems programming. Yes, all academics who have never (AFAIK) done any business programming. And then to cite Booch, Rumbaugh and Stroustrup re. OO programming (ok, Stroustrup wrote C++) - but if you want to cite experts - how about Dahl and Nygaard (Simula, pretty much invented software objects) and Alan Kay (Smalltalk, pretty much invented OOP). Maybe Joe Armstrong (Erlang) for a countervailing view. Booch and Rumbaugh also were real world programmers, not just academics. Separately they created OO design patters which were later merged into UML - the most commonly used design pattern today. Others are academics. And BTW, it isn't limited to programming where the business world thinks little of academics. It goes for many professions. But you're too caught up in your own little world to even try to understand REAL experts. Your mantra is I have my mind made up and no one will change it. Sounds more like you're describing yourself, Jerry. First, you've got to understand who the real experts are, rather than finding ones who simply backstop your pre-defined opinion (and.. experts are nothing without citations). Beyond that, why is it that you always seem to draw from narrow confines of IBM (or, where Booch and Rumbaugh are concerned, Rational, now part of IBM). IBM is an important part of the computing universe, no contest; but the field, and it's leading edge, are much broader than just IBM. Miles Fidelman Sure. Real experts have real experience in the field, using the tools to write real programs. They get paid to do things which make the company money. They don't just sit around and write papers and maybe teach a class now and then. I would love to see some of your experts in a real-world business environment. My bet is they would all fall flat on their faces. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526d19e7.3080...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
Jerry Stuckle wrote: And also not to weigh in (much) about what's actually important about OOP (Alan Kay has more than once pointed out that it's message passing and isolation that are important, polymorphism and inheritance are just what seem to get the attention.) By the way: really nice discussion of the state of OOP at http://www.infoq.com/interviews/johnson-armstrong-oop (on a completely un-related matter, I happened to be looking at Erlang from an OO perspective and stumbled across this rather nice interview with Rolph Johnson and Joe Armstrong - of Design Patterns and Erlang fame, respectively). That is Alan Kay's opinion, nothing more, nothing less. Others consider inheritance and polymorphism to be quite important. But then those are people who have actually used polymorphism and inheritance effectively. But then such is the opinion of another academic who has had no (or very little) real-world business experience. Hmm... so the INVENTOR of object oriented programming is not an expert? Won the ACM Turing award. That sort of thing. Academics get paid to write papers. Business people get paid to do work. Sounds like your idea of an expert is some grunt who wrote financial software for mainframes. Mine is more like people who push the state of the art, and those who get hired to help make big decisions. Jerry Stuckle wrote: And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. Kind of flip-flopping to cite recognized experts after dismissing guys like Donovan, Saltzer and Corbato as But they never were that highly regarded except in academia - when discussing operating systems and systems programming. Yes, all academics who have never (AFAIK) done any business programming. You sure don't know Donovan - he was pretty much the goto guy for executive suite consulting in IT. Cambridge Technology Group was (may still be) the go to MIS consulting firm - Donovan made a mint. On the more general side - if I'm interested in operating systems, guys who do business programming are not where I'd look for expertise. I'd look for guys who built large time sharing systems. Your personal level of ignorace is pretty staggering - you really don't seem to have any credibility for deciding who is and isn't an expert. And then to cite Booch, Rumbaugh and Stroustrup re. OO programming (ok, Stroustrup wrote C++) - but if you want to cite experts - how about Dahl and Nygaard (Simula, pretty much invented software objects) and Alan Kay (Smalltalk, pretty much invented OOP). Maybe Joe Armstrong (Erlang) for a countervailing view. Booch and Rumbaugh also were real world programmers, not just academics. Separately they created OO design patters which were later merged into UML - the most commonly used design pattern today. Well.. perhaps the most talked about. Others are academics. And BTW, it isn't limited to programming where the business world thinks little of academics. It goes for many professions. But you're too caught up in your own little world to even try to understand REAL experts. Your mantra is I have my mind made up and no one will change it. Sounds more like you're describing yourself, Jerry. First, you've got to understand who the real experts are, rather than finding ones who simply backstop your pre-defined opinion (and.. experts are nothing without citations). Beyond that, why is it that you always seem to draw from narrow confines of IBM (or, where Booch and Rumbaugh are concerned, Rational, now part of IBM). IBM is an important part of the computing universe, no contest; but the field, and it's leading edge, are much broader than just IBM. Miles Fidelman Sure. Real experts have real experience in the field, using the tools to write real programs. They get paid to do things which make the company money. They don't just sit around and write papers and maybe teach a class now and then. I would love to see some of your experts in a real-world business environment. My bet is they would all fall flat on their faces. An awful lot of the academics I know have also started quite successful high tech firms (or joined academica after retiring from same). (Granted that MIT and Harvard professors aren't run-of-the mill academics). -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526d242b.5020...@meetinghouse.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/27/2013 10:33 AM, Miles Fidelman wrote: Jerry Stuckle wrote: And also not to weigh in (much) about what's actually important about OOP (Alan Kay has more than once pointed out that it's message passing and isolation that are important, polymorphism and inheritance are just what seem to get the attention.) By the way: really nice discussion of the state of OOP at http://www.infoq.com/interviews/johnson-armstrong-oop (on a completely un-related matter, I happened to be looking at Erlang from an OO perspective and stumbled across this rather nice interview with Rolph Johnson and Joe Armstrong - of Design Patterns and Erlang fame, respectively). That is Alan Kay's opinion, nothing more, nothing less. Others consider inheritance and polymorphism to be quite important. But then those are people who have actually used polymorphism and inheritance effectively. But then such is the opinion of another academic who has had no (or very little) real-world business experience. Hmm... so the INVENTOR of object oriented programming is not an expert? Won the ACM Turing award. That sort of thing. He was not the INVENTOR of object oriented programming. He is only one of many who contributed to the concept. Academics get paid to write papers. Business people get paid to do work. Sounds like your idea of an expert is some grunt who wrote financial software for mainframes. Mine is more like people who push the state of the art, and those who get hired to help make big decisions. My idea of an expert is one who gets paid for doing the work. They are not grunts - and I'll bet most of your experts would fail in the real world. I would love to see them working in a 200+ person-year project, i.e. 50+ programmers working together for 2+ years. Jerry Stuckle wrote: And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. Kind of flip-flopping to cite recognized experts after dismissing guys like Donovan, Saltzer and Corbato as But they never were that highly regarded except in academia - when discussing operating systems and systems programming. Yes, all academics who have never (AFAIK) done any business programming. You sure don't know Donovan - he was pretty much the goto guy for executive suite consulting in IT. Cambridge Technology Group was (may still be) the go to MIS consulting firm - Donovan made a mint. Not really. A few C-level executives would hire them, mainly to cover their butts. But not IT departments, where the real work is done. On the more general side - if I'm interested in operating systems, guys who do business programming are not where I'd look for expertise. I'd look for guys who built large time sharing systems. Changing the subject again? Your personal level of ignorace is pretty staggering - you really don't seem to have any credibility for deciding who is and isn't an expert. Ah, once again the personal attacks. OK, here's one for YOU. You obviously are no more than another academic, trying to justify your position in a world where you are shunned by people who do the real work. And then to cite Booch, Rumbaugh and Stroustrup re. OO programming (ok, Stroustrup wrote C++) - but if you want to cite experts - how about Dahl and Nygaard (Simula, pretty much invented software objects) and Alan Kay (Smalltalk, pretty much invented OOP). Maybe Joe Armstrong (Erlang) for a countervailing view. Booch and Rumbaugh also were real world programmers, not just academics. Separately they created OO design patters which were later merged into UML - the most commonly used design pattern today. Well.. perhaps the most talked about. And the most commonly used - which you would know if you did any real-world programming. Others are academics. And BTW, it isn't limited to programming where the business world thinks little of academics. It goes for many professions. But you're too caught up in your own little world to even try to understand REAL experts. Your mantra is I have my mind made up and no one will change it. Sounds more like you're describing yourself, Jerry. First, you've got to understand who the real experts are, rather than finding ones who simply backstop your pre-defined opinion (and.. experts are nothing without citations). Beyond that, why is it that you always seem to draw from narrow confines of IBM (or, where Booch and Rumbaugh are concerned, Rational, now part of IBM). IBM is an important part of the computing universe, no contest; but the field, and it's leading edge, are much broader than just IBM. Miles Fidelman Sure. Real experts have real experience in the field, using the tools to write real programs. They get paid to do things which make the company money. They don't just sit around and write papers and maybe teach a class
Re: What's the easiest and/or simplest part of Linux Kernel?
Jerry Stuckle wrote: On 10/27/2013 10:33 AM, Miles Fidelman wrote: Jerry Stuckle wrote: And also not to weigh in (much) about what's actually important about OOP (Alan Kay has more than once pointed out that it's message passing and isolation that are important, polymorphism and inheritance are just what seem to get the attention.) By the way: really nice discussion of the state of OOP at http://www.infoq.com/interviews/johnson-armstrong-oop (on a completely un-related matter, I happened to be looking at Erlang from an OO perspective and stumbled across this rather nice interview with Rolph Johnson and Joe Armstrong - of Design Patterns and Erlang fame, respectively). That is Alan Kay's opinion, nothing more, nothing less. Others consider inheritance and polymorphism to be quite important. But then those are people who have actually used polymorphism and inheritance effectively. But then such is the opinion of another academic who has had no (or very little) real-world business experience. Hmm... so the INVENTOR of object oriented programming is not an expert? Won the ACM Turing award. That sort of thing. He was not the INVENTOR of object oriented programming. He is only one of many who contributed to the concept. He is widely credited for both creating the term and as the father of object oriented programming - pretty much first instantiated in Smalltalk. He won the ACM Turing Award For pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing. Note that the notion of software objects is usually associated with the Simula Team. Academics get paid to write papers. Business people get paid to do work. Sounds like your idea of an expert is some grunt who wrote financial software for mainframes. Mine is more like people who push the state of the art, and those who get hired to help make big decisions. My idea of an expert is one who gets paid for doing the work. They are not grunts - and I'll bet most of your experts would fail in the real world. I would love to see them working in a 200+ person-year project, i.e. 50+ programmers working together for 2+ years. Oh, you mean a team with incredible amounts of top-down breakdown of work down to individual modules written by code monkeys? Let's see, I believe I included Jerry Saltzer as an o/s expert. Well, in addition to being a team leader on Multics, he was the author of RUNOFF, the predecessor of pretty much all typesetting programs - and one of the primary contributors to PC/IP (first TCP/IP stack for the IBM PC) and Kerberos. But, let's see - by your definition Ken Thompson and Dennis Ritchie would not be the pre-eminent experts on Unix (even though they wrote it), and Dennis Ritchie would not be the preeminent expert on C (even though he wrote it). After all, they weren't working on huge programming projects, and Bell Labs was kind of academic. And Linus Torvalds wouldn't be an expert in Linux. Or what about Vint Cerf and Bob Kahn - they authored TCP/IP, and pretty much made the Internet happen - but they were academics at the time, so that doesn't count? What about Donald Knuth - only the world's pre-eminent expert on algorithms. What, he doesn't count? After all, he's just an academic. Doesn't count that The Art of Computer Programming is to programming what the CRC handbook is to math. I might also point out that most of those writing financial software are buiding it on top of Oracle, or SAP, or PeopleSoft or some other fairly complicated platform. Now the folks who wrote Oracle are certainly experts in database technology. Writing forms and reports on top of Oracle, on the other hand, is not rocket science. Jerry Stuckle wrote: And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. Kind of flip-flopping to cite recognized experts after dismissing guys like Donovan, Saltzer and Corbato as But they never were that highly regarded except in academia - when discussing operating systems and systems programming. Yes, all academics who have never (AFAIK) done any business programming. You sure don't know Donovan - he was pretty much the goto guy for executive suite consulting in IT. Cambridge Technology Group was (may still be) the go to MIS consulting firm - Donovan made a mint. Not really. A few C-level executives would hire them, mainly to cover their butts. But not IT departments, where the real work is done. Says you, based on what? On the more general side - if I'm interested in operating systems, guys who do business programming are not where I'd look for expertise. I'd look for guys who built large time sharing systems. Changing
Re: What's the easiest and/or simplest part of Linux Kernel?
Miles Fidelman grabbed a keyboard and wrote: [tl;dr] Can you guys PLEASE take this off-topic discussion somewhere else? Like, maybe, the off-topic list (which, oddly enough, was created for topics like this) --Dave smime.p7s Description: S/MIME Cryptographic Signature
Re: What's the easiest and/or simplest part of Linux Kernel?
On Sun, 27 Oct 2013 16:51:48 -0400 Miles Fidelman mfidel...@meetinghouse.net wrote: No, most business would NOT hire them as programmers - they couldn't afford them. From an outside layman (but very interested) perspective the argument boils down to which is more important, the use of tools or the invention of tools I content that, without tools, no work of any significance can be done. Invention trumps work. ~Always.~ It is self-evident in the fact that invention always precedes work. Without invention we would still be stacking sticks and scooping mud by hand. Academics rule, or should. Cybe R. Wizard -- Nice computers don't go down. Larry Niven, Steven Barnes The Barsoom Project -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/2013102717.30be24a6.cybe_r_wiz...@earthlink.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/27/2013 4:51 PM, Miles Fidelman wrote: Jerry Stuckle wrote: On 10/27/2013 10:33 AM, Miles Fidelman wrote: Jerry Stuckle wrote: And also not to weigh in (much) about what's actually important about OOP (Alan Kay has more than once pointed out that it's message passing and isolation that are important, polymorphism and inheritance are just what seem to get the attention.) By the way: really nice discussion of the state of OOP at http://www.infoq.com/interviews/johnson-armstrong-oop (on a completely un-related matter, I happened to be looking at Erlang from an OO perspective and stumbled across this rather nice interview with Rolph Johnson and Joe Armstrong - of Design Patterns and Erlang fame, respectively). That is Alan Kay's opinion, nothing more, nothing less. Others consider inheritance and polymorphism to be quite important. But then those are people who have actually used polymorphism and inheritance effectively. But then such is the opinion of another academic who has had no (or very little) real-world business experience. Hmm... so the INVENTOR of object oriented programming is not an expert? Won the ACM Turing award. That sort of thing. He was not the INVENTOR of object oriented programming. He is only one of many who contributed to the concept. He is widely credited for both creating the term and as the father of object oriented programming - pretty much first instantiated in Smalltalk. He won the ACM Turing Award For pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing. Note that the notion of software objects is usually associated with the Simula Team. As I said - he is only ONE of several who worked on Object oriented programming. He may have created the term - but he did not originate the idea. And who cares about the ACM Turing Award? It's really not all that meaningful - except in the academic world. Academics get paid to write papers. Business people get paid to do work. Sounds like your idea of an expert is some grunt who wrote financial software for mainframes. Mine is more like people who push the state of the art, and those who get hired to help make big decisions. My idea of an expert is one who gets paid for doing the work. They are not grunts - and I'll bet most of your experts would fail in the real world. I would love to see them working in a 200+ person-year project, i.e. 50+ programmers working together for 2+ years. Oh, you mean a team with incredible amounts of top-down breakdown of work down to individual modules written by code monkeys? Let's see, I believe I included Jerry Saltzer as an o/s expert. Well, in addition to being a team leader on Multics, he was the author of RUNOFF, the predecessor of pretty much all typesetting programs - and one of the primary contributors to PC/IP (first TCP/IP stack for the IBM PC) and Kerberos. But, let's see - by your definition Ken Thompson and Dennis Ritchie would not be the pre-eminent experts on Unix (even though they wrote it), and Dennis Ritchie would not be the preeminent expert on C (even though he wrote it). After all, they weren't working on huge programming projects, and Bell Labs was kind of academic. And Linus Torvalds wouldn't be an expert in Linux. Or what about Vint Cerf and Bob Kahn - they authored TCP/IP, and pretty much made the Internet happen - but they were academics at the time, so that doesn't count? What about Donald Knuth - only the world's pre-eminent expert on algorithms. What, he doesn't count? After all, he's just an academic. Doesn't count that The Art of Computer Programming is to programming what the CRC handbook is to math. I might also point out that most of those writing financial software are buiding it on top of Oracle, or SAP, or PeopleSoft or some other fairly complicated platform. Now the folks who wrote Oracle are certainly experts in database technology. Writing forms and reports on top of Oracle, on the other hand, is not rocket science. Gee, you sure know how to drop names, don't you? And how to post as many different subjects in one paragraph as you can. Typical when you don't have a real answer to the discussion. Jerry Stuckle wrote: And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. Kind of flip-flopping to cite recognized experts after dismissing guys like Donovan, Saltzer and Corbato as But they never were that highly regarded except in academia - when discussing operating systems and systems programming. Yes, all academics who have never (AFAIK) done any business programming. You sure don't know Donovan - he was pretty much the goto guy for executive suite consulting in IT. Cambridge
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/27/2013 5:02 PM, David Guntner wrote: Miles Fidelman grabbed a keyboard and wrote: [tl;dr] Can you guys PLEASE take this off-topic discussion somewhere else? Like, maybe, the off-topic list (which, oddly enough, was created for topics like this) --Dave Dave, Don't worry - I'm through with this troll. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526dc01d.8000...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/27/2013 6:55 PM, Cybe R. Wizard wrote: On Sun, 27 Oct 2013 16:51:48 -0400 Miles Fidelman mfidel...@meetinghouse.net wrote: No, most business would NOT hire them as programmers - they couldn't afford them. From an outside layman (but very interested) perspective the argument boils down to which is more important, the use of tools or the invention of tools I content that, without tools, no work of any significance can be done. Invention trumps work. ~Always.~ It is self-evident in the fact that invention always precedes work. Without invention we would still be stacking sticks and scooping mud by hand. Academics rule, or should. Cybe R. Wizard Cybe, And who do you think wrote the tools such as Windows, Linux, C++ compilers, Oracle Database and more? Hint: NONE of them were written by academics. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526dc07d.9080...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
Jerry Stuckle grabbed a keyboard and wrote: On 10/27/2013 5:02 PM, David Guntner wrote: Miles Fidelman grabbed a keyboard and wrote: [tl;dr] Can you guys PLEASE take this off-topic discussion somewhere else? Like, maybe, the off-topic list (which, oddly enough, was created for topics like this) Dave, Don't worry - I'm through with this troll. What I, and I suspect a number of people here, would actually prefer would be for you and the others continuing it to be done with the whole damn OFF TOPIC thread. If you want to continue it, please take it to the off-topic list. --Dave smime.p7s Description: S/MIME Cryptographic Signature
Re: What's the easiest and/or simplest part of Linux Kernel?
Jerry Stuckle wrote: On 10/27/2013 5:02 PM, David Guntner wrote: Miles Fidelman grabbed a keyboard and wrote: [tl;dr] Can you guys PLEASE take this off-topic discussion somewhere else? Like, maybe, the off-topic list (which, oddly enough, was created for topics like this) --Dave Dave, Don't worry - I'm through with this troll. Jerry Gee change the name, and my reaction entirely. -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526dc862.3040...@meetinghouse.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/25/2013 10:46 PM, Zenaan Harkness wrote: On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 10/25/2013 9:59 PM, Zenaan Harkness wrote: On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 10/25/2013 8:59 PM, Zenaan Harkness wrote: Anyway, from an onlookers perspective you are being excessively pedantic and hung up on different terms which are simply intended to convey some meaning - and you have done so without saying _why_ 'machine' is a 'bad' term to use to describe the properties of an 'object' in OOP. Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. Here I should have said thank you for providing your reason. Sorry I came across a bit harsh - but I'm tired of experts who have maybe read a couple of pages on the internet and think they know everything about OOP, but have never written any REAL OO code (even though they claim they have). Thinks like not using encapsulation because it's work to write all of those setters and getters, only validating the contents of the object when it is stored in a database (what if it's used to make decisions before being stored - or isn't stored at all, as a business object?) or claiming you can do inheritance and/or polymorphism in C. Most of these experts have limited experience in database (i.e. FoxPro, DBase) or web (usually PHP) programming. And unfortunately, some of these people have put up web pages, promoting these misunderstanding which others use in their arguments. The one thing they have in common is none of them have worked with a real OO language such as SmallTalk or Java (they may have worked with C++, but they use it more as a functional programming language rather than use the OO features). I don't claim to be an expert in the field, but I have been doing OO since the mid 80's, starting with SmallTalk. And I learned from real experts - reading their books and attending forums where they were speaking. I've also worked on several large projects over the years, both as a programmer and a project manager. And a machine is not a real-world object? All machines are objects. But not all objects are machines. I agree. Are you saying that I should refrain from using the term machine as an analogy to help explain OOP, because some recognized experts did not use that term? Only if you don't want to look like an idiot. People who make up their own terms for something most of the rest of the world accept look that way. Oh. Dear me. Guess I better just stick to Object then. Don't want to look like an idiot. I shall submit myself to most of the rest of the world's acceptance. I guess I should appreciate that you are trying to stop some of us from looking like idiots. There is possibly some worth in that intention. I however be not tooo worried about others' think ... can lead to certain - unproductive? - outcomes. Another thing I see often is people misusing terms - it's quite common and I get pretty tired of that end, also. I'm not a purist, but one thing I've found when working on large projects - it is very important that *everyone* use the same terminology and *everyone* understand what that terminology means. When people start using other terms it rapidly leads to a dangerous lack of communications - or worse yet, miscommunication. Besides, my point is not to attack object as being a useful term nor to attack object as being the preferred/accepted/sanctioned term. Can you see my point? Nope. /shrug Someone's loss? No, I just don't see the point you're trying to make. My point was simply that machine is (in my opinion, and evidently in the opinions of others), useful to help describe or explain OOP. As I said before - not all objects are machines. True. Very true. I agree. I really do agree. I did not ask you if machine was the best term. I humbly disagree with you, if what you are saying is that machine is a bad term to help describe or teach the object part of OOP to those trying to understand it. Feel free to disagree. You're the one not using the commonly recognized terminology, not me. I wrote an article back in the day for my university newsletter, using a tree as an analogy to explain Objects - I did have much to learn, but in hindsight, machine, or engine, would likely have been a better analogy. I think I was trying to point out that _anything_ can be modeled as an Object. Anyway, as long as there's a good crucifixion under way for crimes against terminology ... popcorn anyone? Differences in terminology lead to differences in understanding. This leads to miscommunication. Terminology junkies are welcome to their terms. Some on this list have graciously ceded to _your_ preferred terms, in an endeavour to attempt to maintain actual communication. I think that is a wise thing. I just go by what recognized
Re: What's the easiest and/or simplest part of Linux Kernel?
On Sat, Oct 26, 2013 at 10:59 AM, Zenaan Harkness z...@freedbms.net wrote: On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: [...] Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. And a machine is not a real-world object? [...] Terminology junkies are welcome to their terms. Some on this list have graciously ceded to _your_ preferred terms, in an endeavour to attempt to maintain actual communication. I think that is a wise thing. Good luck, Zenaan Thanks for your efforts, Zeenan. However, don't misinterpret the silence. I've just run out of time to argue with Jerry. I mean, yeah, when he trivialized my whole career into a bit of reading a few pages on wikipedia and writing a little php, that got my back up. But satisfying my ego is not going to put bread on my family's table. I have more important things to do. -- Joel Rees Be careful where you see conspiracy. Look first in your own heart. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAAr43iP1JqH54ovbS12JEMKnMwqMGo=z5klgcfn4uetdkzb...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/26/2013 1:12 PM, Joel Rees wrote: On Sat, Oct 26, 2013 at 10:59 AM, Zenaan Harkness z...@freedbms.net wrote: On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: [...] Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. And a machine is not a real-world object? [...] Terminology junkies are welcome to their terms. Some on this list have graciously ceded to _your_ preferred terms, in an endeavour to attempt to maintain actual communication. I think that is a wise thing. Good luck, Zenaan Thanks for your efforts, Zeenan. However, don't misinterpret the silence. I've just run out of time to argue with Jerry. I mean, yeah, when he trivialized my whole career into a bit of reading a few pages on wikipedia and writing a little php, that got my back up. But satisfying my ego is not going to put bread on my family's table. I have more important things to do. What you don't understand is YOU are the only one who can trivialize YOUR career. No one else can. And no, I did NOT refer to reading a few pages on wikipedia and writing a little php. I do not consider either to be reliable. Rather, I referred to recognized experts in the field such as Booch, Rumbaugh and Stroustrup. But you're too caught up in your own little world to even try to understand REAL experts. Your mantra is I have my mind made up and no one will change it. Such is the life of those who will not learn. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526c7506.5000...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/29/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/29/2013 12:45 AM, Joel Rees wrote: (I really don't have time to do this.) On Thu, Aug 29, 2013 at 12:17 PM, [Somebody replied to somebody, arguing that C can't do objects.] The syntax does become obtuse, unfun, cluttered, etc., but it can be done. I didn't say C can't do objects. I said it can't do Object Oriented Programming. Two entirely different things. (To get the neurons connecting, think about early objective-C, when the object stuff was done with a special purpose pre-processor. Shoot. Don't forget that C++ itself was once a pre-processor for C.) That's like saying C is a preprocessor for assembler. Sure, the original C++ tools were preprocessors. However, they were preprocessors which provided the tools necessary to do OOP. Good start. Admittedly, the object syntax becomes a separate syntax and language from the C part when you do OOP in unadorned C. You have to leave the basic operators (+-*/%, etc.) out of the object-oriented language and syntax. (Which is part of the reason it becomes unfun.) Please show how you can do inheritance and polymorphism in C. Not so good finish. Looking at the above, we could say use an old/original preprocessor? Or do that preprocessors work by hand? And why do you need to leave the basic operators out? They are inherent to both languages. You have to use #include skillfully, and you have to explicitly put function pointers in structures. It kind of turns things upside down, a bit, and a little inside-out. It'll make even seasoned C programmers seasick. And the syntax is not as flexible as C++. Again, please show how to do inheritance and polymorphism in C. As above ... Which is all why C++ was written as a separate language. But it can be done. Once again, please show how to do inheritance and polymorphism in C. Next you'll be saying you can't do functional or modular programming in machine code... By the way, mathematically speaking, objects are machines. Maybe mathematically speaking, but we're talking programming here. In programming, variables have state. Functions have behavior. Objects have both state and behavior. Mathematically, we make ... declarations or assertions :) 0A This byte of ram we shall call a variable. 0B This byte of ram we shall call a pointer. 0C This byte of ram shall be the program start instruction. It is not only reasonable, but useful to some people learning, to say that a programming object ... is like a machine. So let me fix the statement: Mathematically speaking, objects are machines; programmatically speaking, objects are like machines. That wasn't so hard was it? Lets be flexible in our understanding of each other, when doing so causes no problem, Zenaan -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSQpQbrXeBfUS=s10zwwbchdpn2ebcxcaxklizha34-...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/29/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/28/2013 7:52 PM, berenger.mo...@neutralite.org wrote: Here is the important part: Each object can be viewed as an independent machine with a distinct role or responsibility.. Nothing forbid to do that in C. I took the example of the SDL, previously. Does not it really match to that phrase? When I use SDL in a C++ program, I create 1 class with a constructor which call SDL_CreateSurface, while the destructor calls SDL_FreeSurface. I simply use the automated RAII stuff, which is the feature C lacks. Well... at least, in C, you can use RAII, by hand. Not only with Java or C#, or at least, not as easily (those languages are designed to use a garbage collector...can be useful sometimes.). It is not a machine. It is an object. That's why it is called Object Oriented Programming. Well. We of the firm assertions disposition often fall fatally to ... firm assertions. Jerry, perhaps you might soften your insistence that others use JERRY'S DEFITION as THE ONLY TRUE DEFINITION OF THIS COMPUTERY TERM!!! How warm and encouraging would it be if you had instead said something like I would prefer that the term object were not conflated with 'machine' for the following reasons ... Anyway, from an onlookers perspective you are being excessively pedantic and hung up on different terms which are simply intended to convey some meaning - and you have done so without saying _why_ 'machine' is a 'bad' term to use to describe the properties of an 'object' in OOP. Regards, Zenaan -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSStTBrooj0qtFd-ZwJdhOVk=pY3wpe7qdG=9rwvtqz...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/25/2013 8:59 PM, Zenaan Harkness wrote: On 8/29/13, Jerry Stuckle jstuc...@attglobal.net wrote: Please show how you can do inheritance and polymorphism in C. Not so good finish. Looking at the above, we could say use an old/original preprocessor? Or do that preprocessors work by hand? Then you should easily be able to show how you can do inheritance and polymorphism in C. And why do you need to leave the basic operators out? They are inherent to both languages. You have to use #include skillfully, and you have to explicitly put function pointers in structures. It kind of turns things upside down, a bit, and a little inside-out. It'll make even seasoned C programmers seasick. And the syntax is not as flexible as C++. Again, please show how to do inheritance and polymorphism in C. As above ... Still can't do it? Which is all why C++ was written as a separate language. But it can be done. Once again, please show how to do inheritance and polymorphism in C. Next you'll be saying you can't do functional or modular programming in machine code... Don't put words in my mouth. By the way, mathematically speaking, objects are machines. Maybe mathematically speaking, but we're talking programming here. In programming, variables have state. Functions have behavior. Objects have both state and behavior. Mathematically, we make ... declarations or assertions :) 0A This byte of ram we shall call a variable. 0B This byte of ram we shall call a pointer. 0C This byte of ram shall be the program start instruction. It is not only reasonable, but useful to some people learning, to say that a programming object ... is like a machine. So let me fix the statement: Mathematically speaking, objects are machines; programmatically speaking, objects are like machines. That wasn't so hard was it? Lets be flexible in our understanding of each other, when doing so causes no problem, Zenaan No, objects are not machines or like machines. A ball is an object. Would you call it a machine? How about a can of dog food? But both are objects, and can be emulated in OO programming. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526b1b46.2040...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/25/2013 8:59 PM, Zenaan Harkness wrote: On 8/29/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/28/2013 7:52 PM, berenger.mo...@neutralite.org wrote: Here is the important part: Each object can be viewed as an independent machine with a distinct role or responsibility.. Nothing forbid to do that in C. I took the example of the SDL, previously. Does not it really match to that phrase? When I use SDL in a C++ program, I create 1 class with a constructor which call SDL_CreateSurface, while the destructor calls SDL_FreeSurface. I simply use the automated RAII stuff, which is the feature C lacks. Well... at least, in C, you can use RAII, by hand. Not only with Java or C#, or at least, not as easily (those languages are designed to use a garbage collector...can be useful sometimes.). It is not a machine. It is an object. That's why it is called Object Oriented Programming. Well. We of the firm assertions disposition often fall fatally to ... firm assertions. Jerry, perhaps you might soften your insistence that others use JERRY'S DEFITION as THE ONLY TRUE DEFINITION OF THIS COMPUTERY TERM!!! That is not MY definition. It is the definition put forth by recognized experts in OO programming such as Booch, Rumbaugh and Stroustrup. If you want to argue definitions, I suggest you argue with them. How warm and encouraging would it be if you had instead said something like I would prefer that the term object were not conflated with 'machine' for the following reasons ... Maybe to you. I follow the experts' definitions. Anyway, from an onlookers perspective you are being excessively pedantic and hung up on different terms which are simply intended to convey some meaning - and you have done so without saying _why_ 'machine' is a 'bad' term to use to describe the properties of an 'object' in OOP. Regards, Zenaan Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526b1c39.8080...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 10/25/2013 8:59 PM, Zenaan Harkness wrote: On 8/29/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/28/2013 7:52 PM, berenger.mo...@neutralite.org wrote: Here is the important part: Each object can be viewed as an independent machine with a distinct role or responsibility.. Nothing forbid to do that in C. I took the example of the SDL, previously. Does not it really match to that phrase? When I use SDL in a C++ program, I create 1 class with a constructor which call SDL_CreateSurface, while the destructor calls SDL_FreeSurface. I simply use the automated RAII stuff, which is the feature C lacks. Well... at least, in C, you can use RAII, by hand. Not only with Java or C#, or at least, not as easily (those languages are designed to use a garbage collector...can be useful sometimes.). It is not a machine. It is an object. That's why it is called Object Oriented Programming. Well. We of the firm assertions disposition often fall fatally to ... firm assertions. Jerry, perhaps you might soften your insistence that others use JERRY'S DEFITION as THE ONLY TRUE DEFINITION OF THIS COMPUTERY TERM!!! That is not MY definition. It is the definition put forth by recognized experts in OO programming such as Booch, Rumbaugh and Stroustrup. If you want to argue definitions, I suggest you argue with them. How warm and encouraging would it be if you had instead said something like I would prefer that the term object were not conflated with 'machine' for the following reasons ... Maybe to you. I follow the experts' definitions. Anyway, from an onlookers perspective you are being excessively pedantic and hung up on different terms which are simply intended to convey some meaning - and you have done so without saying _why_ 'machine' is a 'bad' term to use to describe the properties of an 'object' in OOP. Regards, Zenaan Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. And a machine is not a real-world object? Are you saying that I should refrain from using the term machine as an analogy to help explain OOP, because some recognized experts did not use that term? Besides, my point is not to attack object as being a useful term nor to attack object as being the preferred/accepted/sanctioned term. Can you see my point? My point was simply that machine is (in my opinion, and evidently in the opinions of others), useful to help describe or explain OOP. I did not ask you if machine was the best term. I humbly disagree with you, if what you are saying is that machine is a bad term to help describe or teach the object part of OOP to those trying to understand it. Terminology junkies are welcome to their terms. Some on this list have graciously ceded to _your_ preferred terms, in an endeavour to attempt to maintain actual communication. I think that is a wise thing. Good luck, Zenaan -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSSKXPxZG6nh-Lkdwu9o=6bnE7CZhPHb3j1uct0mKsm=0...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/25/2013 9:59 PM, Zenaan Harkness wrote: On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 10/25/2013 8:59 PM, Zenaan Harkness wrote: On 8/29/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/28/2013 7:52 PM, berenger.mo...@neutralite.org wrote: Here is the important part: Each object can be viewed as an independent machine with a distinct role or responsibility.. Nothing forbid to do that in C. I took the example of the SDL, previously. Does not it really match to that phrase? When I use SDL in a C++ program, I create 1 class with a constructor which call SDL_CreateSurface, while the destructor calls SDL_FreeSurface. I simply use the automated RAII stuff, which is the feature C lacks. Well... at least, in C, you can use RAII, by hand. Not only with Java or C#, or at least, not as easily (those languages are designed to use a garbage collector...can be useful sometimes.). It is not a machine. It is an object. That's why it is called Object Oriented Programming. Well. We of the firm assertions disposition often fall fatally to ... firm assertions. Jerry, perhaps you might soften your insistence that others use JERRY'S DEFITION as THE ONLY TRUE DEFINITION OF THIS COMPUTERY TERM!!! That is not MY definition. It is the definition put forth by recognized experts in OO programming such as Booch, Rumbaugh and Stroustrup. If you want to argue definitions, I suggest you argue with them. How warm and encouraging would it be if you had instead said something like I would prefer that the term object were not conflated with 'machine' for the following reasons ... Maybe to you. I follow the experts' definitions. Anyway, from an onlookers perspective you are being excessively pedantic and hung up on different terms which are simply intended to convey some meaning - and you have done so without saying _why_ 'machine' is a 'bad' term to use to describe the properties of an 'object' in OOP. Regards, Zenaan Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. And a machine is not a real-world object? All machines are objects. But not all objects are machines. Are you saying that I should refrain from using the term machine as an analogy to help explain OOP, because some recognized experts did not use that term? Only if you don't want to look like an idiot. People who make up their own terms for something most of the rest of the world accept look that way. Besides, my point is not to attack object as being a useful term nor to attack object as being the preferred/accepted/sanctioned term. Can you see my point? Nope. My point was simply that machine is (in my opinion, and evidently in the opinions of others), useful to help describe or explain OOP. As I said before - not all objects are machines. I did not ask you if machine was the best term. I humbly disagree with you, if what you are saying is that machine is a bad term to help describe or teach the object part of OOP to those trying to understand it. Feel free to disagree. You're the one not using the commonly recognized terminology, not me. Terminology junkies are welcome to their terms. Some on this list have graciously ceded to _your_ preferred terms, in an endeavour to attempt to maintain actual communication. I think that is a wise thing. Good luck, Zenaan I just go by what recognized experts say - not some yoyo who puts up a web page. If you want to use the correct terminology, you should be reading recognized experts in the field. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526b2589.3090...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 10/25/2013 9:59 PM, Zenaan Harkness wrote: On 10/26/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 10/25/2013 8:59 PM, Zenaan Harkness wrote: Anyway, from an onlookers perspective you are being excessively pedantic and hung up on different terms which are simply intended to convey some meaning - and you have done so without saying _why_ 'machine' is a 'bad' term to use to describe the properties of an 'object' in OOP. Machine is a bad term because it is not Machine Oriented Programming. It is Object Oriented Programming - because it emulates real world objects - not machines. Here I should have said thank you for providing your reason. And a machine is not a real-world object? All machines are objects. But not all objects are machines. I agree. Are you saying that I should refrain from using the term machine as an analogy to help explain OOP, because some recognized experts did not use that term? Only if you don't want to look like an idiot. People who make up their own terms for something most of the rest of the world accept look that way. Oh. Dear me. Guess I better just stick to Object then. Don't want to look like an idiot. I shall submit myself to most of the rest of the world's acceptance. I guess I should appreciate that you are trying to stop some of us from looking like idiots. There is possibly some worth in that intention. I however be not tooo worried about others' think ... can lead to certain - unproductive? - outcomes. Besides, my point is not to attack object as being a useful term nor to attack object as being the preferred/accepted/sanctioned term. Can you see my point? Nope. /shrug Someone's loss? My point was simply that machine is (in my opinion, and evidently in the opinions of others), useful to help describe or explain OOP. As I said before - not all objects are machines. True. Very true. I agree. I really do agree. I did not ask you if machine was the best term. I humbly disagree with you, if what you are saying is that machine is a bad term to help describe or teach the object part of OOP to those trying to understand it. Feel free to disagree. You're the one not using the commonly recognized terminology, not me. I wrote an article back in the day for my university newsletter, using a tree as an analogy to explain Objects - I did have much to learn, but in hindsight, machine, or engine, would likely have been a better analogy. I think I was trying to point out that _anything_ can be modeled as an Object. Anyway, as long as there's a good crucifixion under way for crimes against terminology ... popcorn anyone? Terminology junkies are welcome to their terms. Some on this list have graciously ceded to _your_ preferred terms, in an endeavour to attempt to maintain actual communication. I think that is a wise thing. I just go by what recognized experts say - not some yoyo who puts up a web page. If you were to put some sincere effort in attempting to explain something, and you used a term other than the primary sanctioned term, I would not consider you a yoyo, nor stupid, etc, but would consider your attempt genuine, to use additional terms to assist in the listeners understanding of your point. However, for an encyclopaedia I think that is a useful approach you have. Say, I seem to remember there's a wikipedia page or two on OOP that could really use a little of your expert love on this matter... If you want to use the correct terminology, you should be reading recognized experts in the field. Each human, like it or not, is the authority regarding their own intentions. This list is about communication, sometimes even related to Debian. The job of experts, teachers, and those who wish to raise the quality of discourse, ought be to discern and assist in the teasing out of the communication intents of others on this list, preferably in a supportive and encouraging manner. Good luck Zenaan -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSQoFXgdc0ECXj=b8HqOWty=w3zq64+jorcvnv+zz3b...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On Fri, Aug 30, 2013 at 10:48 AM, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/29/2013 8:25 PM, Joel Rees wrote: [...] 3. Inheritance: the ability to extend an existing class, to provide additional or different functionality via additional messages in the derived class. Inheritance takes advantage of the similarities in the base an derived classes. The base class has no knowledge of the derived class and, in fact, may not even know it is being used as a base class. Additional classes can be derived from the original base and derived classes with no change to the existing code. This cannot be done in C. 4. Polymorphism: the ability to send messages to a derived class object when you believe you have an object of the base class. This allows functions to operate on any class in the derived hierarchy, while only having to worry about the messages defined in the base class. This also cannot be done in C. As I said - you can emulate Object Based programming in C, although it is messy. You cannot create Object Oriented programs in C. Okay, so, for you, supporting inheritance and polymorphism at run-time rather than at compile time is not sufficiently OOP. And I don't particularly care about that distinction. I'm fine with ending the discussion there. -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/caar43ipotuj7bcqvss_ektoiok8pwlotfgtc_dntsyk_evb...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/30/2013 1:53 AM, Zenaan Harkness wrote: As I said - you can emulate Object Based programming in C, although it is messy. You cannot create Object Oriented programs in C. Are you saying you can NOT emulate inheritance in C? Are you saying you can NOT emulate polymorphism in C? Again, albeit with clunkyness, syntactic ugliness, non-compiler-enforcement but only policy enforcement of visibility constraints etc etc? So again, are you saying that you are not merely splitting hairs over terminology here? If so, can you please explain why not, in terms that a non-C programmer can understand? Thank you Zenaan No, I am not splitting hairs. There is a difference between Object Based Programming, which supports encapsulation and message passing, and Object Oriented Programming, which also supports Inheritance and Polymorphism. You can emulate OBP in C, although it's not very pretty or very nice (and quite prone to bugs). But you cannot do Inheritance or Polymorphism in C. The tools just aren't there. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/52209968.5050...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/30/2013 2:00 AM, Joel Rees wrote: Okay, so, for you, supporting inheritance and polymorphism at run-time rather than at compile time is not sufficiently OOP. And I don't particularly care about that distinction. I'm fine with ending the discussion there. -- Joel Rees You keep claiming it can be done, but have done nothing to show how it can be done. So all I can assume is you cannot support your statement, because it can't be done. Don't worry - I've heard similar statements over the years from others who don't understand OOP. None of them have been able to support their statements, either. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/522099e9.2030...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/30/2013 10:44 AM, berenger.mo...@neutralite.org wrote: Le 30.08.2013 15:11, Jerry Stuckle a écrit : On 8/30/2013 2:00 AM, Joel Rees wrote: Okay, so, for you, supporting inheritance and polymorphism at run-time rather than at compile time is not sufficiently OOP. And I don't particularly care about that distinction. I'm fine with ending the discussion there. -- Joel Rees You keep claiming it can be done, but have done nothing to show how it can be done. So all I can assume is you cannot support your statement, because it can't be done. Don't worry - I've heard similar statements over the years from others who don't understand OOP. None of them have been able to support their statements, either. Jerry Here is what you defined for inheritance and polymorphism: 3. Inheritance: the ability to extend an existing class, to provide additional or different functionality via additional messages in the derived class. Inheritance takes advantage of the similarities in the base an derived classes. The base class has no knowledge of the derived class and, in fact, may not even know it is being used as a base class. Additional classes can be derived from the original base and derived classes with no change to the existing code. This cannot be done in C. 4. Polymorphism: the ability to send messages to a derived class object when you believe you have an object of the base class. This allows functions to operate on any class in the derived hierarchy, while only having to worry about the messages defined in the base class. This also cannot be done in C. Note that we agree on those definitions. Now, can you explain why the link I provided does not meet those requirements? I agree the link emulates a kind of polymorphism in the limited case it shows. However, it does not show inheritance (a basic requirement for polymorphism), and quickly falls apart when you get into real-world code. For instance, let's say you try to emulate inheritance in C. What happens the derived class needs to call the base class member of the same name? Sure, you can use the emulated vtable - but you have to know what offset the base class is in the vtable. Say you have a case like this: struct employee struct manager Now you need to add contractors. Rather than create a new class hierarchy, you change your existing one to: struct person struct employee struct manager struct contractor Now the entire vtable has changed - and if manager calls the function in vtable[0], it will call the one in person, not employee. Or, taking the second hierarchy again: say person has member xyz, but employee doesn't. When manager calls xyz, it needs to know to call the one in person, not employee. But later, you go back to change employee to also have a member xyz. Now you have to change manager to call employee's xyz instead of the one in person. The result is a change in a base struct or the base struct hierarchy results in changes to all of the derived struct - even though the base struct public interface has not changed. OO languages eliminate these problems by handling everything themselves. In any of the above cases, all that needs to be done in C++ is recompile the program(s). The compiler takes care of everything else. For now, except saying to everyone that 1) they do not understand OOP and 2) you teach it from 25 years, you never gave any example of things we could do in any OOP language that we could not make in C according to your definition of OOP (on which I agree, again) not you destroyed the source code pointed by the link I gave. I didn't comment on your example extensively because I thought you understood the limitations. And these are just the start - I could continue on. Oh, and, you also said something which implied that I said that SDL is a language, which is something I never said. Well, to be more precise, the functions and structures I referred to where obviously owned by libsdl1.2-dev (to write the Debian package's name) which is a library. So, you avoided replying to real arguments with yours, and you even used a straw man to discredit me? Sorry if you think I implied SDL is a language. I meant no such thing. But I don't see where SDL implements any form of OO programming. I will refrain my envy of irony here, instead I will be direct: I have seen people which were using a lot the argument of being older than me to convince me that I was wrong. They never convinced reality, when what they did failed, why my solutions were working fine. Wisdom and knowledge are not only a matter of age and teaching. Including teachers. This is the reason why I rarely accept an argument if it is not correctly built: explanation + example, so that it can be countered or not. One thing I have learned over the years. You cannot teach those who will not learn. While I am at it, let me say you that, a machine, in common
Re: What's the easiest and/or simplest part of Linux Kernel?
Le 30.08.2013 15:11, Jerry Stuckle a écrit : On 8/30/2013 2:00 AM, Joel Rees wrote: Okay, so, for you, supporting inheritance and polymorphism at run-time rather than at compile time is not sufficiently OOP. And I don't particularly care about that distinction. I'm fine with ending the discussion there. -- Joel Rees You keep claiming it can be done, but have done nothing to show how it can be done. So all I can assume is you cannot support your statement, because it can't be done. Don't worry - I've heard similar statements over the years from others who don't understand OOP. None of them have been able to support their statements, either. Jerry Here is what you defined for inheritance and polymorphism: 3. Inheritance: the ability to extend an existing class, to provide additional or different functionality via additional messages in the derived class. Inheritance takes advantage of the similarities in the base an derived classes. The base class has no knowledge of the derived class and, in fact, may not even know it is being used as a base class. Additional classes can be derived from the original base and derived classes with no change to the existing code. This cannot be done in C. 4. Polymorphism: the ability to send messages to a derived class object when you believe you have an object of the base class. This allows functions to operate on any class in the derived hierarchy, while only having to worry about the messages defined in the base class. This also cannot be done in C. Note that we agree on those definitions. Now, can you explain why the link I provided does not meet those requirements? For now, except saying to everyone that 1) they do not understand OOP and 2) you teach it from 25 years, you never gave any example of things we could do in any OOP language that we could not make in C according to your definition of OOP (on which I agree, again) not you destroyed the source code pointed by the link I gave. Oh, and, you also said something which implied that I said that SDL is a language, which is something I never said. Well, to be more precise, the functions and structures I referred to where obviously owned by libsdl1.2-dev (to write the Debian package's name) which is a library. So, you avoided replying to real arguments with yours, and you even used a straw man to discredit me? I will refrain my envy of irony here, instead I will be direct: I have seen people which were using a lot the argument of being older than me to convince me that I was wrong. They never convinced reality, when what they did failed, why my solutions were working fine. Wisdom and knowledge are not only a matter of age and teaching. Including teachers. This is the reason why I rarely accept an argument if it is not correctly built: explanation + example, so that it can be countered or not. While I am at it, let me say you that, a machine, in common language (I'm not very good with mathematics), have internal states that you do not need to know to use it's function. I have no idea about all the states of my car when I am driving. For example, I do not know, or need to know, the states of the spark plugs. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/a505a5a67ef41d7132e262f4cf0e2...@neutralite.org
Re: What's the easiest and/or simplest part of Linux Kernel?
On Thu, 2013-08-29 at 07:06 +0200, Ralf Mardorf wrote: On Thu, 29 Aug 2013 02:02:11 +0200, berenger.mo...@neutralite.org wrote: Le 29.08.2013 01:13, Cousin Stanley a écrit : Ralf Mardorf wrote: Assembler always is optimized code. Not always :-) One can also write stinky code in assembler. Like any programming language, some programmers are better at it than others -- Stanley C. Kitching Human Being Phoenix, Arizona This is something I understood very recently, and the reason for which I stopped to aggressively disdain Java and C#. The problem is not the language, it's the language's user. Always. If eclipse is slow, huge and buggy (in my experience, 2 years ago, it was.), it's not because it's written in Java, there are very good programs written in Java, and in Debian, you can find games with graphics of 90s, written in C or C++, which are slow as hell on a modern computer. And nowadays compilers can make code better optimized than you could, too. The question is, what is real optimization? Speed? Size? How many of one? Or of both? Before that, I learn that it was not windows itself which was buggy, but the softwares I was using. I discovered that last one when I discovered linux, and had some crashes ;) Sounds like it's easy to say it's the language/OS 's fault, and never the programmer's one. Probably easy, but so often wrong. I think time made me wiser on those points. (funny to notice that when I was a windows users, I was used to write window$ and M$ and other insulting transformations which are far worse. Stopped that by discovering another OS.) I guess a high level language like C, Pascal, Basic etc. is harder to learn than Assembler, while there for sure are reasons that you nowadays program in C. Optimal optimization are speed, size, functionality and stability. Sure, first steps can be easier done with high level languages, but the result usually will be spaghetti code. Clear formatted, easy to understand, but insane: Output_to_screen_command Hel jump_to label_x label_y Output_to_screen_command world jump_to_label_z label_x Output_to_screen_command lo jump_to label_y label_z finish_program_command So you learned how to make your computer say Hello world and how to jump in R.A.L.F., but you did not learn when it's useful and when it's insane to use the jump command in R.A.L.F. ;). PS: A coder can be aware that for a multiplication e.g. only integer multiples of 2 without overflow could happen, so the code for the multiplication only will be rolling bits and not including a rout, that is able to do any kind of multiplication. If a coder would use a high level language and use x * y the code isn't optimized anymore, but instead it's unneeded bloated. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1377760121.684.7.camel@archlinux
Re: What's the easiest and/or simplest part of Linux Kernel?
On Thu, 2013-08-29 at 09:08 +0200, Ralf Mardorf wrote: On Thu, 2013-08-29 at 07:06 +0200, Ralf Mardorf wrote: On Thu, 29 Aug 2013 02:02:11 +0200, berenger.mo...@neutralite.org wrote: Le 29.08.2013 01:13, Cousin Stanley a écrit : Ralf Mardorf wrote: Assembler always is optimized code. Not always :-) One can also write stinky code in assembler. Like any programming language, some programmers are better at it than others -- Stanley C. Kitching Human Being Phoenix, Arizona This is something I understood very recently, and the reason for which I stopped to aggressively disdain Java and C#. The problem is not the language, it's the language's user. Always. If eclipse is slow, huge and buggy (in my experience, 2 years ago, it was.), it's not because it's written in Java, there are very good programs written in Java, and in Debian, you can find games with graphics of 90s, written in C or C++, which are slow as hell on a modern computer. And nowadays compilers can make code better optimized than you could, too. The question is, what is real optimization? Speed? Size? How many of one? Or of both? Before that, I learn that it was not windows itself which was buggy, but the softwares I was using. I discovered that last one when I discovered linux, and had some crashes ;) Sounds like it's easy to say it's the language/OS 's fault, and never the programmer's one. Probably easy, but so often wrong. I think time made me wiser on those points. (funny to notice that when I was a windows users, I was used to write window$ and M$ and other insulting transformations which are far worse. Stopped that by discovering another OS.) I guess a high level language like C, Pascal, Basic etc. is harder to learn than Assembler, while there for sure are reasons that you nowadays program in C. Optimal optimization are speed, size, functionality and stability. Sure, first steps can be easier done with high level languages, but the result usually will be spaghetti code. Clear formatted, easy to understand, but insane: Output_to_screen_command Hel jump_to label_x label_y Output_to_screen_command world jump_to_label_z label_x Output_to_screen_command lo jump_to label_y label_z finish_program_command So you learned how to make your computer say Hello world and how to jump in R.A.L.F., but you did not learn when it's useful and when it's insane to use the jump command in R.A.L.F. ;). PS: A coder can be aware that for a multiplication e.g. only integer multiples of 2 without overflow could happen, so the code for the multiplication only will be rolling bits and not including a rout, that is able to do any kind of multiplication. If a coder would use a high level language and use x * y the code isn't optimized anymore, but instead it's unneeded bloated. PPS: Even for x * 2, x * (2 * 2) etc., while x is defined as integer, since a compile couldn't be aware, if there is or isn't the need to take care for overflows. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1377763440.684.26.camel@archlinux
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/29/2013 12:45 AM, Joel Rees wrote: (I really don't have time to do this.) On Thu, Aug 29, 2013 at 12:17 PM, [Somebody replied to somebody, arguing that C can't do objects.] The syntax does become obtuse, unfun, cluttered, etc., but it can be done. I didn't say C can't do objects. I said it can't do Object Oriented Programming. Two entirely different things. (To get the neurons connecting, think about early objective-C, when the object stuff was done with a special purpose pre-processor. Shoot. Don't forget that C++ itself was once a pre-processor for C.) That's like saying C is a preprocessor for assembler. Sure, the original C++ tools were preprocessors. However, they were preprocessors which provided the tools necessary to do OOP. Admittedly, the object syntax becomes a separate syntax and language from the C part when you do OOP in unadorned C. You have to leave the basic operators (+-*/%, etc.) out of the object-oriented language and syntax. (Which is part of the reason it becomes unfun.) Please show how you can do inheritance and polymorphism in C. And why do you need to leave the basic operators out? They are inherent to both languages. You have to use #include skillfully, and you have to explicitly put function pointers in structures. It kind of turns things upside down, a bit, and a little inside-out. It'll make even seasoned C programmers seasick. And the syntax is not as flexible as C++. Again, please show how to do inheritance and polymorphism in C. Which is all why C++ was written as a separate language. But it can be done. Once again, please show how to do inheritance and polymorphism in C. By the way, mathematically speaking, objects are machines. Maybe mathematically speaking, but we're talking programming here. In programming, variables have state. Functions have behavior. Objects have both state and behavior. None of which has anything to do with the simplest part of the Linux kernel for a newbie to try to drown in. -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521f3550.1000...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On Thu, Aug 29, 2013 at 8:49 PM, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/29/2013 12:45 AM, Joel Rees wrote: (I really don't have time to do this.) On Thu, Aug 29, 2013 at 12:17 PM, [Somebody replied to somebody, arguing that C can't do objects.] The syntax does become obtuse, unfun, cluttered, etc., but it can be done. I didn't say C can't do objects. I said it can't do Object Oriented Programming. Two entirely different things. End of argument, if you could just see what you just said. (To get the neurons connecting, think about early objective-C, when the object stuff was done with a special purpose pre-processor. Shoot. Don't forget that C++ itself was once a pre-processor for C.) That's like saying C is a preprocessor for assembler. Sure, the original C++ tools were preprocessors. However, they were preprocessors which provided the tools necessary to do OOP. The originals were pretty primitive. The current state is somewhat improved, but incomplete. Admittedly, the object syntax becomes a separate syntax and language from the C part when you do OOP in unadorned C. You have to leave the basic operators (+-*/%, etc.) out of the object-oriented language and syntax. (Which is part of the reason it becomes unfun.) Please show how you can do inheritance and polymorphism in C. You do understand that in C can be read two or three ways. But do you understand that not everyone agrees that the assertion of within the unadorned syntax of C is the important one? Not going as far as writing the compilers (or the compilers-by-pre-processing) in C, there is still a way of using unadorned C to induce a metalanguage of objects on C. And why do you need to leave the basic operators out? They are inherent to both languages. I'm not talking about using an unadorned C compiler to compile either C++ or objective-C. I'm talking about programming OOP in C. The OOP operators might look like this: obj1-plus( obj2-neg() ); plus() and neg() would be the operators, and the OOP language is projected onto C function call syntax. If you have complaints about calling methods operators, do you understand Lisp? (or FORTH, ...) You have to use #include skillfully, and you have to explicitly put function pointers in structures. It kind of turns things upside down, a bit, and a little inside-out. It'll make even seasoned C programmers seasick. And the syntax is not as flexible as C++. Again, please show how to do inheritance and polymorphism in C. If you understand what I mean by using function pointers in structures, you should be able to see that inheritance and polymorphism are simply matters of providing certain functionality in support libraries, and adding appropriate pointers in the structures that define the objects. Which is all why C++ was written as a separate language. But it can be done. Once again, please show how to do inheritance and polymorphism in C. You're going to have to intuit the libraries that I am implicitly inferring have been written and are being linked in, appropriate headers being included, etc., and not even trying to provide any syntactic sugar: struct my_object_s { pfii_f constructor, destructor; pfiv_o inherited_context, local_context; /* local_context is for polymorphism. */ pfam_f method1; pfam_f method2; ... } my_object_o; - I assume you will complain that I'm just talking about providing the functionality without the syntax of objects, and you'd be sort of right. And you should complain that the convention of ending method type declarations with _f and object type declarations with _o is unenforceable (and ask whether the convention is anywhere explicitly documented). By the way, mathematically speaking, objects are machines. Maybe mathematically speaking, but we're talking programming here. Is programming somehow independent of mathematics? In programming, variables have state. Functions have behavior. Objects have both state and behavior. And that is different from mathematical automata how? OOP is a paradigm, a set of rules for projecting certain aspects of automata onto existing programming tools. The paradigm has a lot of implicit rules that are not well documented. If you understand the OOP class of paradigms, you may use the tools effectively. Or not effectively. Or not at all. I think I understand the paradigms, but I find myself feeling like I'm in a straitjacket when trying to use them. Most of the programs I write do not project well onto the OOP paradigm. I suppose that may have something to do with being spoiled by an early introduction to assembler and FORTH, and with learning C at the same time as I was learning m4 and lisp. None of which has anything to do with the simplest part of the Linux kernel for a C newbie to try to drown in. -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/29/2013 8:25 PM, Joel Rees wrote: On Thu, Aug 29, 2013 at 8:49 PM, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/29/2013 12:45 AM, Joel Rees wrote: (I really don't have time to do this.) On Thu, Aug 29, 2013 at 12:17 PM, [Somebody replied to somebody, arguing that C can't do objects.] The syntax does become obtuse, unfun, cluttered, etc., but it can be done. I didn't say C can't do objects. I said it can't do Object Oriented Programming. Two entirely different things. End of argument, if you could just see what you just said. Yep, because you obviously don't understand the difference between objects and object oriented programming. (To get the neurons connecting, think about early objective-C, when the object stuff was done with a special purpose pre-processor. Shoot. Don't forget that C++ itself was once a pre-processor for C.) That's like saying C is a preprocessor for assembler. Sure, the original C++ tools were preprocessors. However, they were preprocessors which provided the tools necessary to do OOP. The originals were pretty primitive. The current state is somewhat improved, but incomplete. Admittedly, the object syntax becomes a separate syntax and language from the C part when you do OOP in unadorned C. You have to leave the basic operators (+-*/%, etc.) out of the object-oriented language and syntax. (Which is part of the reason it becomes unfun.) Please show how you can do inheritance and polymorphism in C. You do understand that in C can be read two or three ways. But do you understand that not everyone agrees that the assertion of within the unadorned syntax of C is the important one? Not going as far as writing the compilers (or the compilers-by-pre-processing) in C, there is still a way of using unadorned C to induce a metalanguage of objects on C. Again, please show how you can do inheritance and polymorphism in C. And why do you need to leave the basic operators out? They are inherent to both languages. I'm not talking about using an unadorned C compiler to compile either C++ or objective-C. I'm talking about programming OOP in C. The OOP operators might look like this: obj1-plus( obj2-neg() ); plus() and neg() would be the operators, and the OOP language is projected onto C function call syntax. If you have complaints about calling methods operators, do you understand Lisp? (or FORTH, ...) Then show how to do inheritance and polymorphism in C. And yes, I did FORTH in the early 80's and Lisp a bit later. Haven't used either for years, though. You have to use #include skillfully, and you have to explicitly put function pointers in structures. It kind of turns things upside down, a bit, and a little inside-out. It'll make even seasoned C programmers seasick. And the syntax is not as flexible as C++. Again, please show how to do inheritance and polymorphism in C. If you understand what I mean by using function pointers in structures, you should be able to see that inheritance and polymorphism are simply matters of providing certain functionality in support libraries, and adding appropriate pointers in the structures that define the objects. Then you should easily be able to show how to do inheritance and polymorphism in C. Which is all why C++ was written as a separate language. But it can be done. Once again, please show how to do inheritance and polymorphism in C. You're going to have to intuit the libraries that I am implicitly inferring have been written and are being linked in, appropriate headers being included, etc., and not even trying to provide any syntactic sugar: struct my_object_s { pfii_f constructor, destructor; pfiv_o inherited_context, local_context; /* local_context is for polymorphism. */ pfam_f method1; pfam_f method2; ... } my_object_o; - I assume you will complain that I'm just talking about providing the functionality without the syntax of objects, and you'd be sort of right. And you should complain that the convention of ending method type declarations with _f and object type declarations with _o is unenforceable (and ask whether the convention is anywhere explicitly documented). That is neither inheritance nor is it polymorphism. It is simply a set of pointers to functions within a structure. By the way, mathematically speaking, objects are machines. Maybe mathematically speaking, but we're talking programming here. Is programming somehow independent of mathematics? In programming, variables have state. Functions have behavior. Objects have both state and behavior. And that is different from mathematical automata how? In programming, objects are not machines. About the only machine concept I can think of is the old state machine from the 70's. OOP is a paradigm, a set of rules for projecting certain aspects of automata onto existing programming tools. The paradigm has a lot of
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/30/13, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/29/2013 8:25 PM, Joel Rees wrote: On Thu, Aug 29, 2013 at 8:49 PM, Jerry Stuckle jstuc...@attglobal.net wrote: On 8/29/2013 12:45 AM, Joel Rees wrote: (I really don't have time to do this.) On Thu, Aug 29, 2013 at 12:17 PM, [Somebody replied to somebody, arguing that C can't do objects.] The syntax does become obtuse, unfun, cluttered, etc., but it can be done. I didn't say C can't do objects. I said it can't do Object Oriented Programming. Two entirely different things. End of argument, if you could just see what you just said. Yep, because you obviously don't understand the difference between objects and object oriented programming. Admittedly, the object syntax becomes a separate syntax and language from the C part when you do OOP in unadorned C. You have to leave the basic operators (+-*/%, etc.) out of the object-oriented language and syntax. (Which is part of the reason it becomes unfun.) Please show how you can do inheritance and polymorphism in C. You do understand that in C can be read two or three ways. But do you understand that not everyone agrees that the assertion of within the unadorned syntax of C is the important one? Not going as far as writing the compilers (or the compilers-by-pre-processing) in C, there is still a way of using unadorned C to induce a metalanguage of objects on C. Again, please show how you can do inheritance and polymorphism in C. And why do you need to leave the basic operators out? They are inherent to both languages. I'm not talking about using an unadorned C compiler to compile either C++ or objective-C. I'm talking about programming OOP in C. The OOP operators might look like this: obj1-plus( obj2-neg() ); plus() and neg() would be the operators, and the OOP language is projected onto C function call syntax. If you have complaints about calling methods operators, do you understand Lisp? (or FORTH, ...) Then show how to do inheritance and polymorphism in C. And yes, I did FORTH in the early 80's and Lisp a bit later. Haven't used either for years, though. You have to use #include skillfully, and you have to explicitly put function pointers in structures. It kind of turns things upside down, a bit, and a little inside-out. It'll make even seasoned C programmers seasick. And the syntax is not as flexible as C++. Again, please show how to do inheritance and polymorphism in C. If you understand what I mean by using function pointers in structures, you should be able to see that inheritance and polymorphism are simply matters of providing certain functionality in support libraries, and adding appropriate pointers in the structures that define the objects. Then you should easily be able to show how to do inheritance and polymorphism in C. Which is all why C++ was written as a separate language. But it can be done. Once again, please show how to do inheritance and polymorphism in C. You're going to have to intuit the libraries that I am implicitly inferring have been written and are being linked in, appropriate headers being included, etc., and not even trying to provide any syntactic sugar: struct my_object_s { pfii_f constructor, destructor; pfiv_o inherited_context, local_context; /* local_context is for polymorphism. */ pfam_f method1; pfam_f method2; ... } my_object_o; - I assume you will complain that I'm just talking about providing the functionality without the syntax of objects, and you'd be sort of right. And you should complain that the convention of ending method type declarations with _f and object type declarations with _o is unenforceable (and ask whether the convention is anywhere explicitly documented). That is neither inheritance nor is it polymorphism. It is simply a set of pointers to functions within a structure. I am not a C programmer (just Java), but do you say that you are _not_ splitting hairs here? A quick google search gives: http://www.codeproject.com/Articles/10900/Polymorphism-in-C http://www.codeproject.com/Articles/108830/Inheritance-and-Polymorphism-in-C Yes clunky, yes not fun, yes not supported with inbuilt syntax, but wasn't that Joel's point all along? By the way, mathematically speaking, objects are machines. Maybe mathematically speaking, but we're talking programming here. Is programming somehow independent of mathematics? In programming, variables have state. Functions have behavior. Objects have both state and behavior. And that is different from mathematical automata how? In programming, objects are not machines. About the only machine concept I can think of is the old state machine from the 70's. OOP is a paradigm, a set of rules for projecting certain aspects of automata onto existing programming tools. The paradigm has a lot of implicit rules that are
Re: What's the easiest and/or simplest part of Linux Kernel?
Le 28.08.2013 03:36, guojzzz a écrit : The reason why I choose some *formal* projects is that I think codes are clear and there are less bugs. I will see on Github and some other projects. The assumption that clean code is bug-free is wrong. Try to read any source code of any program you think bug-free. It may be clean, or it may be a damned unreadable mess, especially if the project is old. And if the project is recent, it will not have a long history of bugs and fixes, and so may have tons of bugs, known or not by the users or authors, but, since the project is young, it will have less zombi code, coding style will be more unified, and modern programming techniques are more likely to be used, like OOP*. Another problem with code probably written by gurus, or which run in environments were high speed and stability is required, is that the code will be highly optimized, maybe with non-standard features, probably with lot of compilation options, etc etc. All of those things makes code more efficient, but harder to understand. Like macros, that most C programmers tend to avoid. And because I have learn C as my first language, I can tell you, that they are true to avoid them, they makes things hard to read and maintain. But they makes things fast, so I would not be surprised if there were a lot of them. And not childish ones like the one I made. So, either start your project, or contribute to small projects first, if you want to learn. Something that you can understand in less than 2 weeks, and start to hack. * which is doable in C. People saying that C can not do OOP are incompetent or lie. I do not really like C programming, but paradigm have nothing related to syntax, only with writer's minds. Some people may not like OOP, and they will be true, it is not always good to use it. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/eef863b1434a4ded43faecc5ae89e...@neutralite.org
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/28/2013 2:44 PM, berenger.mo...@neutralite.org wrote: snip Another problem with code probably written by gurus, or which run in environments were high speed and stability is required, is that the code will be highly optimized, maybe with non-standard features, probably with lot of compilation options, etc etc. All of those things makes code more efficient, but harder to understand. Like macros, that most C programmers tend to avoid. And because I have learn C as my first language, I can tell you, that they are true to avoid them, they makes things hard to read and maintain. But they makes things fast, so I would not be surprised if there were a lot of them. And not childish ones like the one I made. While I agree with much of what you said, I definitely disagree with your comments on macros. C was probably the 10th or so language I learned, close to 30 years ago. I found macros, when PROPERLY used, can be quite helpful in making code clearer and more understandable. The trick is to know when to use them and when not, to document them well, and most important, pick good names for the macros. Also, the convention of using all caps for macro names is good; it tells the reader this is a macro being used, and not a function call. snip * which is doable in C. People saying that C can not do OOP are incompetent or lie. I do not really like C programming, but paradigm have nothing related to syntax, only with writer's minds. Some people may not like OOP, and they will be true, it is not always good to use it. Definitely NOT doable in C - you just don't have the tools. While you can do some parts of object based programming like message passing (i.e. calling functions to operate on structure members instead of accessing them yourself), and can even use tricks to hide structure members (i.e. the known interface is just a dummy char[appropriate_size] while the real structure is hidden), this can be sensitive to compilers and in some cases even compiler options. You can't even define constructors and destructors for structures in C, and have to take extra steps to ensure structures are constructed and destroyed properly. And there is no way you can do inheritance or polymorphism in C. But I also agree OOP is not always the best choice. Even though I've been doing C++ for around 25 years, I still do a lot of stuff in C where appropriate. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521e6259.2050...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On Wed, 28 Aug 2013 22:49:29 +0200, Jerry Stuckle jstuc...@attglobal.net wrote: While I agree with much of what you said, I definitely disagree with your comments on macros. C was probably the 10th or so language I learned, close to 30 years ago. I found macros, when PROPERLY used, can be quite helpful in making code clearer and more understandable. The trick is to know when to use them and when not, to document them well, and most important, pick good names for the macros. Also, the convention of using all caps for macro names is good; it tells the reader this is a macro being used, and not a function call. +1 I programmed 65xx Assembler with and without macro editor and I suspect that somebody who know what (s)he does when programming in C, can use macros to optimize C code, while for Assembler, it simply is less to type, less to think about, when using macros, Assembler always is optimized code. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/op.w2jo28qiqhadp0@suse11-2
Re: What's the easiest and/or simplest part of Linux Kernel?
Ralf Mardorf wrote: Assembler always is optimized code. Not always :-) One can also write stinky code in assembler. Like any programming language, some programmers are better at it than others -- Stanley C. Kitching Human Being Phoenix, Arizona -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/kvm07a$frr$1...@dont-email.me
Re: What's the easiest and/or simplest part of Linux Kernel?
Le 28.08.2013 22:49, Jerry Stuckle a écrit : * which is doable in C. People saying that C can not do OOP are incompetent or lie. I do not really like C programming, but paradigm have nothing related to syntax, only with writer's minds. Some people may not like OOP, and they will be true, it is not always good to use it. Definitely NOT doable in C - you just don't have the tools. While you can do some parts of object based programming like message passing (i.e. calling functions to operate on structure members instead of accessing them yourself), and can even use tricks to hide structure members (i.e. the known interface is just a dummy char[appropriate_size] while the real structure is hidden), this can be sensitive to compilers and in some cases even compiler options. I do not consider that the public/protected/private keywords are the most important things in OOP. You can't even define constructors and destructors for structures in C, and have to take extra steps to ensure structures are constructed and destroyed properly. What are constructors and destructors? They are only functions which creates of free an instance of a structure. It's not automated in C, I agree, but it's doable. (And I have often seen C++ classes with Init and Clear methods, which just stole CTors/DTors roles. To be honest, I made a lot of that crap myself, in the past. I was a C programmer then, not accustomed to think in C++. Just different, not better.) They are not even mandatory in OOP: they are only used for RAII, which is not the way of modern languages like Java or C# (they does not have destructors, which is one the the reasons for which I do not like them. I love RAII, because I love efficient programs. Even if RAII have to be hand-crafted.) Take the SDL, for example, with SDL_Surface structure. You never use malloc and free to control the lifetime of those objects, and they have a bunch of functions made to manipulate them, which only does that. An object is exactly that: a structure with functions to manipulate it. In C, the only problem is that you have to explicitly give the instance of the object you want to manipulate, as a parameter. In Java, you can not overload operators, and that does not avoid doing OOP stuff, right? You can name that problem a lack of type safety if you want, but it's not new that C does not make as many controls as C++ (which is, technically, incorrect, since there is, for example, reinterpret_cast... which should never be used except if you perfectly know what you are doing, because it's the equivalent of C-style cast.). And there is no way you can do inheritance or polymorphism in C. Here, you are wrong. I won't explain myself, that link, with source code, will do it better than me: http://stackoverflow.com/questions/8194250/polymorphism-in-c I remember that I understood how C++ works only when I found a document where the author was, by it's own words, reinventing the wheel. He explained how to do each C++ feature in C. Sadly, I can not find it anew, I should have saved it at that time ( in 10 years or internet, documents vanishes, I guess). What I meant is, OOP is not just a built-in feature of a language. It's a paradigm, a way of thinking. You can use JAVA which is a full OOP language (unlike C++, which explicitly allows to not use OOP technics) and not doing OOP, because you are doing things the wrong way (for OOP, I mean). When Linus said that Linux must stay in C to avoid C++ devs to contribute, I agree with him (and I really love C++, for sure). Because I noticed something: bad C programmers often go to C++, thinking it will be easier to do good job. They do dirty code, often with lot of copy/pasted code, (recently I have seen C++ code with memset/memcpy to copy classes's instances, sounds like a nice example, but looking better in the code it might not be one of the worse I have seen.). And they call that C++ code, because they use the class keyword, and sometimes few instances of std::vector and std::string. Note that I do not pretend to be a good C++ programmer, simply an average one. As in programming in general, in fact. But I can really say when I see dirty code (copy/paste of code is a really good measurement for that. By example.) Lot of people forgot that if, in C, you can shot in your foot easily, C++ is worse: in C++, you can then reuse the bullet for your other foot. Let me quote wikipedia as a last argument (yes, authority argument is bad, I know ;) ): An object oriented program may be viewed as a collection of interacting objects, as opposed to the conventional model, in which a program is seen as a list of tasks (subroutines) to perform. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects. **Each object can be viewed as an independent machine with a distinct role or responsibility.** Actions (or methods) on these objects
Re: What's the easiest and/or simplest part of Linux Kernel?
Le 29.08.2013 01:13, Cousin Stanley a écrit : Ralf Mardorf wrote: Assembler always is optimized code. Not always :-) One can also write stinky code in assembler. Like any programming language, some programmers are better at it than others -- Stanley C. Kitching Human Being Phoenix, Arizona This is something I understood very recently, and the reason for which I stopped to aggressively disdain Java and C#. The problem is not the language, it's the language's user. Always. If eclipse is slow, huge and buggy (in my experience, 2 years ago, it was.), it's not because it's written in Java, there are very good programs written in Java, and in Debian, you can find games with graphics of 90s, written in C or C++, which are slow as hell on a modern computer. And nowadays compilers can make code better optimized than you could, too. The question is, what is real optimization? Speed? Size? How many of one? Or of both? Before that, I learn that it was not windows itself which was buggy, but the softwares I was using. I discovered that last one when I discovered linux, and had some crashes ;) Sounds like it's easy to say it's the language/OS 's fault, and never the programmer's one. Probably easy, but so often wrong. I think time made me wiser on those points. (funny to notice that when I was a windows users, I was used to write window$ and M$ and other insulting transformations which are far worse. Stopped that by discovering another OS.) -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/624e8478559f1a512366a8abcb414...@neutralite.org
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/28/2013 5:10 PM, Ralf Martyrdom wrote: On Wed, 28 Aug 2013 22:49:29 +0200, Jerry Stuckle jstuc...@attglobal.net wrote: While I agree with much of what you said, I definitely disagree with your comments on macros. C was probably the 10th or so language I learned, close to 30 years ago. I found macros, when PROPERLY used, can be quite helpful in making code clearer and more understandable. The trick is to know when to use them and when not, to document them well, and most important, pick good names for the macros. Also, the convention of using all caps for macro names is good; it tells the reader this is a macro being used, and not a function call. +1 I programmed 65xx Assembler with and without macro editor and I suspect that somebody who know what (s)he does when programming in C, can use macros to optimize C code, while for Assembler, it simply is less to type, less to think about, when using macros, Assembler always is optimized code. Ah, 65xx assembler. I forgot about that - it's been too long ago A good language, though! In many ways better easier than Intel's assembler. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521eb94c.5030...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/28/2013 7:52 PM, berenger.mo...@neutralite.org wrote: Le 28.08.2013 22:49, Jerry Stuckle a écrit : * which is doable in C. People saying that C can not do OOP are incompetent or lie. I do not really like C programming, but paradigm have nothing related to syntax, only with writer's minds. Some people may not like OOP, and they will be true, it is not always good to use it. Definitely NOT doable in C - you just don't have the tools. While you can do some parts of object based programming like message passing (i.e. calling functions to operate on structure members instead of accessing them yourself), and can even use tricks to hide structure members (i.e. the known interface is just a dummy char[appropriate_size] while the real structure is hidden), this can be sensitive to compilers and in some cases even compiler options. I do not consider that the public/protected/private keywords are the most important things in OOP. What YOU consider keywords in OOP is immaterial. Object Based Programming (OBP) is defined as having two attributes: Encapsulation (private/public or similar, depending on the language) Message Passing (functions in most languages). Objected Oriented Programming (OOP) extends this to include inheritance and polymorphism (including protected or similar, depending on the language). These are basic tenets of OOP, whether you agree or not. You can't even define constructors and destructors for structures in C, and have to take extra steps to ensure structures are constructed and destroyed properly. What are constructors and destructors? They are only functions which creates of free an instance of a structure. It's not automated in C, I agree, but it's doable. (And I have often seen C++ classes with Init and Clear methods, which just stole CTors/DTors roles. To be honest, I made a lot of that crap myself, in the past. I was a C programmer then, not accustomed to think in C++. Just different, not better.) They are not even mandatory in OOP: they are only used for RAII, which is not the way of modern languages like Java or C# (they does not have destructors, which is one the the reasons for which I do not like them. I love RAII, because I love efficient programs. Even if RAII have to be hand-crafted.) Again, constructors have a specific purpose. In OOP, they guarantee an object cannot be constructed invalidly, or if it is invalid, no operations on it can be done until it has been made valid. A Destructors also have a specific purpose - that being when the object is destroyed, any resources allocated by the object are released before the object is actually destroyed. Take the SDL, for example, with SDL_Surface structure. You never use malloc and free to control the lifetime of those objects, and they have a bunch of functions made to manipulate them, which only does that. An object is exactly that: a structure with functions to manipulate it. SDL is NOT an OO language! In C, the only problem is that you have to explicitly give the instance of the object you want to manipulate, as a parameter. In Java, you can not overload operators, and that does not avoid doing OOP stuff, right? Nope, operator overloading is not a basic tenet of OOP. It's nice in C++ and other languages (and I wish it did exist in Java), but it is not required for OOP. You can name that problem a lack of type safety if you want, but it's not new that C does not make as many controls as C++ (which is, technically, incorrect, since there is, for example, reinterpret_cast... which should never be used except if you perfectly know what you are doing, because it's the equivalent of C-style cast.). This has nothing to do with type safety. And there is no way you can do inheritance or polymorphism in C. Here, you are wrong. I won't explain myself, that link, with source code, will do it better than me: http://stackoverflow.com/questions/8194250/polymorphism-in-c I remember that I understood how C++ works only when I found a document where the author was, by it's own words, reinventing the wheel. He explained how to do each C++ feature in C. Sadly, I can not find it anew, I should have saved it at that time ( in 10 years or internet, documents vanishes, I guess). This is NOT polymorphism. Polymorphism is an extension of inheritance, C does not allow inheritance, so therefore there is no polymorphism. What I meant is, OOP is not just a built-in feature of a language. It's a paradigm, a way of thinking. You can use JAVA which is a full OOP language (unlike C++, which explicitly allows to not use OOP technics) and not doing OOP, because you are doing things the wrong way (for OOP, I mean). When Linus said that Linux must stay in C to avoid C++ devs to contribute, I agree with him (and I really love C++, for sure). Because I noticed something: bad C programmers often go to C++, thinking it will be easier to do good job. They do dirty code, often with lot of
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/28/2013 8:02 PM, berenger.mo...@neutralite.org wrote: Le 29.08.2013 01:13, Cousin Stanley a écrit : Ralf Mardorf wrote: Assembler always is optimized code. Not always :-) One can also write stinky code in assembler. Like any programming language, some programmers are better at it than others -- Stanley C. Kitching Human Being Phoenix, Arizona This is something I understood very recently, and the reason for which I stopped to aggressively disdain Java and C#. The problem is not the language, it's the language's user. Always. If eclipse is slow, huge and buggy (in my experience, 2 years ago, it was.), it's not because it's written in Java, there are very good programs written in Java, and in Debian, you can find games with graphics of 90s, written in C or C++, which are slow as hell on a modern computer. And nowadays compilers can make code better optimized than you could, too. The question is, what is real optimization? Speed? Size? How many of one? Or of both? No, compilers cannot make better optimized code than you can. Who do you think wrote the compiler? A good assembler programmer will ALWAYS outdo a compiler. The problem is there are so few GOOD assembler programmers around. Before that, I learn that it was not windows itself which was buggy, but the softwares I was using. I discovered that last one when I discovered linux, and had some crashes ;) Sounds like it's easy to say it's the language/OS 's fault, and never the programmer's one. Probably easy, but so often wrong. When you come down to it, it is ALWAYS a programmer's fault (unless you have a computer with an early Pentium chip that had a floating point bug - but even then it was the microcode programmers at fault). Programmers write the OS, programmers write the apps. When they don't work, one or the other (or both) are at fault. However, there is one other salient point. If the OS is properly designed, no application can bring it down. Windows is better at this now than in earlier version. It's actually pretty hard to crash Windows from an application nowadays. I think time made me wiser on those points. (funny to notice that when I was a windows users, I was used to write window$ and M$ and other insulting transformations which are far worse. Stopped that by discovering another OS.) Linux is better at this - but still not perfect. It does have the advantage of, since it is open source, more people can look at the source and find bugs. There have been a huge number of patches over the years originate by people who have done just that. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521ebea3.60...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
(I really don't have time to do this.) On Thu, Aug 29, 2013 at 12:17 PM, [Somebody replied to somebody, arguing that C can't do objects.] The syntax does become obtuse, unfun, cluttered, etc., but it can be done. (To get the neurons connecting, think about early objective-C, when the object stuff was done with a special purpose pre-processor. Shoot. Don't forget that C++ itself was once a pre-processor for C.) Admittedly, the object syntax becomes a separate syntax and language from the C part when you do OOP in unadorned C. You have to leave the basic operators (+-*/%, etc.) out of the object-oriented language and syntax. (Which is part of the reason it becomes unfun.) You have to use #include skillfully, and you have to explicitly put function pointers in structures. It kind of turns things upside down, a bit, and a little inside-out. It'll make even seasoned C programmers seasick. And the syntax is not as flexible as C++. Which is all why C++ was written as a separate language. But it can be done. By the way, mathematically speaking, objects are machines. None of which has anything to do with the simplest part of the Linux kernel for a newbie to try to drown in. -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAAr43iMy8NP6a0kVQgZ0QJVOV4K=t-0kbtgxbtsaxpuqjke...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On Thu, 29 Aug 2013 02:02:11 +0200, berenger.mo...@neutralite.org wrote: Le 29.08.2013 01:13, Cousin Stanley a écrit : Ralf Mardorf wrote: Assembler always is optimized code. Not always :-) One can also write stinky code in assembler. Like any programming language, some programmers are better at it than others -- Stanley C. Kitching Human Being Phoenix, Arizona This is something I understood very recently, and the reason for which I stopped to aggressively disdain Java and C#. The problem is not the language, it's the language's user. Always. If eclipse is slow, huge and buggy (in my experience, 2 years ago, it was.), it's not because it's written in Java, there are very good programs written in Java, and in Debian, you can find games with graphics of 90s, written in C or C++, which are slow as hell on a modern computer. And nowadays compilers can make code better optimized than you could, too. The question is, what is real optimization? Speed? Size? How many of one? Or of both? Before that, I learn that it was not windows itself which was buggy, but the softwares I was using. I discovered that last one when I discovered linux, and had some crashes ;) Sounds like it's easy to say it's the language/OS 's fault, and never the programmer's one. Probably easy, but so often wrong. I think time made me wiser on those points. (funny to notice that when I was a windows users, I was used to write window$ and M$ and other insulting transformations which are far worse. Stopped that by discovering another OS.) I guess a high level language like C, Pascal, Basic etc. is harder to learn than Assembler, while there for sure are reasons that you nowadays program in C. Optimal optimization are speed, size, functionality and stability. Sure, first steps can be easier done with high level languages, but the result usually will be spaghetti code. Clear formatted, easy to understand, but insane: Output_to_screen_command Hel jump_to label_x label_y Output_to_screen_command world jump_to_label_z label_x Output_to_screen_command lo jump_to label_y label_z finish_program_command So you learned how to make your computer say Hello world and how to jump in R.A.L.F., but you did not learn when it's useful and when it's insane to use the jump command in R.A.L.F. ;). -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/op.w2ka4fmhqhadp0@suse11-2
Re: What's the easiest and/or simplest part of Linux Kernel?
Le 25.08.2013 05:50, guojzzz a écrit : 在 2013年8月25日星期日UTC+8上午11时20分01秒,Zenaan Harkness写道: On Aug 24, 2013 7:40 PM, guojzzz rush@gmail.com wrote: Recently I have a interest in Linux Kernel, but I don't think my C programming skill is able to handle it, I'm just going to read the code in Github. So any of you have ever involved in the dev of Linux Kernel? I've been kernelnewbies.org, it's a great website. 1) I think kernelnewbies has some suggestions. Been a while since I looked. 2) I recommend learning git to clone the kernel repo so you have a local copy. That should be more enjoyable experience. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSQpLN0rHwnNxTxwzHHk=hiyvnr_095amnqqgcktcgz...@mail.gmail.com Ah ha, why a local repo makes better experience, usually I'd like to read code on Github. Replying to that question is easy: 1) You can not make any change on github. 2) Github is JS-bloated, and therefore not as fast as your desktop's environment. 3) You can not debug stuff on github. And probably a lot more reasons. But, in short, you can not learn how to hack a program without playing with it's source. Reading is good, but almost useless against practice. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/bbc075cf10dfd18f4c8d80fa00481...@neutralite.org
Re: What's the easiest and/or simplest part of Linux Kernel?
在 2013年8月27日星期二UTC+8下午8时40分02秒,berenge...@neutralite.org写道: Le 25.08.2013 05:50, guojzzz a écrit : 在 2013年8月25日星期日UTC+8上午11时20分01秒,Zenaan Harkness写道: On Aug 24, 2013 7:40 PM, guojzzz rush@gmail.com wrote: Recently I have a interest in Linux Kernel, but I don't think my C programming skill is able to handle it, I'm just going to read the code in Github. So any of you have ever involved in the dev of Linux Kernel? I've been kernelnewbies.org, it's a great website. 1) I think kernelnewbies has some suggestions. Been a while since I looked. 2) I recommend learning git to clone the kernel repo so you have a local copy. That should be more enjoyable experience. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSQpLN0rHwnNxTxwzHHk=hiyvnr_095amnqqgcktcgz...@mail.gmail.com Ah ha, why a local repo makes better experience, usually I'd like to read code on Github. Replying to that question is easy: 1) You can not make any change on github. 2) Github is JS-bloated, and therefore not as fast as your desktop's environment. 3) You can not debug stuff on github. And probably a lot more reasons. But, in short, you can not learn how to hack a program without playing with it's source. Reading is good, but almost useless against practice. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/bbc075cf10dfd18f4c8d80fa00481...@neutralite.org I believe what you said. As people know, Linux Kernel is complex and complicated, it's hard to read, especially for newbies like me. And I don't think I'm going to debug codes or hack it, I even am not capable of doing so. I can play with Python, Common Lisp and Scheme code, as for C... Not now I think. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/c6905c42-aac9-4d94-9375-91a22fae6...@googlegroups.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/27/2013 9:49 AM, guojzzz wrote: I believe what you said. As people know, Linux Kernel is complex and complicated, it's hard to read, especially for newbies like me. And I don't think I'm going to debug codes or hack it, I even am not capable of doing so. I can play with Python, Common Lisp and Scheme code, as for C... Not now I think. Guogzzz, I think the kernel is the LAST place you want to go, especially if you're not real familiar with C. As you have found, system kernels are large and complicated. Even people with years of experience in C easily get lost when dumped into system programming. And you can't just look at one small part of a kernel by itself; you have to also be aware of its relationship with the rest of the kernel. Acquiring such a knowledge takes time; good books help (sorry, I don't have any recommendations). There are many other areas you can help out in, though. There are thousands of projects in Debian, each with their own maintainers. And I think most of those projects would be glad to have another programmer, even if you don't have years of experience. I suggest you look at various projects (smaller in this case *may* be better - easier to understand but less work needs to be done) and find one which sounds interesting to you. Then find the upstream maintainers and ask if they could use another hand. In most cases, I think the answer will be YES!. :) Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521cb29c.30...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
在 2013年8月27日星期二UTC+8下午10时10分02秒,Jerry Stuckle写道: On 8/27/2013 9:49 AM, guojzzz wrote: I believe what you said. As people know, Linux Kernel is complex and complicated, it's hard to read, especially for newbies like me. And I don't think I'm going to debug codes or hack it, I even am not capable of doing so. I can play with Python, Common Lisp and Scheme code, as for C... Not now I think. Guogzzz, I think the kernel is the LAST place you want to go, especially if you're not real familiar with C. As you have found, system kernels are large and complicated. Even people with years of experience in C easily get lost when dumped into system programming. And you can't just look at one small part of a kernel by itself; you have to also be aware of its relationship with the rest of the kernel. Acquiring such a knowledge takes time; good books help (sorry, I don't have any recommendations). There are many other areas you can help out in, though. There are thousands of projects in Debian, each with their own maintainers. And I think most of those projects would be glad to have another programmer, even if you don't have years of experience. I suggest you look at various projects (smaller in this case *may* be better - easier to understand but less work needs to be done) and find one which sounds interesting to you. Then find the upstream maintainers and ask if they could use another hand. In most cases, I think the answer will be YES!. :) Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521cb29c.30...@attglobal.net I know some books of OS, as Linus mentioned in his biography book. The reason why I choose kernel code is that I think it strict and compact, it's bug-less, it has a code style guide. But other softwares' codes may not. As a matter of fact, I've ever thought about starting a project on my own and others may help me, but I have little experience in C, hence it seems impossible. You mean find project on Debian website - develop page? -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/eedb0c45-c793-4186-b19b-cee1de595...@googlegroups.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/27/2013 12:50 PM, guojzzz wrote: 在 2013年8月27日星期二UTC+8下午10时10分02秒,Jerry Stuckle写道: On 8/27/2013 9:49 AM, guojzzz wrote: I believe what you said. As people know, Linux Kernel is complex and complicated, it's hard to read, especially for newbies like me. And I don't think I'm going to debug codes or hack it, I even am not capable of doing so. I can play with Python, Common Lisp and Scheme code, as for C... Not now I think. Guogzzz, I think the kernel is the LAST place you want to go, especially if you're not real familiar with C. As you have found, system kernels are large and complicated. Even people with years of experience in C easily get lost when dumped into system programming. And you can't just look at one small part of a kernel by itself; you have to also be aware of its relationship with the rest of the kernel. Acquiring such a knowledge takes time; good books help (sorry, I don't have any recommendations). There are many other areas you can help out in, though. There are thousands of projects in Debian, each with their own maintainers. And I think most of those projects would be glad to have another programmer, even if you don't have years of experience. I suggest you look at various projects (smaller in this case *may* be better - easier to understand but less work needs to be done) and find one which sounds interesting to you. Then find the upstream maintainers and ask if they could use another hand. In most cases, I think the answer will be YES!. :) Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521cb29c.30...@attglobal.net I know some books of OS, as Linus mentioned in his biography book. The reason why I choose kernel code is that I think it strict and compact, it's bug-less, it has a code style guide. But other softwares' codes may not. Yes, it is compact (although not necessarily strict - many developers have worked on it over the years). But it also, in the name of efficiency, has code which can be harder to understand. Plus, you're operating at the base level of the microprocessor - which means you have to do a lot of things, from satisfying dependencies in programs and dynamic modules to allocating memory to applications, and a whole lot more. Add to that fact much of the code is poorly commented, makes it very difficult to understand. I've been doing C code for nigh onto 25 years, and even I know better than to get into kernel code unless I have months to study what's going on. What may look like an innocuous change in one place can have major effects in other places. As a matter of fact, I've ever thought about starting a project on my own and others may help me, but I have little experience in C, hence it seems impossible. Not impossible, but it is hard to do if you don't have a lot of experience. You mean find project on Debian website - develop page? You can do that, but I was referring just to any packages. Most applications (and even the Linux kernel) are not developed by Debian developers; rather other groups develop and make the packages available; the Debian developers may make some minor modifications (and possibly compile the packages) then package them for Debian, ensuring the proper prerequisites are defined, etc. For instance, PHP is developed by Zend, a commercial outfit. They supply the source code; Debian developers compile the code and package it for installation. And if you try to install the PHP-Apache module, it knows you need Apache (and probably other things as well) installed. If Apache is not installed, it will install and configure it for you. If Apache is already installed, it will install the PHP module and configure Apache properly to use it (this is NOT a minor task to get done properly - my hats off to the guys who do it!). But Debian does not develop PHP, and if you wanted to help out with the PHP package, you would talk to Zend (since they are commercial, I don't think they take volunteers - but you get the idea). And while we're at it, Apache is developed by the Apache Software Foundation, which is completely voluntary. But it is not Debian who develops it. Don't get me wrong - the Debian developers do a great job; it's one that is necessary to keep Debian as good as it is, and makes installation of packages very easy. It also standardizes the system so that other packages will install easily, and if there is a conflict, the conflict is detected at installation time - you don't need to try to figure out what's wrong when the package doesn't work properly. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521cfce8.4090...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
On Wed, Aug 28, 2013 at 1:50 AM, guojzzz rush@gmail.com wrote: [...] I know some books of OS, as Linus mentioned in his biography book. The reason why I choose kernel code is that I think it strict and compact, it's bug-less, it has a code style guide. But other softwares' codes may not. As a matter of fact, I've ever thought about starting a project on my own and others may help me, but I have little experience in C, hence it seems impossible. You mean find project on Debian website - develop page? Most of what is in the debian distribution is packages of projects that are developed and maintained elsewhere. Those projects may be easier places to start because they deal more directly with the code itself. And the code is more focused. So if you're just trying to learn C, there are lots of interesting projects on github, sourceforge, and the other public repositories. Look for a project you are interested in and dig in. Expect to find yourself learning a lot of things that you won't see an immediate use for. Don't worry about that, just keep mucking around. (I'd recommend my book on programming, but I haven't written it yet. ;-) -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAAr43iPuJ2q853i7gtZtxcjcO7mDOOw3dCaer-hSQ9=jcwb...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
在 2013年8月28日星期三UTC+8上午9时00分01秒,Joel Rees写道: On Wed, Aug 28, 2013 at 1:50 AM, guojzzz rush@gmail.com wrote: [...] I know some books of OS, as Linus mentioned in his biography book. The reason why I choose kernel code is that I think it strict and compact, it's bug-less, it has a code style guide. But other softwares' codes may not. As a matter of fact, I've ever thought about starting a project on my own and others may help me, but I have little experience in C, hence it seems impossible. You mean find project on Debian website - develop page? Most of what is in the debian distribution is packages of projects that are developed and maintained elsewhere. Those projects may be easier places to start because they deal more directly with the code itself. And the code is more focused. So if you're just trying to learn C, there are lots of interesting projects on github, sourceforge, and the other public repositories. Look for a project you are interested in and dig in. Expect to find yourself learning a lot of things that you won't see an immediate use for. Don't worry about that, just keep mucking around. (I'd recommend my book on programming, but I haven't written it yet. ;-) -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAAr43iPuJ2q853i7gtZtxcjcO7mDOOw3dCaer-hSQ9=jcwb...@mail.gmail.com The reason why I choose some *formal* projects is that I think codes are clear and there are less bugs. I will see on Github and some other projects. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/99c77733-812c-4e5b-b008-e8d3592cd...@googlegroups.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On 8/27/2013 9:36 PM, guojzzz wrote: 在 2013年8月28日星期三UTC+8上午9时00分01秒,Joel Rees写道: On Wed, Aug 28, 2013 at 1:50 AM, guojzzz rush@gmail.com wrote: [...] I know some books of OS, as Linus mentioned in his biography book. The reason why I choose kernel code is that I think it strict and compact, it's bug-less, it has a code style guide. But other softwares' codes may not. As a matter of fact, I've ever thought about starting a project on my own and others may help me, but I have little experience in C, hence it seems impossible. You mean find project on Debian website - develop page? Most of what is in the debian distribution is packages of projects that are developed and maintained elsewhere. Those projects may be easier places to start because they deal more directly with the code itself. And the code is more focused. So if you're just trying to learn C, there are lots of interesting projects on github, sourceforge, and the other public repositories. Look for a project you are interested in and dig in. Expect to find yourself learning a lot of things that you won't see an immediate use for. Don't worry about that, just keep mucking around. (I'd recommend my book on programming, but I haven't written it yet. ;-) -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAAr43iPuJ2q853i7gtZtxcjcO7mDOOw3dCaer-hSQ9=jcwb...@mail.gmail.com The reason why I choose some *formal* projects is that I think codes are clear and there are less bugs. I will see on Github and some other projects. You will find most of the projects are hosted on Github or similar systems. As for *formal* projects - there really is no such thing. If a project is found in Debian, all it means is that someone requested it, and a Debian developer agreed to add it to the repository. It says nothing about how clear the code is, nor the code quality (although more popular projects generally find bugs more quickly). Then add to the above that an older project may have been going for 25 years or more, and have a dozen different lead programmers - each with their own style of programming. Some modules may be one style, some another. I've worked on a number of projects over the years (in C and other languages, some open source, some paid). There are projects with good, clean, well-documented code. And there are projects with poorly documented, hard-to-understand code. You can't tell until you look at the code which is which. Jerry -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/521d614f.9030...@attglobal.net
Re: What's the easiest and/or simplest part of Linux Kernel?
(Mind you, I'm pretty much in agreement with much that others have said in this thread. You're looking for something that is not where you're looking for it. But, ...) On Wed, Aug 28, 2013 at 10:36 AM, guojzzz rush@gmail.com wrote: 在 2013年8月28日星期三UTC+8上午9时00分01秒,Joel Rees写道: On Wed, Aug 28, 2013 at 1:50 AM, guojzzz rush@gmail.com wrote: [...] I know some books of OS, as Linus mentioned in his biography book. The reason why I choose kernel code is that I think it strict and compact, it's bug-less, it has a code style guide. Kernel is also huge and has a lot of implicit linkages/dependencies that you basically will never see in the code until you've hacked in the code for several years and made lots of mistakes because of the things you can't see. It's not a place to start unless you mean by start that you've already been through the original KR book and it's most recent incarnation, have done all the practice exercises in a modern dev environment, and now need to start in on real code. In which case, you have to understand that there is not a single standard style in C any more than there was in the old CoBOL. And a good style for kernel may not be a good style for even some of the loadable modules and drivers. And most userland applications will use different styles, and will not benefit from kernel style rules. But other softwares' codes may not. Which is irrelevant. As a matter of fact, I've ever thought about starting a project on my own and others may help me, but I have little experience in C, hence it seems impossible. You mean find project on Debian website - develop page? Most of what is in the debian distribution is packages of projects that are developed and maintained elsewhere. Those projects may be easier places to start because they deal more directly with the code itself. And the code is more focused. So if you're just trying to learn C, there are lots of interesting projects on github, sourceforge, and the other public repositories. Look for a project you are interested in and dig in. ** ***Read and understand this: Expect to find yourself learning a lot of things that you won't see an immediate use for. Don't worry about that, just keep mucking around. ***There is no high road. ** (I'd recommend my book on programming, but I haven't written it yet. ;-) [...] Archive: http://lists.debian.org/CAAr43iPuJ2q853i7gtZtxcjcO7mDOOw3dCaer-hSQ9=jcwb...@mail.gmail.com The reason why I choose some *formal* projects is that I think codes are clear and there are less bugs. I will see on Github and some other projects. I thought of minix after I posted the last post. Minix is on github and they have a site with documentation and user forums and stuff. http://en.wikipedia.org/wiki/MINIX http://www.minix3.org/ It's a university project specifically for studying and teaching operating systems, so the code has been worked on by many students and several professors for many years. Since it's intended for student work, they try to make the code clear. It's relatively clean and self-commenting. But it's not real-world code. Very usable for many things, but it's not real-world code. But then it seems that real-world code isn't what you're looking for. It apparently can be run in a VM, so that might be to your taste as well. -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/caar43inv6aexf2vhqsc3yl3lrvadcbwrp30xgckqxuy_vzc...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
On Aug 24, 2013 7:40 PM, guojzzz rush@gmail.com wrote: Recently I have a interest in Linux Kernel, but I don't think my C programming skill is able to handle it, I'm just going to read the code in Github. So any of you have ever involved in the dev of Linux Kernel? I've been kernelnewbies.org, it's a great website. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/ba2eb585-666b-4a48-a2b7-60731d0a7...@googlegroups.com Hello Guo, Not meant to dissapoint you but this is a distribution-specific user support list. This question would probably better answered in the kernel mailing list(s). Cheers! P.S. You could start here: http://vger.kernel.org and then see the availble lists for the different modules of the kernel: http://vger.kernel.org/vger-lists.html. I am sure they will appreciate volunteering effort especially if you have to have some experience with C and are eager to learn the industry standards. Best luck, and I hope I will read your name in the credits section!!! :-) -- Sent from my Brick (TM)
Re: What's the easiest and/or simplest part of Linux Kernel?
On Aug 24, 2013 7:40 PM, guojzzz rush@gmail.com wrote: Recently I have a interest in Linux Kernel, but I don't think my C programming skill is able to handle it, I'm just going to read the code in Github. So any of you have ever involved in the dev of Linux Kernel? I've been kernelnewbies.org, it's a great website. 1) I think kernelnewbies has some suggestions. Been a while since I looked. 2) I recommend learning git to clone the kernel repo so you have a local copy. That should be more enjoyable experience. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSQpLN0rHwnNxTxwzHHk=hiyvnr_095amnqqgcktcgz...@mail.gmail.com
Re: What's the easiest and/or simplest part of Linux Kernel?
在 2013年8月25日星期日UTC+8上午9时50分01秒,Catalin Soare写道: On Aug 24, 2013 7:40 PM, guojzzz rush...@gmail.com wrote: Recently I have a interest in Linux Kernel, but I don't think my C programming skill is able to handle it, I'm just going to read the code in Github. So any of you have ever involved in the dev of Linux Kernel? I've been kernelnewbies.org, it's a great website. -- To UNSUBSCRIBE, email to debian-us...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listm...@lists.debian.org Archive: http://lists.debian.org/ba2eb585-666b-4a48-a2b7-60731d0a7...@googlegroups.com Hello Guo, Not meant to dissapoint you but this is a distribution-specific user support list. This question would probably better answered in the kernel mailing list(s). Cheers! P.S. You could start here: http://vger.kernel.org and then see the availble lists for the different modules of the kernel: http://vger.kernel.org/vger-lists.html. I am sure they will appreciate volunteering effort especially if you have to have some experience with C and are eager to learn the industry standards. Best luck, and I hope I will read your name in the credits section!!! :-) -- Sent from my Brick (TM) Thx, but I don't know, and I don't think LKML(i.e. Linux Kernel Mailing List) welcomes newbies to involve there. And thanks for you resource, I would ask somewhere else. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/80fc59fe-33ee-4032-ae63-da991f6a5...@googlegroups.com
Re: What's the easiest and/or simplest part of Linux Kernel?
在 2013年8月25日星期日UTC+8上午11时20分01秒,Zenaan Harkness写道: On Aug 24, 2013 7:40 PM, guojzzz rush@gmail.com wrote: Recently I have a interest in Linux Kernel, but I don't think my C programming skill is able to handle it, I'm just going to read the code in Github. So any of you have ever involved in the dev of Linux Kernel? I've been kernelnewbies.org, it's a great website. 1) I think kernelnewbies has some suggestions. Been a while since I looked. 2) I recommend learning git to clone the kernel repo so you have a local copy. That should be more enjoyable experience. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOsGNSQpLN0rHwnNxTxwzHHk=hiyvnr_095amnqqgcktcgz...@mail.gmail.com Ah ha, why a local repo makes better experience, usually I'd like to read code on Github. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/8f144eac-b29e-413b-a03d-fb70fb2da...@googlegroups.com