SitePoint Sponsor |
|
User Tag List
Results 1 to 7 of 7
-
Feb 1, 2009, 08:49 #1
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.
-
Feb 2, 2009, 13:23 #2
- 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.
-
Feb 4, 2009, 14:37 #3
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.
-
Feb 4, 2009, 17:21 #4
- 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.
-
Feb 6, 2009, 15:13 #5
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]
-
Feb 6, 2009, 23:14 #6
- 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
-
Feb 7, 2009, 09:19 #7
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