[ale] [ALE] Happy Birthday BASIC

Jon "maddog" Hall jon.maddog.hall at gmail.com
Thu May 23 11:11:44 EDT 2024


Steve,

>Ugh, not me. Bash, dash, /bin/sh etc are just too quirky for the newbie.
Today I'd recommend Python as a first language.

Not every installation of Unix/Linux has a Python development environment
installed.  I would say that 99.999999% of Unix/Linux systems have some
version of sh(1) installed.

>I don't know about Linux, but I made a policy decision not to continue
doing assembler development after the third time I trashed my whole OS
>with an assembly language error. Maybe Linux has guards against that kind
of thing.

I did not advocate doing development in assembler.   I advocated knowing
something about some assembler and something about machine architecture to
make it easier to understand languages like "C", with pointers and concepts
like dereferencing null pointers, etc.   It also makes it easier to
understand compiler design and operating system design and the difference
between virtual address spaces and real address spaces.

If you know nothing about assembler and machine language then it makes it
very hard to find bugs in compiler output.   You can look at the source
code of your program until the cows come home and not find the issue if the
compiler generates bad machine code.

>I'd love to learn LISP. Which LISP implementation do you recommend for a
guy who uses Void Linux

GNU Common LISP

I am a vim(1) user due to a long history of editors that started with a dot
editor back in 1969 (no, you do not want to ask what a dot editor is), but
traversed to a character cell editor (ed), a line editor (ex), a full
screen editor (vi) and eventually vim(1).

However there are people who like emacs(1), and for those people learning
Common LISP (and particularly GNU Common LISP) emacs has particular power:

https://www.amazon.com/Emacs-Lisp-Introduction-Robert-Chassell/dp/9888381490/ref=sr_1_fkmr0_1?crid=1ND8BHNAIK8FM&dib=eyJ2IjoiMSJ9.-ld0nGxXrcTixcOktiADfSRDi1czy6m6lrYrvA12t5Sy1kMjYoHMpgv-ZZ3zTFDFPtJezbFUZM-ofjmUpLXvZfqW_nJ3SG99vgYueNEUz1I.3S3XA7KE9yuYPym-QAsXZlnlBshgODYsjR9eceUfPms&dib_tag=se&keywords=gnu+common+lisp&qid=1716476720&s=books&sprefix=gnu+common+lisp%2Cstripbooks%2C110&sr=1-1-fkmr0

Regards,

Jon "maddog" Hall

On Thu, May 23, 2024 at 10:11 AM Steve Litt via Ale <ale at ale.org> wrote:

> Jon "maddog" Hall via Ale said on Mon, 20 May 2024 12:15:45 -0400
>
> >>Just knowledge of variables, loops, if then statements all that from
> >>Basic
> >gave me upper hand in this class.
> >
> >When people ask me for advice on the first computer language they
> >should learn, if they are a Unix or Linux person I say:
> >
> >sh(1)
>
> Ugh, not me. Bash, dash, /bin/sh etc are just too quirky for the
> newbie. Today I'd recommend Python as a first language. Or maybe Free
> Pascal using the command line option to make it be just the Turbo
> Pascal subset of Free Pascal.
>
>
> >After Python I will recommend assembly language, which may seem
> >strange to y'all, but I find it much easier to teach "C" and
> >re-entrant, recursive programming after one knows a bit about computer
> >architecture and assembly.
>
> I don't know about Linux, but I made a policy decision not to continue
> doing assembler development after the third time I trashed my whole OS
> with an assembly language error. Maybe Linux has guards against that
> kind of thing.
>
> >After that LISP,
>
> I'd love to learn LISP. Which LISP implementation do you recommend for
> a guy who uses Void Linux?
>
> Thanks,
>
> SteveT
>
> Steve Litt
>
> Autumn 2023 featured book: Rapid Learning for the 21st Century
> http://www.troubleshooters.com/rl21
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> https://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.ale.org/pipermail/ale/attachments/20240523/e0397408/attachment.htm>


More information about the Ale mailing list