Mail Archives: geda-user/2015/10/06/04:07:01
On Tue, 6 Oct 2015, Dave McGuire (mcguire AT neurotica DOT com) [via geda-user AT delorie DOT com] wrote:
> On 10/06/2015 02:02 AM, gedau AT igor2 DOT repo DOT hu wrote:
>> 1. I complain about the tight coupling between _any one_ scripting
>> language and geda _core_. It is because I believe scripting makes sense
>> on a different (higher) level, and core should be more stand-alone and
>> scirpting language neutral.
>>
>> 2. again point 1, from the other aspect: users should be able to use
>> their favorite language; it's impossible to support all languages, but
>> at least trying to provide a few alternatives is better than hardwiring
>> a specific language. Having to support alternatives also help inventing
>> an API between scripting and core which can help keeping things clean.
>
> Here we agree 100%. Do you think it's practical to have a core with a
> well-defined-enough API such that several different scripting languages
> could be used, perhaps via a plugin mechanism? Because THAT would be
> wonderful, in my opinion. It would also end this "I don't like your
> scripting language" argument once and for all.
Exactly. And this is exactly how I did it in pcb-rnd. One of the
reasons is indeed that we don't need to argue over languages anymore.
>
>> 3. I complain about the actual choice, scheme; not because it's hard in
>> general, but because it's ugly (personal preference!), time wasting
>> (personal experience), and even according to feedback on the mailing
>> list is a blocker for many could-be-contributors.
>
> Hey, that barrier to entry might just save us more problems than it
> causes. ;) But more seriously, other tools use "hard" languages which
> are well-suited to the task (AutoCAD comes to mind) and people accept
> the simple fact that if they want powerful tools, they'll have to
> actually sit down and LEARN something. gEDA shouldn't be dumbed down in
> order to cater to the absolute beginner, IMO.
I did use scheme in a gnetlist project and in pcb-rnd. It's not that I did
not spend time on it. It's that I find it utterly inefficient and
unreadable. It's not hard in the sense that it's hard to learn or hard to
understand. It's hard in the sense that I find it hard to read and it
takes much more time to achieve what I want than with other languages. And
by other languages I mean those I don't use and had to pick up along the
way, the same way as scheme.
These languages are similar: they are turing complete, and although they
build on different (mix of the same set of) paradigms, they are all
capable. I wouldn't say that ruby or python is dumber then scheme. Chosing
one of them over scheme wouldn't be dumbing things down in any sense.
>> Just because electronics design is hard, and some find scheme hard too,
>> that doesn't automatically validate scheme as the best choice.
>
> Of course not. But to call Scheme "hard" is laughable. I think it's
> just a matter of someone taking a quick glance at it and noticing that
> it's not Python or Perl or Ruby or
> whatever-whiz-bang-language-is-popular-with-the-cool-kids-this-week.
As I said, I did invest time in it. Also, for developing my example
scripts (the rosetta project) for pcb-rnd, I did spend time on writing the
same scripts in different languages. I have a few basic examples in all
languages I support. I believe I do have a clear picture on how easy it
was for me to write the same thing in scheme vs. in a random language I
didn't know before vs. in a language I was using for more than a decade.
Really, for me, scheme was a PITA. Not because of the lack of
documentation. Not because I didn't invest the time. It's just some
paradigms and some syntax doesn't go well with some people. As far as I
can sample the opinons on the list, I believe there fewer users/devs
wanting scheme than users/devs wanting basically anything else. You can
call it a popularity question, but at the end of the day, scheme _is_ a
problem for many of us in gschem.
Regards,
Igor2
- Raw text -