User loginNavigation |
archivesHistorical or sociological studies of programming language evolution?I have been reading Ostler's "Empires of the Word: A Language History of the World" with an eye towards making analogies between the spread and evolution of natural languages with engineered computer ones. While we prefer to discuss languages here based on 'technical' merits within the language (e.g., ability to reason about programs, performance and implementation implications, etc.), I'm curious about more contextual social factors. For example, one way to explain the creation of FrTime's variant of data flow / FRP is that Greg Cooper was a member of the PLT Scheme community (so it is Scheme based and has side effects), previously worked in embedded systems (so it emphasizes glitch-freedom), and is a member of the PL community / an hour or two from Yale (so influenced by Haskell-style FRP). As another, the recent discussion on LtU about the matlab vs S/R vs python for statistics ultimately was more about communities than technical merit, suggesting the human / societal / cultural element of language use is fundamental to the success of a programming language in terms of penetration. I'm wondering if anyone has suggestions on papers or studies in a similar vein. For example, what was the canonical source breaking down 'generations' of language (first gen, second gen, etc.)? I think there was a neat diagram floating around the web showing a basic parent-child relationship between languages over time. Another relevant one (I believe in CTM) is Peter van Roy's language spectrum focusing on relationships between languages based on features. Another obvious relevant source is History of Programming Language style articles about the inception of particular languages. Paper citation chains hint at time and geographic relationships. If there happen to be linguists around, sharing reading lists about the natural language side of things as I break into this could be fun too :) The Recruitment Theory of Language OriginsLeo Meyerovich recently started a thread on LtU asking about Historical or sociological studies of programming language evolution?. I've been meaning to post a paper on this topic to LtU for awhile now, but simply cherrypicking for the opportune time to fit it into forum discussion. With Leo's question at hand, I give you an interesting paper that models language evolution, by artificial intelligence researcher Luc Steels. Steels has spent over 10 years researching this area, and his recent paper, The Recruitment Theory of Language Origins, summarizes one of his models for dealing with language evolution:
Delimited Control in OCaml, Abstractly and Concretely, System DescriptionDelimited Control in OCaml, Abstractly and Concretely, System Description
Oleg was kind enough to send me an e-mail letting me know of this paper's existence (it appears not yet to be linked from the "Computation" page under which it is stored) and to include me in the acknowledgements. Since the paper in its current form has been accepted for publication, he indicated that it can be made more widely available, so here it is. In typical Oleg fashion, it offers insights at both the theoretical and implementation levels. By Paul Snively at 2010-01-25 17:27 | Cross language runtimes | Functional | Implementation | Semantics | Type Theory | 3 comments | other blogs | 8524 reads
Operator precedenceGetting an expression grammar right is a core part of any language. Simple two-level (mult binds tighter than add) examples abound in texts and such. But how far should it be taken? I'm looking at a grammar now (the lamented - by me - HyperTalk) that has ten levels. Is that going overboard? In particular, what do you get by separating equalities from inequalities like this: ( ) // bind tightest I'm constructing a grammar in which the equalities and inequalities have the same level of binding, i.e. it's left to associativity to sort out who goes first. Is there a gotcha waiting for me? are rewrite systems really the bee's kneesI get the impression from reading about rewrite systems that in some sense we should all just give up on other approaches and simply do everything as rewrite rules. But of course I've never really used or learned such things, so I assume there are simple and good and probably quickly obvious reasons why s-exprs and c-style syntaxes are still around. I'd appreciate thoughts/experiences/summaries. |
Browse archivesActive forum topics |
Recent comments
22 weeks 3 days ago
22 weeks 3 days ago
22 weeks 3 days ago
44 weeks 5 days ago
49 weeks 9 min ago
50 weeks 4 days ago
50 weeks 4 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago