From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Blake Shaw Newsgroups: gmane.lisp.guile.user Subject: Re: Newbie thoughts on Guile Hall + Guix Date: Thu, 10 Feb 2022 19:42:48 +0700 Message-ID: <87mtiyevp9.fsf@nonconstructivism.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="696"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Olivier Dion , Catonano , Guile User To: Aleix Conchillo =?utf-8?Q?Flaqu=C3=A9?= Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Thu Feb 10 15:12:42 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nIABd-000Abp-M9 for guile-user@m.gmane-mx.org; Thu, 10 Feb 2022 15:12:41 +0100 Original-Received: from localhost ([::1]:35024 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nIABc-0006pv-1Z for guile-user@m.gmane-mx.org; Thu, 10 Feb 2022 09:12:40 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:34096) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nI8ps-000558-2J for guile-user@gnu.org; Thu, 10 Feb 2022 07:46:12 -0500 Original-Received: from out2.migadu.com ([188.165.223.204]:15204) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nI8po-0001UH-8C for guile-user@gnu.org; Thu, 10 Feb 2022 07:46:07 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nonconstructivism.com; s=key1; t=1644497158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7tXwGyzijNSN4dSZUOM8mvB7EFBrLfcft5IFsxQUmmk=; b=rJl3Uj4WVjDlc9y9n6zYBywNUQpMezoK36zyBrLqZcSi+X3mTQ8n1GqKfeAa+hPr2z7lUp TCY5b3O6UcHDZqK7pX3qveYrewEm5IGE/YITwMYs/zyjmxZAO6Va02kxP0RnzcUwP53hIN 1xtpYuG+h7v7ueI6ASrTJ49c++3xnaU= Gcc: nnimap+imap.migadu.de:sent.2022 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: nonconstructivism.com Received-SPF: pass client-ip=188.165.223.204; envelope-from=blake@nonconstructivism.com; helo=out2.migadu.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18064 Archived-At: Aleix Conchillo Flaqué writes: > My 2 cents: > > - Doing something in Guile is tough. I've been trying since 2011. > > Why is it tough? > > - The manual is written by very smart people for very smart people. Not for > newcomers. I've seen this sentiment expressed a few times when this topic has popped up, and I think it can come across as assuming that the people who struggle with it are either not very smart, new to programming, or both. For instance, I know that someone who described a difficult experience which shared many of the same attributes as my experience, and they are the author of a popular programming book that is certainly not for newcomers. Before the pandemic threatened to separate me from my partner if I returned to school, I was doing my PhD in philosophy of mathematics focusing on categorical logic, and I've been programming since I was 15, almost 20 years now (but I will admit I'm no super hacker, my work has been specifically limited to audio dsp, opengl, opencv and stage video & lighting). And I worry that beyond possibly scaring off folks who could possibly become very active members of the community, this form of sentiment functions to allow us to forgo the difficult work of understanding what the problems are and how they can be addressed. > I'm excited to see what Blake comes up with, but the content will > probably still be not-trivial. At the end of the day it's a reference manual, not > a book to teach you how to write a new project from scratch. I'm glad to hear it! It good to see so many people get excited about documentation! Which certainly indicates a shared desire to see the documentation improved. And I agree its a manual, and if anything there is a good amount of inconsistency when the manual is itself unsure whether its a tutorial or a manual. I think I have a very simple guideline that I'll present that allows us to maintain most of the existing material while allowing us to revise sections in a consistent way to make them less tutorial-like, quicker to consult, and easier to understand, at once! It's not magic, but I think will offer a notable improvement both "for the working hacker", but also for the little schemers like myself. I'll be excited to hear what you think of it. > > - There are no simple and modern resources that teach what is the "Guile/Scheme" > way. How do you even organize a project when you start? Or something like  > https://go.dev/tour/ to teach the basics. Yes, you can read books but most people > when they start to learn a new language they just want to try to do something > quick. And the books that teach Scheme are not trivial/practical. I agree, and I'm really excited to see how Jeremy Korwin's book develops because from just a glance at it, it seems to be on the right track to fill those shoes. > > - Lack of libraries. We do have libraries but the ecosystem is not big and for > those libraries we have it's hard to get started, most don't have simple examples > or don't have examples at all. > > - Assuming you find the library you need... how do you start using it? How do you > install it? Now there's Guix, but not everyone has Guix or wants to install Guix. > I'm on macOS currently so I can't even install Guix unfortunately. > > - Lack of support in editors other than Emacs (yes, geiser is great!). There's a > project that might help there: https://gitlab.com/rgherdt/scheme-lsp-server. But > LSP is not enough, you need a paredit equivalent, etc. > > - Creating a new library is (or was) not easy. guile-hall and guix help here. But > how do newcomers even find "guile-hall"? Should guile-hall be part of Guile and > included in the manual? > > - Distributing the new library you have created is (or was) not easy either. > Also, guile-hall and guix issues here. > > So basically today we are kind of forcing people to learn Emacs and Guix (if you > can even use Guix) to have a minimum decent environment. > > For me starting with Guile was not hard because of autotools, I already had to > deal with that for many years. For me the hardest part was the lack of resources > (libraries, tutorials, examples, simple books). > > As for myself, I've been trying to create libraries to replicate what I use at > work (and I'm far from that) or others that I find fun. And I will try to keep > doing that to improve Guile's ecosystem and help with anything else I can. > > Best, > > Aleix > I address many of your concerns in my presentation, but not all of them, and I agree with most them. Will be interested to hear what you think! ez, blake -- “In girum imus nocte et consumimur igni”