<div dir="ltr"><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">Steve,<br><br>>Ugh, not me. Bash, dash, /bin/sh etc are just too quirky for the newbie. Today I'd recommend Python as a first language.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">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.<br><br>>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<br>
>with an assembly language error. Maybe Linux has guards against that kind of thing.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">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.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">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.<br><br>>I'd love to learn LISP. Which LISP implementation do you recommend for a guy who uses Void Linux<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">GNU Common LISP<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">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).<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">However there are people who like emacs(1), and for those people learning Common LISP (and particularly GNU Common LISP) emacs has particular power:<br><br><a href="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">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</a></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">Regards,<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">Jon "maddog" Hall<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 23, 2024 at 10:11 AM Steve Litt via Ale <<a href="mailto:ale@ale.org">ale@ale.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Jon "maddog" Hall via Ale said on Mon, 20 May 2024 12:15:45 -0400<br>
<br>
>>Just knowledge of variables, loops, if then statements all that from<br>
>>Basic  <br>
>gave me upper hand in this class.<br>
><br>
>When people ask me for advice on the first computer language they<br>
>should learn, if they are a Unix or Linux person I say:<br>
><br>
>sh(1)<br>
<br>
Ugh, not me. Bash, dash, /bin/sh etc are just too quirky for the<br>
newbie. Today I'd recommend Python as a first language. Or maybe Free<br>
Pascal using the command line option to make it be just the Turbo<br>
Pascal subset of Free Pascal.<br>
<br>
<br>
>After Python I will recommend assembly language, which may seem<br>
>strange to y'all, but I find it much easier to teach "C" and<br>
>re-entrant, recursive programming after one knows a bit about computer<br>
>architecture and assembly. <br>
<br>
I don't know about Linux, but I made a policy decision not to continue<br>
doing assembler development after the third time I trashed my whole OS<br>
with an assembly language error. Maybe Linux has guards against that<br>
kind of thing.<br>
<br>
>After that LISP, <br>
<br>
I'd love to learn LISP. Which LISP implementation do you recommend for<br>
a guy who uses Void Linux?<br>
<br>
Thanks,<br>
<br>
SteveT<br>
<br>
Steve Litt <br>
<br>
Autumn 2023 featured book: Rapid Learning for the 21st Century<br>
<a href="http://www.troubleshooters.com/rl21" rel="noreferrer" target="_blank">http://www.troubleshooters.com/rl21</a><br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org" target="_blank">Ale@ale.org</a><br>
<a href="https://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">https://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</blockquote></div>