developer.com
Search EarthWeb
CodeGuru | Gamelan | Jars | Wireless | Discussions
Navigate developer.com
Architecture & Design  
Database  
Java
Languages & Tools
Microsoft & .NET
Open Source  
Project Management  
Security  
Techniques  
Voice  
Web Services  
Wireless/Mobile
XML  
Technology Jobs  

   Developer.com Webcasts:
  The Impact of Coding Standards and Code Reviews

  Project Management for the Developer

  Defining Your Own Software Development Methodology

  more Webcasts...




See the Winners!


Developer Jobs

Be a Commerce Partner
Auto Insurance Quote
Home Improvement
Server Racks
Build a Server Rack
Find Software
Laptops
Web Design
Memory Upgrades
GPS
Computer Hardware
GPS Devices
KVM Switches
Data Center Solutions
Laptop Batteries

 
Biz Resources
Network Security Services
VoIP
CRM Software


Developer News -
SaaS Tool Offers Custom Database Development    May 9, 2008
Microsoft’s Automated Agent: Can We Talk?    May 7, 2008
Borland Finally Sells CodeGear    May 7, 2008
Red Hat Heads For The JON 2.0    May 7, 2008
Free Tech Newsletter -

Best Practices for Developing a Web Site: Checklists, Tips, Strategies & More. Download Exclusive eBook Now.

Open Source High-level Languages in Your Neighborhood
By Thomas Gutschmidt

One seemingly bankable trend is that every day computer languages become easier to understand, and become more like human languages. The concept that easier to understand languages could lead to less error prone and more rapid development was the basis for Fortran II way back in 1958, and the foundation for the high-level languages of today. Since the 50s, however, numerous high-level languages have propped up. You've heard and worked with most of these. Fortran is still used in engineering, and general programming problems are often solved with C, C++, Java, and Perl, which are all considered high-level.

But what about the more obscure high-level languages? Dozens of paradigms have propped up, and every day there seems to be a new language on the block. Here is a handful of popular modern high-level languages, what they are being used for, and where they are hiding in the industry today.

Eiffel

Eiffel, released by Bertrand Meyer in 1986, is considered a modern high-level language. Eiffel is implemented as C pre-processor and has all the typical features of a high-level language (object oriented, automatic handling of bug prone acts like garbage collection, built in interface routines that allow team work with other languages, etc). Its been used as a teaching tool for programmers in many universities, but also sports a number of recent development thrusts making it an extremely viable language for many development projects (see the resources section at the end of this article for links to these projects listed in this article):

  • Eiffel has a .NET interface
  • Eiffel also has an opengl wrapper called Eiffel OpenGL
  • Eiffel has been ported to the Palm OS

Some fun Eiffel projects include:

  • A strategic level Wargame called Strategic Command: European Theater (PC) which got some recent press on Gamespy
  • The MAS (Open source Market Analysis System) is a software tool for doing market analysis and available on Sourceforge

Lua

Lua was developed by the computer graphics technology group at the Pontifical Catholic University of Rio de Janeiro in Brazil (TeCGraf). Lua was built with a simple syntax in mind, and also has automatic memory management, garbage collection, object-oriented mechanisms, and is very extendable. Like Eiffel it is meant as an extension to C.

The Lua Projects List (http://www.lua.org/uses.html) sports a pretty impressive resume, in particular the Smithsonian Astrophysical Observatory (one of NASA.s 4 big observatories) as part of their Advanced X-ray Astrophysics Facility (AXAF). Ron Bessams developed a Windows automation tool called Girder with Lua that demonstrates it.s extensibility, taking any sort of input, be it network, keyboard, DVD player or remote, and turning it into an action on your PC. You can also see that Lua has been involved in several game and graphic development projects by folks at Bioware, Lucas Arts, and Disney Studios.

Smalltalk and Squeak

Created by the Software Concepts Group (i.e. Xerox) Smalltalk is considered the quintessential object-oriented language. True to it.s name, Smalltalk has a pocket version for the Palm OS (http://www.pocketsmalltalk.com/), and is also the father of another language making strides, Squeak.

Squeak is a Smalltalk implementation. The core development team resides at Disney, who helped develop the language, but is also backed by IBM and Paul Allen.s Interval Research Lab. Squeak is unique in that it has three authoring environments. The first is aimed at five year old children, a second for adults, and third for deep programmers. who want to fiddle with the inner workings of the language.

Disney has used Squeak to build a few children.s applications, but the language itself is open source. Other folks who play with Squeak include UIUC, Georgia Tech, The Create project at UCSB, INRIA in France, and the Univ. of Magdeburg. When researching Squeak be careful, there is another language with same name used for mice communication.

Python

Python isn't really that obscure anymore, it gets plenty of airplay and has been plenty busy. Python was developed by Guido van Rossum at the National Research Institute for Mathematics and Computer Science in the Netherlands (otherwise known as CWI) and was originally intended to be an extension of C or a prototyping language. Python was designed to be highly readable, uses English keywords frequently where other languages use punctuation, has fewer syntactical constructions than other languages, and is renown for it's use of white space since it uses space to delimit program blocks.

Python is likely popular because it is very portable, supports object-oriented programmers in a number of ways, and easily integrates with other languages. Perhaps it's greatest strength is within its libraries, which are expansive, very portable/cross platform, and cover everything from CGI, to graphics, to math, to string handling.

Python's list of user projects (http://www.python.org/psa/Users.html) is also very impressive, with highlights including:

  • The Programming for Everybody project, who uses Python as their language of choice
  • Several major web portal companies, including Yahoo! Groups, Infoseek's commercial search engine Ultraseek, and much of Google.s spider search engine
  • The Johnson Space Center (NASA) who uses Python as a standard scripting language
  • The Linux Redhat Install procedure
  • IBM who use Python for factory tool control
  • RealNetworks who developed a Python binding for their RealMedia client for load and feature testing, and uses it in their build and bug tracking system
  • BATS, short for Blind Audio Tactile mapping System, a map navigational software package for the blind developed as a software engineering class project at UNC. BATS has now been funded by Microsoft
  • Patrick Ball, the deputy director of the Science and Human Rights program at American Association for the Advancement of Science, used a Python program as part of a prosecution witness at the trial of Slobodan Milosevic, a former Yugoslav president accused of war crimes. He used the program to show that Milosevic's Serb army caused the death and displacement of Albaniuans in Kososvo, by mapping out the locations of the deaths and the patterns of the refugee flows of in 1999.

Ruby

Ruby was created by Yukihiro Matsumoto in 1993 and is considered THE pure, modern, object-oriented language. Ruby has a very simple syntax and is considered to be very readable, maintainable, and clean, with few special syntactical situations. Ruby is highly portable and runs on almost anything. Its popularity is most likely due to the fact that Ruby is obect-oriented from the ground up. Every bit of data in ruby is an object, even basic types. In fact there are no Ruby functions, only method calls. Ruby is currently gaining a lot more traction in Japan than in the US, but looking at the Ruby project page (http://raa.ruby-lang.org/) you see a lot of integration with XML, WWW, and text processing. Ruby utilities available include everything from simple backup systems, to cron schedulers, to web application servers.

References / Resources / Links

Eiffel

The Eiffel Home Page: http://www.eiffel.com/general/
Eiffel on Sourceforge: http://eiffel-mas.sourceforge.net/
The Eiffel international consortium: http://www.eiffel-nice.org/
Eiffel for the PalmOS: http://epalm.sourceforge.net/
Eiffel OpenGL http://eifogl.sourceforge.net/
Msdn Eiffel for .NET: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/pdc_eiffel.asp
EiffelOpenGL: http://eifogl.sourceforge.net/
The MAS (Open source Market Analysis System): http://eiffel-mas.sourceforge.net/
Gamespy's review of Strategic Command: http://www.gamespy.com/reviews/august02/scet/

Lua

Lua Language Page: http://www.lua.org/
Lua Projects Page: http://www.lua.org/uses.html
AXAF: http://hea-www.harvard.edu/MST/simul/software/docs/
Girder: http://www.girder.nl/
Bioware: http://www.bioware.com/
Lucas Arts: http://www.lucasarts.com/
Disney: http://disney.go.com/park/homepage/today/flash/index.html

Smalltalk and Squeak

Smalltalk Homepage: http://www.smalltalk.org/
Squeak Homepage: http://squeak.org/
Pocket Smalltalk (for the Palm OS): http://www.pocketsmalltalk.com/

Python

The National Research Institute for Mathematics and Computer Science in the Netherlands (otherwise known as CWI): http://www.cwi.nl/
Python users: http://www.python.org/psa/Users.html
The computer programming for everybody project: http://www.python.org/doc/essays/everybody.html
Yahoo! Groups: http://groups.yahoo.com/
Infoseek: http://infoseek.go.com/
Infoseek Software: http://software.infoseek.com/
NASA: http://www.nasa.gov/
RedHat: http://www.redhat.com/
Real Networks: http://www.real.com
IBM: http://www.ibm.com
Google: http://www.google.com/

Ruby

The Ruby Homepage: http://www.ruby-lang.org/en/
The Ruby Application archive: http://raa.ruby-lang.org/

Addendum to Article

Readers wanted to remind me that I missed a few Eiffel resources, namely a free GNU compiler called SmartEiffeel, and links to other compilers listed on The Cetus Links:

SmartEiffel:
http://smarteiffel.loria.fr

Cetus OO Eiffel:
http://www.cetus-links.org/oo_eiffel.html

They also wanted other readers to understand that, although Eiffel can be implemented as C pre-processor, this is just one possible implementation, and that Eiffel's syntax is entirely different than the rest of the C family.


Tools:
Add www.developer.com to your favorites
Add www.developer.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed


Other Language Archives

Best Practices for Developing a Web Site. Checklists, Tips & Strategies. Download Exclusive eBook Now.
Developing Intelligent Communications? Visit the Avaya DevConnect Center on DevX.
Is it time to make your move to the multi-threaded and parallel processing world? Find out!
Learn about expanding business opportunities for the reseller channel. Visit IT Channel Planet.
Generate Complete .NET Web Apps in Minutes . Download Iron Speed Designer today.



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES