www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/09/06/05:07:40

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=20120113;
h=date:from:to:subject:message-id:mail-followup-to:references
:mime-version:content-type:content-disposition:in-reply-to
:user-agent;
bh=h9wG5y3U921nCJNrUiJxOEmk9j/Pv2Z2yj5f/gcSJzo=;
b=U29tUnxpvmWTqjHiBEUNQpjfGXnopT8Gzjy9i9XtafAxAhwZrV8olYl7cYIbJcyPt7
9Aj0DcqED1d32WDZT1hyWMu65yI/D5eh4k98XyeYWkQJd18Rqnq+dibDzwMQSKusvzCq
HOaMvN5ZY8kmmitkvQFrkzjCvKUypzrjjjPMHImfnn5y/WjgBBnsrtmI8emhpqmQShQP
RCom7GYGnT8auL+lFqkuIyGCG5i6lLie4RscjN0CJQZeQNlp6Lq85g70NlcPZKyTVEir
m1xcKvlY2SKnMpqRdYA0XPdXLYvyvOorkwTcn8K6YY+X2NrlgJHMMlpjWzmRpP7V7uPz
sFOg==
X-Received: by 10.152.197.69 with SMTP id is5mr12170112lac.31.1441530423839;
Sun, 06 Sep 2015 02:07:03 -0700 (PDT)
Date: Sun, 6 Sep 2015 12:07:01 +0300
From: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] New experimental netlist features
Message-ID: <20150906090700.GE2637@localhost.localdomain>
Mail-Followup-To: geda-user AT delorie DOT com
References: <55E97A3E DOT 2070402 AT jump-ing DOT de>
<69B8B3F4-A6E4-43E9-9055-C63A5D6A3707 AT noqsi DOT com>
<CAM2RGhT=aTYjyHWuxYFJXac8VhTOcB_piEGhq2dCNa61gAtFNw AT mail DOT gmail DOT com>
<55E9BD63 DOT 8070407 AT jump-ing DOT de>
<F6F6D986-713A-443E-B8FC-C6F7828C570D AT noqsi DOT com>
<201509051930 DOT t85JUlTh019874 AT envy DOT delorie DOT com>
<20150905210158 DOT GC7185 AT localhost DOT localdomain>
<201509052107 DOT t85L7sHL024299 AT envy DOT delorie DOT com>
<20150905213959 DOT GE7185 AT localhost DOT localdomain>
<alpine DOT DEB DOT 2 DOT 00 DOT 1509060444550 DOT 6924 AT igor2priv>
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.00.1509060444550.6924@igor2priv>
User-Agent: Mutt/1.5.23 (2014-03-12)
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

On Sun, Sep 06, 2015 at 05:08:41AM +0200, gedau AT igor2 DOT repo DOT hu wrote:
...
> >Over and over again...
> >
> >Does this mean we should replace Guile with Python?
> 
> I wouldn't say "this". Rahter, in general, for many reasons, Guile should be
> replaced.

In general... For many reasons... it should die.

> 
> With Python? Well... With antyhing popular, or at least paradigm-popular (as
> in non-exotic, non-lisp), basically.
First reason: popularity.

> 
> I personally believe hardwiring a single language is a bad idea. Scheme may
> have looked a great option 15 or 20 years ago. Looking at the sitation now,
> python or lua have good chances to survive at least that amount of time, but
> who knows? What if there will be new trends and noone will want to touch
> python in 2030?
Second reason: looking great.

> I really believe in having a solid C core and a separate, multi-language
> script plugin system. Core functionality should go without scripts.
> Configuration should be declarative and simple, even if it costs a custom
> mini-language. Scripts should be reserved for user addons.

Third reason: it must be C.

> 
> >(Emacs Lisp with Vim scripts?, LaTeX coding with LibreOffice widgets?
> >systemv with systemd etc. etc.)
> >
> >
> >Citate from http://twistedmatrix.com/users/glyph/rant/extendit.html:
> >
> >-------------------------------------------------------------------
> >Access from multiple scripting languages is not a good idea.
> >
> >In an article I posted to advogato, I described my position on this in
> >more detail, but the gist is that it is extremely difficult to design an
> >interface which makes sense and helps people be productive in one
> >language. Doing it several times over is a fantastic challenge with
> >little benefit - in fact, the effort may backfire.
> >
> >Consider that, if you maintain multiple scripting interfaces, your
> >application will develop a ragged community of customization fans, who
> >will regularly argue about what language to use to extend your software.
> >If you support Perl, Ruby, Python, and Scheme, you will certainly find
> 
> Like this does not happen at the moment... My impression about this part of
> gscheme always has been that there's a small but strong scheme-fan developer
> base occasionally joined by a very few users, while the rest of the user
> base simply can not penetrate the surface because of scheme. Not having

Fourth reason: we cannot penetrate its surface (did you try?)

> multiple scripting languages doesn't mean everyone will be happy with your
> favorite language. It only means people have no choice, and will not argue
> about which language would be the best for a task, but about how your choice
> of language fails on it.

Fifth reason: people have no choice (what about scripts on any language
  you could run in gschem using the 'system' command or use them outside
  of gschem?)

> 
> >Python and Perl fans who are using your application constantly at each
> >others' throats, re-implementing the same 'script' functionality 8 or 9
> >times, and generally wasting time that could be better spent enhancing
> >their plug-in packages.
> 
> Yup, whenever there are multiple alternatives, reimplementations happen. I
> don't find that a waste or a bad thing. I am sure kicad reimplements a lot
> of things we do. There are hundreds or thousands of free text editors out
> there, reimplementing a lot of the same problems, like how to handle
> gigabyte long text files and edit lines in the middle without having to
> memcpy the whole thing for each character. Abandoning all these for One Good
> Implementation would be as bad as finding the most efficient animal on the
> planet and wipe out the rest of the species.

Sixth reason: One Good Implementation is a wrong way (do we have at
least one good implementation?)

> >
> >If you support only one scripting language, but you support it well,
> >then you will create a simple environment into which contributors may
> >put enhancements, and you will facilitate sharing and understanding
> >between those contributors. Focusing on a single language and supporting
> 
> This did not happen with scheme. In theory if you chose a more popular
> language, it may happen, but does not necessarily happen. And you really
> can't know what's a good language for this purpose now, yet alone in 10 or
> 20 years into the future...

Seventh reason: good support can be done for any language but scheme.

> 
> >It's just what's happening now in the project. Exactly one developer
> >(Roland) works on its python branch and has a support of some users in
> >the list who always keep repeating 'guile is wrong'. How will this
> >encourage any dev like me who've invested their time on learning current
> >gschem internals and Scheme in order to try to make things better?
> 
> I am an user of gschem. I am not a fan of python at all. Really, I hate the
> indentation, I hate OOP. I find things like separator.join(array)
> unintuitive as if it was designed by to explicitly make life harder.
> 
> BUT. It is 100x better than scheme. Really, I've been working on pcb-rnd's
> rosetta subproject. Had to write and test the same 10..20 lines sciprts in 9
> different langauges, including scheme and stutter (a lisp implementation).
> It usually took 1 unit of time to write the initial script in awk or lua. It
> took about (num_of_languages)/3 unit of times to convert them to all the
> non-scheme/non-lisp languages. And then it took 2..4 units of time to get
> the scheme and lisp version working. It is not the first time such things
> happen, I still remember the weekend I spent on writing text gnetlist
> backends.

Eighth reason: Scheme requires much more time to write code for
  programmers who like C-style languages.
> 
> So even if python is very far from a language I'd like, I regard Roland's
> efforts as a chance for a change for the good.
> 
> 
> >
> >OK, I see the message. Get out, stupid ancient fools, your time is
> >out ;) The new generation is coming...
> 
> For me, it's not about old or new, neither in people nor in tools. My
> absolute all time favorite language is awk. First appeared in 1977. As I
> said about python, it's not even about getting my favorite language in the
> tools. It's really about scheme being so bad of a choice that almost
> anything else would be better, for practical reasons. Yes, even tcl would be
> better...

Nineth reason: anything is better than scheme because it is truth (trust me).


-----------------------------------------------------------------------------
Now then, bottom line:

> ... in general, for many reasons, Guile should be replaced.
because:

1) It's not popular.
2) It is not looking great.
3) It is not C.
4) We don't understand it (cannot penetrate its surface).
5) It prevents us from doing anything in other language we want.
  (People have no choice.)
6) One Good Implementation in Scheme is a wrong way.
  (We require Many Good Implementations in many languages at the same time.)
7) Good support can be done for any language but scheme.
8) Scheme requires much more time to write code for programmers who
  doesn't like it.
9) Anything is better than scheme because... anything is better than scheme.

Looks funny. What I can say about?

The message is just:
  We don't like Scheme, we aren't going to learn it because we don't
  want, and therefore any language is better.

Substitute Scheme for any other language (but C :)), and I can say
almost the same about your preference.

Cheers,
  Vladimir

- Raw text -


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