Slashdot Mirror


RMS The Coder

Andrew G. Feinberg writes "Here is a article on the LinuxCare website. " This is a cool interview just because its not dealing with the usual GNU/Open Source/Free Software stuff, but more with code, coding, and lots of other stuff that frankly just isn't political. Enjoy it.

7 of 333 comments (clear)

  1. RMS wrote too much code :-) by trance9 · · Score: 4


    I forget who said it, but I recall once some OSS advocate saying he wished he could just ignore RMS and the GNU project and write them off as the radical wing, but that unfortuntely RMS had written far too much code to be ignored.

    I think that's a great statement about how in the OSS/FS world your code does wind up being very much where your mouth is. The more code you write, the bigger say you get.

    Personally I love the GNU project, and I am very glad that RMS has written so much code that he can't be ignored.

  2. Standards by Bitscape · · Score: 4
    We support standards in the ways that are useful to users, and we depart from them when that becomes more useful to users.

    Alright, I like RMS and his teachings as much as anyone, and even agree with the sentiment of this statement. If standards aren't serving users in the best way possible, what good are they?

    But if it were someone from Microsoft making this statement, let's admit it. We would be jumping all over their throats and making accusations about "embrace and extend". Obviously, since GNU makes free software, there's less worry about them subverting the standards process, but where do you draw the line?

    BTW, the POSIX_ME_HARDER part was hilarious. Made my morning. :)

    1. Re:Standards by kuro5hin · · Score: 5
      but where do you draw the line

      I think you draw the line exactly at the question: "Is the 'extension' closed and proprietary?" That is, when M$ extends a standard, you are not allowed to see what they did. If M$ adds extensions to HTML, they do it because it distinguishes their browser from Netscape. Now, maybe the extension is useful and good, but the fact that it may only be implemented by M$ browsers is, overall, bad for users.

      On the other hand, when an author of OSS extends a standard, the code is open, and others may see and reimplement exatly the same functionality in their code as well. Assuming this extension is also good for users, then everyone can implement it, and the net result is a big win, rather than a hideous swamp of incompatibility (like present-day HTML).

      "Get away from my house you freak!"
      -Neal Stephenson

      --
      There is no K5 cabal.
      I am not the real rusty.
  3. Re:Security by Jonas+�berg · · Score: 5
    The Incompatible Time-sharing System (ITS) that RMS hacked on and which was used at MIT for many years did not have much security. Security always comes to the cost of convenience, and security builds walls to divide people, much like proprietary software does. RMS's favourite umask is 000 and the information given to new people who gets accounts on a gnu.org machine recommends this umask, iirc. On one of the machines that RMS uses, he says that it's fine for people to read his email, but that he wishes they would do it with `more' and not with a mailreader so there's no risk of loosing mail. Until only a few years ago he had the password 'rms'. He doesn't use much of the gnu.org computers for this reason. His own computer doesn't have security.


    I support RMS in this. I wish people would understand that security isn't always important.

  4. Re:Why is LISP superior? by mellon · · Score: 5
    Some reasons I can think of off the top of my head:
    • LISP has a completely regular syntax (well, let's say Scheme, since there are some disgusting hacks in Common Lisp). PERL has a syntax from Hell.
    • LISP does stupid stuff for you - for example, you don't have to keep track of garbage, as you do with C. Perl doesn't garbage collect either (AFAIK), but it does at least have automatic memory allocation.
    • LISP has a very different typing model from either PERL or C - every object has the potential to have any possible type. Lists are first-class objects, so you don't have to write yet another stupid list traversal routine every time you want to make a list of things, and you can build trees out of lists. This turns out to be very powerful once you understand it, but it's a little hard to wrap your brain around at first.
    Unfortunately, in order to really appreciate the power (and the shortcomings) of LISP, you have to learn it - I can't really make a point-for-point comparison here that would convince you of anything. And anybody who claims LISP is a panacea is wrong - it just makes a very different set of tradeoffs than PERL or C.

    I would suggest actuallty trying to write some code in raw Scheme, not emacs LISP, that does some sort of interesting data structure manipulation, preferably recursively. Maybe pick up a copy of SICP, The Little Schemer or The Seasoned Schemer.

  5. YART - Yet Another RMS Triumph by mihalis · · Score: 4

    Another thing that RMS did that was really incredibly cool was he worked out how Ada could behave itself just like other computer languages rather than being really quite fierce and hostile. When he helped a bit in the initial design of GNAT (the GNU Ada compiler) RMS worked out that the Ada "library" that is required by the standard could in fact be a lightweight definition consisting of little more than the source code with attached timestamps, and some little supplementary text files, rather than the previous system. In this way GNAT was made a true first class language front-end for GCC without making GCC jump through any hoops or do anything really pointless.

    Before GNAT, Ada "libraries" were these monstrous opaque creations that made compilation incredibly slow - the compiler would have to open each library and read the (huge, expanded) semantic information associated with each separate unit mentioned in the current compilation from disk, rather than just going and getting the source code. By the early 90s the old Ada library approach was total junk, as GNAT easily blew away all previous Ada technologies using a combination of a) one of the worlds fastest language parsers (I would guess, certainly the fastest Ada parser ever seen) b) bountiful cpu power and RAM, and c) RMS's new lightweight library design.

    These days there is a small but happy free Ada software crowd building up around GNAT, and I believe the GNAT team has been able to contribute a fair amount of value back to the GCC core. RMS helped to make this all possible and vastly improved the lot of a number of underpaid overworked Ada programmers (defence, telecoms, transport infrastructure etc).

  6. Re:Why is LISP superior? by Roundeye · · Score: 5
    Anybody have any examples of problems that can be solved in LISP and no other language? Or is this just standard RMS hyperbole?

    Your question is based upon false presumptions -- that such problems exist. Since one can write a lisp interpreter in a number of languages: C, C++, Perl, Pascal, numerous variants of assembly, etc.; it must be true that any problem solvable in Lisp can be solvable in these other languages (if it seems that you have an instance where this is not true then write your LISP solution, and feed it into a LISP interpreter written in the other language).

    This, however, does little to address issues of usability and suitedness of languages to problems. Just as C++ is an arguable improvement over C (and that is an ongoing argument at that), but C can do everything that C++ can do (think about what it takes to write a C++ compiler in C; while not trivial, with name-mangling things get easy quickly). Still there are many who can develop large systems more quickly in C++ than they could while writing in C, due primarily to the types of abstractions made available.

    I read RMS as saying that the fact that programs in LISP are represented not as character strings but native list data structures which preserve program structure as data while remaining executable is one reason to conclude that LISP is a "more powerful" language than the others. It is more powerful in that it enables skilled LISP programmers to do things "better" than skilled programmers of other languages. I take this to mean that LISP is a "more beautiful" language -- i.e., that makes sense, is complete, and self-reflective.

    Take that for what you will. I do the majority of my programming in C/C++/Perl with odds-and-ends languages for special tasks. But, I spent a few years doing a lot of LISP and it is a beautiful language. Ever see a LISP interpreter written in LISP? Takes about a page of type for a full-featured interpreter. In my Principles of Programming Languages class in graduate school one of the problems on our final examination was "given the LISP interpreter written in LISP on the previous page, modify the interpreter to support call by reference argument passing semantics." The solution was a couple of lines of code. There's a certain Zen to LISP programming that you don't find anywhere else.

    Unfortunately, there isn't much call for LISP programs out there in the business world or the OSS world, and the art languishes. [ IMHO one of the reasons is that the average programmer can't find the Zen between the parentheses -- not a problem with a language, but a problem with the average programmer ]. LISP is arguably a "more powerful" language than the others in wide use, but unfortunately the programmers in wide use are not as powerful as RMS.

    YMMV. My $.02. Do not taunt happy fun LISP. Please keep hands inside vehicle. Not for olfactory use. Keep away from eyes. etc.

    --
    "Cause there's 40 different shades of black, so many fortresses and ways to attack, so why you complainin'?"