Computer Old Farts Forum
 help / color / mirror / Atom feed
From: bakul at bitblocks.com (Bakul Shah)
Subject: [COFF] Gnu Smalltalk or...? [was: Most Popular Programming Languages 1965 - 2019]
Date: Tue, 24 Dec 2019 09:46:18 -0800	[thread overview]
Message-ID: <6FB1192D-C301-42EF-9EAA-2F839B7777E3@bitblocks.com> (raw)
In-Reply-To: <20191223230336.GB18919@tau1.ceti.pl>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 7055 bytes --]

My scheme of choice is Gambit Scheme. Gambit is quite portable &
fast. You can always compile to a binary if performance is an issue.
There is now Gerbil Scheme, that sits on top of Gambit and is geared
toward systems programming. It seems to provide a lot of additional
features, using Scheme’s extensibility but I haven’t used it yet.
https://cons.io/tutorials/ <https://cons.io/tutorials/>

I find scheme code clear and concise (but not as concise as array
languages such as k, my other language of choice, where I have to
relearn the code every time but then it is only a handful of lines.). 

These days python has become quite the glue language, used for all
sorts of things, from AI to GPIO fiddling. Not my favorite language
but a working knowledge in it has been useful.

I would have loved to use SmallTalk 30+ years ago. Now not so much.

> On Dec 23, 2019, at 3:13 PM, Tomasz Rola <rtomek at ceti.pl> wrote:
> 
> On Mon, Dec 23, 2019 at 08:36:07AM +1100, Dave Horsfall wrote:
>>> On Sun, 22 Dec 2019, Arthur Krewat wrote:
>>> 
>>> Define "popular" - what's actually in use, versus what people want
>>> to use. And job listings versus research. Both of those would lead
>>> to different results ;)
>> 
>> I've been keeping a list of all the languages that I've ever used
>> since I was a stripling; it's up to 48, and that's counting all
>> assembly languages as one etc.  That's about one language for every
>> year that I've been a
>> programmer :-)
>> 
>> Yes, I try and teach myself a new language whenever possible; I'm
>> currently looking at Ruby as a lightweight replacement for Perl (I
>> run screaming from Python and its silly indentation), and Perl/Tk
>> for a GUI for some scripts that I wrote (mostly puzzle solvers).
> 
> This question is not addressed to you only: I am considering Gnu
> Smalltalk for such role (Perl & Python replacement). I knew Python 1
> and 2 once, but since they made a (what appears to me as) botched[1]
> move to Python3 I decided I wanted to try something else. This
> includes rewriting few scripts I had made in Python into this newly
> choosed language, as I am also moving into new OS installation
> (perhaps OpenBSD) and I guess there will be no Python2 when I finally
> make the move. Or if there is Python2 now, it is going to go during
> one of upgrades which is scheduled (by design) to happen twice a
> year or so.
> 
> The scripts are nothing hard, stuff like filtering lines of input
> etc. Sometimes filtering bytes.
> 
> Python is nice as long as one stays inside the "batteries included"
> limits, i.e. as long as one makes use of libraries provided as part of
> the language. I was rather happy with those standard libraries.
> 
> As of Perl, I have to relearn it every time I make attempt to use it
> and it just cannot stick.
> 
> AWK does not have things like built-in stat function and checking exit
> status of command in child sh process seems to be a bit cumbersome. I
> wrote few simple scripts with it after I finally learned I should not
> write those in Perl. But it is far from perfect for overall scripting.
> 
> I am yet to teach myself GSmalltalk, but after skimming the
> docs it seems to have the right classes for such scripting which I
> would like to do - UNIX/Posix type of environment, text files, maybe
> some bin<->uuencode mingling. This kind of things could be also done
> in sh, but I deteste starting thousands of processes just to grep
> stuff in files and then do something to thousand(s) of matched files
> (or process a mailbox of 10000 messages and do something to 40% of
> them). I guess it could be a bit faster to do it all inside one process
> (and a bit less stressing for sys accounting database). Some of those
> use cases might be nicely addressed with AWK, but some of them would
> be better written in Perl (which cannot stick in my head) or Python
> (which I would rather not use too much).
> 
> Another nice choice for me is some Scheme dialect with extensions for
> systems programming - Chicken and Gauche seem to fit (but I have to
> read the manual). Surprisingly, Elisp is quite well equipped with
> plethora of nice functions (calling external command, finding files in
> dir etc) but the need to parse output in buffers and inability to read
> files in chunks disqualifies Emacs as (standalone) scripting engine. I
> consider using Common Lisp (no need to learn it, so one problem off my
> head), but I would not say it is perfect for scripting. Albeit some
> scripts I wrote in it (sbcl) and I liked the experience.
> 
> As I am changing my default scripting language and OS, I would like to
> kill one more bird. I would like to be able to compile it from sources
> on a system which had been just installed from CD. In case of *BSD, it
> means I choose a pack/set with sources and compiler (dev tools), the
> installer unpacks it onto empty disk, there is no net connection. Then
> I put a pendrive with my stuff, unpack a source code of said scripting
> interpreter, call make; make install and only after this I go online
> (or not).
> 
> So in this last case, if, for example, I chose sbcl, I would have to:
> 
> 1. install base system
> 2. compile+install clisp (should compile with "any C")
> 3. compile+install sbcl (it wants a CL already installed to compile from
> source)
> 
> A bit strange, but should be doable. I did 2+3 on my current system
> more than once.
> 
> I am yet to try to compile GSmalltalk from sources and see how it goes.
> 
> So the language should be compilable with as little external
> dependecies as possible, and with just the tools which either can be
> found on bare install, or can be recompiled from USB with my sources -
> the sources need not be the newest and glamourest ones, just usable
> for my purposes. I can easily make a sh script to automate such
> "compilation chain", and it can take an hour or a week, no problem.
> 
> I would appreciate any words of wisdom from those who went
> this/similar path and could comment or hint a different choice.
> 
> [1] Overally, maybe my sentiment against Python as such grew over a
> decade and it was not really related to the 2->3 transition. Maybe
> rewriting some parts of the code is not that big deal really, but I
> feel aversion to rewriting which is not linked to introducing new
> features or bugs.
> 
> -- 
> Regards,
> Tomasz Rola
> 
> --
> ** A C programmer asked whether computer had Buddha's nature.      **
> ** As the answer, master did "rm -rif" on the programmer's home    **
> ** directory. And then the C programmer became enlightened...      **
> **                                                                 **
> ** Tomasz Rola          mailto:tomasz_rola at bigfoot.com             **
> _______________________________________________
> COFF mailing list
> COFF at minnie.tuhs.org
> https://minnie.tuhs.org/cgi-bin/mailman/listinfo/coff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/coff/attachments/20191224/c17a5aa3/attachment-0001.html>


  reply	other threads:[~2019-12-24 17:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-16  1:33 [COFF] Most Popular Programming Languages 1965 - 2019 robert
2019-12-17 22:54 ` paul.allan.palmer
2019-12-17 23:02   ` clemc
2019-12-21 22:22 ` grog
2019-12-22  0:42   ` cym224
2019-12-22 16:51   ` krewat
2019-12-22 21:36     ` dave
2019-12-22 22:05       ` paul.allan.palmer
2019-12-23 17:04       ` krewat
2019-12-23 19:54         ` thomas.paulsen
2019-12-23 21:59           ` krewat
2019-12-23 23:15             ` thomas.paulsen
2019-12-27 16:28               ` athornton
2019-12-27 18:24                 ` thomas.paulsen
2019-12-27 21:42                   ` tih
2019-12-27 22:13                     ` paul.allan.palmer
2019-12-23 23:03       ` [COFF] Gnu Smalltalk or...? [was: Most Popular Programming Languages 1965 - 2019] rtomek
2019-12-24 17:46         ` bakul [this message]
2019-12-25 17:50           ` rtomek
2019-12-22 22:41     ` [COFF] Most Popular Programming Languages 1965 - 2019 grog

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6FB1192D-C301-42EF-9EAA-2F839B7777E3@bitblocks.com \
    --to=coff@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).