GeekSpeak Cheat Sheet
jperryl at ecs.fullerton.edu
Mon Oct 25 13:04:02 CDT 2004
On Mon, 25 Oct 2004, Alex Tweedly wrote:
> On the basis of getting a camels' nose into the tent - ask them why C++ not
> Java or C#
> If that gets them to admit there is a choice to be made - maybe they'll
> then admit there are a whole set of choices possible. Get them to read
> http://www.paulgraham.com/hundred.html - even if they do all go off and
> become LISP programmers, at least you've saved them from C++ :-)
--Thanks; I'll include it as reading material for them. BTW, I highly
doubt they'll all go off and become LISP programmers ;-)
> Arrays in different languages vary in two major ways - what the content of
> the array can be, and what the indexes or keys of the array can be.
> Trad languages would require you to specify the single type of content that
> an array would hold (and maybe even a fixed size for the array) : e.g.
> float array x; // array of floats, with 10 (or 11 ??) members
> Trad languages also require that they keys (or indexes) of the array be
> integers, usually consecutive and sometimes even beginning at 1 (or 0) -
> see example above.
> Transcript removes all these restrictions - no need to pre-specify the size
> of the array, the content is typeless, and most importantly the keys can be
> This allows you to "directly" access information about a named collection
> of data; you don't need an explicit "lookup" step, you don't need to
> convert a name to an integral index and keep the two of them synchronized,
> thereby both eliminating a good source of bugs, and making the code simpler
> and more obvious.
--Okay, thanks; I'd forgotten about what little I knew about this.
> BTW - in a different context, such as comparing Transcript with other
> recent scripting languages, I'd keep quiet about arrays. The arrays in
> Python, Lua, etc. are significantly more powerful than Transcript, because
> of their ability to place arrays, lists, sets, objects, etc. into the
> contents of an array element. But in a discussion comparing Transcript to
> C, C++, etc. they're a strong point.
--None of them are scripting language people AFAIK. A few maybe have
> OK - I'm probably too old (51) for them to relate to what I've done - but
> since I finished my CS degree 30 years ago, I've used somewhere around 25
> different computer languages professionally.
--Yes, I think it is the, ahem, mature perspective that makes one
appreciate the opportunity of choice. When they are obtaining the degree,
it is strongly implied that all you really need to know in order to get a
job is Fortran/Basic/Pascal/C/Java/WhateverIsFlavorOfMonth. It never
occurs to most that you won't be doing 10 years from now exactly what you
are doing today.
> The chances of getting through the next 5-10 years - never mind a whole
> career - using only the language(s) they already know, is pretty small *if*
> they're going to be proper geeks. It's perfectly possible to be "just a
> programmer", and "just write programs" in one language for year after year.
> But they should be aiming to be more than that - and to provide themselves
> with range of options.
--ESPECIALLY given the state of employment for CS majors here in the
> In a similar vein (but also something they may not want to hear), they're
> likely to spend more of their time debugging, maintaining and making minor
> enhancements to code than they spend doing initial development. And it's as
> likely to be someone else's code they maintain as their own. That's what
> makes simplicity of expression important.
> And, btw, I agree 100% with Andre's suggestion - show them a list of apps
> that have been built with Rev (or xTalk's in general). It's hard to argue
> that Python is a "toy" language since Google; it's hard to argue that Lisp
> is a toy (or an academic irrelevance) since Viaweb. I don't know of any
> single, definitive example for Rev - but there ought to be enough good
> examples to convince them that real things can be built.
--Yes, you are both right; these are valuable examples (although I once
had a couple of students note they'd never consider buying a Renault once
they found out that the company used Hypercard for I forget what it was
they used it for). The Novell example recently mentioned might be
More information about the use-livecode