GeekSpeak Cheat Sheet
Frank D. Engel, Jr.
fde101 at fjrhome.net
Mon Oct 25 14:28:27 EDT 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++ :-)
Them and everyone else -- them from the hassles of that (ick) language,
and us from the bugs and bloat typically introduced by programs written
in that language.
> --Thanks; I'll include it as reading material for them. BTW, I highly
> doubt they'll all go off and become LISP programmers ;-)
As do I.
>
>> 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[10]; // 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.
Not all "Traditional" languages! In Pascal and Ada, you can use any
ordinal type. For a Pascal example:
PROGRAM printAlphabet;
VAR ch : CHAR;
BEGIN
FOR ch := 'A' to 'Z' DO
WRITE(ch, ' ');
WRITELN
END.
>>
>> 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
>> anything.
>>
>> 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.
Yeah, this is a VERY nice feature.
>
>> 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
> worked in Perl; one or two have a nodding acquaintence with javascript.
>
> <snip>
>
>> 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
> States currently.
>
>> 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.
>
> --Reality_Bites 101
Unless they program in Ada, which substantially reduces debug time by
catching a huge percentage of what would be runtime errors in other
languages at compile time. Fussy syntax = fewer headaches during
debug.
>
>> 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
> especially potent...
Much like I'd be very hesitant to buy a server tied to running
Microsoft products (or any other computer for that matter)?
Different tools are well suited to different tasks. Each has strong
points and weak points. It is a good idea to be familiar with a range
of tools in order to be prepared to perform different tasks. Much as
one would never write an embedded operating system in Transcript,
writing a large GUI application in something like LISP would be highly
undesirable as well. I wouldn't use a screwdriver to cut wood, or a
saw to drive a nail.
>
> Thanks again!
>
> Judy
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
-----------------------------------------------------------
Frank D. Engel, Jr. <fde101 at fjrhome.net>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten
Son, that whosoever believeth in him should not perish, but have
everlasting life.
$
___________________________________________________________
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
More information about the use-livecode
mailing list