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=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=efgnWfpVPIipGcxTS8s0OTxDYVTtzT21gLghQUA8AUk=; b=ZtZfwEedjjNyOYk7k+YfTbhSF/RK5mau37FRufT+zs6av/tunfdpe5GIX+jcZaSGFb uGZL3ip9+KE+s813G0mEeTAC0L/fXf4Q6G5TXdHplLZAQ60z21Pyg6fTuCDx8C8+jl4H HH3JfnMAB1tqokVUYNQU4Vb8Ub85XINU6nFUL/kk3qxISBJjWP0B4jDkIOrWuAoMmKzv dwL7QRLcPqZvzRlzs5Eo/2rFCaCxMzFGVcaZF8ViOYbbCai+wF51nIC1opsOqlNcC49Z jtAl4u96rKWecjE+wYMTNqp1nFC2nfAukUPeXogH7NRcXBS0aIU38R1bL6tmuTv9QxwU u5ww== MIME-Version: 1.0 X-Received: by 10.152.27.197 with SMTP id v5mr4907942lag.64.1436287544649; Tue, 07 Jul 2015 09:45:44 -0700 (PDT) In-Reply-To: <20150707160130.GA18930@localhost.localdomain> References: <1435510363 DOT 682 DOT 26 DOT camel AT ssalewski DOT de> <20150703030409 DOT 32398 DOT qmail AT stuge DOT se> <20150703191532 DOT GB21182 AT localhost DOT localdomain> <20150707160130 DOT GA18930 AT localhost DOT localdomain> Date: Tue, 7 Jul 2015 12:45:44 -0400 Message-ID: Subject: Re: [geda-user] gEDA/gschem still alive? From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: text/plain; charset=UTF-8 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 Precedence: bulk On Tue, Jul 7, 2015 at 12:01 PM, Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > On Sat, Jul 04, 2015 at 05:59:25AM +0200, gedau AT igor2 DOT repo DOT hu wrote: > ... >> I think there's another side of this story. >> >> Current situation is that scheme being the only language at some parts of >> project. Many others, including me, suggest there could be support for other >> languages as well, or if that's not possible, at least more of the core >> functionality should be moved from scheme to C so that bindings to other >> languages are possible. > > Why not to assembler? ;) My snark filter has blocked this comment. > > I think other way round. For me, interpreted languages are preferable. > BTW, Stefan Salewski (who started this flame :)) has often claimed > that if we'd use an interpreted language, the development of gEDA would > be quicker. > > It's frustrating for me that the core functionality of libgeda/gschem is > written in C (e.g. reading and writing of files) which makes it > unmaintainable (see, for example, what bugs are marked as critical at > https://bugs.launchpad.net/geda) for a long time. I believe, it would be > easier to fix them if the geda-gaf language was really Guile/Scheme. I do not agree. 1. Scheme as a language falling in developer base. Even if you wanted a different language from C it really is not the best choice right now. (please see our other thread) 2. Does compiling before execution really slow development that much? If you are iterating that rapidly then something else is kind of dubious. 3. For small throw away plugins interprited languages make sense but for exectution time I prefer the speed of trade off we have now. >> >> While I do have preferred languages, I never said they should be the only >> ones used, and I can't remember anyone else suggesting similar things. So >> that part is quiet the opposite: the current favorite language is scheme, >> and this is the only one available in relation with some parts of gschem, >> while users suggest there could be alternatives. >> >> Btw, I did dive down in scheme too, and managed to write netlist exporters, >> but it was ultra painful and time wasting. There's no perfect language, and >> people are different. Some people will be efficient with scheme, others >> won't. The key here is: >> >> - Try not to limit the scripting languages a project can use to 1 (this, >> unfortunately is not a popular idea, and most projects are more or less >> coupled with a single language) > > I don't think anybody is trying to limit which languages should be used :) > OTOH, lots of dependencies makes the life of the developers much worse > (especially, when you'll try to meet all dependencies for cross > compilation). > > BTW, a while ago I found that PCB depends on tk, having, IIUC, only one > script written in it. I found this during cross-compilation of it. If I could I would limit our language choices for the core of gEDA and PCB but I have 0 authority. >> >> - If for some reason the project is indeed coupled with a single language, >> at least be aware of all the consequences, and don't try to pretend that it >> doesn't matter (in number of contributors for example) > > I know that many geda developers use C to add functionality to geda-gaf > (which frustrates me) and that this is not a reason why they cannot do > more. > >> >> - The core is written in C; decouple scripting support from core as much as >> possible. And I mean it strictly: all basic functionality should work >> without scripting (some netlisters included in my system of preference). >> Scripting should be for extra, optional features. In such a world, it >> wouldn't be a problem to compile gschem on windows - at least the core would >> work perfectly, and if guile doesn't crosscompile, some extra features (... >> written in one of the available scripting languages) are at risk. > > Do you mean gnetlist must be rewritten in C? :) > > As for guile, what language is better crosscompiles on windows? And why > should I bother if it is assembler? (Just a joke, don't take it > seriously :)) I suspect a lot of people including John Dotty would explode if we dumped Scheme from the netlisting system. >> >> What should we do about it? With the limited developer resources the project >> currently has, providing fully functioning alternatives to scheme is not >> realistic. However, we could focus on not making the matter worse. My humble >> suggestion: >> >> When writing new code, wherever possible consider using C instead of scheme. >> If anyone later on tries to provide bindings for another languages, he needs >> to do the C <-> scriptlang binding, and doesn't need to reproduce scheme >> code in C or another language and doesn't need to do scheme <-> scriptlang >> bindings. > > I believe real coding is the way to go. Was someone doing fictional coding? (ok now I am being snarky) > For language bindings, gobject libraries already used in geda-gaf would > be helpful. I didn't hear about any comparable libraries yet. If we had better documentation you could implement that. > Cheers, > Vladimir -- Home http://evanfoss.googlepages.com/ Work http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/