tag:blogger.com,1999:blog-206165942008-07-25T01:07:57.481ZTeam EiffelRoger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comBlogger233125tag:blogger.com,1999:blog-20616594.post-62178381293747903792008-03-19T12:05:00.004Z2008-03-19T12:11:00.120ZCDD EiffelStudio Video availableCDD EiffelStudio has matured quite a lot recently. Quite a few bugs have been fixed and usability issues addressed. Some more will be addressed shortly.<br /><br />The CDD website is new and improved. Featuring more documentation and better installation instructions. Visit it at <a href="http://dev.eiffel.com/CddBranch">http://dev.eiffel.com/CddBranch</a><br /><br />In particular there is a new video that demonstrates the automatic extraction of test cases: <a href="http://se.ethz.ch/people/leitner/cdd/video/">http://se.ethz.ch/people/leitner/cdd/video/</a><br /><br /><br /><br />AndreasAndreas Leitnerhttp://www.blogger.com/profile/11983518664176693960noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-53421381055550454452008-02-18T20:20:00.002Z2008-02-18T20:24:06.203ZSelf Printing JavaScript LiteralsWe Eiffel programmers often take a lot for granted, things that <a href="http://ajaxian.com/archives/self-printing-javascript-literals">other languages just struggle with</a>:<br /><blockquote><p>Are you ever sick of seeing Object get printed out when you try to output a variable to your console.<br /></p></blockquote>We Eiffel programmers just say:<br /><pre> object.out<br /></pre>It's that easy.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-22985257951578461522008-02-08T14:01:00.000Z2008-02-08T14:28:37.281ZCDD Extension for EiffelStudioThe <a href="http://dev.eiffel.com/CddBranch">CDD extension for EiffelStudio</a> is an ETH Zurich project which adds support for unit testing to EiffelStudio 6.1. The current status is "beta 2", and it's released for Linux and Windows. Features include:<br /><ul><li>visualization of test cases and their outcomes</li><li>one button creation of manual test cases</li><li>limiting of visible test cases using predefined filters and custom tags</li><li>test case management through tags</li></ul>Two further features are particularly interesting. Testing can be configured to occur in the background, and is described as "undisruptive to the developer". If an unexpected exception is thrown, a new test case is automatically created to reproduce the exception. Features like these can make the difference between a testing system that is useful as opposed to one that is merely usable.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-57671085591270343382008-02-05T16:45:00.000Z2008-02-05T17:18:27.472ZOpening black boxes, and Eiffel gamesFor many years Bertrand Meyer and others have advocated teaching object oriented programming by using objects as "black boxes" then progressively opening up those black boxes to see how they work. This is "inverted" compared to the traditional curriculum which starts with the lowest level of raw constructs and builds progressively more sophisticated constructs from them.<br /><br />One way to motivate students is to let them design computer games. James McKim was using Eiffel for that in the early 1990s, and the topic regularly came up at the "Eiffel in Education" conferences.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_X9g3spjhdmI/R6iZe0PvCcI/AAAAAAAABBE/FDJUnvqu_O4/s1600-h/antworld.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_X9g3spjhdmI/R6iZe0PvCcI/AAAAAAAABBE/FDJUnvqu_O4/s200/antworld.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5163545727480039874" /></a>At ETH Zurich, first-year computer science students are combining these ideas, using a high-level Eiffel game library to design games. The library is EiffelMedia, started by Till Bay and developed and maintained by students under his oversight, and now exceeding 500,000 lines of code.<br /><br />EiffelMedia is comprehensive, covering 2D graphics, text, sound, sprites, collision detection, 3D graphics, networking, high-score tracking, game-oriented widgets, game saving, level management, error reporting and peripheral interfacing.<br /><br />EiffelMedia, its use, and some of the games developed with it, are described in an article at the Journal of Object Technology: "<a href="http://www.jot.fm/issues/issue_2008_01/article5/">A production-quality multimedia library and its application to game-based teaching</a>". This code snippet (adapted from that article) shows the high-level use of the sound library:<br /><pre>if audio_subsystem.is_enabled then<br /> audio_subsystem.mixer.open<br /> create player.make_with_file("hello.ogg")<br /> player.set_repeat(true)<br /> player.play<br />end</pre>EiffelMedia and many of the games written for it (such as AntWorld, shown above) are freely downloadable. EiffelMedia itself won second prize in the 2005 Eiffel Struggle competition. According to the article, the prize money is used for release parties.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-11677691080980443432008-01-07T22:08:00.000Z2008-01-07T22:35:54.626ZYEPP, the Eiffel Parser ProducerBottom-up shift-reduce parsers (such as those generated by <a href="http://www.gobosoft.com/eiffel/gobo/geyacc/">Gobo Eiffel Yacc</a>) are flexible and efficient. They run fast because as they scan the input tokens they consider multiple possible constructs at the same time (in parallel, if you like).<br /><br />Their downside is that it's mighty hard to code them in such a way as to get them to emit really good error messages when they encounter a syntax error. By the time you have added enough error handling to achieve good syntax error messages, you may well have lost the power, convenience and flexibility originally offered by the shift-reduce approach.<br /><br />An alternative approach is the top-down parser, which in modern programming languages usually makes use of recursive descent to climb down the parse tree. It's likely to be a bit slower than a shift-reduce parser, particularly for grammars that are very complex at the lower levels (expressions downwards).<br /><br />But if there's a syntax error, the top-down parser can give a very clear and helpful error message based on where it's up to in the descent of the parse tree.<br /><br />Top-down parsers are fairly straightforward to write, but they are tedious. There's lots of code which follows a fairly repetitive pattern, but with just enough variation from construct to construct that it's hard to abstract out the patterns. If you don't want to write the parser manually, you can use a parser generator (whereas with a shift-reduce parser, you would almost always use a parser generator because of its added complexity).<br /><br />Cyril Adrian has put together the YEPP Eiffel Parser Producer. It's meant to replace the venerable lex/yacc couple for SmartEiffel users. Its input files use an Eiffelish syntax extended to allow simple grammar declarations in an EBNF notation. Its output is an Eiffel class. It is built using (both in itself and for its output) ESE's parse library, which implements a top-down parsing strategy.<br /><br />YEPP is part of the <a href="http://ese.sourceforge.net/">Enterprise SmartEiffel</a> project<br /><br />Top-down parsing is also found in Java's <a href="http://www.antlr.org/">ANTLR</a> parser-generator. Shift-reduce parsing is found in yacc and <a href="http://www.gnu.org/software/bison/">bison</a>.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-77628458226716906952008-01-04T14:47:00.000Z2008-01-04T15:25:55.954ZRecent version updatesEiffelStudio is now at <a href="http://www.eiffel.com/general/news/2007/eiffelstudio61_release.html">version 6.1</a> . Basic elements of the ECMA Eiffel attached type mechanism are supported, as is non-conforming inheritance. ISE describes their non-conforming inheritance as <span style="font-style:italic;">"a first among object-oriented languages"</span>, which will surprise many people including those who have been using the corresponding SmartEiffel facility for a year or two, and those who were using the corresponding Sather facility over 15 years ago. Nevertheless it's welcome. (<a href="https://www2.eiffel.com/download/download_info.aspx?id=eiffelstudio&info=false&mirrors=eiffelstudio">downloads</a>)<br /><br />By the way, if you are still using the original "agent" syntax of the tilde character, you should change your Eiffel code to use the 'agent' keyword, as your code is going to be broken by a future release of EiffelStudio, where tilde will be used as an operator. ISE offers <a href="http://eiffelstudio.origo.ethz.ch/download/116">a tool</a> to help automate this, although if you don't run Windows you're out of luck as it's Windows-only. ISE Eiffel is promoted as being multi-platform, so it would have made more sense to release this as Eiffel source code. At EiffelRoom there's <a href="http://www.eiffelroom.org/poll/agents_are_you_still_using_or_do_you_still_have_some_code_using_the_old_syntax_for_agent_that_i">a poll running</a> where you can let the developers know whether you still have code using the old agent syntax.<br /><br />In November, Eric Bezault released <a href="https://sourceforge.net/forum/forum.php?forum_id=753035">Gobo version 3.7</a>, which supports ISE Eiffel 5.7.64493, 6.0.6.9618 and 6.1.7.1007 (Classic and .NET), SmartEiffel 1.2r7, and Gobo Eiffel Compiler 3.7. The Gobo tools are now bootstrapped by a C program, rather than by Windows and Linux executables as in previous versions.<br /><br />Also, Berend de Boer has released version 3.0.1 of <a href="http://www.berenddeboer.net/eposix/index.html">eposix</a>, his Eiffel to POSIX binding. This is a minor update, to fix a segmentation fault that affected Windows users of <span style="font-style:italic;">STDC_TIME.to_utc</span>. No other users need to update.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-60739188964578877422007-12-01T14:28:00.000Z2007-12-01T14:34:27.962ZTop Eiffel search queriesThese are the top search queries over the past 24 months, from the EiffelZone search box and also from the no-longer-maintained Eiffel custom search engine:<br /><ol><li>None</li><li>EiffelStore</li><li>tutorials programs</li><li>tutorial</li><li>biplanes</li><li>eiffel</li><li>algorithm+infix to prefix in C</li><li>precondition</li><li>gestalt</li><li>ecma</li><li>serialization eiffel</li><li>Eiffel Course Managment System</li><li>sql</li><li>array</li><li>EIFFEL</li><li>linked list programs...</li><li>.NET</li><li>ECMA</li><li>opengl</li><li>web</li><li>event processing</li><li>gobo</li><li>mixin</li><li>Bernd Schoeller</li><li>serialization eiffel use</li></ol>I have no idea why "None" is at the top of the list, not even capitalized as an Eiffel class name.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-44211597315255105812007-11-15T20:27:00.000Z2007-11-16T09:42:17.223ZThe next browser must be written in Eiffel<a href="http://ajaxian.com/archives/ajax-browsers-running-out-of-time">The browser isn't a stable platform</a>:<br /><blockquote>Now I fear history may be repeating itself. Yesterday, I had Firefox 2 for linux crash 5 times, and IE7 for XP crash 7 times. The cause? Too many fat Ajax applications. Zimbra, the whole Google bestiary of applications, Yahoo Mail, etc.. These are all long running applications that I keep open for most of the day. Then all of a sudden the Browser is gone and I have to relaunch and login all over again.</blockquote><br />Yes, and why isn't it stable? It is extremely hard to write a large scale C++ application.<br />Take for example <a href="http://pavlovdotnet.wordpress.com/2007/11/10/memory-fragmentation/">memory fragmentation</a>. How do you solve that? Add another layer of manual memory management? Things like that are simply not an issue with ISE Eiffel because it has a moving garbage collector, so the heap is continually compacted.<br /><br />And yes, VCs email me if you think a stable browser is a market :-)Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-41141073147485055472007-11-11T22:20:00.000Z2007-11-11T22:41:35.657ZEnd of the road for EiffelZone<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i7.tinypic.com/6k5b1a9.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 160px;" src="http://i7.tinypic.com/6k5b1a9.png" border="0" alt="" /></a>I've put up a banner on every page at <a href="http://eiffelzone.com/">eiffelzone.com</a> mentioning that the site is no longer maintained.<br /><br />I set up EiffelZone as a resource for the Eiffel community, but there isn't really an Eiffel community anymore. Instead, there are two communities - the insular EiffelStudio community and the vestigial SmartEiffel community.<br /><br />The days of libraries and applications being usable with both SmartEiffel and EiffelStudio are pretty-much over, so there's not much use anymore for the <a href="http://eiffelzone.com/esd/">Eiffel Software Directory</a>. SmartEiffel users can find what they need at <a href="http://smarteiffel.loria.fr/">http://smarteiffel.loria.fr/</a> and EiffelStudio users can find what they need by starting from <a href="http://eiffelroom.com/">http://eiffelroom.com/</a>Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-32426471784852186762007-10-03T02:06:00.001Z2007-10-03T02:11:32.989ZMetamodel-based model conformance and multiview consistency checkingPeople interested in BON might want to check out <a href="http://portal.acm.org/citation.cfm?id=1243987.1243989">Metamodel-based model conformance and multiview consistency checking</a>. It's about the relation between tools and models of software.<br /><br />The article doesn't reference <a href="http://ebon.sourceforge.net/">the work of Joseph Kiniry</a>, I believe he had done some work to formalize BON as well, but perhaps it wasn't useful.<br /><br />Anyway interesting article.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-31939932269940875442007-10-02T19:58:00.000Z2007-10-02T20:08:08.527ZNew EiffelStudio 6.1 Development ReleaseEmmanuel Stapf has <a href="http://eiffelstudio.origo.ethz.ch/node/20">announced</a> the release of EiffelStudio 6.1.7.0472, featuring<br /><ul><li>improved completion list</li><li>speed up of degree 3</li><li>eporting of calls on a void target in finalized mode (through a project setting)</li><li>full support of GCC under Windows</li><li>syntax errors are reported for multiple classes (previously the compiler stopped at the first erroneous class)</li></ul>The download page is <a href="http://eiffelstudio.origo.ethz.ch/download">here</a>.<br /><br />The above announcement is one of the first items posted to the new <a href="http://eiffelstudio.origo.ethz.ch/forum">EiffelStudio forum</a>, for those who prefer to interact with a web forum instead of a mailing list. For now, the mailing lists will continue to operate too.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-1070512806385694492007-09-27T15:04:00.000Z2007-09-27T15:13:54.840ZEiffellists need a Good Sense of HumorThis is from the <a href="http://tech.groups.yahoo.com/group/eiffel_software/">Eiffel Software list</a> at YahooGroups:<br /><br />Bruce Mount <a href="http://tech.groups.yahoo.com/group/eiffel_software/message/11284">wrote</a>:<blockquote><i>...sigh...I'm sure this is easy, but Ive spent a lot of time on this and I have not figured it out yet. How do you search in a BINARY_SEARCH_TREE?</i></blockquote> Emmanuel Stapf replied:<blockquote><i>There is no query to give you the item you looked for. For the moment, you may need to extend BINARY_SEARCH_TREE to add this feature.</i></blockquote>It's always good to get the definitive answer from Manu - but this time I don't know whether to laugh or cry...Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-63765093151285901242007-09-23T20:32:00.000Z2007-09-23T21:13:19.268Z7 reasons I switched back to PHP after 2 years on RailsAs I'm doing a lot of PHP at the moment, I'm following PHP news with interest. But <a href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html">7 reasons I switched back to PHP after 2 years on Rails</a> is interesting for Eiffel programmers as well. For example:<br /><blockquote>I was nearly killing my company in the name of blindly insisting Rails was the answer to all questions, timeframes be damned.<br />But when I took a real emotionless non-prejudiced look at it, I realized the language didn’t matter that much.<br />Ruby is prettier. Rails has nice shortcuts. But no big shortcuts I can’t code-up myself in a day if needed.<br /></blockquote>Update, one more observation I couldn't agree with more:<br /><blockquote>Speaking of tastes: tiny but important thing : I love SQL. I dream in queries. I think in tables.<br />I was always fighting against Rails and its migrations hiding my beloved SQL from me.</blockquote>Although I prefer <a href="http://www.pobox.com/%7Eberend/xplain/">Xplain</a>, the issue is the same. All that active record, hiding the database, somehow making it object oriented, is a complete waste of energy. Databases and objects are two different worlds. Storing objects is possible and can be abstracted nicely. Then try to do fast searching, combining data, data warehousing, and that nice little object oriented world falls apart.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-44392512331979175162007-08-10T21:52:00.000Z2007-08-10T22:59:09.168ZEiffel download cgiAlthough most of my work the last few months has been PHP, there are still times were Eiffel is unavoidable. I needed an image upload tool that could give a user feedback on the upload progress. You can't write this in PHP as it doesn't allow you to work at the level you need to, to implement this.<br /><br />There are some Perl scripts out there, but it introduces dependencies on libraries and who knows how well those scripts work when there are no invariants to give some peace of mind.<br /><br />So with some minor modifications to eposix it is now possible to override certain EPX_MIME classes so one can save uploaded files to a given name instead of a temporary file. And now it is possible for a script to report on the size of the file that is being created.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-68664258863163543482007-07-11T21:01:00.000Z2007-07-11T21:21:37.436ZSmartEiffel 2.3 released<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_X9g3spjhdmI/RpVJvHqQ7CI/AAAAAAAAA90/06zSl5jogDg/s1600-h/se-logo-small.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_X9g3spjhdmI/RpVJvHqQ7CI/AAAAAAAAA90/06zSl5jogDg/s400/se-logo-small.png" alt="" id="BLOGGER_PHOTO_ID_5086052428043840546" border="0" /></a>The SmartEiffel team has announced the release of SmartEiffel 2.3 (<a href="http://gforge.inria.fr/frs/?group_id=184">downloads</a>, <a href="http://smarteiffel.loria.fr/wiki/en/index.php/Versions_history">version history</a>).<br /><br />Changes include:<ul><li>Refinement of the <a href="http://smarteiffel.loria.fr/wiki/en/index.php/Typing_policy">new typing policy</a>.</li><li>A new class loading algorithm, which formalises the notions of cluster and subcluster. You can now have more than one class with the same name, and the system decides which one to use according to the "distance" between classes. This obsoletes the "rename.se" files.</li><li>There is now a configuration directory, into which package maintainers can drop configuration files.</li><li>The eiffeltest tool is included.</li><li>The fictional type mark NONE is gone! Where you used to write {NONE}, you now just write {}.</li><li>Microsoft Visual C++ 2005 is now supported as a back-end compiler.</li><li>A Regular Expression library is included.</li></ul>Finally, you may remember the <a href="http://smarteiffel.loria.fr/wiki/en/index.php/Logo_contest">SmartEiffel logo competition</a>. SmartEiffel now has a shiny new logo, chosen from the entries to that competition.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-49929279625711680462007-06-15T17:03:00.000Z2007-06-15T18:45:44.916ZGobo 3.6 released<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_X9g3spjhdmI/RnLeO8dF3xI/AAAAAAAAAAY/qGyqQ8etGak/s1600-h/gobo_logo.gif"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_X9g3spjhdmI/RnLeO8dF3xI/AAAAAAAAAAY/qGyqQ8etGak/s400/gobo_logo.gif" alt="" id="BLOGGER_PHOTO_ID_5076364078327652114" border="0" /></a>Eric Bezault has <a href="http://tech.groups.yahoo.com/group/gobo-eiffel/message/1586">announced</a> the release of <a href="http://www.gobosoft.com/eiffel/gobo/Readme.txt">version 3.6</a> of the <a href="http://www.gobosoft.com/">Gobo tools and libraries</a>. This release should work with the forthcoming release of ISE's EiffelStudio 6.0.<br /><br />In response to input from the community, the license has been changed to the permissive MIT license. This license is compatible with many licenses, including the GPL and the Eiffel Forum License. MIT-licensed software can be used within open source and proprietary projects.<br /><br />The Gobo package no longer contains compiled executables of the basic tools. Instead, a C-package is provided together with scripts to compile it for the target platform.<br /><br />The package has been tested under Windows XP and Ubuntu Linux. It supports ISE Eiffel 5.6, 5.7 and 6.0 classic and dotNet, plus SmartEiffel 1.2r7. Visual Eiffel support has been dropped, to allow future versions of Gobo to use facilities such as agents that are not supported by VE.Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-81447287204419282732007-05-15T23:34:00.000Z2007-05-15T23:36:15.160ZEiffel and Bertrand Meyer win the ACM Software System Award<a href="http://www.ecma-international.org/news/PressReleases/PR_Eiffel%20Award%2007.htm">ECMA press release</a>:<br /><blockquote>Ecma is proud to announce that <strong>Dr. Bertrand Meyer</strong> is this year’s recipient of the <a href="http://awards.acm.org/software_system/">ACM Software Systems Award</a>, one of the most prestigious awards in computer science, for his design of the Eiffel programming language and environment. <strong>Dr. Bertrand Meyer</strong> is one of the few European scientists to receive this honour.</blockquote>Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-67887160002878886592007-05-10T20:39:00.000Z2007-05-10T20:52:38.816ZThe Ultimate Eiffel applicationA wonderful Eiffel application would be a browser written in Eiffel. I have to restart FireFox at least once a day, it just becomes slower and slower, and consumes more and more memory, and starts to behave erratically at last.<br /><br />I would be a huge job. You want Firebug of course, JavaScript, CSS, SVG. But if it would be written in ISE Eiffel you can also take advantages of its excellent moving garbage collection.<br /><br />A super stable browser, what a thought.<br /><br />Any people with money should <a href="mailto:berend@pobox.com">contact my by email</a>.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-71425540173768626442007-05-08T02:35:00.000Z2007-05-08T03:32:17.410ZAdvocating Eiffel at the Regional Free Software ConferenceThe Regional Free Software Conference is one of the largest Free Software events in Latin America. The <a href="http://jornadas.lugmen.org.ar/">6th and most recent one</a>, in October 2006, was organized at Mendoza, Argentina.<br /><br />Last year I decided to take there a presentation about Eiffel, oriented to developers who never heard about it, saying mostly "Hey, there is a language you don't know called Eiffel, you can use it, it's cool!". My presentation is available (<a href="http://except.com.ar/downloads/2006/10/20061013-eiffel.odp">OpenDocument slides</a>/<a href="http://except.com.ar/downloads/2006/10/20061013-eiffel.ppt">Powerpoint slides, converted</a>; both are in spanish) are available under a creative commons by-nc-sa license. If you know about Eiffel you will probably understand most of the slides, even if you don't speak spanish. The strong side I perhaps noted most was that Eiffel allows you to have high-level development and efficiency at the same time. They're not the points I like most, but I thought those could get the attention from the public in a 45' talk.<br /><br />The reaction from the public was interesting. Most questions were about availability of toolkits/libraries (RDBMS, GUI) than for the language itself. Even after years of having these kind of conversations, I still get surprised about how little people care about a language for itself, and how language and library are so hard to split apart. I got the attention for a few people, anyway, more advanced developers mainly: some guys from the python crowd (the python community here is quite large) and a couple of C++ guys that were really hooked (one of them a contributor of <a href="http://www.boost.org/">Boost</a>).<br /><br />Still, it's hard to prepare a talk advocating Eiffel for the masses. I want to retry again this year, at the <a href="http://jornadas.grulic.org.ar">7th conference</a>; but would like to look for better ways to "sell" Eiffel. So, if any of you had good ideas about what kind of stuff would be nice to present at an "Introducing Eiffel" talk, you will earn a place at my "Thanks!" slide. Thanks! (in advance).Daniel F Moissethttp://www.blogger.com/profile/11550350763702904614noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-1175590800978488212007-04-03T08:57:00.000Z2007-05-08T03:50:11.455ZACM Award for Bertrand Meyer<a href="http://campus.acm.org/public/pressroom/press_releases/3_2007/eiffel.cfm">The ACM reports that</a>:<br /><blockquote>Bertrand Meyer is Recipient of Software System Award for Impact on Software Quality ... More than just a programming language, Eiffel is a general method for constructing software systems. It has applications from requirements analysis through design, implementation and maintenance, and is both seamless and reversible. A central feature is the development of a method known as Design by Contract, originated by Dr. Meyer. This approach enables Eiffel to adapt techniques used in proving the correctness of programs to all stages of design and development. It is based on the principles of object technology, of which Dr. Meyer was an early and vocal proponent. In November 2006, Eiffel became a standard of the International Standards Organization (ISO).<br /></blockquote>A very well deserved recognition. There currently is no compiled language that gives programmers the kind of trust in the software they write that Eiffel gives. And the ease of doing so.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-1173645519292430032007-03-11T21:33:00.000Z2007-05-08T03:49:21.886ZEiffel and PHPAbout a week ago I did <a href="http://www.pobox.com/~berend/eiffel/eiffel-and-php.pdf">a presentation on Eiffel and PHP</a> for my local PHP user group. Particular focus on Design by Contract.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-1173530887319005042007-03-10T12:38:00.000Z2007-05-08T03:50:51.151ZSlashdot mulls why DBC is not more popular<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/2268/149/1600/773393/topicprogramming.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/2268/149/200/56887/topicprogramming.png" border="0" alt="" /></a><br />At <a href="http://slashdot.org/">slashdot.org</a>, there's a discussion running about <a href="http://ask.slashdot.org/article.pl?sid=07/03/10/009237">why DBC is not more popular</a>. <a href="http://jedidiah.stuff.gen.nz/wp/">Leland McInnes</a> writes:<br /><blockquote><i>Design by Contract, writing pre- and post-conditions on functions, seemed like straightforward common sense to me. Such conditions, in the form of executable code, not only provide more exacting API documentation, but also provide a test harness ... despite being available (to varying degrees of completeness) for many languages other than Eiffel ... the concept has never gained significant traction, particularly in comparison to unit testing frameworks (which DbC complements nicely), and hype like 'Extreme Programming'. So why did Design by Contract fail to take off?</i></blockquote>No doubt some TeamEiffel readers will have valuable comments to post at Slashdot...Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-1173191063211242502007-03-06T14:21:00.000Z2007-05-08T03:52:06.254ZOOSC2 as an ebook?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/7722/2308/1600/213135/Object-Oriented%20Software%20Construction.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://photos1.blogger.com/x/blogger/7722/2308/1600/213135/Object-Oriented%20Software%20Construction.jpg" border="0" alt="" /></a>Does anyone know whether the availability of OOSC2 as an ebook is legitimate?<br /><br />[update: I've removed the link, as Bernd says it's not legit.]Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-1172871540571218642007-03-02T21:35:00.000Z2007-03-02T21:39:00.596ZNew eposix beta<a href="http://www.pobox.com/~berend/eposix/index.html#interimrelease">There is a new eposix beta available</a> for those interested. <a href="http://tech.groups.yahoo.com/group/eposix/message/609">Lots of new things</a>. This will become the 3.0 release hopefully soon.Berend de Boerhttp://www.blogger.com/profile/11433622686361556089noreply@blogger.comtag:blogger.com,1999:blog-20616594.post-1172144870200644212007-02-22T11:39:00.000Z2007-02-22T11:48:51.820ZEiffelroom<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.eiffelroom.com/"><img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/2268/149/400/41853/eiffelroom.png" border="0" alt="" /></a><br /><br />Emmanuel Stapf has announced <a href="http://www.eiffelroom.com/">Eiffelroom</a>, an ISE-sponsored <span style="font-style:italic;">"one-stop page for everything Eiffel-related"</span>.<br /><br />At Eiffelroom you will find links to Eiffel blogs, mailing lists, discussion groups, articles, tips, polls, tools, libraries, updates, FAQs, glossaries, and much more.<br /><br />Manu writes:<br /><blockquote><i>Make sure to try Eiffelroom and watch it grow. We're sure you'll want to bookmark it as your premier Eiffel resource on the Web.</i></blockquote>(Needless to say, you won't find too much about SmartEiffel there.)Roger Brownehttp://www.blogger.com/profile/17862544574010465032noreply@blogger.com