www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2021/07/12/14:02:52

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Message-ID: <20210712180102.5944.qmail@stuge.se>
Date: Mon, 12 Jul 2021 18:01:02 +0000
From: "Peter Stuge (peter AT stuge DOT se) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
Subject: Re: Languages, once again (was: Re: [geda-user] Thank you - some
requests and an offer)
MIME-Version: 1.0
In-Reply-To: <A054EE4E-3819-42C7-9B56-B3644AD8AC39@noqsi.com>
<YOf62YVLNddlPKR7 AT lepton>
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

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] <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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019