The Best of Euphoria

There are over 1,400 Euphoria code contributions in the Euphoria code archive. For a beginner (or even experienced) Euphoria programmer, it could be a daunting task trying to find useful code. These lists will be an attempt to rate the libraries and offer some advice on using them. The "search" and "browse" links below take you to the Euphoria Code Archive for that particular category of code.

Please note that this list is in a state of flux (continually) as of 2011.01.02, and might even get behind as new code appears and old code fades away. I don't use the code from every category below, so I need your input! Please send suggestions, recommendations, and code descriptions to me, as well as your list of preferences. If you feel a library you've written deserves to be in this list, let me know!

GUI

Databases and DB Interfaces

Win32Lib Supplemental Libraries

Object-Oriented Programming (OOP)

IDE

Networking & Internet

String Handling

Graphics

Games

Sound

Editors

Custom EU Interpreters

GUI

  1. wxEuphoria - cross platform capability, robust performance, and a full feature set, including networking, graphics, and sound, this wrapper library by Matt Lewis for wxWidgets is number one when it comes to GUI development for Euphoria. Be sure to check out my wxEuphoria page for demos, tutorials, and more code.
  2. Win32Lib - the granddaddy (or king?) of all Win32 GUI libraries for Windows (and currently maintained by Derek Parnell), this library is versatile and functional (but only for Windows); combined with Judith Evans' Win IDE, this makes programming for Microsoft Windows a breeze. Be sure to check out the Win32Lib Supplemental Libraries below.
  3. ARWEN - This Win32-only GUI library allows for tight and fast code. (The excellent Edita text/code editor from Pete Lomax uses this library.)
  4. EuGTK - Irv Mullin's easy-to-use and cross-platform GUI library is powerful and looks good. Unfortunately, Irv has stopped development on this library, so proceed with caution.

Databases and DB Interfaces - (search or browse)

  1. Euphoria Database Interfaces on Official OpenEuphoria Wiki - Community-maintained list of code for interfacing your Euphoria code with a variety of databases (MySQL, ODBC, SQLite, etc.)

Win32Lib Supplemental Libraries - If you decide to go with Win32Lib, here are some libraries that you might want to investigate. It will make your Win32Lib program even more functional.

  1. Judith Evans' Win32Lib IDE - I consider this a must-have for Win32Lib development.
  2. AutoSize - this library from MrTrick (Patrick Barnes) is easy to use and makes control sizing and positioning easy to manage.
  3. EuGrid - A spreadsheet-like control, I use this for practically every Win32Lib app I create.
  4. xControls - Another excellent control sizing/positioning library, originally developed by Don Phillips, is now under re-development by Greg Haberek. Adds additional controls to Win32Lib such as splitters, picture menus, and a syntax-highlighting RichEdit control.
  5. Win32Lib Custom GUI - Euman's custom GUI interface library lets you escape the boundaries of the API and create cool-looking interface elements.

Object-Oriented Programming (OOP) - (search) You either love it or you hate it, but object oriented programming has its place in the programming world, and Euphoria is no exception (is that a pun?). If you want a good primer on OOP in Euphoria, check out Alex Caracatsanis' Guide to Object Oriented Programming. He explains OOP using Mike Nelson's Diamong-Lite OOP library.

  1. OOEU - A Euphoria interpreter from Matt Lewis with built-in OOP features.
  2. Diamond OOP Lib - Mike Nelson's advanced, full-featured OOP library, designed based on Java with elements of Visual Basic and C#.
  3. SOOP - Mario Steele's object oriented programming library. Documentation.

IDE - The integrated development environment (or 'IDE') makes programming in Euphoria even easier! Draw your application, then assign the functionality and you're ready to release.

Networking & Internet - (browse) These libraries let your Euphoria programs communicate over a network or via the internet itself.

  1. Blat SMTP - If you want to send email from your Win32 program, get this library. Requires an external DLL, but is easy to use and works smoothly.
  2. TCP Socket Library - A complete library for asynchronous TCP socket communication that has been used to write an IRC client, IRC bot, an IM (instant messaging) client and server, and a web page server. Be sure to pick up the TCP demos by Robert Szalay.

String Handling - Eventually, you will need code to parse a string of data. These code libraries make it easy.

  1. Kat's StrTok library
  2. Derek Parnell's Win32Lib string library

Graphics - (browse)

  1. SDL - Mark Akita's SDL wrapper kicks butt! (See also his SDL Font Package) (International version)
  2. OpenGL Wrappers - There are some excellent libraries available for programming with OpenGL

Games - (search or browse) Euphoria is a great language for making games.

  1. SquidBlaster - Showing off some leet coding and game-making skills, this multi-level shooter from Liquid-Nitrogen is a great example of what can be done with Euphoria.
  2. Memory - The simple game of memory looking good with Euphoria and OpenGL, thanks to Evan Marshall.

Sound - (search)

Editors - (browse)

  1. Code Editors for Euphoria - This list is in the official OpenEuphoria wiki and maintained by the community. If you're looking for a programmer's editor that accommodates Euphoria, you should start here.

Custom EU Interpreters - These Euphoria-compatible interpreters are based on the open-source Euphoria interpreter offered by Rapid Deployment Software. They add features that the Euphoria user community has been asking for but RDS hasn't implemented... yet. Click HERE to see the list.