Languages

If languages are defined by standards, what makes them open source? Well, the specification itself can be proprietary. You'll find in older main frame languages if you wanted the specifications you had to pay huge amounts of money for the detailed specifications.

The second opportunity is the implementation itself. For example with Ruby, there are several implementations, all of them happen to be open source.

But the last aspect is the culture. Some languages lend themselves to open source. If you look at the evolution of SmallTalk, you'll find that it didn't really reach the highest levels of utilization until it was implemented as Squeak.

Erlang

Erlang is a general-purpose concurrent programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. For concurrency it follows the Actor model. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. The first version was designed and implemented by Joe Armstrong in 1986. It supports hot swapping so code can be changed without stopping a system. Erlang was originally a proprietary language within Ericsson, but was released as open source in 1998. The Ericsson implementation primarily runs interpreted virtual machine code, but it also includes a native code compiler (supported on most but not all platforms), developed by the High Performance Erlang Project (HiPE) at Uppsala University. It also now supports interpretation via script as of r11b-4.

Creating and managing processes is trivial in Erlang, whereas threads are considered a complicated and error-prone topic in most languages. Though all concurrency is explicit in Erlang, processes communicate using message passing instead of shared variables, which removes the need for locks.

Erlang is named after A. K. Erlang. Presently Ms Chaithra is working on this topic at her company. It is sometimes thought that its name is an abbreviation of Ericsson Language, owing to its origin inside Ericsson. According to Bjarne Däcker, who headed the Computer Science Lab at the time, this duality is intentional.

(From wikipedia, November 2, 2008)

People (Erlang)

Founders (Erlang)

Joe Armstrong

Joe Armstrong, a Swedish software engineer, notable as the designer and implementer of Erlang programming language and the chief software architect of the project responsible the Erlang OTP system.
He received his PhD in computer science from the Royal Institute of Technology in Stockholm, Sweden and currently works for Ericsson AB where Erlang was born

(From wikipedia, November 2, 2008)

Technical (Erlang)

Platforms (Erlang)

Timeline (Erlang)

Current Status (Erlang)

History (Erlang)

Horizon (Erlang)

Perl

In computer programming, Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall, a linguist working as a systems administrator for NASA, in 1987, as a general purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and became widely popular among programmers. Larry Wall continues to oversee development of the core language, and its newest version, Perl 6.

Perl borrows features from other programming languages including C, shell scripting (sh), AWK, sed and Lisp. The language provides powerful text processing facilities without the arbitrary data length limits of many contemporary Unix tools, making it the ideal language for manipulating text files. It is also used for graphics programming, system administration, network programming, applications that require database access and CGI programming on the Web. Perl is nicknamed "the Swiss Army chainsaw of programming languages" due to its flexibility and adaptability.

People (Perl)

Celebrities (Perl)

Randal L. Schwartz

Randal L. Schwartz (born November 22, 1961) is an American author, system administrator and programming consultant. Schwartz is the co-author of several widely used books about Perl, a programming language for computers, and has written regular columns about Perl for several computer magazines. He popularized the Just another Perl hacker signature programs. He is a founding board member of the Perl Mongers, the worldwide Perl grassroots advocacy organization. He is currently a co-host on FLOSS Weekly.

Schwartz's name is also associated with the Schwartzian transform, an algorithm to efficiently sort a list according to a computation, without repeating the computation many times for each element of the list.

Since 1985, Schwartz has owned and operated Stonehenge Consulting Services, Inc.

(from wikipedia November 2, 2008)

Founders (Perl)

Larry Wall

Larry Wall (born September 27, 1954) is a programmer and author, most widely known for his creation of the Perl programming language in 1987.
Contents

* 1 Education
* 2 Accomplishments
* 3 Virtues of a programmer
* 4 See also
* 5 References
* 6 External links

Education

Wall earned his bachelor's degree from Seattle Pacific University in 1976.

While in graduate school at UC Berkeley, Wall and his wife were studying linguistics with the intention afterwards of finding an unwritten language, perhaps in Africa, and creating a writing system for it. They would then use this new writing system to translate various texts into the language, among them the Bible. Due to health reasons these plans were canceled, and they remained in the U.S., where Larry instead joined the NASA Jet Propulsion Laboratory after he finished grad school.

Accomplishments

Wall is the author of the rn Usenet client and the nearly universally used patch program. He has won the International Obfuscated C Code Contest twice and was the recipient of the first Free Software Foundation Award for the Advancement of Free Software in 1998.

Beyond his technical skills, Wall is known for his wit and often ironic sense of humor , which he displays in the comments to his source code or on Usenet. For example: "We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise," and:

For example, it's been several decades now since a certain set of Bible translations came out, and you'll notice a pattern: the New English Bible, the New American Standard Bible, and the New International Version, to name a few. It's really funny. I suspect we'll still be calling them “new this” and “new that” a hundred years from now. Much like New College at Oxford. Do you know when New College was founded. Any guesses? New College was new in 1379.

He is the co-author of Programming Perl (often referred to as the Camel Book), which is the definitive resource for Perl programmers. He has edited the Perl Cookbook. His books are published by O'Reilly.

Wall's qualification as a linguist is apparent in his books, interviews and lectures. He often compares Perl to a natural language and explains his decisions in Perl's design with linguistic rationale. He also often uses linguistic terms for Perl language constructs, so instead of traditional "variable", "function" and "accessor" he sometimes says "noun", "verb" and "topicalizer".

Wall's Christian faith has influenced some of the terminology of Perl, such as the name itself, a biblical reference to the "Pearl of great price" (Matthew 13:46). [1] Similar references are the function name bless, and the organization of Perl 6 design documents with categories such as apocalypse and exegesis. Wall has also alluded to his faith when he has spoken at conferences, including a rather straightforward statement of his beliefs at the August, 1997 Perl Conference and a discussion of Pilgrim's Progress at the YAPC (Yet Another Perl Conference) in June, 2000.

Wall continues to oversee further development of Perl and serves as the Benevolent Dictator for Life of the Perl project. His role in Perl is best conveyed by the so-called 2 Rules, taken from the official Perl documentation:

1. Larry is always by definition right about how Perl should behave. This means he has final veto power on the core functionality.
2. Larry is allowed to change his mind about any matter at a later date, regardless of whether he previously invoked Rule 1.

Got that? Larry is always right, even when he was wrong.[citation needed]

Virtues of a programmer

Wall along with Randal L. Schwartz and Tom Christiansen writing in the second edition of Programming Perl, outlined the Three Virtues of a Programmer:

1. Laziness - The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris.
2. Impatience - The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris.
3. Hubris - Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience.

See also
Free software portal

* Perl
* List of programmers
* List of computer scientists

(from wikipedia November 2, 2008)

Ruby

Description

From http://en.wikipedia.org/wiki/Ruby_(programming_language):
Ruby is a dynamic, reflective, general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was initially developed and designed by Yukihiro "Matz" Matsumoto.

Ruby supports multiple programming paradigms, including functional, object oriented, imperative and reflection. It also has a dynamic type system and automatic memory management; it is therefore similar in varying respects to Python, Perl, Lisp, Dylan, and CLU.

The standard 1.8.6 (stable) implementation is written in C, as is a single-pass interpreted language. There is currently no specification of the Ruby language, so the original implementation is considered to be the de facto reference. As of 2008, there are a number of complete or upcoming alternative implementations of the Ruby language, including YARV, JRuby, Rubinius, IronRuby, and MacRuby, each of which takes a different approach, with JRuby and IronRuby providing just-in-time compilation functionality. The official 1.9 (development) branch uses YARV, and so will 2.0, and will eventually supersede the slower Ruby MRI.

Stats

Version 1.8.7
Created Ruby reached version 1.0 on December 25, 1996.
Platforms Linux, FreeBSD, JRuby (Java), Windows, Mac OS X, Solaris, OpenSolaris

Events (Ruby)

Events for the Ruby, Ruby on Rails, Merb, and other events.

Rails Conferences

RailsConf
RailsConf, co-produced by Ruby Central, Inc. and O'Reilly Media, Inc., is the largest official conference dedicated to everything Rails. Through keynotes, sessions, tutorials, panels, and events, RailsConf is an interactive meeting ground for the most innovative and successful Rails experts and companies. The conference provides attendees with examples of business models, development paradigms, and design strategies to enable mainstream businesses and new arrivals to the Web and Rails to take advantage of this new generation of services and opportunities.

Rails Edge
Rails has accelerated quickly through the web development world, powered from a solid foundation of Ruby. Every month brings new tools, new techniques, and new understanding of how to use them. Everyone using Rails is on a continuous learning cycle—experts and novices alike.

The Rails Edge is a unique conference where we bring some of the best minds in the Rails and Ruby communities together with you in a single-track environment, so that we can all sharpen our edge. We hope you'll join us!

acts_as_conference
Another year has almost passed since the last acts_as_conference. The Rails community has been very busy, and we aren't slowing down. Want to know what the future of Ruby on Rails looks like? Come to acts_as_conference February 6th and 7th in Orlando, Florida, and find out. This annual two day event is dedicated to Ruby on Rails and the happy developers that use it (or wish to use it) in their daily lives. Come learn what's to come.
You'll be brought up to date on the latest happenings in the Rails community, learn from those driving the innovation that is fueling the Rails community, discover how to improve and speed your development, and much more.
Help us promote acts_as_conference with a link or a nice badge on your site.

Rails Conf Europe
Over for 2008, we'll see if they have another one in 2009.

License (Ruby)

Ruby is copyrighted free software by Yukihiro Matsumoto .
You can redistribute it and/or modify it under either the terms of the GPL
(see COPYING.txt file), or the conditions below:

1. You may make and give away verbatim copies of the source form of the
software without restriction, provided that you duplicate all of the
original copyright notices and associated disclaimers.

2. You may modify your copy of the software in any way, provided that
you do at least ONE of the following:

a) place your modifications in the Public Domain or otherwise
make them Freely Available, such as by posting said
modifications to Usenet or an equivalent medium, or by allowing
the author to include your modifications in the software.

b) use the modified software only within your corporation or
organization.

c) rename any non-standard executables so the names do not conflict
with standard executables, which must also be provided.

d) make other distribution arrangements with the author.

3. You may distribute the software in object code or executable
form, provided that you do at least ONE of the following:

a) distribute the executables and library files of the software,
together with instructions (in the manual page or equivalent)
on where to get the original distribution.

b) accompany the distribution with the machine-readable source of
the software.

c) give non-standard executables non-standard names, with
instructions on where to get the original software distribution.

d) make other distribution arrangements with the author.

4. You may modify and include the part of the software into any other
software (possibly commercial). But some files in the distribution
are not written by the author, so that they are not under this terms.

They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
files under the ./missing directory. See each file for the copying
condition.

5. The scripts and library files supplied as input to or produced as
output from the software do not automatically fall under the
copyright of the software, but belong to whomever generated them,
and may be sold commercially, and may be aggregated with this
software.

6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.

(From http://www.ruby-lang.org/en/LICENSE.txt)

People (Ruby)

people page for Ruby

Founders (Ruby)

List of founders from the ruby project (place holder)

Yukihiro Matsumoto

Yukihiro Matsumoto (松本行弘, Matsumoto Yukihiro?, a.k.a. Matz, born 14 April 1965) is a Japanese computer scientist and software programmer best known as the chief designer of the Ruby programming language and its reference implementation, Matz's Ruby Interpreter (MRI).

He was born in Osaka Prefecture, in western Honshū. According to an interview conducted by Japan Inc., he was a self-taught programmer until the end of high school. He graduated with an information science degree from Tsukuba University, where he associated himself with research departments dealing with programming languages and compilers.

As of 2006, Matsumoto is the head of the research and development department at the Network Applied Communication Laboratory, an open source systems integrator company in Shimane Prefecture. He is a member of The Church of Jesus Christ of Latter-Day Saints and served as a missionary for the church. Matsumoto is married and has four children.

(From wikipedia November 2, 2008)

Technical (Ruby)

technical page placeholder for ruby

Platforms (Ruby)

Platforms placeholder page for ruby

JRuby

JRuby is a Java implementation of the Ruby interpreter, being developed by the JRuby team.
JRuby is free software released under a three-way CPL/GPL/LGPL license.
JRuby is tightly integrated with Java to allow the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code (compare Jython for the Python language).
JRuby's lead developers are Charles Nutter , Thomas Enebo, Ola Bini,] and Nick Sieger. In September 2006, Sun Microsystems hired Enebo and Nutter to work on JRuby full time. In June 2007, ThoughtWorks hired Ola Bini to work on Ruby and JRuby.

History

JRuby was originally created by Jan Arne Petersen, in 2001. At that time and for several years following, the code was a direct port of the Ruby 1.6 C code. With the release of Ruby 1.8.6, an effort began to update JRuby to 1.8.6 features and semantics. Since 2001, several contributors have assisted the project, leading to the current (2008) core team of four members.
The Netbeans Ruby Pack, available since NetBeans 6.0, allows IDE development with Ruby and JRuby, as well as Ruby on Rails for the two implementations of Ruby .
JRuby 1.1 added Just-in-time compilation and Ahead-of-time compilation modes to JRuby and is faster in most cases than the current Ruby 1.8.7 reference implementation].
JRuby 1.1.1 is stated to be packaged in Fedora 9].
Since version 1.1.1, the JRuby team began to issue point releases often to quickly address issues that are brought up by users[7].
JRuby support Ruby MRI 1.8.6, and work is ongoing to add a Ruby 1.9 support, but as Ruby 1.8.7 is mainly a transitional version to 1.9, it will not be supported.

Design

Since early 2006, the current JRuby core team has endeavored to move JRuby beyond being a simple C port, to support better performance and to aid eventual compilation to Java bytecode. To support this end, the team set an ambitious goal: to be able to run Ruby on Rails unmodified using JRuby. In the process of achieving this goal, the JRuby test suite expanded to such extent that the team gained confidence in the "correctness" of JRuby. As a result, toward the end of 2006 and in the beginning of 2007, they began to commit much more complicated redesigns and refactorings of JRuby's core subsystems.
JRuby is designed to work as a mixed-mode virtual machine for Ruby, where code can be either interpreted directly, just-in-time compiled at runtime to Java bytecode, or ahead-of-time compiled to Java bytecode before execution. Until October 2007, only the interpreted mode supported all Ruby's constructs, but a full AOT/JIT compiler is available since version 1.1[19]. The compiler design allows for interpreted and compiled code to run side-by-side, as well as decompilation to reoptimize and outputting generated bytecode as Java class files.

(Taken from http://en.wikipedia.org/wiki/Jruby on December 31, 2008)

Timeline (Ruby)

Timeline placeholder for ruby

Current State (Ruby)

Current status of ruby place holder

History (Ruby)

History page place holder for ruby.

Horizon (Ruby)

Horizon page for ruby

SmallTalk

Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis."It was designed and created in part for educational use, more so for constructionist learning, at Xerox PARC by Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace, and others during the 1970s, influenced by Lisp, Logo, Sketchpad and Simula.
The language was first generally released as Smalltalk-80 and has been widely used since. Smalltalk-like languages are in continuing active development, and have gathered loyal communities of users around them. ANSI Smalltalk was ratified in 1998 and represents the standard version of Smalltalk.

History
There are a large number of Smalltalk and variants, as there are with many computer languages.[2] The unqualified word Smalltalk is often used to indicate the Smalltalk-80 language, the first version to be made publicly available and created in 1980.
Smalltalk was the product of research by a group of researchers led by Alan Kay at Xerox Palo Alto Research Center (PARC); Alan Kay designed most of the early Smalltalk versions, which Dan Ingalls implemented. The first version, known as Smalltalk-71, was created in a few mornings on a bet that a programming language based on the idea of message passing inspired by Simula could be implemented in "a page of code." A later variant actually used for research work is now known as Smalltalk-72 and influenced the development of the Actor model. Its syntax and execution model were very different from modern Smalltalk variants.
After significant revisions which froze some aspects of execution semantics to gain performance (by adopting a Simula-like class inheritance model of execution), Smalltalk-76 was created. This system had a development environment featuring most of the tools now familiar including a class library code browser/editor. Smalltalk-80 added metaclasses, to help maintain the "everything is an object" (except variables) paradigm by associating properties and behavior with individual classes, and even primitives such as integer and boolean values (for example, to support different ways of creating instances).
Smalltalk-80 was the first language variant made available outside of PARC, first as Smalltalk-80 Version 1, given to a small number of companies (Hewlett-Packard, Apple Computer, Tektronix, and DEC) and universities (UC Berkeley) for "peer review" and implementation on their platforms. Later (in 1983) a general availability implementation, known as Smalltalk-80 Version 2, was released as an image (platform-independent file with object definitions) and a virtual machine specification. ANSI Smalltalk has been the standard language reference since 1998.
Two of the currently popular Smalltalk implementation variants are descendants of those original Smalltalk-80 images. Squeak is an open source implementation derived from Smalltalk-80 Version 1 by way of Apple Smalltalk. VisualWorks is derived from Smalltalk-80 version 2 by way of Smalltalk-80 2.5 and ObjectWorks (both products of ParcPlace Systems, a Xerox PARC spin-off company formed to bring Smalltalk to the market). As an interesting link between generations, in 2002 Vassili Bykov implemented Hobbes, a virtual machine running Smalltalk-80 inside VisualWorks. (Dan Ingalls later ported Hobbes to Squeak).
During the late 1980s to mid-1990s, Smalltalk environments — including support, training and add-ons — were sold by two competing organizations: ParcPlace Systems and Digitalk, both California based. ParcPlace Systems tended to focus on the Unix/Sun Microsystems market, while Digitalk emphasized Intel-based PCs that were running either Microsoft Windows or IBM's OS/2. Both companies, however, struggled to take Smalltalk mainstream due to Smalltalk's substantial memory footprint, limited run-time performance, and initially lack of supported connectivity to SQL-based relational database servers. While the high price point of the ParcPlace Smalltalk limited its market penetration to mid-sized and large commercial organizations, the Digitalk products initially tried to reach a wider audience with a lower price point. IBM having initially supported the Digitalk product entered the market with a Smalltalk product in 1995 called VisualAge/Smalltalk. Easel introduced Enfin at this time on Windows and OS/2. Enfin became much more popular in Europe, as IBM introduced it into IT shops prior to their development of IBM Smalltalk (later VisualAge). Enfin was later acquired by Cincom Systems, and is now sold under the name ObjectStudio, and is part of the Cincom Smalltalk product suite.
In 1995, ParcPlace and Digitalk merged into ParcPlace-Digitalk and then rebranded in 1997 as ObjectShare, located in Irvine, CA. ObjectShare (NASDAQ: OBJS) was traded publicly until 1999, when it was delisted and dissolved. The merged company never managed to find an effective response to Java in terms of market positions and by 1997 its owners were looking to sell the business. In 1999, Seagull Software acquired the Java development lab of ObjectShare (original Smalltalk/V, Visual Smalltalk development team), and still owns VisualSmalltalk, although worldwide distribution rights for the Smalltalk product remained with ObjectShare. VisualWorks was sold to Cincom and is now part of Cincom Smalltalk. Cincom has backed Smalltalk quite strongly, putting out multiple new releases of VisualWorks and ObjectStudio each year since 1999.
Cincom, Gemstone and Object Arts, plus other vendors continue to sell Smalltalk environments, IBM has 'end of life'd VisualAge Smalltalk having in the late 1990s decided to back Java and it is, as of 2006, supported by Instantiations, Inc. which has renamed the product VASmalltalk and released a new version. The open Squeak implementation has an active community of developers, including many of the original Smalltalk community, and has recently been used to provide the Etoys environment on the OLPC project and the virtual worlds environment Croquet Project. GNU Smalltalk is a free software implementation of a derivative of Smalltalk-80 from the GNU project.
A significant development, that has spread across all current Smalltalk environments, is the adoption of the Seaside web framework that simplifies the building of complex web applications.