From: Olivier Dion via General Guile related discussions <guile-user@gnu.org>
To: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>,
Leo Butler <leo.butler@umanitoba.ca>
Cc: Guile User <guile-user@gnu.org>
Subject: Re: Shell commands with output to string
Date: Wed, 23 Feb 2022 09:13:48 -0500 [thread overview]
Message-ID: <87ee3t657n.fsf@laura> (raw)
In-Reply-To: <9a84554c-c2ef-7c9b-ffff-129cb517afca@posteo.de>
On Wed, 23 Feb 2022, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:
>> There's ton of missing stuffs in the standard library IMO. On top of my
>> head, filesystem paths manipulation (e.g. path-join) is also one that is
>> probably getting re-invented a lots.
>
> I actually made something for that, trying to copy mostly the Python
> behavior for os.path.join:
>
> https://notabug.org/ZelphirKaltstahl/guile-fslib
>
> Also available as a GNU Guix package, but not updated in a while on
> Guix. Repository contains more up to date version.
This is great and should be merged into the standard library of Guile.
Maybe not at it's (I have not read everything), but this would be trully
benifical to all Guile users.
By keeping this as an external library such as a Guix package, I fear
we're aiming at the 'nodejs syndrome' where everything -- down to
the simplest hello world -- is a package dependency.
>> I believe that the successful story of Python is not just about its
>> pretty syntax, but also dues to its very large standard library.
>
> I think so too. Although I sometimes have the feeling, that Guile does
> things in a cleaner way, once one figures out how to do them in the
> first place. One thing I really like are the ports. Stuff like
> call-with-output-string. Takes some twisting of the brain, but once
> one gets it, it becomes very useful and elegant.
Of course Scheme does things better than Python. I wouldn't be hacking
with it if it was not the case ^^. Not only the syntax, but the
programming paradigms. You want FP, you got it. You want OOP, sure.
You prefer procedural, no problem. With Python it's more like just OOP
although there's been progress on the FP side.
> But yes, Python is very beginner friendly in terms of batteries
> included. Although I think that its syntax feels a bit ad-hoc. As in
> "Oh we want some syntax for X … lets invent this keyword here. or some
> new operators or things like that."
Yeah they were late to the FP paradigm so they had to invent something
without breaking their OOP echo chamber I guess. IIRC, there's talks
about adding patterns matching which Lisp has since the begining. So
yeah very late to the game of FP.
> I like Guile syntax (or Scheme in general) much more. However, it is
> difficult to motivate others in a quick demo to learn the language,
> when you cannot take half an hour time to explain, what that for other
> people weird looking syntax is actually really cool.
I'm not sure if it's only the syntax. Yes we often see "but the
parentheses burn my eyes" but I believe that things are more complex
than that. What I think is difficult is to explain to someone why they
should try to learn new languages in the first place. On top of my
head, people ask themself the following question before learning a new
language:
- Profit -> Can I easily find a good paying job by developing in
this language?
- Field -> Can I develop in my field (e.g. video game, mathematic)
with this language? Is there a community?
- Support -> Can I find solutions to my problems easily online?
Are there libraries for common problems that I could encounter?
- Prototyping -> How easy is it for me to scratch an idea with
this language?
and probably other reasons. Now, try to explain to someone that does
web developpement in Javascript or Python that Scheme is far more
supperior. That person would just ask: Does Guile has support for
MongoDB? And proceed to dismiss it.
Of course, some hackers like me just like to learn new stuffs. It took
me about an one hour into Scheme course of the MIT on youtube to
understand that I just found the holy grail of programming language.
And yet, I have not find the answer to the `profit` question.
--
Olivier Dion
Polymtl
next prev parent reply other threads:[~2022-02-23 14:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 9:29 Shell commands with output to string Zelphir Kaltstahl
2022-02-22 9:38 ` Zelphir Kaltstahl
2022-02-22 10:20 ` Alex Sassmannshausen
2022-02-22 10:43 ` post
2022-02-23 14:01 ` Josselin Poiret
2022-03-08 23:12 ` Zelphir Kaltstahl
2022-03-09 14:14 ` Josselin Poiret
2022-02-22 11:20 ` Neil Jerram
2022-02-23 1:28 ` Zelphir Kaltstahl
2022-02-23 1:29 ` Zelphir Kaltstahl
2022-02-22 10:21 ` tomas
2022-02-22 14:27 ` Olivier Dion via General Guile related discussions
2022-02-22 16:00 ` Leo Butler
2022-02-22 16:33 ` Olivier Dion via General Guile related discussions
2022-02-23 1:26 ` Zelphir Kaltstahl
2022-02-23 14:13 ` Olivier Dion via General Guile related discussions [this message]
2022-02-26 0:32 ` Zelphir Kaltstahl
-- strict thread matches above, loose matches on Subject: below --
2022-02-23 17:48 Blake Shaw
2022-02-23 18:25 ` Olivier Dion via General Guile related discussions
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
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ee3t657n.fsf@laura \
--to=guile-user@gnu.org \
--cc=leo.butler@umanitoba.ca \
--cc=olivier.dion@polymtl.ca \
--cc=zelphirkaltstahl@posteo.de \
/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 read-only IMAP folder(s) and NNTP newsgroup(s).