Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 135

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 135

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 187

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 188

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 189

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 194

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 195

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 196

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 197

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 241

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 264

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 269

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 275

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 285

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 286

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 296

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 297

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 298

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 308

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 309

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 310

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 311

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 321

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 322

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 323

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 324

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 325

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 497

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 527

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 540

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 587

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 626

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 668

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 668

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 670

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 673

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 682

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 688

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 693

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/ on line 699

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/ on line 410

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/ on line 410

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 633

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 272

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 110

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/ in /home/didierve/ on line 295
Didier Verna's Scientific Blog - Miscellaneous Didier Verna's scientific blog: Lisp, Emacs, LaTeX and random stuff. 2024-01-31T17:45:28+00:00 Didier Verna urn:md5:a22c53786aff986a2da4c770c233a8f9 Dotclear How Deep Learning may change the face of customer support urn:md5:6ce8dd165d527f37495e580074642252 Wednesday, March 11 2020 Wednesday, March 11 2020 Didier Verna Miscellaneous Customer SupportDeep Learning <p>Today, I was browsing the support forum of a software product I own a license for, and I suddenly realized something which is probably not obvious at all, especially if you're not yourself a computer scientist. For some time now, I've been noticing something I found rather odd in various threads on this forum. In many situations, one of the product developers (I guess), a very active, kind, and responsive person ends up replying "well, <em>the product</em> can't be perfect". This is a response I felt very uncomfortable with, right from the start. Why? Well, I don't think anyone expects any product (especially software) to be perfect. People on the forum just report bugs, and expect some form of acknowledgement that the bug is there, is reproducible, and that a workaround or a fix is on its way, or will be soon. But why does this developer feel the need for confessing that the product is "not perfect", and why so often? It almosts sounds like an embarassed apology.</p> <p>The product in question is in fact a real-time audio signal analysis application. In order to remain not too specific, let's just say that you feed it with some music, and it spits out the notes as it recognizes them. With my CS background, I'm used to signal processing application using Fourier transforms and whatnot to perform deterministic computation on the processed signal. But recently, I found out that this product uses Deep Learning technologies, and then I suddenly understood what's going on.</p> <p>Imagine you get a complaint that your "legacy" signal processing software is unable to recognize a C2 in a bunch of simultaneous notes. You could probably figure out (and reply) that there's a bug in your Fourier transform implementation, or that you got the amplitude computation wrong, and the note is below the activation threshold, or you have a low-cut filter that was not configured properly, or whatever.</p> <p>But now imagine that your software is a (correct) gigantic neural net. What can you say? Not only there isn't a specific algorithm to debug. On top of that, you're also completely incapable of deciphering what's really going on <strong>in</strong> the net. So you need to re-train your system, probably. But what can you say to your customer? There is no specific bug to acknowledge, let alone a specific workaround or imminent "bugfix". Besides, who knows what previously fine situation could degrade after the new training? So yes, I suppose, you're a bit stuck on how and what exactly you can reply to your customer. Apart maybe from what computer scientists know very well about that kind of technology: it can <strong>never</strong> be perfect.</p> <p>Now that I've come to realize this, it seems to me that as Deep technologies continue to spread to a variety of applications, the face of customer support may change drastically, in the sense that while users continue to experience very specific problems, it will no longer be possible to provide them with very specific answers.</p> Onward! Essays 2020 Call for Papers urn:md5:3bc9cf9a8b41a032bdf8c87c1df194a1 Tuesday, March 3 2020 Tuesday, March 3 2020 Didier Verna Miscellaneous computer scienceconferenceProgrammingProgramming Languages <pre> Onward! Essays 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software Renaissance Chicago Downtown Hotel Chicago, USA November 18--20 2020 Part of SPLASH 2020 Systems, Programming Languages and Applications: Software for Humanity Onward! is a premier multidisciplinary conference focused on everything to do with programming and software: including processes, methods, languages, communities, applications and education. Compared to other conferences, Onward! is more radical, more visionary, and more open to ideas that are well-argued but not yet proven. It is not looking for research-as-usual papers. To allow room for bigger, bolder and/or less mature ideas, it accepts less exact methods of validation, such as compelling arguments, exploratory implementations, and substantial examples. Onward! Essays is looking for clear and compelling pieces of writing about topics important to the software community (there is also a parallel Papers track with a seperate announcement). An essay can be an exploration of the topic and its impact, or a story about the circumstances of its creation; it can present a personal view of what is, explore a terrain, or lead the reader in an act of discovery; it can be a philosophical digression or a deep analysis. It can describe a personal journey, perhaps the one the author took to reach an understanding of the topic. The subject area—software, programming, and programming languages—should be interpreted broadly and can include the relationship of software to human endeavors, or its philosophical, sociological, psychological, historical, or anthropological underpinnings. Format and Selection: Onward! essays must describe unpublished work that is not currently submitted for publication elsewhere as described by SIGPLAN's Republication Policy. Submitters should also be aware of ACM's Policy and Procedures on Plagiarism. Onward! essays should use the ACM SIGPLAN Conference acmart format. Please refer to the conference's website above for full details. The Onward! Essays track follows a two-phase review process. Essays are peer-reviewed in a single-blind manner. Accepted essays will appear in the Onward! Proceedings in the ACM Digital Library, and must be presented at the conference. Submissions will be judged on the potential impact of the ideas and the quality of the presentation. Important dates: All deadlines are midnight, anywhere on Earth. Essay submission: 23 April First-round notification: 11 June Second-round submission: 15 July Final notification: 30 July Conference: 18--20 November Programme Committee: Didier Verna, EPITA Research lab, France (Program Chair) Anya Helene Bagge, University of Bergen, Norway Alexandre Bergel, University of Chile Jean Bresson, Ableton, Germany Maxime Chevalier-Boisvert, Université de Montréal, Québec Elisa Gonzalez Boix, Vrije Universiteit Brussel, Belgium Hidehiko Masuhara, Tokyo Institute of Technology, Japan Kent Pitman, PTC, USA Donya Quick, Stevens Institute of Technology, USA Gordana Rakić, University of Novi Sad, Serbia </pre> Comment faire plaisir à son vieux prof urn:md5:78b652b349d6dcde93c3d45a881070ad Friday, June 3 2016 Friday, June 3 2016 Didier Verna Miscellaneous EnseignementPédagogie <p>L&rsquo;enseignement ne doit pas, ou ne devrait pas être juste un métier. Pour que ça marche, il faut que ce soit une vocation. Il faut aimer transmettre ce que l&rsquo;on sait, il faut aimer faire le clown sur scène pour capturer et conserver l&rsquo;attention d&rsquo;un auditoire pas toujours à ce qu&rsquo;il fait... Un enseignement réussi, pour moi, c&rsquo;est tout simplement du théâtre. Il faut s&rsquo;amuser, et alors les étudiants s&rsquo;amuseront aussi. C&rsquo;est d&rsquo;ailleurs pourquoi la manière de transmettre est certainement plus importante que la matière transmise.</p> <p>Les systèmes d&rsquo;exploitation n&rsquo;ont jamais été une matière favorite pour moi, et pourtant je me suis amusé comme un fou à en parler pendant plus de 10 ans...</p> <p>Pour bien enseigner, il faut aimer transmettre ce que l&rsquo;on sait, donc, mais il faut aussi avoir l&rsquo;aplomb de ne pas transmettre ce que l&rsquo;on ne sait pas. Croyez-moi, les étudiants ne sont pas dupes d&rsquo;un prof qui brode laborieusement pour faire semblant de savoir répondre à une question. Au contraire, en répondant «&nbsp;je ne sais pas&nbsp;» quand c&rsquo;est tout simplement la vérité, on continue à transmettre, mais autre chose. On transmet l&rsquo;idée qu&rsquo;aucun humain n&rsquo;est infaillible, que l&rsquo;on ne sait jamais tout sur tout. On transmet l&rsquo;idée que même un prof est susceptible de passer à côté de choses importantes (quand on est enseignant-chercheur de surcroît, on ne le sait que trop bien&thinsp;!). On peut aussi du même coup transmettre l&rsquo;idée que la curiosité est une qualité, que les questions sont au moins aussi intéressantes que les réponses, et, cerise sur le gâteau, transmettre un sentiment gratifiant de respect et de considération envers l&rsquo;étudiant qui pose une question pertinente, voire pointue. On ne gagnera jamais le respect de son auditoire en faisant semblant de tout savoir. Le respect (et par voie de conséquence, l&rsquo;autorité) se gagne en étant soi-même.</p> <p>Mais je m&rsquo;égare, car mon objectif n&rsquo;était pas du tout celui-ci quand j&rsquo;ai commencé à écrire ce blog... Comment faire plaisir à son vieux prof&thinsp;? En fait, c&rsquo;est très facile: si un prof a mis tout son coeur à faire le clown sur scène pour transmettre en s&rsquo;amusant, rappelez-vous tout simplement de la pièce de théâtre, et dites-lui que vous avez aimé&thinsp;!</p> <p>Il y a un an jour pour jour, je postais le message qui suit sur Facebook.</p> <p><strong>&lt;style="journalistique"&gt;</strong></p> <blockquote><p>Rien ne laissait présager alors du flot de commentaires chaleureux qui s&rsquo;en suivirent, et de l&rsquo;émotion qui me rempli à l&rsquo;intérieur de moi-même...</p></blockquote> <p><strong>&lt;/style&gt;</strong></p> <p>Il n&rsquo;en faut pas beaucoup pour combler son vieux prof de joie. Facebook m&rsquo;a ressorti ce post aujourd&rsquo;hui, et afin d&rsquo;éviter qu&rsquo;il se perde à nouveau dans un océan d&rsquo;autres messages, j&rsquo;ai décidé d&rsquo;en sauvegarder précieusement la substantifique moelle ici...</p> <pre> Et voilà, c'est officiel. Après plus de 10 ans de bons et loyaux services, je passe définitivement la main sur le cours de Systèmes d'Exploitation. Mais pour compenser, il y aura dès la rentrée prochaine un cours de Programmation Fonctionnelle enrichi, et un nouveau cours (surprise pour l'instant) !</pre> <pre> Au moins 13 ans, je t'avais en cours en 2001 sur cette matière. J'ai like, mais non je ne devrais pas... <strong>Ça me fait tout drôle quand même !</strong> Oh noooo ! Une grande perte pour les 2018 ... Jamais ils ne connaîtront Auguste Pignard ou encore les processus découpés comme des saucissons ... :( <strong>J'essaye de recycler mes blagues les plus célèbres dans le cours de fonctionnel,</strong> <strong>mais faut dire que c'est beaucoup plus difficile...</strong> Et les enfants sur le tourniquet qui se font dégager dans le "round robin" <strong>Putain, mais arrêtez les mecs, vous allez me faire regretter !!</strong> Et les chèques de Montgallet ... Si on tue son père on devient un Démon... :'(. Sans oublier la méthode Bayrousienne ... <strong>Ça y est. JE VEUX CONTINUER CE COUUUUUUURS !!! On se marrait tellement !</strong> C'était l'un des rares moments de joie et de bonheur au S1 :( Et la mamie avec ses courses... et les centaines de mamies avec UNE course ! Oh mon dieu j'avais oublié les pénuries :'( C'était un très bon cours et en effet dommage que ça s'arrête. Mais il y a un temps pour tout! Bonne continuation a toi Didier.</pre> <p>Alors mes chers anciens élèves, je vous promets de continuer à faire vivre par tous les moyens possibles, Auguste Pignard, François Bayroux, la p&rsquo;tite vieille avec son paquet de biscottes, les enfants qui se font éjecter du tourniquet et les rondelles de saucisson. Je promets également aux générations futures d&rsquo;inventer de nouveaux personnages rigolos, afin que transmission continue à rimer avec théâtre (ah merde, ça rime pas en fait).</p> <p>Merci à tous du fond du coeur; je vous aime&thinsp;!</p> DSL 2015 Call for Papers urn:md5:27b9e77da475f2488670b440a48cbd19 Tuesday, May 19 2015 Tuesday, May 19 2015 Didier Verna Miscellaneous computer scienceconferenceDSLDynamic Languages <pre> ----------------------------- C A L L F O R P A P E R S ----------------------------- ======== DLS 2015 =========== 11th Dynamic Languages Symposium 2015 October, 2015 Pittsburgh, Pennsylvania, United States Co-located with SPLASH 2015 In association with ACM SIGPLAN The 11th Dynamic Languages Symposium (DLS) at SPLASH 2015 is the premier forum for researchers and practitioners to share knowledge and research on dynamic languages, their implementation, and applications. The influence of dynamic languages -- from Lisp to Smalltalk to Python to Javascript -- on real-world practice and research continues to grow. DLS 2015 invites high quality papers reporting original research, innovative contributions, or experience related to dynamic languages, their implementation, and applications. Accepted papers will be published in the ACM Digital Library, and freely available for 2 weeks before and after the event itself. Areas of interest include but are not limited to: Innovative language features and implementation techniques Development and platform support, tools Interesting applications Domain-oriented programming Very late binding, dynamic composition, and run-time adaptation Reflection and meta-programming Software evolution Language symbiosis and multi-paradigm languages Dynamic optimization Hardware support Experience reports and case studies Educational approaches and perspectives Semantics of dynamic languages == Invited Speaker == DLS is pleased to announce a talk by the following invited speaker: Eelco Visser: Declare your Language. == Submissions and proceedings == Submissions should not have been published previously nor under review at other events. Research papers should describe work that advances the current state of the art. Experience papers should be of broad interest and should describe insights gained from substantive practical applications. The program committee will evaluate each contributed paper based on its relevance, significance, clarity, length, and originality. Papers are to be submitted electronically at in PDF format. Submissions must be in the ACM format (see and not exceed 12 pages. Authors are reminded that brevity is a virtue. DLS 2015 will run a two-phase reviewing process to help authors make their final papers the best that they can be. After the first round of reviews, papers will be rejected, conditionally accepted, or unconditionally accepted. Conditionally accepted papers will be given a list of issues raised by reviewers. Authors will then submit a revised version of the paper with a cover letter explaining how they have or why they have not addressed these issues. The reviewers will then consider the cover letter and revised paper and recommend final acceptance or rejection. Accepted papers will be published in the ACM Digital Library. Important dates Abstract Submissions: Sun 7 Jun 2015 Full Submissions: Sun 15 Jun 2015 First phase notification: Mon 27 Jul Revisions due: Mon 3 Aug Final notification: Mon 17 Aug Camera ready: Fri 21 21 Aug Program chair Manuel Serrano, Inria Sophia-Antipolis, Program committee Carl Friedrich Bolz, DE William R. Cook, UTexas, USA Jonathan Edwards, MIT, USA John Field, Google, USA Matt Flatt, USA Elisa Gonzalez Boix, Vrije Universiteit, BE Robert Hirschfeld, Hasso-Plattner-Institut Potsdam, DE Benjamin Livshits, Microsoft, USA Crista Lopes, UC Irvine, USA Kevin Millikin, Google, DN James Noble, Victoria University of Wellington, NZ Manuel Serrano, Inria, FR (General chair) Didier Verna, EPITA, FR Jan Vitek, Purdue, USA Joe Politz, Brown University, USA Olivier Tardieu, IBM, USA </pre> JBBE: Fake Academic Journal, the Next Generation urn:md5:96f0e2b31b0adbb4ab7791f638607643 Tuesday, November 12 2013 Tuesday, November 12 2013 Didier Verna Miscellaneous AcademyFakehumorJournalSpam <p>If you work in the academy, you are surely already getting a lot of spam from <a href="">fake conferences</a> asking for papers, PC participation etc. You also know that several years ago, a new form of harassment appeared: fake academic <em>journals</em>. There seems to be more and more of those everyday.</p> <p>Sometimes, they're a bit hard to spot, especially if their focus seems to be in accordance with your activities. A hint is that you've never heard of them before, though. And sometimes, they're not hard to spot... <em>at all</em>. Meet the stupidest fake academic journal <strong>ever</strong>: the <a href="" hreflang="en">Journal of Bioinformatics and Biological Engineering</a>.</p> <p>Here's what I recieved yesterday:</p> <blockquote><p>We recently noticed your outstanding paper “Lisp: Report on the 5th workshop ELW at ECOOP 2008” and it well suits the focus and scope of Journal of Bioinformatics and Biological Engineering(JBBE). Considering that we share the same interests in Bioinformatics and Biological Engineering, we are now sending this message to you and sincerely invite you to share your new research or updated results in JBBE.</p></blockquote> <p>So, here are a couple of remarks:</p> <ol> <li>It's cool that you have noticed this paper "recently", although it's almost 6 years old now.</li> <li>The paper in question is actually not a paper. It's a conference proceedings for which I was programme chair, so basically, I wrote only the cover in it.</li> <li>Finally, there is nothing related to Biology in there. It's about a dynamic programming language.</li> </ol> <p>Well done, guys. You almost got me! Ah, one more thing: I do have some interest in Computer Science and Biology, and I even wrote two papers in this area. Apparently, you failed to spot them, though...</p> <p>Here's the end of the message:</p> <blockquote><p>Please kindly forward this email to your colleagues and students. We shall be greatly appreciated to hear from you at any time.</p></blockquote> <p>No, I won't forward this email to my colleagues. And no, you shan't be "greatly appreciated" to hear from me at any time!</p> Keynote at ACCU 2014 urn:md5:ead2568a8acac80286796e2bbdf26fd9 Monday, September 23 2013 Monday, September 23 2013 Didier Verna Miscellaneous ACCUbiologycomputer scienceconferencekeynote <p>I am thrilled to announce that I will be a keynote speaker at the next <a href="" hreflang="en">ACCU conference</a>. The abstract of my keynote is given below. Looking forward to see you there!</p> <h3>Biological Realms in Computer Science</h3> <p>In biology, evolution is usually seen as a tinkering process, different from what an engineer does when he plans the development of his systems. Recently, studies have shown that even in biology, there is a part of good engineering. As computer scientists, we have much more difficulty to admit that there is also a great deal of tinkering in what we do, and that our software systems behave more and more like biological realms every day.</p> <p>This keynote will take you to a journey through the bonds between biology and computer science. Starting with an epistemological and historical view, we will see how these bonds developed over the years, but we will also ask ourselves whether these bonds were intentionally created, or whether they already existed, before we even found them. We will also meet the Engineer and the Tinkerer, and see that they are not necessarily different persons. Finally, through such notions as Determinism, Predictability and Control, we will envision and explain a possible future for our software systems seen as living organisms; a future that's in fact already here, but that we are reluctant to accept.</p> So long, TweetDeck urn:md5:9684cef312f8b07fd5f8661900dd4ad0 Tuesday, May 14 2013 Tuesday, May 14 2013 Didier Verna Miscellaneous FacebookGoogle PlusSocial NetworksTwitter <p>In a recent <a href="" hreflang="en">blog</a> full of marketting crap, Twitter announced that they are dropping all versions of TweetDeck except for the web-based app, and that they are also dropping support for Facebook integration. Well, that's too bad because these were the only two things that made me use it.</p> <p>The annoucement starts like this:</p> <blockquote><p>To continue to offer a great product that addresses your unique needs <a href="" title="...">...</a></p></blockquote> <p>Yeah, right. Great product? Not so much. For starters, it would have been <em>really</em> great if it had gotten support for Google Plus at some point. Something that many of us were desperately hoping for.</p> <p>As for my "unique needs", thank you very much but you don't know squat about them obviously, and besides, they're not even "unique". Again, for many of us, what were the 2 crucial features of TweetDeck, compared to the other alternatives?</p> <ol> <li>Social net <em>aggregation</em> (including Twitter and Facebook) plus sorting and filtering facilities; something that many other tools (such as HootSuite) do,</li> <li>Social net <em>merging</em>, something that to the best of my knowledge, no other tool does.</li> </ol> <p>This second feature was absolutely crucial to me. The ability to have the "Home" column displaying all social feeds all at once, all in one place. The "Interactions" column displaying a merge of all my interactions on both Facebook and Twitter all at once, all in one place. Boy, did I wish Google Plus was there as well. And now this is all gone.</p> <p>So I guess I'm back to the stone age now. One freaking web page for every social net. Or I could finally switch to HootSuite, with its so ugly and so much bloated interface. Correct me if I'm wrong, but I don't think HootSuite does social merging (is there a tool left that does it now?). But at least, it has some partial support for Google Plus (only pages; let's hope that this will change soon).</p> <p>The annoucement starts like this:</p> <blockquote><p>From the whole TweetDeck team, we’re excited about what the future holds. We hope you are too.</p></blockquote> <p>Well, you know, not so much, really.</p> <p>So long, TweetDeck, and thanks for your help until today.</p> <p>Hint: the next social net <strong>killer</strong> app will need to do social merging, sorting and filtering, with at least Twitter, Facebook and Google Plus. Now, to your keyboards, you geeks.</p> COP'13 - 5th international workshop on context-oriented programming urn:md5:d08cb8b4174370f23b16ca5e8ec6adf0 Sunday, March 24 2013 Sunday, March 24 2013 Didier Verna Miscellaneous conferenceCOPECOOPworkshop <pre> Call for Papers COP'13 Fifth International Workshop on Context-Oriented Programming Worokshop in conjunction with ECOOP, ECMFA, and ECSA 2013 Montpellier, France, July 2nd, 2013 Overview -------- Context information plays an increasingly important role in our information-centric world. Software systems must adapt to changing contexts over time, and must change even while they are running. Unfortunately, mainstream programming languages and development environments do not support this kind of dynamic change very well, leading developers to implement complex designs to anticipate various dimensions of variability. Starting from this observation, Context-Oriented Programming (COP) has emerged as a solution to directly support variability depending on a wide range of dynamic attributes, making it possible to dispatch run-time behaviour on any property of the execution context. The goal of the 5th International Workshop on Context-Oriented Programming (COP’13) is to further establish context orientation as a common thread to language design, application development, and system support. Several researchers are working on Context-Oriented Programming and related ideas, and implementations ranging from prototypes to mature platform extensions used in commercial deployments have illustrated how multi-dimensional dispatch can indeed be supported effectively to achieve expressive run-time behavioural variations. Topics of interest include but are not limited to: - Interesting application domains and scenarios - Programming language abstractions for context-oriented programming (e.g. dynamic scoping, roles, traits, prototype-based extensions) - Theoretical foundations for context-oriented programming (e.g., semantics, type systems) - Configuration languages (e.g. feature description interpreters, transformational approaches) - Interaction between non-functional programming concerns and context-oriented programming (e.g. security, persistence, concurrency, distribution) - Modularization approaches for context-oriented programming (e.g. aspects, modules, layers, plugins) - Guidelines to include context-oriented programming in programs (e.g. best practices, patterns) - Runtime support for context-oriented programming (e.g. reflection, dynamic binding) - Tool support Important dates --------------- * Paper submission: April 19, 2013 * Notification: May 8, 2013 * Final papers due: May 22, 2013 (to be confirmed) * Early registration: May 31, 2013 Submission guidelines --------------------- COP invites submissions of high-quality papers reporting original research, or describing innovative contributions to, or experience with context-oriented programming, its implementation, and application. Papers that depart significantly from established ideas and practices are particularly welcome. Submissions must not have been published previously and must not be under review for any another refereed event or publication. The program committee will evaluate each contributed paper based on its relevance, significance, clarity, and originality. It is planned to publish accepted papers in the ACM Digital Library, unless the authors choose not to. In case of publication in the ACM Digital Library, authors must transfer copyright to ACM upon acceptance (for government work, to the extent transferable), but retain various rights (see ACM Copyright Policy. Authors are encouraged to publish auxiliary material with their paper (source code, test data, etc.); they retain copyright of auxiliary material. Papers should be submitted electronically via EasyChair (URL TBA) in PDF format. Submissions must be written in English (the official language of the workshop) and must not exceed 6 pages. They should use the ACM SIGPLAN 10 point format, templates for which are available at Program Committee ----------------- Tomoyuki Aotani, Japan Advanced Institute of Science and Technology, Japan Pascal Costanza, Intel, USA Carl Friedrich Bolz, Heinrich-Heine-Universität Düsseldorf, Germany Sebastián González, UCLouvain, Belgium Atsushi Igarashi (Chair), Kyoto University, Japan David Lorenz, Open University of Israel, Israel Didier Verna, EPITA Research and Development Laboratory (LRDE), France Organising committee -------------------- Malte Appeltauer, SAP Innovation Center, Germany Sebastián González, UCLouvain, Belgium Robert Hirschfeld, Hasso-Plattner-Institut, Germany Atsushi Igarashi, Kyoto University, Japan (primary contact) Hidehiko Masuhara, University of Tokyo, Japan More information ---------------- See the workshop website at </pre> Dyla'13, 7th Workshop on Dynamic Languages and Applications urn:md5:d8daa14fee6247e4fd01c604457d81dc Tuesday, February 26 2013 Tuesday, February 26 2013 Didier Verna Miscellaneous conferenceDynamic LanguagesProgramming Languages <pre> Dyla'13, 7th Workshop on Dynamic Languages and Applications Colocated with ECOOP, ECMFA and ECSA 1–5 July, Montpellier, France !! Important dates - Submission deadline: April 19th - Notification: mid-May - Workshop: July 1st - Ecoop early registration: mid-May !! Abstract The advent of Java and C# has been a major breakthrough in the adoption of some important object-oriented language characteristics. This breakthrough turned academic features like interfaces, garbage collection, and meta-programming into technologies generally accepted by industry. Nevertheless, the massive adoption of these languages now also gives rise to a growing awareness of their limitations. A number of reactions from industry testify this: invokedynamic bytecode instruction has been included in latest Java virtual machine release; the dynamic language runtime (DLR) is gaining popularity; C# adopted dynamic as a valid static type. Gartner prognoses further growth ( of dynamic languages. Researchers and practitioners struggle with static type systems, overly complex abstract grammars, simplistic concurrency mechanisms, limited reflection capabilities, and the absence of higher-order language constructs such as delegation, closures and continuations. Dynamic languages such as Ruby, Python, JavaScript and Lua are a step forward in addressing these problems while getting more and more popular. Making these languages mainstream requires practitioners to look back and pick mechanisms up in existing dynamic languages such as Lisp, Scheme, Smalltalk and Self. Practitioners also need to further explore discover new dynamic approaches in the context of new challenging fields such as pervasive computing. The goal of this workshop is to act as a forum where practitioners can discuss new advances in the design, implementation and application of dynamically typed languages that, sometimes radically, diverge from the statically typed class-based mainstream. Another objective is to discuss new as well as older &quot;forgotten&quot; languages and features in this context. Topics of interest include, but are not limited to: - programming language extensions - programming environment extensions - executing environments - static and dynamic analyses - optional type-checking - meta-object protocols - reserve engineering - domain-specific languages/tooling - testing environments - live programming !! Targeted audience The expected audience of this workshop is practitioners and researchers sharing the same interest in dynamically typed languages. Lua, Python, Ruby, Scheme and Smalltalk are gaining a significant popularity both in industry and academia. Nevertheless, each community has the tendency to only look at what it produces. Broadening the scope of each community is the goal of the workshop. To achieve this goal we will form a PC with leading persons from all languages mentioned above, fostering participation from all targeted communities. !! Workshop Format and Submission Information The workshop will have a demo-oriented style. The idea is to allow participants to demonstrate new and interesting features and discuss what they feel is relevant for the dynamic-language community. To participate to the workshop, you can either - submit (before __April 19th 2013__) an article (ACM Tighter Alternate style describing your presentation and/or tool. Articles whose length ranges from 2 to 15 pages will be carefully reviewed by a program committee including but not limited to the organizers. Each accepted paper will be presented for 20 to 30 minutes and be published to the ACM Digital Library (at the option of each author) and the workshop's web site. The submission website is - or give a 10-minute lightning demo of your work. A dedicated session will be allocated for this, provided there is ample time available. A session on pair programming is also planned. People will then get a chance to share their technologies by interacting with other participants. !! Program committee - Carl Friedrich Bolz, Heinrich-Heine-Universität Düsseldorf, Germany ( - Camillo Bruni, Inria Lille-Nord Europe, France ( - Adrian Kuhn, University of British Columbia, Canada ( - Lukas Renggli, Google, Switzerland ( - Juan Pablo Sandoval Alcocer, University of Chile ( - Bastian Steinert, Hasso-Plattner-Institute, Germany ( - Veronica Uquillas Gomez, Vrije Universiteit Brussel, Belgium ( - Simon Urli, University of Nice-Sophia Antipolis, France ( - Didier Verna, EPITA Research and Development Laboratory, France ( - the 4 workshop organizers !! Workshop Organizers - Alexandre Bergel ( - Damien Cassou ( - Jorge Ressia ( - Serge Stinckwich ( !! News feed Follow us on twitter: For further information: </pre> Call for Papers: ACM SAC'13 PL: ACM Symposium on Applied Computing, Programming Languages track urn:md5:7307e4e19000561944fbca6bdffc5f28 Tuesday, May 22 2012 Tuesday, May 22 2012 Didier Verna Miscellaneous ACMconferenceProgramming LanguagesSAC <pre> CALL FOR PAPERS SAC'13 - ACM 2013 SYMPOSIUM ON APPLIED COMPUTING Technical Track on &quot;Programming Languages&quot; March 18-22, 2013 Coimbra, Portugal SAC '13 Over the past 27 years, the ACM Symposium on Applied Computing has become a primary forum for applied computer scientists, computer engineers, software engineers, and application developers from around the world to interact and present their work. SAC 2013 is sponsored by the ACM Special Interest Group on Applied Computing (SIGAPP). For additional information, please check the SAC web page: This document is also available at: PROGRAMMING LANGUAGES (PL) TRACK A technical track on Programming Languages will be held at SAC'13. It will be a forum for engineers, researchers and practitioners throughout the world to share technical ideas and experiences relating to implementation and application of programming languages. Original papers and experience reports are invited in all areas of programming languages. Major topics of interest include but are not limited to the following: − Compiling Techniques, − Domain-Specific Languages, − Formal Semantics and Syntax, − Garbage Collection, − Language Design and Implementation, − Languages for Modeling, − Model-Driven Development and Model Transformation, − New Programming Language Ideas and Concepts, − New Programming Paradigms, − Practical Experiences with Programming Languages, − Program Analysis and Verification, − Program Generation and Transformation, − Programming Languages from All Paradigms (Agent-Oriented, Aspect-Oriented, Functional, Logic, Object-Oriented, etc.), − Visual Programming Languages. GUIDELINES FOR SUBMISSION Paper submissions must be original, unpublished work. Submissions should be in electronic format, via the START site: Author(s) name(s) and address(es) must not appear in the body of the paper, and self-reference should be avoided and made in the third person. Submitted papers will undergo a blind review process. Authors of accepted papers should submit an editorial revision of their papers that fits within six two-column pages (an extra two pages, to a total of eight pages, may be available at a charge). Please comply with this page limitation already at submission time. For accepted papers, registration for the conference is required and allows accepted papers to be printed in the conference proceedings. For each accepted paper, an author or a proxy attending SAC MUST present the paper. This is a requirement for the paper to be included in the ACM/IEEE digital library. A set of selected papers, which did not get accepted as full papers, will be accepted as poster papers and will be published as extended 2-page abstracts in the symposium proceedings. After the conference, selected accepted papers will be invited to a special issue of the Computer Languages, Systems and Structures journal ( IMPORTANT DATES September 21, 2012: Full Paper Submissions November 10, 2012: Author Notification November 30, 2012: Camera-Ready Copy The SAC 2013 Programming Language Track Program Committee Members Vasco Amaral, Universidade Nova de Lisboa, Portugal Roberto da Silva Bigonha, Universidade Federal de Minas Gerais, Brasil Haiming Chen, Chinese Academy of Sciences, China Johan Fabry, University of Chile, Chile Sebastian Guenter, Vrije Universiteit Brussel, Belgium Gopal Gupta, University of Texas at Dallas, USA Christian Haack, University of Nijmegen, The Netherlands Christian Hammer, Saarland University, Germany Matthias Hauswirth, University of Lugano, Switzerland Pedro Henriques, University of Minho, Portugal Michael Hind, IBM, USA Nigel Horspool, University of Victoria, Canada Zoltan Horvath, Eotvos Lorand University, Hungary Bo Huang, Intel, China Geylani Kardas, Ege University, Turkey Shih Hsi &quot;Alex&quot; Liu, California State University, Fresno, USA Hanspeter Moessenboeck, Johannes Kepler Universitat Linz, Austria Jesús García Molina, University of Murcia, Spain Nikolaos Papaspyrou, National Technical University of Athens, Greece Corneliu Popeea, Technical University of Munich, Germany Andre Santos, Universidade Federal de Pernambuco, Brazil Bostjan Slivnik, University of Ljubljana, Slovenia Didier Verna, EPITA, France Wuu Yang, National Chiao-Tung University, Taiwan Youtao Zhang, University of Pittsburgh, USA Track Chairs Marjan Mernik, University of Maribor, Slovenia, Barrett Bryant, University of North Texas, USA, </pre> JSPP: Morphing C++ into JavaScript urn:md5:741576760db6c8f42deffff0ff1de886 Tuesday, January 31 2012 Tuesday, January 31 2012 Didier Verna Miscellaneous CJavaScriptProgramming Languagespublicationsoftware <p>I'm happy to announce the publication of a new technical report entitled <a href="">JSPP: Morphing C++ into JavaScript</a>. The abstract is given below.</p> <blockquote><p>In a time where the differences between static and dynamic languages are starting to fade away, this report brings one more element to the "convergence" picture by showing that thanks to the novelties from its recent 0x standard, it is relatively easy to implement a JavaScript layer on top of C++. By that, we not only mean to implement the language features, but also to preserve as much of its original notation as possible. In doing so, we provide the programmer with a means to freely incorporate highly dynamic JavaScript-like code into a regular C++ program.</p> </blockquote> ACCU 2012 session on language extensibility urn:md5:3577b416d1c0d85eb6ca6a0462ac4dcc Tuesday, January 3 2012 Tuesday, January 3 2012 Didier Verna Miscellaneous ACCUconferenceDomain Specific LanguagesDSLExtensibility <p>I'm pleased to announce that I will hold a 90 minutes session on language extensibility at the next <a href="" hreflang="en">ACCU</a> conference. A shortened abstract is given below (a longer one is available at the conference website).</p> <h3>Impact of Extensibility on Domain Specific Language Design and Implementation</h3> <p>Domain-specific languages (DSLs) are usually very different from the general purpose language (GPL) in which the embedding application is written. The need for designing a DSL as a completely new language often comes from the lack of extensibility of the chosen GPL. By imposing a rigid syntax, a set of predefined operators and data structures, the traditional GPL approach leaves no choice but to implement a DSL as a different language, with its own lexical and syntactic parser, semantic analyzer and possibly its own brand new interpreter or even compiler.</p> <p>Some GPLs, however, are extensible or customizable enough to let one implement a DSL merely as either a subset or an extension of the original language. While the end-user does not see a difference with the traditional approach, the gain for the developer is substantial. Since the DSL is now just another entry point for the same original GPL, there is essentially only one application written in only one language to maintain. Moreover, no specific language infrastructure (parser, interpreter, compiler etc.) is required for the DSL anymore, since it is simply expressed in terms of the original GPL.</p> <p>The purpose of this presentation is to illustrate the most important factors that make a language truly extensible, and to show how extensibility impacts the process of DSL design and implementation.</p> [CfP] ACM Symposium on Applied Computing: Separation of Concerns urn:md5:5b07267a5541aae361392c73ac758c18 Monday, May 30 2011 Monday, May 30 2011 Didier Verna Miscellaneous ACMconferencePSCSAC <p><strong>Programming for Separation of Concerns (PSC) at ACM Symposium on Applied Computing (SAC)</strong> March 25-29, 2012 Riva del Garda (Trento) Italy</p> <h2>Description and Objectives</h2> <p>Complex systems are intrinsically expensive to develop because several concerns must be addressed simultaneously. Once the development phase is over, these systems are often hard to reuse and evolve because their concerns are intertwined and making apparently small changes force programmers to modify many parts. Moreover, legacy systems are difficult to evolve due to additional problems, including: lack of a well defined architecture, use of several programming languages and paradigms, etc.</p> <p>Separation of concerns (SoC) techniques such as computational reflection, aspect-oriented programming and subject-oriented programming have been successfully employed to produce systems whose concerns are well separated, thereby facilitating reuse and evolution of system components or systems as a whole. However, a criticism of techniques such as computational reflection is that they may bring about degraded performance compared with conventional software engineering techniques. Besides, it is difficult to precisely evaluate the degree of flexibility for reuse and evolution of systems provided by the adoption of these SoC techniques. Other serious issues come to mind, such as: is the use of these techniques double-edged? Can these systems suffer a ripple effect, whereby a small change in some part has unexpected and potentially dangerous effects on the whole?</p> <p>The Programming for Separation of Concerns (PSC) track at the 2012 Symposium on Applied Computing (SAC) aims to bring together researchers to share experiences in using SoC techniques, and explore the practical problems of existing tools, environments, etc. The track will address questions like: Can performance degradation be limited? Are unexpected changes dealt with by reflective or aspect-oriented systems? Is there any experience of long term evolution that shows a higher degree of flexibility of systems developed with such techniques? How such techniques cope with architectural erosion? Are these techniques helpful to deal with evolution of legacy systems?</p> <h2>Topics</h2> <p>Authors are invited to submit original papers. Submissions are encouraged, but not limited, to the following topics:</p> <ul> <li>Software architectures</li> <li>Configuration management systems</li> <li>Software reuse and evolution</li> <li>Performance issues for metalevel and aspect oriented systems</li> <li>Software engineering tools</li> <li>Consistency, integrity and security</li> <li>Generative approaches</li> <li>Experiences in using reflection, composition filters, aspect- and subject- orientation</li> <li>Evolution of legacy systems</li> <li>Reflective and aspect oriented middleware for distributed systems</li> <li>Modelling of SoC techniques to allow predictable outcomes from their use</li> <li>Formal methods for metalevel systems</li> </ul> <h2>Paper Submission</h2> <p>Original papers from the above mentioned or other related areas will be considered. Only full papers about original and unpublished research are sought. Parallel submission to other conferences or tracks is not acceptable.</p> <p>Papers can be submitted in electronic format via the SAC website (<a href=""></a>) within 31 August 2011. Please make sure that the authors name and affiliation do not appear on the submitted paper.</p> <p>Peer groups with expertise in the track focus area will blindly review submissions to the track. At least one author of the accepted paper should register and participate in the PSC track. Accepted papers will be published in the annual conference ACM proceedings.</p> <p>The camera-ready version of the accepted paper should be prepared using the ACM format (guidelines will be given on the SAC website). The maximum number of pages allowed for the final papers is six (6), with the option, at additional cost, to add two (2) more pages.</p> <p>A set of papers submitted to the PSC track and not accepted as full papers will be selected as poster papers and published in the ACM proceedings as 2-page papers, with the option, at additional cost, to add one (1) more page.</p> <h2>Important Dates</h2> <p>Paper Due August 31, 2011 Author Notification Oct. 12, 2011 Camera Ready Nov. 2, 2011</p> <p>Please check the web site for updates: <a href=""></a></p> Receive and Pay... NOT! urn:md5:1c239348d4355bb333c352f05e3a018b Saturday, April 30 2011 Saturday, April 30 2011 Didier Verna Miscellaneous customer serviceHTTPInternetsecurity <p><a href="">ReceiveAndPay</a> doesn't allow you to create your own password. They probably don't trust people to come up with a good one. Fair enough. So they generate a new password for you on an HTTPS page, and then sends it loud and clear to you by email! Good work gentlemen. ;-)</p> <p>But wait, it gets better. I have sent them an email about this. Here is what I just got back:</p> <blockquote><p>Answer to your question: Sir, we have taken good note of your message. The passwords are generated automatically by our system.</p></blockquote> <p>Right, thank you very much :-)</p> <p>So either there is a dumbass at the other end of the line, or (more probably because it is Saturday), that was an automated response. In that case, they should really be putting their time and energy into thinking about their security policy instead of trying to get clever about the contents of their (former ;-) customers messages...</p> Dynamic typing 30 years later urn:md5:9a206541113a6dad045fec664543c553 Thursday, June 24 2010 Thursday, June 24 2010 Didier Verna Miscellaneous CCSharpdynamic typingECOOPrant When the C++ guys announced support for lambda expressions in the upcoming version of the standard (assuming there's one), I refrained from blogging on the "better 30 years late than never" melody.<br /><br />Now I got big news for you guys. Today, everybody likes dynamic types. They even dare saying so at ECOOP (which means that ECOOP now accepts those papers, yeah things change).<br /><br />This year, we had a short introduction to an empirical study about the positive (or at least not negative -- one step at a time, this is still ECOOP --) impact of dynamic typing on the development process. And, cherry on the cake, we had this Microsoft guy who presented a paper about... <strong>supporting dynamic types in C#</strong> !!<br /><br />In short, the guy said that he wants to be as fashionable and cool as the people doing all sorts of fancy stuff with their scripting languages (he also said that this was a demand from the C# community).<br /><br />So that's it. A couple years ago, people suddenly realized that functional programming and, in particular, lambda expressions were a good thing. Today, people are also starting to realize that dynamic typing is a good thing.<br /><br />So after having endured 30 years of sarcasm about our dynamic types, it's only fair that we, the dynamic languages community, get to be sarcastic now.<br /> How to (not) make a good presentation urn:md5:864023893f30fdfd8476b2684d29c5be Sunday, May 2 2010 Sunday, May 2 2010 Didier Verna Miscellaneous rant Based on a recent experience, here is some piece of advice on how to (not) make a good "invited speaker" scientific presentation.<br /><br />1. Don't think you have been invited because you won a Nygaard price or whatever, but because you have designed a cool language.<br /><br />2. If you really need to start your talk by showing off your latest book to the audience, at least consider offering one to the lab that has just invited you.<br /><br />3. Don't spend half of your presentation on your CV (My Life, My Accomplishments etc.), because that's not why you were invited, and because the audience doesn't give a damn.<br /><br />4. When you have 60 minutes, don't come with the usual 300 slides that you carry everywhere and pick some at random. Your presentation won't make any sense.<br /><br />5. Before coming, try to take at least 5 minutes to figure out who you're going to talk to, what they know, what they don't. This will help you make more sense out of your presentation, and then, perhaps the audience will actually learn something.<br /><br />6. Try to understand that when <strong>you</strong> have an idea, it's not necessarily a good one, and when <strong>others</strong> have ideas, they're not necessarily bad ones.<br /><br />7. Try not to be dogmatic because this doesn't look so good to scientists. Show some humility. It is better to have many questions than to have all the answers.<br /><br />8. If you really want to make people believe that you have actually done some bibliography in your research, try to cite at least one paper more recent than the first OOPSLA in 1986. Otherwise, the picture of your knowledge about other current programming languages is, like, pretty explicit, and a bit sad.<br /><br />9. Understand that trying to <em>sell</em> your product will never work with researchers.<br /><br />Well, I guess in summary, try to show some interest for the rest of the world, and especially for your audience, or just don't come. Otherwise, you will look like a fool.<br /> Spotlight urn:md5:4f48404b5015a47060beb5ea55a101d3 Friday, October 23 2009 Friday, October 23 2009 Didier Verna Miscellaneous ApplehumorMacOS XrantSpotlight On Mac OS X, there are lots of very good reasons why syslogd could start eating 100% of your CPU. Plenty of discussions about this on the net out there.<br /><br />Well, here's one more (very good) reason:<br /><br />If all of a sudden, your Time Machine backup process appears to be slower than usual, and if the backup disk is not unmounted after a backup has finished, it could be that Spotlight is trying to index it. Stupid. Mine currently has an ETA of 55 hours :-) And what about Erlang ?? urn:md5:ff36589c8d65215c3c629014fc890ef6 Wednesday, April 29 2009 Wednesday, April 29 2009 Didier Verna Miscellaneous ErlangrantSebesta Once again, I've been puzzled by Sebesta's "Concepts of Programming languages" book. I've just read the chapter on language-level support for concurrent programming and there's not even a single line on <a href="" target="_blank">Erlang</a>. I can't figure out how that's possible.<br /><br />Now waiting to see if Erlang is going to appear in the chapter on functional languages, but for some reason, I have a bad feeling about this... Concepts of Programming Languages urn:md5:7c123e1a71357ef0dd36aa57721b696a Wednesday, April 15 2009 Wednesday, April 15 2009 Didier Verna Miscellaneous CClarkCLOSrantSebestaStroustrup These days, I'm reading "Concepts of Programming languages", 8th edition, by Robert W. Sebesta (Addison Wesley). In the category of programming languages comparison books, this is all in all a fair one, especially after having read the crappy "Comparative Programming Languages", 3rd edition, by Clark (Addison Wesley).<br /><br />As in all those similar books, the room for Lisp is obviously miserable, but that is not very surprising. At least Sebesta seems to know something about it... but wait ! That was until yesterday.<br /><br />Yesterday, I read chapter 12 (Support for Object Oriented Programming), and this reading pretty much ruined my fun, my evening, and the little consideration I had for the author. On page 508 you can find this:<blockquote><p>CLOS, an object-oriented version of Lisp, also supports functional programming.</p> </blockquote><br />And there's even a reference to the CLOS specification reference document.<br /><br />Since the book is suddenly turning the Big Circus way, let's not stop just here. A couple of pages later, there's an interview of Bjarne Stroustrup, for whom having invented C++ is obviously not enough, and so claims that <blockquote><p>Currently, C++ is the best language for multi-paradigm programming.</p> </blockquote><br /><br />That's it boys. These guys have no clue whatsoever.<br />:-(<br /> Connaissez-vous le verbe "Setter" ? urn:md5:4f5cd1bf6d62d3f6877580d3287dee82 Tuesday, January 27 2009 Tuesday, January 27 2009 Didier Verna Miscellaneous humor <p>L&rsquo;incorporation de termes anglo-saxons dans le jargon technique français ne me gêne absolument pas. Mais il y a quand même des limites aux bornes des frontières. Dans une copie d&rsquo;étudiant:</p> <blockquote> <p>«&nbsp;Les variables ne sont pas dupliqué lors de la création d&rsquo;un thread par consequent impossible de savoir quel thread a setter errno.&nbsp;»</p> </blockquote> <p> </p> <p><br /> Le lecteur érudit aura de lui-même reconnu le verbe «&nbsp;Setter&nbsp;», du<br /> premier groupe, équivalent de l&rsquo;anglais «&nbsp;meytrajoor&nbsp;».</p> <p> </p>