delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/07/14/05:21:00

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Date: Tue, 14 Jul 2015 11:27:35 +0200 (CEST)
X-X-Sender: igor2 AT igor2priv
To: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu"
From: gedau AT igor2 DOT repo DOT hu
Subject: Re: [geda-user] The new to do
In-Reply-To: <20150714084906.GC14371@localhost.localdomain>
Message-ID: <alpine.DEB.2.00.1507141115110.6924@igor2priv>
References: <CAM2RGhQ70Pex5aNeQ86vKHc7sKf_Vpws69__CPb2QKg6fJTeHg AT mail DOT gmail DOT com> <mnv04v$if0$1 AT ger DOT gmane DOT org> <0A5D410F-D1EF-4FC6-AF0F-BB13218B1615 AT icloud DOT com> <alpine DOT DEB DOT 2 DOT 00 DOT 1507131000330 DOT 6924 AT igor2priv> <mo1rd7$oef$1 AT ger DOT gmane DOT org>
<20150714084906 DOT GC14371 AT localhost DOT localdomain>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
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 Tue, 14 Jul 2015, Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com] wrote:

> On Tue, Jul 14, 2015 at 04:16:06AM +0200, Kai-Martin Knaak wrote:
>> gedau AT igor2 DOT repo DOT hu wrote:
>>
>>> I had such an effort years ago. It was a standalone plugin for PCB
>>> of the time. It used GPMI to support multiple languages - not
>>> requiring all of them installed, but letting the user install
>>> language plugins. It supported all the languages you listed above
>>> (gpmi even has a guile backend!).
>>>
>>> Unfortunately it did not attract any user. I think only a very few
>>> people are actually interested in scripting PCB (other than with the
>>> builtin action language).
>>
>> IMHO, the ability to script just every action and even the UI on a
>> user level is one of the strengths of eagle. I get the impression that
>> scripting is used a lot by seasoned eagle users. The way eagle does it
>> with its own exclusive languages (plural!) is a different story
>> though. I'd recommend a look at freeCAD for a more convincing example
>> on how to tackle scripting in a CAD environment.
>>
>> IMHO, to get widely adopted scripting must be readily available in the
>> default install of the suite. Plus, its use must be covered by the
>> manual, by howtos and by first-steps. When these conditions are met.
>> scripting can get quite an asset.
>
> Let's start?
>
> What a first scripting example would you like to see in the scripting
> how to?

My personal favorite is awk, but it's not widespread anymore. Also, I will 
try to list what'd work even against my personal preferences.

If we want to go for popularity/accessibility: python. Lua is smaller and 
in some sense may be better suited to embedding (but the general hype 
behind it seems to be smaller than behind python). My personal preference, 
if I had to chose between these two, would be lua.

Javascript is also popular and there should be "small" interpreters 
available.

Many years ago perl would have been a good candidate too, but I don't 
think it'd attract the young generation. Same goes for tcl.

I am not sure about the popularity of ruby; I think it's either here, at 
the end of this section, or above perl & tcl.

If these all fail, something young and modern could be used. It is a 
higher risk, tho: who knows if they will be popular (or even alive) in a 
5..10 years time scale?

Finally, for me at the end of the list, in the "should not be used at all 
if we wanted to attract users" category:

- lisp, scheme and other classic functional stuff

- experimental and/or dead "was a pet project of someone once" languages 
(like stutter)

- m4 (it can not be easily embedded anyway, last time I checked it didn't 
have a lib, only executable)

- shell (not really suitable, can't be embedded)



Btw, my opinion is using gpmi or something alike is the best way: 
instead of limiting the software to one language, it's not much harder to 
support 10+ languages.

Regards,

Igor2

- Raw text -


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