SitePoint Sponsor

User Tag List

Results 1 to 7 of 7
  1. #1
    SitePoint Addict reboltutorial's Avatar
    Join Date
    Jan 2009
    Posts
    309
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb The future of Language is Literate Programming don't you think ?

    In the unwanted mini war Rebol vs Perl (joke ) I wanted to answer to the post here at http://www.sitepoint.com/forums/showthread.php?t=588412 but as I received the warning that it was more than one month old I created this new post.

    I think traditional languages will have to integrate in the future a new paradigm called "Literate Programming" crafted by Donald Knuth see Wikipedia http://en.wikipedia.org/wiki/Literate_programming


    "According to Knuth, literate programming provides for higher-quality programs, since it forces programmers to explicitly state the thoughts behind the program, making poorly thought-out design decisions more obvious. Knuth also claims that literate programming provides a first-rate documentation system, which is not an add-on, but is grown naturally in the process of exposition of one's thoughts during a program creation."

    "A literate program is an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code."

    In fact .NET with LINQ is marching towards this path. And Rebol is number one for Literate Programming with its powerfull Parse function there is no need to use the cryptic regular expressions and it can even create other programming dialects to do literate programming specific to a business domain.

    Cost, Quality is key especially as Software is becoming an industry, crafting code at the level machine will be no more productive enough : the jump will have to be done like it has been done from Assembly Language to Cobol, Fortran C or C++ then to Visual Basic, Perl, PHP, Java.

    I don't say that Rebol will be the winner, in fact it's too small in the Big Brothers Software Industry, but as concept Rebol is well in advance, and except for .NET, other languages are still not seeing the trend.

  2. #2
    SitePoint Wizard bronze trophy KevinR's Avatar
    Join Date
    Nov 2004
    Location
    Moon Base Alpha
    Posts
    1,053
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I would site some more recent books or articles if I were you instead of a book/article written 17 years ago (Literate Programming). But you never know, it was possibly too far ahead of its time and will someday catch on.

  3. #3
    SitePoint Addict reboltutorial's Avatar
    Join Date
    Jan 2009
    Posts
    309
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by KevinR View Post
    I would site some more recent books or articles if I were you instead of a book/article written 17 years ago (Literate Programming). But you never know, it was possibly too far ahead of its time and will someday catch on.
    Well it takes about 20 years for a concept in a laboratory to go in real world. That was the case for OOP that I've seen emerge since the beginning when it was baffled as a new buzz that would just come and go. OOP has stayed.

    And OOP has come because language has evolved enough to implement more complex structure to narrow the gap between the real world object and the programming world. Still there is a big gap between human thought and concrete realization and this gap is going to be filled again when languages mature.

    Technicians are too much in love with low level thinking. We cannot continue with this level if one need to build more and more sophisticated softwares at lower and lower cost. I see many users managers in fortune 500 complain that IT cannot answer fast good and cheap enough to their requirements.

  4. #4
    SitePoint Wizard bronze trophy KevinR's Avatar
    Join Date
    Nov 2004
    Location
    Moon Base Alpha
    Posts
    1,053
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Cool. hopefully I'll still be around when it does catch on.

  5. #5
    SitePoint Addict reboltutorial's Avatar
    Join Date
    Jan 2009
    Posts
    309
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Arrow

    Quote Originally Posted by KevinR View Post
    I would site some more recent books or articles if I were you
    OK since we are on perl section, this is a very good introduction to LiterateProgramming I think :

    http://www.perl.com/pub/a/tchrist/litprog.html

    When you're explaining the program to someone else, you want to talk about opening the file and reading a line. You don't want to have to interrupt yourself with a huge digression about the error handling just because the computer language you're using requires that you put the error handling in between the open and the read; ...

    For the same reason, having the error handling code in the middle there is no just an impediment to you when you try to explain the code, it's also an impediment to another programmer trying to understand the code.

    [Read more with the link above]

  6. #6
    SitePoint Wizard bronze trophy KevinR's Avatar
    Join Date
    Nov 2004
    Location
    Moon Base Alpha
    Posts
    1,053
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well, if it takes 20 years then give it another 8 to 10 years. If its not caught on by then I guess its not going to. Personally I don't see a big need for literate programming. But thats the end of my particpation in this thread.

    Regards,
    Kevin

  7. #7
    SitePoint Addict reboltutorial's Avatar
    Join Date
    Jan 2009
    Posts
    309
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by KevinR View Post
    Well, if it takes 20 years then give it another 8 to 10 years. If its not caught on by then I guess its not going to. Personally I don't see a big need for literate programming. But thats the end of my particpation in this thread.

    Regards,
    Kevin
    Well, it's taking in little bit by little bit you just not even know it because it is not called litterally "literate programming". As I said Linq is a step towards it. If you look at the new AOP concept (Aspect Oriented Programming) introduced in some Java frameworks (the most famous being Hibernate) it has borrowed some ideas from Literate Programming.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •