[PRL] Of course our programming language can do this

Matthias Felleisen matthias at ccs.neu.edu
Wed Aug 2 12:40:33 EDT 2006


On Aug 2, 2006, at 12:28 PM, William D Clinger wrote:

> Here's another data point:  When I taught the upper
> division course on software development (CS U670)
> last spring, students were allowed to use whatever
> programming language they liked for the term project.
>
> Not one of the teams chose Scheme or Lisp.  One team
> chose Smalltalk.  Another chose MatLab, another Flash.
> Several chose Visual Basic.  Most chose Java or C#.

I see a similar distribution in my versions of 670 (averages over  
four instances):

  1 Scheme pair
  2 Perls
  2 Pythons
  1 Ruby
  2 C#s
  10 Javas
  4 C++

and ASP, JSP, PHP, Flash, raw SQL (yeap!), JavaScript, and a gew  
others that don't show up every semester.

The best teams use Scheme, Perl, Java in this order. The worst (and  
failing) teams use Java and C++.

;; ---

I have interviewed students about their choices. Reasons:
  -- most experience (co-op, job, courses)
  -- it's what I discovered threw Crew and like a lot
  -- I don't know anything else (applies to C++ only, students  
hanging on, transfers).

Based on this, they see "Scheme" and forget it.

;; ---

The intensive code walks reveal something else. The students who use  
Perl in my course use it almost always in the spirit of How to Design  
Programs: their functions have quasi-signatures; purpose statements;  
tests; use higher-order closures; and on occasion have even data  
descriptions resembling what they saw in 211.

Based on this, they see "HtDP" and remember that they owe me more  
than crappy code.

Now this could be because I am teaching it and they know I look at  
everything. I am hoping it's not the case. Then again, one student  
reported to me that she was working on software for a missile  
launcher and when she followed the design recipe and wrote tests, her  
manager got angry and told her not to waste his time. Not everyone  
may reenforce the lessons that we teach :-)

-- Matthias






More information about the PRL mailing list