POLMETH Archives

Political Methodology Society

POLMETH@LISTSERV.WUSTL.EDU

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Reply To:
Political Methodology Society <[log in to unmask]>
Date:
Thu, 5 Oct 2006 22:19:30 -0500
Content-Type:
TEXT/PLAIN
Parts/Attachments:
TEXT/PLAIN (82 lines)
This discussion is somewhat parallel to a recent thread on SlashDot
responding to David Brin's lament that with the demise of simple BASIC
interpreters on personal computers, there was no readily accessible way to
experiment with programming: see

http://developers.slashdot.org/article.pl?sid=06/09/15/186217

FORTRAN is alive in the scientific computing community, albeit probably as
much due to legacy code as anything else. BASIC, at least in its early
renditions, was essentially a very simple form of FORTRAN (and COBOL,
arguably, was an incredibly verbose form of FORTRAN).

The FORTRAN family was superceded starting in the 1970s by the
"structured" languages -- languages that made use of the GOTO statement
unnecessary -- starting with Algol, then Pascal, and finally C: the
contemporary widely-used derivatives of these which add an object
orientation are C++ and Java.

Java is increasingly the language most often taught in basic computer
science classes: it provides very rapid access to graphical elements
(which are useful for teaching, since there is immediate feedback), the
syntax is similar to C/C++ (which is more widely used in software
development), it is more or less standardized and very widely available,
and it is "safe": it does not allow the use of pointers, a very common
source of difficult to detect bugs.

Unfortunately, the vast number of options in Java make the language very
unwieldy, and by "protecting" the student from pointers, you all but
insure that the student never learns advanced data structures. But
that's another diatribe, specifically Joel Spolsky's:

http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

That said, by the end of any decent programming course with Java, someone
should know almost all of the basic aspects of programming -- variable
types, iteration, branching, functions and procedures, and objects, as
well as becoming familiar with the C-style syntax.

However, the start-up costs for getting a basic Java program running are
still relatively high, and its strongest point is groovy graphics. For
sheer number crunching, C/C++ would almost always be preferable.

The other controversial possiblity -- and I do this in my own advanced
methods courses -- is to use perl, which is very handy for manipulating
text files and allows you to do a lot with a very small program, as it
does not require much infrastructure (declarations and the like). The
downside of perl as an introduction to programming is that it hides a huge
amount of complexity, and combines several different strands of syntax
(regular expressions are essentially a programming language inside the
programming language, albeit tremendously useful). [Similar arguments have
been made for LISP].

My personal favorite programming language is "whitespace"

http://compsoc.dur.ac.uk/whitespace/

but I would not recommend it for introductory instructional use, other
than the fact that one can create a single slide showing the source code
for all examples.

 ============================================================================
Philip A. Schrodt             Dept of Political Science
University of Kansas          Blake Hall, Room 523
1541 Lilac Lane               Lawrence, KS   66045    USA
email: [log in to unmask]         phone: +1-785-864-9024  fax: +1-785-864-5700
Home page:                    http://people.ku.edu/~schrodt
Kansas Event Data Project:    http://www.ku.edu/~keds
New Kind of Social Science:   http://www.nkss.org/
 ============================================================================

**********************************************************
             Political Methodology E-Mail List
        Editor: Karen Long Jusko <[log in to unmask]>
**********************************************************
        Send messages to [log in to unmask]
  To join the list, cancel your subscription, or modify
           your subscription settings visit:

          http://polmeth.wustl.edu/polmeth.php

********************************************************** 

ATOM RSS1 RSS2