Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Development platforms Juan José Sánchez Penas Master on Free Software
  2. 2. Python● Created in the early 90s by Guido van Rossum● Minimalistic core of the language and a lot of modules● Object oriented with concepts of functional programming (e.g. list comprehensions)● Can be compared to Perl or Ruby● Interpreted, dyn. type system and garbage collection● Open community ruled by the Python Foundation● Used for: sysadmins, integration, fast prototyping (GUIs)● Example projects: Zope, Youtube, internally in Google● Open source license: non-copyleft Master on Free Software
  3. 3. Java● Developed by SUN and released in 1995● Compile to bytecode and run everywhere, garbage collection● Object oriented based in C/C++ syntax● Open community: Java Community Process● Used for: web development, also GUI sometimes● Example projects: J2EE platform (application server, javabeans, servlets, jsp), J2ME, Apache (Cocoon, Struts, Tapestry), Eclipse● Open source license: GPL since May 2007 for most of the components in the platform Master on Free Software
  4. 4. KDE● Founded in 1996 by Matthias Ettrich (Name based on CDE). Just released KDE 4.0● Desktop and development platform● C++ as core language, bindings for others● Main technologies: KDElibs, Khtml, KIO (file access), kparts, phonon (multimedia framework), solid (device integration), dbus, etc.● Example apps: Konqueror, Amarok, Koffice, Kdevelop● Originally Qt was not free software (Harmony and Gnome were started). Today: double license for platform and desktop (GPL + commercial license)● Key role of Trolltech Master on Free Software
  5. 5. PHP● Originally written in C as CGIs by Rasmus Lerdorf in 1994● General purpose scripting language specially oriented to web development● Evolved towards a lot of features like object orientation, exceptions, integration with databases, etc.● Interpreted, dyn. type system and garbage collection● Very popular because of its ease of use and fast prototyping. Problems with big systems● Example projects: drupal, typo3, moodle, and lots of CMS-like systems● Open source license: Apache-like BSD style license Master on Free Software
  6. 6. Mono● Started in 2001 by Miguel de Icaza (similar to DotGNU) based on ECMA/ISO standards● Original goal: increase productivity of developers● The necessary software to develop and run .NET client and server applications in different platforms● Runs C#, java, python, boo (similar to Python), PHP,...● Sponsored and lead by Novell with an active community● Example components: moonlight,, winforms,... (not part of the standard, under patent danger)● Several apps of the GNOME desktop use C#/Mono● Open source license: LGPL Master on Free Software
  7. 7. Ruby● Released by Yukihiro Matsumoto in 1995● Reflective, dynamic, object-oriented language (concepts of Perl, Python and Smalltalk)● Original goal: increase productivity of developers● Some performance limitations of the virtual machine (a lot of them were born, compilers for Mono and Java)● Example components:● Example projects: Ruby on Rails (very fast database + web development using MVC pattern), 2004● Open source double license: GPL and Ruby License Master on Free Software
  8. 8. Erlang● Released by Ericsson in 1998● Fault tolerant, dynamic, concurrent and distributed, process-based functional language● Original goal: 24x7 and massive concurrency of the telecom control systems● AXD301● Open Telecom Platform● Example projects: ejabberd, wings3d, yaws, serval, vodka,...● Open source double license: Erlang Public License, community quite controlled by Ericsson Master on Free Software
  9. 9. GNOME● Started by Federico Mena and Miguel de Icaza in 1997. Just released Gnome 2.20● GNU Network Object Model Environment● Desktop and development platform● C as core language, bindings for others● Main technologies: dbus, gconf, gvfs, gtk+/glib● Example apps: evolution, epiphany, gnumeric, banshee● Example project: GNOME Mobile and Maemo● Key role of the GNOME Foundation, AB, GMAE, etc.● Open source license: GPL and LGPL for libraries Master on Free Software
  10. 10. GNOME vs. KDE?● GNOME + KDE =● Software and standards shared by the main desktop platforms● d-bus● cairo● gstreamer● hal● Xorg● cairo● and many more Master on Free Software
  11. 11. Maemo● Released by Nokia-OSSO in 2005● Based on GNOME and GNOME Mobile technologies: GTK +, pango, cairo, atk, hal, glib, dbus, eds, telepathy, etc. And Hildon Application Framework on top● Very active and open community at● Target device: Nokia 770, N800 and N810, now used by others like Intel● Open source license: GPL and LGPL for libraries Master on Free Software