couple links that may be of interest...
http://www.paulgraham.com/pypar.html "The Python Paradox" -- The best way to hire a Java coder is to find a Python coder and bribe him to code Java instead. http://www.paulgraham.com/icad.html "Revenge of the Nerds" -- essay on languages, and why they matter -- excellent http://www.paulgraham.com/lisp.html essays on Lisp http://hop.perl.plover.com/ "Higher Order Perl" -- book on using Perl to do Lisp-style functional programming http://randomhacks.net/articles/2005/12/03/why-ruby-is-an-acceptable-lisp "Why Ruby Is An Acceptable Lisp" http://en.wikipedia.org/wiki/Category:Computer_languages General background I missed almost the entire discussion on this Friday, but, for what it's worth, I wanted to add a few things because it's a very interesting subject. In general the family trees of computer languages bifurcate by purpose and philosophy. Technically markup languages such as HTML and data-definition and -manipulation languages such as SQL are also computer languages, but they aren't programming languages. UML is a computer language but neither a programming, markup, or data-definition/-manipulation language. XML and Lisp are both languages which define subsets of themselves to be used as additional languages. XML can also be considered both a markup language and a data language; this means you can make the case for considering XML a markup language, a data language, and a language-definition language. By far the dominant linguistic paradigm in computer languages today is object-oriented programming. Additional programming paradigms include aspect-oriented, language-oriented, procedural, and functional. Articulations of the object-oriented paradigm differ wildly, from JavaScript's prototyping, Smalltalk's message-passing, Perl's reckless informality, Java's straitjacket strictness, and the utterly deranged Lisp CLOS. (I left out C/C++ because I don't really know them. This is a big hole in my computer literacy, I'll plug it at some point.) A comprehensive taxonomy of programming languages doesn't to my knowledge exist, but it is of obsessive interest to geeks worldwide. Among coders writing an elegant language is considered a huge accomplishment. I could have sworn I overheard somebody saying this topic would make a good book -- they're right. It would be especially cool if a book like that contained some tracing, not just of the family trees of these various languages, but also of the connections between them. For instance, there are ideas from Smalltalk which show up in Ruby, a Python hacker who's never seen Lisp in their life will still use the word "lambda" to return an anonymous function, etc. It'd be too much to say there was a Smalltalk-Ruby family tree there, or that Python was born directly from Lisp, but an exchange of genetic material certainly takes place. -- Giles Bowkett = Giles Goat Boy http://www.gilesgoatboy.org/ |
I would like to add that in their book "Concepts, Technologies, and Models
of Computer Programming" Van Roy and Seif Haridi provided an excellent comparison of computer languages based on programming paradigms. -- Mikhail ----- Original Message ----- From: "Giles Bowkett" <[hidden email]> To: "The Friday Morning Applied Complexity Coffee Group" <Friam at redfish.com> Sent: Sunday, December 04, 2005 8:10 PM Subject: [FRIAM] language stuff > couple links that may be of interest... > > http://www.paulgraham.com/pypar.html > "The Python Paradox" -- The best way to hire a Java coder is to find a > Python coder and bribe him to code Java instead. > > http://www.paulgraham.com/icad.html > "Revenge of the Nerds" -- essay on languages, and why they matter -- > excellent > > http://www.paulgraham.com/lisp.html > essays on Lisp > > http://hop.perl.plover.com/ > "Higher Order Perl" -- book on using Perl to do Lisp-style functional > programming > > http://randomhacks.net/articles/2005/12/03/why-ruby-is-an-acceptable-lisp > "Why Ruby Is An Acceptable Lisp" > > http://en.wikipedia.org/wiki/Category:Computer_languages > General background > > I missed almost the entire discussion on this Friday, but, for what > it's worth, I wanted to add a few things because it's a very > interesting subject. In general the family trees of computer languages > bifurcate by purpose and philosophy. Technically markup languages such > as HTML and data-definition and -manipulation languages such as SQL > are also computer languages, but they aren't programming languages. > UML is a computer language but neither a programming, markup, or > data-definition/-manipulation language. XML and Lisp are both > languages which define subsets of themselves to be used as additional > languages. XML can also be considered both a markup language and a > data language; this means you can make the case for considering XML a > markup language, a data language, and a language-definition language. > By far the dominant linguistic paradigm in computer languages today is > object-oriented programming. Additional programming paradigms include > aspect-oriented, language-oriented, procedural, and functional. > Articulations of the object-oriented paradigm differ wildly, from > JavaScript's prototyping, Smalltalk's message-passing, Perl's reckless > informality, Java's straitjacket strictness, and the utterly deranged > Lisp CLOS. > > (I left out C/C++ because I don't really know them. This is a big hole > in my computer literacy, I'll plug it at some point.) > > A comprehensive taxonomy of programming languages doesn't to my > knowledge exist, but it is of obsessive interest to geeks worldwide. > Among coders writing an elegant language is considered a huge > accomplishment. I could have sworn I overheard somebody saying this > topic would make a good book -- they're right. It would be especially > cool if a book like that contained some tracing, not just of the > family trees of these various languages, but also of the connections > between them. For instance, there are ideas from Smalltalk which show > up in Ruby, a Python hacker who's never seen Lisp in their life will > still use the word "lambda" to return an anonymous function, etc. It'd > be too much to say there was a Smalltalk-Ruby family tree there, or > that Python was born directly from Lisp, but an exchange of genetic > material certainly takes place. > > -- > Giles Bowkett = Giles Goat Boy > http://www.gilesgoatboy.org/ > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > lectures, archives, unsubscribe, maps at http://www.friam.org > |
Interesting stuff. It was Tom Johnson and me, the journalist and the
anthropologist, who echoed that it would be a good book, and maybe some other folks said that as well. We'd (I think Tom would agree) want to get into the history and the biographies and the social and intellectual circumstances to show how the languages were produced in a context as well as talking about their characteristics. The kind of mix Waldrop writes for complexity in his book. Be a lot of fun, and lot of work, to do. All we need now is a publisher with a fat advance (: Mike On Dec 4, 2005, at 7:23 PM, Mikhail Gorelkin wrote: > I would like to add that in their book "Concepts, Technologies, and > Models > of Computer Programming" Van Roy and Seif Haridi > > provided an excellent comparison of computer languages based on > programming > paradigms. > > > > -- Mikhail > > ----- Original Message ----- > From: "Giles Bowkett" <gilesb at gmail.com> > To: "The Friday Morning Applied Complexity Coffee Group" > <Friam at redfish.com> > Sent: Sunday, December 04, 2005 8:10 PM > Subject: [FRIAM] language stuff > > >> couple links that may be of interest... >> >> http://www.paulgraham.com/pypar.html >> "The Python Paradox" -- The best way to hire a Java coder is to >> find a >> Python coder and bribe him to code Java instead. >> >> http://www.paulgraham.com/icad.html >> "Revenge of the Nerds" -- essay on languages, and why they matter -- >> excellent >> >> http://www.paulgraham.com/lisp.html >> essays on Lisp >> >> http://hop.perl.plover.com/ >> "Higher Order Perl" -- book on using Perl to do Lisp-style functional >> programming >> >> http://randomhacks.net/articles/2005/12/03/why-ruby-is-an- >> acceptable-lisp >> "Why Ruby Is An Acceptable Lisp" >> >> http://en.wikipedia.org/wiki/Category:Computer_languages >> General background >> >> I missed almost the entire discussion on this Friday, but, for what >> it's worth, I wanted to add a few things because it's a very >> interesting subject. In general the family trees of computer >> languages >> bifurcate by purpose and philosophy. Technically markup languages >> such >> as HTML and data-definition and -manipulation languages such as SQL >> are also computer languages, but they aren't programming languages. >> UML is a computer language but neither a programming, markup, or >> data-definition/-manipulation language. XML and Lisp are both >> languages which define subsets of themselves to be used as additional >> languages. XML can also be considered both a markup language and a >> data language; this means you can make the case for considering XML a >> markup language, a data language, and a language-definition language. >> By far the dominant linguistic paradigm in computer languages >> today is >> object-oriented programming. Additional programming paradigms include >> aspect-oriented, language-oriented, procedural, and functional. >> Articulations of the object-oriented paradigm differ wildly, from >> JavaScript's prototyping, Smalltalk's message-passing, Perl's >> reckless >> informality, Java's straitjacket strictness, and the utterly deranged >> Lisp CLOS. >> >> (I left out C/C++ because I don't really know them. This is a big >> hole >> in my computer literacy, I'll plug it at some point.) >> >> A comprehensive taxonomy of programming languages doesn't to my >> knowledge exist, but it is of obsessive interest to geeks worldwide. >> Among coders writing an elegant language is considered a huge >> accomplishment. I could have sworn I overheard somebody saying this >> topic would make a good book -- they're right. It would be especially >> cool if a book like that contained some tracing, not just of the >> family trees of these various languages, but also of the connections >> between them. For instance, there are ideas from Smalltalk which show >> up in Ruby, a Python hacker who's never seen Lisp in their life will >> still use the word "lambda" to return an anonymous function, etc. >> It'd >> be too much to say there was a Smalltalk-Ruby family tree there, or >> that Python was born directly from Lisp, but an exchange of genetic >> material certainly takes place. >> >> -- >> Giles Bowkett = Giles Goat Boy >> http://www.gilesgoatboy.org/ >> >> ============================================================ >> FRIAM Applied Complexity Group listserv >> Meets Fridays 9a-11:30 at Mission Cafe >> lectures, archives, unsubscribe, maps at http://www.friam.org >> > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > lectures, archives, unsubscribe, maps at http://www.friam.org |
Here is a fun chart apropos the conversation:
http://www.levenez.com/lang/history.html --joshua On Dec 5, 2005, at 6:30 PM, Michael Agar wrote: > Interesting stuff. It was Tom Johnson and me, the journalist and the > anthropologist, who echoed that it would be a good book, and maybe > some other folks said that as well. We'd (I think Tom would agree) > want to get into the history and the biographies and the social and > intellectual circumstances to show how the languages were produced in > a context as well as talking about their characteristics. The kind of > mix Waldrop writes for complexity in his book. Be a lot of fun, and > lot of work, to do. All we need now is a publisher with a fat > advance (: > > Mike > > > > On Dec 4, 2005, at 7:23 PM, Mikhail Gorelkin wrote: > >> I would like to add that in their book "Concepts, Technologies, and >> Models >> of Computer Programming" Van Roy and Seif Haridi >> >> provided an excellent comparison of computer languages based on >> programming >> paradigms. >> >> >> >> -- Mikhail >> >> ----- Original Message ----- >> From: "Giles Bowkett" <gilesb at gmail.com> >> To: "The Friday Morning Applied Complexity Coffee Group" >> <Friam at redfish.com> >> Sent: Sunday, December 04, 2005 8:10 PM >> Subject: [FRIAM] language stuff >> >> >>> couple links that may be of interest... >>> >>> http://www.paulgraham.com/pypar.html >>> "The Python Paradox" -- The best way to hire a Java coder is to >>> find a >>> Python coder and bribe him to code Java instead. >>> >>> http://www.paulgraham.com/icad.html >>> "Revenge of the Nerds" -- essay on languages, and why they matter -- >>> excellent >>> >>> http://www.paulgraham.com/lisp.html >>> essays on Lisp >>> >>> http://hop.perl.plover.com/ >>> "Higher Order Perl" -- book on using Perl to do Lisp-style >>> functional >>> programming >>> >>> http://randomhacks.net/articles/2005/12/03/why-ruby-is-an- >>> acceptable-lisp >>> "Why Ruby Is An Acceptable Lisp" >>> >>> http://en.wikipedia.org/wiki/Category:Computer_languages >>> General background >>> >>> I missed almost the entire discussion on this Friday, but, for what >>> it's worth, I wanted to add a few things because it's a very >>> interesting subject. In general the family trees of computer >>> languages >>> bifurcate by purpose and philosophy. Technically markup languages >>> such >>> as HTML and data-definition and -manipulation languages such as SQL >>> are also computer languages, but they aren't programming languages. >>> UML is a computer language but neither a programming, markup, or >>> data-definition/-manipulation language. XML and Lisp are both >>> languages which define subsets of themselves to be used as >>> additional >>> languages. XML can also be considered both a markup language and a >>> data language; this means you can make the case for considering >>> XML a >>> markup language, a data language, and a language-definition >>> language. >>> By far the dominant linguistic paradigm in computer languages >>> today is >>> object-oriented programming. Additional programming paradigms >>> include >>> aspect-oriented, language-oriented, procedural, and functional. >>> Articulations of the object-oriented paradigm differ wildly, from >>> JavaScript's prototyping, Smalltalk's message-passing, Perl's >>> reckless >>> informality, Java's straitjacket strictness, and the utterly >>> deranged >>> Lisp CLOS. >>> >>> (I left out C/C++ because I don't really know them. This is a big >>> hole >>> in my computer literacy, I'll plug it at some point.) >>> >>> A comprehensive taxonomy of programming languages doesn't to my >>> knowledge exist, but it is of obsessive interest to geeks worldwide. >>> Among coders writing an elegant language is considered a huge >>> accomplishment. I could have sworn I overheard somebody saying this >>> topic would make a good book -- they're right. It would be >>> especially >>> cool if a book like that contained some tracing, not just of the >>> family trees of these various languages, but also of the connections >>> between them. For instance, there are ideas from Smalltalk which >>> show >>> up in Ruby, a Python hacker who's never seen Lisp in their life will >>> still use the word "lambda" to return an anonymous function, etc. >>> It'd >>> be too much to say there was a Smalltalk-Ruby family tree there, or >>> that Python was born directly from Lisp, but an exchange of genetic >>> material certainly takes place. >>> >>> -- >>> Giles Bowkett = Giles Goat Boy >>> http://www.gilesgoatboy.org/ >>> >>> ============================================================ >>> FRIAM Applied Complexity Group listserv >>> Meets Fridays 9a-11:30 at Mission Cafe >>> lectures, archives, unsubscribe, maps at http://www.friam.org >>> >> >> ============================================================ >> FRIAM Applied Complexity Group listserv >> Meets Fridays 9a-11:30 at Mission Cafe >> lectures, archives, unsubscribe, maps at http://www.friam.org > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > lectures, archives, unsubscribe, maps at http://www.friam.org |
In reply to this post by Michael Agar
Michael Agar wrote:
> Interesting stuff. It was Tom Johnson and me, the journalist and the > anthropologist, who echoed that it would be a good book, and maybe > some other folks said that as well. We'd (I think Tom would agree) > want to get into the history and the biographies and the social and > intellectual circumstances to show how the languages were produced in > a context as well as talking about their characteristics. The kind of > mix Waldrop writes for complexity in his book. Be a lot of fun, and > lot of work, to do. All we need now is a publisher with a fat advance (: A possibly related area that has been a hobby of mine is the inheritance of actual code. One example: for many years, every network exploit for which I found the source used bzero to prepare the attack payload. This was clearly inherited from BSD. Another example: I examined the source code for a covert channel program, loki, and noted many programming similiarities to the packet creation library, libnet. I can't say for certain, but I suspect that the same person wrote parts of both, despite the various aliases used. Another interesting anthropological aspect of software development is the backgrounds of programmers. These have changed over the years that I have worked. Most programmers I meet now have a related college degree. Back when I managed the software for a satellite ground system, my best programmers were a former radar tech, a Ph.D. linguist, and a Ph.D. oceanographer. Yet another anthropological study would be to examine how programmers learn and how that affects their programs. I once inherited a set of code programmed by one person. As I examined the code, I realized that the author, like a painter, had different periods of coding. The earliest code showed that he had learned one trick and tried to use it for everything. As one progressed forward in the timeline of his coding, one could see when he learned new algorithms - they entered his code and displaced the previous favourite. I've tried for years to convince software forensics researchers to take up this area, but with little success. -- Ray Parks rcparks at sandia.gov IDART Project Lead Voice:505-844-4024 IORTA Department Fax:505-844-9641 http://www.sandia.gov/idart Pager:800-690-5288 |
Ray, et al.:
Can/could you tell from studying code anything about the author's culture? For example, if I gave three teams a project and objectives to code in the same language, could I later apply forensic techniques in order to say, "This project result was coded by the Russian team, this one by the Indians and that one by the Americans, or at least someone trained in those counties"? Just as a linguist can often narrow a person's place of origin to some fairly small region, would a coder over time reflect similar cultural "accents" as opposed to individual idiosyncrasies? Or is coding simply too exacting to allow for much deviance? These analytic techniques might draw on content analysis, photo interpretation, remote sensing and other forensic disciplines, even the analysis of art (See The Rembrandt Code<http://www.wired.com/wired/archive/13.12/>in WIRED .) But each of those usually has a base or standard version to work from in searching for deviations. How much code would an forensic analyst need to make some predictions of authorship? I'm thinking that understanding all this might have some interesting applications in tracking the memes of innovation and technological change over time and place. -Tom On 12/5/05, Raymond Parks <rcparks at sandia.gov> wrote: > > Michael Agar wrote: > > Interesting stuff. It was Tom Johnson and me, the journalist and the > > anthropologist, who echoed that it would be a good book, and maybe > > some other folks said that as well. We'd (I think Tom would agree) > > want to get into the history and the biographies and the social and > > intellectual circumstances to show how the languages were produced in > > a context as well as talking about their characteristics. The kind of > > mix Waldrop writes for complexity in his book. Be a lot of fun, and > > lot of work, to do. All we need now is a publisher with a fat advance (: > > A possibly related area that has been a hobby of mine is the > inheritance of actual code. One example: for many years, every network > exploit for which I found the source used bzero to prepare the attack > payload. This was clearly inherited from BSD. Another example: I > examined the source code for a covert channel program, loki, and noted > many programming similiarities to the packet creation library, libnet. > I can't say for certain, but I suspect that the same person wrote parts > of both, despite the various aliases used. > > Another interesting anthropological aspect of software development is > the backgrounds of programmers. These have changed over the years that > I have worked. Most programmers I meet now have a related college > degree. Back when I managed the software for a satellite ground system, > my best programmers were a former radar tech, a Ph.D. linguist, and a > Ph.D. oceanographer. > > Yet another anthropological study would be to examine how programmers > learn and how that affects their programs. I once inherited a set of > code programmed by one person. As I examined the code, I realized that > the author, like a painter, had different periods of coding. The > earliest code showed that he had learned one trick and tried to use it > for everything. As one progressed forward in the timeline of his > coding, one could see when he learned new algorithms - they entered his > code and displaced the previous favourite. > > I've tried for years to convince software forensics researchers to > take up this area, but with little success. > > -- > Ray Parks rcparks at sandia.gov > IDART Project Lead Voice:505-844-4024 > IORTA Department Fax:505-844-9641 > http://www.sandia.gov/idart Pager:800-690-5288 > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > lectures, archives, unsubscribe, maps at http://www.friam.org > -- ============================================== J. T. Johnson Institute for Analytic Journalism www.analyticjournalism.com 505.577.6482(c) 505.473.9646(h) http://www.jtjohnson.com tom at jtjohnson.com "You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete." -- Buckminster Fuller ============================================== -------------- next part -------------- An HTML attachment was scrubbed... URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051205/97198234/attachment.htm |
J T Johnson wrote:
> Ray, et al.: > > Can/could you tell from studying code anything about the author's culture? Possibly, but I think cultural differences are less apparent than pedagogic ones. > For example, if I gave three teams a project and objectives to code in the > same language, could I later apply forensic techniques in order to say, > "This project result was coded by the Russian team, this one by the Indians > and that one by the Americans, or at least someone trained in those > counties"? Well, if any comments are in the native language, there's no problem. I've spent a fair amount of time trying to puzzle out comments in Portuguese and Italian. Aside from that obvious indicator, I would expect it would be easier to determine who learned from whom. Either indirectly or directly, every coder I've known exhibits the same techniques as the person from whom they learned. In some cases, that relationship is formal and in person - school. In most cases, the relationship is informal and indirect - code re-use. The example I gave of using bzero instead of memset is a case of the latter. The first hacker in the sequence re-used some BSD network code and all the subsequent ones copied him or her. If one can get the source code, one might be able to look for similiarity in the optional features as well as in the algorithms. 1. Which style of braces in C and C++ does the coder use? K&R or modern? 2. Does the coder always put at least eight blank spaces in front of each line? An old Fortran programmer. 3. How does the coder write comments? /* or // (C or C++). Every line of the comment distinguished or only the beginning and end? /* ** This is a comment. */ or /* This is a comment */ 4. Does the coder write java with pointers (I know, Java doesn't have pointers, but one can fake it)? Originally a C programmer. 5. One project I red-teamed had Java source code that reminded me of lisp. As it turned out, one of the coders had originally been a lisp programmer. That brings out a further complication - almost no source code is the product of a single individual, anymore. Usually, a logical segment of source code can be attributed to a single individual, but even functions are sometimes collaborative. How could one perform this analysis of the Linux kernel? > Just as a linguist can often narrow a person's place of origin to some > fairly small region, would a coder over time reflect similar cultural > "accents" as opposed to individual idiosyncrasies? Or is coding simply too > exacting to allow for much deviance? I'm pretty sure you'd have more luck detecting the "school" of the coder. As I've said - programmers tend to use the same methods as their teachers. The biggest problem for this activity is getting source code. Usually, one can't find source code and one is left with the object code. Compilers tend to converge the source code differences in object code. Nevertheless, there are some things one can derive from object code unless the developer used full optimization. Someone who's been a real-time, embedded systems programmer is more likely to use an algorithmic structure such as a software bus than is a modern web developer. Subtle differences, such as while-loop versus for-loop disappear in compilation, especially when optimization rolls out the iterations into one long, flat sequence. Looking for common errors might be more profitable. I'm sure Owen, Stephen, Giles, and every other software developer on the list has their own wrong-way iteration story - when a novice programmer writes code that steps through a two-dimensional array in the wrong order. This type of mistake is common and may be useful for distinguishing the lesser programmers. > These analytic techniques might draw on content analysis, photo > interpretation, remote sensing and other forensic disciplines, even the > analysis of art (See The Rembrandt > Code<http://www.wired.com/wired/archive/13.12/>in WIRED .) > But each of those usually has a base or standard version to work from in > searching for deviations. How much code would an forensic analyst need to > make some predictions of authorship? Feature recognition from image processing or even the new mathematics of surprise might be another possibility. Without trying these techniques, I couldn't say. First, one would have to undo the changes from the compiler - sort of like disassembly but more complex. I use reverse engineering tools and this would go a step beyond idapro. > I'm thinking that understanding all this might have some interesting > applications in tracking the memes of innovation and technological change > over time and place. That is definitely a possibility. I know that much of what I've said paints software programming as like the art world (all puns intended). I'm not sure if we can use technology as the software equivalent of art detectives, but it would be fun to try. -- Ray Parks rcparks at sandia.gov IDART Project Lead Voice:505-844-4024 IORTA Department Fax:505-844-9641 http://www.sandia.gov/idart Pager:800-690-5288 |
In reply to this post by Tom Johnson
In a parallel research universe, the field of "world English" shows
how shared syntax and lexicon doesn't mean that people of different historical backgrounds are necessarily saying the same things at all. In another, text linguistics, second language English speakers complain that their articles, in English, have problems making it past native English speaking editors, not because of syntax and lexicon, but because the sense of presenting and analyzing a problem is so different. The Austrian joke I learned during my days at the Linguistics Institute in Vienna was, a German comes in with his eleven volume "Introduction to Elephant Science" and the American comes in with a twenty page essay entitled "How To Use an Elephant." Thing that would fascinate me would be to look at all the old tried and true much studied issues treated in the natural language literature--language policy, language change, multilingualism, pidgins and creoles, etc--and use them to follow the evolution of computer languages, which are much more formally constrained and self- consciously constructed. Well, sometimes anyway (:. Mike On Dec 5, 2005, at 6:22 PM, J T Johnson wrote: > Ray, et al.: > > Can/could you tell from studying code anything about the author's > culture? > > For example, if I gave three teams a project and objectives to code > in the same language, could I later apply forensic techniques in > order to say, "This project result was coded by the Russian team, > this one by the Indians and that one by the Americans, or at least > someone trained in those counties"? > > Just as a linguist can often narrow a person's place of origin to > some fairly small region, would a coder over time reflect similar > cultural "accents" as opposed to individual idiosyncrasies? Or is > coding simply too exacting to allow for much deviance? > > These analytic techniques might draw on content analysis, photo > interpretation, remote sensing and other forensic disciplines, even > the analysis of art (See The Rembrandt Code in WIRED .) But each > of those usually has a base or standard version to work from in > searching for deviations. How much code would an forensic analyst > need to make some predictions of authorship? > > I'm thinking that understanding all this might have some > interesting applications in tracking the memes of innovation and > technological change over time and place. > > -Tom > An HTML attachment was scrubbed... URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051205/45e30d5a/attachment.htm |
Administrator
|
An interesting modifier for describing languages nowadays is
"agile". It is both a desire to go back to a simpler world, yet a desire to have a modern language. And yes, it has social impact .. developers are starting to be very tired of how hard it is to build simple things and are revolting .. running in the school halls so to speak .. and having none of the Big Corporate Bullshit anymore. Part of "agile" is expressive power and brevity: doing a lot with a small number of constructs. The language also has to provide for modern requirements like garbage collection and threads .. things that make it very easy to team program and to write "services". And "object orientation" natch. Java was the first to provide several important ideas, but fell down badly with agility: it takes way, way, way too much code to do simple things. Earning the Java Merit Badge is really a form of desperation. There is a feeling in the hacker community that The Next Big Thing is about to happen, however, and it will be a sweet language. Ruby is really close. Python certainly has lead us on a fine chase, but its object system is soooo bad that few folks can stand it for long. PHP is a polished web environment but definitely showing its age. But there is another thing going on .. and I'm not so sure how it relates to narrative and social constructs: Frameworks. Frameworks are suites of classes which make it trivial to do something that from scratch is very hard. It is a realization that "libraries" and "packages" are not enough. The best example in the past that I recall is MacApp .. an early Application Framework. You had to subclass three classes, basically Model, View, and Controller, and you had a trivial application. You inherited cut & paste, redo/ undo, printing, file browsing, keyboard shortcuts, standard menus, etc etc. Thus you started with a "null app" and made modifications for your particular app. Ruby on Rails is the hottest Framework nowadays .. same idea: you get a Web App for nearly free, plus a really "agile" language to boot. It has absolutely skyrocketed. -- Owen Owen Densmore http://backspaces.net - http://redfish.com - http://friam.org |
The keyword "Agile Programming" reminds me of this Dilbert cartoon http://www.dilbert.com/comics/dilbert/archive/dilbert-20051116.html -J. -----Urspr?ngliche Nachricht----- Von: Friam-bounces at redfish.com [mailto:Friam-bounces at redfish.com] Im Auftrag von Owen Densmore Gesendet: Dienstag, 6. Dezember 2005 06:09 An: The Friday Morning Applied Complexity Coffee Group Betreff: Re: [FRIAM] language stuff An interesting modifier for describing languages nowadays is "agile". It is both a desire to go back to a simpler world, yet a desire to have a modern language. And yes, it has social impact .. developers are starting to be very tired of how hard it is to build simple things and are revolting .. running in the school halls so to speak .. and having none of the Big Corporate Bullshit anymore. Part of "agile" is expressive power and brevity: doing a lot with a small number of constructs. The language also has to provide for modern requirements like garbage collection and threads .. things that make it very easy to team program and to write "services". And "object orientation" natch. Java was the first to provide several important ideas, but fell down badly with agility: it takes way, way, way too much code to do simple things. Earning the Java Merit Badge is really a form of desperation. There is a feeling in the hacker community that The Next Big Thing is about to happen, however, and it will be a sweet language. Ruby is really close. Python certainly has lead us on a fine chase, but its object system is soooo bad that few folks can stand it for long. PHP is a polished web environment but definitely showing its age. But there is another thing going on .. and I'm not so sure how it relates to narrative and social constructs: Frameworks. Frameworks are suites of classes which make it trivial to do something that from scratch is very hard. It is a realization that "libraries" and "packages" are not enough. The best example in the past that I recall is MacApp .. an early Application Framework. You had to subclass three classes, basically Model, View, and Controller, and you had a trivial application. You inherited cut & paste, redo/ undo, printing, file browsing, keyboard shortcuts, standard menus, etc etc. Thus you started with a "null app" and made modifications for your particular app. Ruby on Rails is the hottest Framework nowadays .. same idea: you get a Web App for nearly free, plus a really "agile" language to boot. It has absolutely skyrocketed. -- Owen Owen Densmore http://backspaces.net - http://redfish.com - http://friam.org ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at Mission Cafe lectures, archives, unsubscribe, maps at http://www.friam.org |
Free forum by Nabble | Edit this page |