Programming Languages Interest Group


The PLIG is a discussion group for people interested in informal study and use of computer programming languages. The goal is to expose people to different languages, paradigms, and techniques for solving problems. This goal will be supported by discussion forums, programming challenges, sample programs, language and topic presentations, and programming-related games and contests.


Membership will initially be drawn from interested parties in the Utah and Salt Lake counties of Utah. No dues, fees, etc. will be required, only a desire for participation. However, access to the group's resources and ability to participate will depend on abiding by a reasonable standard of behavior.

It is hoped that the local Linux and specific language (Ruby, PHP, Perl, Python, Erlang, etc) user groups will eventually embrace the PLIG as a common forum and will donate resources to PLIG presentations when they relate to the specific group's charter. For example, a presentation on the Ruby implementation Rubinius might be given by a PLIG/URUG member during the regular URUG meeting. This will hopefully have the effect of boosting interest in both PLIG and the specific user group involved.

Out-of-state members are encouraged to participate as well, and should be able to be equal participants in every feature of the group aside from presentations, and even those should be accessible via recordings.

If you'd like to join now and help out getting the group off the ground, see the Members page.


PLIG members are expected to maintain civil conduct with one another within the group forums. Although members may have strong feelings about certain languages, discussion should focus on objective analysis of language features rather than digressing into name-calling and language-bashing.

If necessary, more formal procedures may be put into place to deal with abusers of the forum fairly. Meanwhile, forum moderators will exercise judgement in temporarily or permanently banning abusive members.


Discussion Forums

No particular implementation technology for the forums has been chosen yet; they may be email-based, web-based, nntp-based, etc.

  • Forums for different languages

    Places for questions and answers about a particular language's features

  • Forums for book study groups

    SICP, CTM, etc. groups to discuss exercises and insights

  • Rewrite This forum

    Post a bit of code, see how other people would write it in the same or different languages

  • General programming forum

    Topics that transcend individual languages, such as programming paradigms, implementation techniques, design patterns, etc.

Programming Challenges

  • Regular lightweight programming tasks

    Similar to Ruby Quiz

  • Longer-term small-team collaborations

    These could be implementations of somewhat bigger things than you'd consider for a quiz. Maybe writing an IRC server in Erlang, some sort of collaborative web app in Ruby, a toy compiler in OCaml, etc.

    It might be useful to augment the PLIG's collaboration tools as part of this area.

Sample Programs

Results of programming challenges and any other code generated by members or otherwise freely available could be roughly tagged/categorized for reference, annotation, and discussion.

Topical Presentations

Presentations could be given to group members in person or via recorded or streamed media. Slides and other materials would be archived along with recordings for future reference. Topics could include languages, language implementations, language features, etc.

Knowledge Base

  • Articles and stories about experiences learning different programming languages and paradigms

  • Links to textbooks, language websites, tutorials, papers, etc.

Games & Contests

These might include games that require programming, such as Core War and various virtual robot battle arenas. Previous ICFP contests might be fun to consider for here or as Programming Challenges.

Program Critique

The group should develop a culture of constructive critique that weaves through all the activities. It will be especially important in areas such as the Rewrite This forum, the library of sample programs, and forums for book study.


We will need a way to keep track of group members, their interests, and activities they are participating in. Also, a means of facilitating the forums, sample program library, and games.

The PLIG Infrastructure page will contain details and discussion about this.

Contact Info

If you have any suggestions, please email them to

changed September 27, 2007