I know a professor who taught an algorithms class
which at the end he said: "All the pseudo-code i gave
in class is actually written in a program laguage
called Python!"
Here is his website:
http://www.cs.jhu.edu/
Could you please tell me the name of the professor? I clicked on the link, but couldn't figure out where to go there.
Why you think a programming language such as Python
doens't fit your needs?
I haven't tried out Python enough, so I don't know for sure. However, (the line-programming version of) BASIC was the very first language that I was exposed to, and programming in it brings back memories of carrying out such fun and simple tasks as moving a character across the screen while activating the beep function, or moving dots across the screen, or displaying funny greetings in multiple colors at specific locations on the screen.
For example, on an 80x25 character, 8-color screen, I used to write small, silly subroutines similar to the following one to display the user's name in different colors successively at the center of the screen (I'm writing this subroutine from my memory of BASIC, so please excuse me for any grammatical errors in the subroutine):
10 REM
*************************************
20 REM * INTRODUCE THE COMPUTER TO THE USER, *
30 REM * AND PRINT THE USER'S NAME *
40 REM * IN MULTIPLE COLORS *
50 REM * COPYRIGHT(C) 2006, BY DEKUDEKUPLEX *
60 REM
*************************************
70 CLEAR;
80 LOCATE 30, 10;
90 COLOR 4;
100 PRINT "RAINBOW ";
110 COLOR 5;
120 PRINT "NAME ";
130 COLOR 6;
140 PRINT "PROGRAM";
150 PRINT CHR$(13):PRINT CHR$(13);
160 COLOR 7;
170 PRINT "HELLO! MY NAME IS DATA; WHAT IS YOUR NAME?";
180 PRINT CHR$(13);
190 INPUT NAME$;
200 LGREET = LENGTH("GREETINGS, ");
210 LNAME = LENGTH(NAME$);
220 XPOS = (80-(LGREET + LNAME))/2;
230 LOCATE XPOS, 40;
240 PRINT "GREETINGS, ";
250 FOR I = 1 TO 7
260 LOCATE (XPOS + 11, 40)
270 COLOR I
280 PRINT NAME$
290 WAIT 500
300 NEXT I;
310 BEEP 20;
320 END;
The problem with trying to write this kind of subroutine in a modern computer language is that most modern computer languages try to be hardware-independent, and this makes writing simple, display- and sound-focused subroutines, such as simply displaying a user's name in multiple colors at a specific point on the screen and then beeping for a specific number of milliseconds, unnecessarily complicated.
I'm not trying to compute anything at this point; I'm just trying to have fun by emulating a simple conversation with the computer while exploring the elementary visual and audio capabilities of the computer. But modern computer languages tend to make this kind of task unnecessarily difficult, because they tend to relegate input/output to specialized subroutines that require calling windows and invoking specialized libraries.
The same problem arises if I try to move a character across the screen as it changes color; or if I try to move a dot across the screen; or if I try to plot lines in random locations and then draw circles in different colors centering on the points of intersection, for example.
BASIC didn't have this problem, and made this kind of silly, nonsense programming just to get exposed to writing simple code a lot of fun. The user didn't need to think about such issues as variable/function types and scope, pointers, and memory management from the very first line. While such issues are important for writing medium to large size programs, they are not important for silly, ten-line programs designed just to play around and have some fun. Having some, even silly, fun is necessary to getting started for some types of people.
-- DekuDekuplex
PowerBook G4 17-inch [Rev. A] Mac OS X (10.2.x) Mac OS X (10.2.8)