Learn, hack!

Hacking and security documentation: slides, papers, video and audio recordings. All in high-quality, daily updated, avoiding security crap documents. Spreading hacking knowledge, for free, enjoy. Follow on .

Writing better code (in Dylan)

URL
http://events.ccc.de/congress/2005/fahrplan/attachments/646-slides-dylan.pdf
File name
646-slides-dylan.pdf
File size
215.9 KB
MD5
6b2c5b63f957234965fa7524d0a13d6d
SHA1
b111edb8cd24cba939dac65cb7f087ead013346e

An overview of the highly dynamic, object-oriented, functional programming language Dylan will be given. As an example a web-based network management tool will be demonstrated. Dylan is a fully buzzword-compliant language (object-oriented, dynamic, functional) which was developed by Apple, CMU and Harlequin back in the early 90s. While the Apple project was cancelled in the early beta testing stage due to financial trouble at Apple, both CMU and Harlequin finished their compilers. CMU released a Dylan-to-C batch compiler as open source. Harlequin produced a full-blown development environment, including an IDE with code browsers, a debugger, profiler, and a native compiler for x86. This compiler has been available commercially. After the bankrupt of Harlequin, the programmers bought the rights to their code, and after an unsuccessful attempt to sell it, recently decided to release it as open source too. Dylan is unique in that it combines both the ease of use and rapid prototyping features of very high level languages with high performance code execution, allowing the deployment of real-life production systems. Additionally, it is amongst the languages that prevent many of the the common exploitable bugs like buffer overflows, integer overflows, format string exploits, double frees, that plague programs written in C. Dylan is semantically closely related to Scheme, but comes with an Algol-like syntax that should be more convenient to the programmer than the S-expression syntax used by the Lisp family of languages. It features a well-integrated class system with dynamic types and multiple inheritance, polymorphism via generic functions, first class functions and matching higher-order functions, automatic memory management and a macro system that allows to extend the grammar of the language. This talk presents the Dylan language and its implementations. It also demonstrates a sample application for configuring switches, routers, DHCP- and DNS-servers for a network environment such as the one of the Chaos Communication Congress over a web interface, focusing on how usage of the Dylan language features allows construction of a powerful framework for such purposes.

About us

Secdocs is a project aimed to index high-quality IT security and hacking documents. These are fetched from multiple data sources: events, conferences and generally from interwebs.

Statistics

Serving 8166 documents and 531.0 GB of hacking knowledge, indexed from 2419 authors from 163 security conferences.

Contribute

To support this site and keep it alive, you can click on the buttons below. Any help is really appreciated! This service is provided for free, but real money is needed to pay bills.

Flattr this Click here to lend your support to: Keep live SecDocs for an year and make a donation at www.pledgie.com !