Tag Archives: programminglanguages

November 11, 2015

Language Trends on GitHub

The rank represents languages used in public & private repositories, excluding forks, as detected by Linguist.

No surprise at JavaScript taking the top spot. What is surprising is Java having a steady upward trend.

April 3, 2015

How Companies and Services Like Facebook Are Shaped by the Programming Languages They Use

Much as startups “mature” by finally figuring out where their revenue will come from, they can cleverly use the power of programming languages to manipulate their organizational psychology. Programming–language designer Guido van Rossum, who spent seven years at Google and now works at Dropbox, says that once a software company gets to be a certain size, the only way to stave off chaos is to use a language that requires more from the programmer up front. “It feels like it’s slowing you down, because you have to say everything three times,” van Rossum says. That is why many startups wait as long as they can before making the switch.

A exceptional piece.

March 20, 2014


Hack is a programming language for HHVM that interoperates seamlessly with PHP. Hack reconciles the fast development cycle of PHP with the discipline provided by static typing, while adding many features commonly found in other modern programming languages.

Hack provides instantaneous type checking via a local server that watches the filesystem. It typically runs in less than 200 milliseconds, making it easy to integrate into your development workflow without introducing a noticeable delay.

This is definitely one to watch. I love the concept of gradually typed languages.

March 13, 2013

Systems for the automatic assessment of programming assignments

For work, I decided to look up some systems that allow programming assignments to be checked automatically. The following list is by no means complete, but should provide a general overview. I found most of these using some Google-fu; the rest are from a systematic review published in 20101 and a Master’s thesis from the same year2.


This system does not seem to have been updated for some six years, so approach with caution. Supports Java, though possibly extendable to other languages.


Web-CAT is an advanced automated grading system that can grade students on how well they test their own code. It is highly customizable and extensible, and supports virtually any model of program grading, assessment, and feedback generation. Web-CAT is implemented a web application with a plug-in-style architecture so that it also can serve as a platform for providing additional student support services to help students learn programming or software testing.

Plugins exist for Java, C++, Scheme, Prolog, Pascal and Stander ML. The system seems to be able to support any programming language, provided it can be installed on a web server.


Marmoset is a system for handling student programming project submission, testing and code review. We’ve been developing it at the University of Maryland for over 5 years, Last fall, we handled 74,000 submissions for a total of 172 different projects from 1,700 students in 27 different courses. It works in all different programming languages, and is designed to work well with both very small and very large projects, such as our OS course in which a submission consists of tens of thousands of lines of code.

This system was originally developed in 2006 as part of a PhD thesis, but seems to be maintained and updated to this day. Interestingly, Marmoset supports authentication via OpenID as well as LDAP.


Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.

Not exactly like the other systems, but this could very well be used to gauge the programming skills of a student. There are several IBM developerWorks articles on how to program for Robocode.


  1. http://dl.acm.org/citation.cfm?id=1930480 []
  2. http://scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=1050&context=etd_projects []
  3. https://github.com/mikehelmick/AutoGrader []
  4. http://wiki.web-cat.org/WCWiki/ []
  5. http://marmoset.cs.umd.edu/ []
  6. http://robocode.sourceforge.net/ []
October 11, 2011