Re: [SLUG] GPL version of Kylix

From: Derek Glidden (dglidden@illusionary.com)
Date: Thu Jul 26 2001 - 11:06:46 EDT


Paul M Foster wrote:
>
>
> My second (third, if you count English ;-) language was Turbo Pascal. (I
> sort of assumed it was straight Pascal, but with a fast compiler; it's
> not?) While it's light years beyond BASIC, I still think it's best used
> to teach structured programming. Once you learn C, then you've got a
> real language at your disposal.

It's an excellent teaching language because it's so strict in its
syntax. I think it could almost be considered Anti-Perl.

And yeah, Turbo Pascal bears little resemblance to whatever you'd call
"ANSI Pascal" (I don't know if there even is a beast.) If I remember
correctly, the "pure" version of Pascal has no concept of File I/O. And
of course the "Modules" idea is purely Borland. They took a very nice
language and extended it just enough to make it extremely useful,
without making a mockery of the original language. I knew someone who
had written an entire BBS package (and a very nice, and extremely large
one) entirely in Turbo Pascal.

Pascal also handles pushing variables onto the stack and function
calling differently than C. I think it pushes things in reverse order
from C, which has the effect of making it impossible to call functions
with arbitrary numbers of arguments, but makes executing function calls
have less overhead, or something along those lines. I don't know if its
even significant anymore on today's hardware and operating systems, but
back in the DOS days it was something that actually made a difference.

> I agree, but you can absolutely count on truckloads of brain-dead luser
> applications from this. If I were hiring programmers, I'd sit 'em down
> in front of vi/jed/emacs and make them prove to me they could really
> program, not drag/drop.

At the very least, Pascal is a language that won't tolerate any
foolishness. If it's not *supposed* to work that way, it won't even
compile. That should hopefully at least keep some of the more flagrant
thinkos from spreading too easily. (Things like using a variable called
"storage" in one place and then referring to it as "stroage" in another
place and not having your BASIC 'compiler' make any noise about it
because variables are all dynamically declared... Or trying to stuff a
long int value into a short int type and not realizing you're doing it
because the language assumes you know what you're up to.) And you never
know, the strict syntax might actually force people to think about the
code before they write it.

It's still a Very Good Thing that Borland has released.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#!/usr/bin/perl -w
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map
{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;
$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)
[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h=5;$_=unxb24,join
"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}
print+x"C*",@a}';s/x/pack+/g;eval 

usage: qrpff 153 2 8 105 225 < /mnt/dvd/VOB_FILENAME \ | extract_mpeg2 | mpeg2dec -

http://www.eff.org/ http://www.opendvd.org/ http://www.cs.cmu.edu/~dst/DeCSS/Gallery/



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 16:55:11 EDT