X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=K/Xi5dXfI+SjlB3yfl5WIYaYwesijQhBZoIWtnQrAjc=; b=iz9WmQXF4RgnD976PdqX8UcOnHCMUJ5lr4bBOa5dZIAR8vYm8CBWN6l5AG2YPnatPP VDNR+IzEFO1LIW6PEuatGyHCRCNxsnjEtzuaUyl+3ioYr1cBAPc5JAK2fZHoUqKLKBZw 624r7zZUSYSVdgCpk2FOAPu8YmzPWK5CZyX2Kc4WD8NK1F7IuFNjksRNVlUDc0swikr6 Z6FDHuhCBue2wjdW5Tj2i4VycBI+axMxF2ck+aapreWey9ePwMppf7HeWdDFPA+wsVN3 IALu07fhvvv/AsraCAuaojW32F33kExp2lNdKWXZhRrRm/iQAjDNvtz9H+2Uk46jHPtX oRmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=K/Xi5dXfI+SjlB3yfl5WIYaYwesijQhBZoIWtnQrAjc=; b=eDvLvos1muCQDnD79STkvuvXUFx90mLn3GrbjWhQLmhkhc4j/9GQ9hc05EuZI7dA+z JwY3+cchqqVUNc/hYeNUU9QiH2IykVonrTAnvE7dGYczoGOuGOS56JjVsyufZfyGlDgR ODmeCyF0/icISpbliifUDoMTWhOh6RDJ5Gm0ucTvNcONJok++Ms3bwEhEtsHzAig5oYB Ro9SBV+JaRni4exU8wU9/q9uvE63O3kZJsM+0/V1sr5fYLIZGEfVUXmfZK8s5O+nRYuo Tma9ryZeNknPeQxAJ+6i+linzMq2Wpd2RnCO5VfCUuHCy1qlLBIas7GoGNoC6DsTmLN3 vEOQ== X-Gm-Message-State: AOAM533oEUaFByYGSC+iiswTvYjOyWqcUDbPARdY2yjkjG7ciOLLjAz1 GHTG513pzwxdnm8pfKnKWQmqikZUf8GNjqiSIRpH6XCI X-Google-Smtp-Source: ABdhPJztww1GQb10dP0iecoCI4dmBzpzLaIf5gMNqbiN06SHDo6H+OZnnkbbTUVUPl8OubM6+T/LlZCL+GtN9atCeE4= X-Received: by 2002:a2e:750d:: with SMTP id q13mr531254ljc.252.1626115629910; Mon, 12 Jul 2021 11:47:09 -0700 (PDT) MIME-Version: 1.0 References: <20210712180102 DOT 5944 DOT qmail AT stuge DOT se> In-Reply-To: <20210712180102.5944.qmail@stuge.se> From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" Date: Mon, 12 Jul 2021 14:44:35 -0500 Message-ID: Subject: Re: Languages, once again (was: Re: [geda-user] Thank you - some requests and an offer) To: gEDA users mailing list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id 16CIlCjl015681 Reply-To: geda-user AT delorie DOT com Really guys. We all went our separate forks to avoid this sort of thing. On Mon, Jul 12, 2021 at 1:11 PM Peter Stuge (peter AT stuge DOT se) [via geda-user AT delorie DOT com] wrote: > > Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > > There are much more people writing in C. > > If I understand you correctly then I disagree; I believe Python to be > more widespread than C. (Qualification: Acceptable Python programmers > vs. acceptable C programmers.) > > > > If you like debugging C code, please continue > > I enjoy reading, writing, running and debugging good C code. > > But I was comparing Python and Scheme, since they are the respective > languages in geda-gaf and lepton. Bringing up something else can be > called whataboutism and derails the discussion, let's stay on topic. > > My main arguments for Python seem to hold; it's more widespread > and offers language compatibility with KiCad data. > > > > you can learn why Scheme/Lisp were always one or more steps ahead > > ("Blub paradox"). > > I too enjoy reading Paul Graham. :) > > To be clear: I never claimed that the Python language is absolutely > better than Scheme/Lisp. I find such claims (without consideration > for context) pointless. > > > > Now, in comparison of Python and Scheme, we have different approaches. > > Yes! Scheme is surely an interesting language. And just like Guile has > issues, so does CPython. But I'd argue less so. > > > > There are only one implementation of Python which breaks from version > > to version but has many useful libraries. > > My impression is that Python rarely breaks? It's clearly a problem > for geda-gaf that Python 2 is dropped by distributions, but there are > solutions to that and I believe that it will be a long time until > Python 3 breaks in a similar way - no? > > > > And, finally, did you ever hear anything about Guix [5]? Is there > > something comparable in Python yet? > > I've heard about Guix. In general I think we need fewer package managers, > not more and in particular I disagree very strongly with the current practice > for every single language to invent its own package manager, if you suggest > that Python should have more package managers. > > The transactional nature of Guix is nice! It reminds me of NixOS. > > If your argument is that Guix uses Guile then I find that a bit weak > because Guix isn't really a high-profile project. Also, both are GNU > projects, meaning that potential for group think is high - something > IMO both geda-gaf and lepton should try to avoid rather than lean into. > > > > Did you ever hear about Racket or Clojure? > > I looked at Racket some time ago and wasn't excited. :\ > > Clojure is popular, that's true! > > Would you consider typical Racket/Clojure projects comparable to the > Scheme parts of lepton? I don't know - this is an honest question. > > > John Doty wrote: > > > On Jul 8, 2021, at 4:29 PM, Peter Stuge (peter AT stuge DOT se) [via geda-user AT delorie DOT com] wrote: > > > > > > John Doty wrote: > > >> Has anybody but you mastered Xorn? > > > > > > I believe more people know Python than scheme; there's significantly > > > more gEDA potential with xorn. > > > > Have *you* mastered Xorn? > > Fair! No - but I haven't tried. I am however confident that I will be > able to do so quicker than mastering lepton if and when I need to. > > > > Personally, I’m reasonably familiar with Python, but I found Xorn > > impenetrable. That’s why I now use Lepton. > > Also fair. > > If I've understood correctly then xorn exposes a gEDA data model > superset as required to cover everything that geda-gaf does and did; > ie. more internals than before, to be able to present a complete and > coherent model. > > If xorn only provides access to internal details never previously > exposed then that could well explain the hurdle. > > > > Roland is impressively productive with Xorn, but I can’t figure out > > how to do my custom stuff with it. > > This seems to be either a documentation/examples problem or lack of a > higher-level API on top of the low-level one. > > > > > I think the most significant argument for Python is that KiCad also > > > exposes its data model in Python; that's a clear path to more shared > > > effort and simpler portability/convertability of user data. > > > > That’s your theory. "In theory, theory and practice are the same. In > > practice, they are different.” > > In practice, handling two different data models in one program using > one language is easier than doing so across two different programs using > two different languages. > > Conversion is the simple use case. Thanks to xorn I can see a python > program that merges sheets or partial circuits from both geda-gaf and > KiCad into a single new schematic while allowing two teams to continue > working in their respective tool. I find that a supremely compelling > use case for data usability, which is what determines (or will) the > future of all our tools. > > > > >> The fact that the original scheme backends were the product of multiple > > >> authors is telling. > > > > > > Are there many enough data points to actually tell anything at all? > > > > I count 11 authors explicitly credited in the Lepton netlist back ends. > > I know I’d find several more if I plowed through the ChangeLog. That’s > > a fair number of data points. > > > > > I guess no in gEDA/lepton, for both Python and scheme. > > I don't find 11 so many, and time distribution probably matters too; > xorn is pretty young in geda-gaf. > > > //Peter -- https://github.com/evanfoss -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 mQENBFYy4RYBCAC183JomLtbdAlcKiaPDoVHq52LDmVmH75aiEc69m7YxDt54/ai VtYCAobbGVIyn3Hlz3uhF6LnPl/6Lm1VdnCfpwu3KQhCO6ds10ow2C30X4ohCqOd hCVg5C+ILmQkEffFrFODy3ji+PYTF4pADvHCWsTMv0hf0llwFOJsBCK6cl02IffE JPqy4PjM1nZ9HpzT84JBaG/4OGvTZ8SQ2yFUl265jagvygPTf88H1xpZHH1r8dB1 stjUHLmPH8AOyDgKxFchgGeDc3p/vJtgDDIXAFfDXG0NSRovLmtaQdGxe47Zf/go bXiEM7YL2WqQe5zfEA919JxkEwlDKYniOSVzABEBAAG0N0V2YW4gRm9zcyAoVGhp cyBpcyBteSBwdWJsaWMga2V5LikgPGV2YW5mb3NzQGdtYWlsLmNvbT6JATkEEwEC ACMFAlYy4RYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCIpQTcE8nN bbBaCACAm8pU5lG1ev2Fsw68Axtcl57SJrYieqX96c3YuYH9JpqMqJRnd9nDKw9X tQuvuH7tUk0VbOaDqReOYJVI/4c5wb9AaOFp6K2DUcupq6XhgXpvz3HzoPwjAdIj XuQzdRUx5+innTJrSkGuBYW/CZ2zqEx4xfLlq4rO0hoTUMR8QVp2cCrkw6BT0m86 APIw/ZnjoxM8IEzr7MxfRIg3qpzrZk28rmhx+k78Jyk61UhwcCPGIm/pjUopTwYJ 3YBdRB2cYD2aN7A1JVf5cRmSQYooHBGpH0kYvomGk97PKqypVuJ7OpG9xM58wUcC qUVt9hKlePLzP8csYjt8onqI7qIIuQENBFYy4RYBCADlH8spG3WkCx62vB5mr5Z0 SCDd/RcyA4A5y5EOj5KurQkrSWpgi9Ho1yKruMJ6blQR2qkc66KqH9pnXDm/ZI1M K/wdW3ngETxBmXoozzFMT89aEWIVR5/PFodWK1elekE9iJxACuR98Zg2QttTD3x8 A9w8VEyMLOXcDTrPFpHegMKswFBg5iuMulAdXAoGejWTI3n+qKFpabHm2Lfs6wjk 5rjucpTdeFK6UeWF1xAvNxXibuu5BlGwv53930qIXRwO/Gn2Rh5DXWxKU2fEIme/ xgQQmIsDeUoWbfybdjw/x7Q0LW4mINiLDQcGHHRQKFIxbAJCT3USPLGh5xwE9/Er ABEBAAGJAR8EGAECAAkFAlYy4RYCGwwACgkQiKUE3BPJzW0uYAf9Hf30n8tM3mR2 Zo6ESE0ivgdgjaJtAWrBUx7JzAzPjBnBOlNnu5Y9lVEqetvUPH6e3PvaHYUuaUU8 0HwxuKBW9nUprgV6uIu1DZmlcp+SxpbuCy7RDpNocRLNWWFMaYYzznmTgfnTgD4D gCq8Mf1mcfrluTkOAo+QNqbMfl1GISClopRqxVuAo59ewgMnFujwgd8w12BwWl24 CzqOs5HqcUslePj+LzcjSNgVCklYwKl+0dsb/fctMOCtHodwqm2CBJ+zydvNmYkD fxda/J91Z1xrah5ec++FL0L4vs+jCiIWJeupJFKlr1hCMZiiGH7W554loK5l4jv3 EY347EidAw== =Ta4p -----END PGP PUBLIC KEY BLOCK-----