I've gotta jump in with my $0.02 here. On Nov 22, 2009, at 6:24 PM, you wrote: > 1. There are lots of folks who whine about learning another > language. "I already know TCL, so why should I learn Scheme?" As > John Doty says, this attitude stinks. It implies that the person with > this attitude doesn't want to learn, which is a terrible attitude for > a practicing engineer. I ignore those people since they whine about > gEDA, but don't actually contribute code.
Agreed 100%. I don't want my tools dumbed-down because some of the users are lazy and don't want to think. We're not talking about video games here...we're talking about tools required to do one of the toughest forms of engineering in existence. Heaven forbid someone might actually have to LEARN something. > 2. Some people think Scheme is hard. It's not. It *is* a functional > programming language (as opposed to a procedural language), so it > requries the programmer to think in a different way than the usual > "step 1, do this, step 2, do that" way they are probably used to. But > once you (quickly) get the concept of how to think in Scheme, it's > pretty easy to use since the syntax is very regular and simple. Agreed 100% again. People who can't wrap their brain around Scheme probably shouldn't be trying to design electronic circuitry. > Think of it as the difference between the old TI calculators and the > old HP calculators. ...or the *new* TI calculators and the *new* HP calculators... ;) > The TI calculators used straight infix notation > when entering a calculation, but the HP calculators used RPN. Many > folks couldn't wrap their heads around RPM, but those who did found > HP calculators to be be easier to use and more efficient than those > from TI. I experienced exactly this. I used infix calculators for quite a while before someone pushed me to try RPN. I've never looked back. Is it foreign to some people? Sure. But with a small investment in time, RPN becomes a tremendously powerful tool. > 3. Some people are confused by Scheme's many parentheses. It is true > that poorly indented Scheme code can be hard to read, but the same is > true of obfuscated Perl, or any poorly structured program. And FWIW, > the netlists implemented by Scheme back-ends in gnetlist are generally > well written and easy to understand. To restate the point I made above in a different way, if someone is confused by Scheme's parentheses, they'll probably be confused by Ohm's law...and as such probably shouldn't be messing with an electronic design automation suite in the first place. Leave them behind. Unless one of the goals of gEDA is to enable a newbie to stumble into the world of electronic design with absolutely no technical background or skill set. And I'm pretty sure it's not. > Nowadays, 10 years after gEDA was started, there are other > interpreters & languages available which one might think about using > instead of Scheme. However, since nobody has actually stepped up to > embedd one of those other interpreters into gEDA, we continue to use > Scheme. Also, we have over 20 different netlisters written in Scheme, > some of them quite advanced. Finally, folks like John Doty who have > actually bothered to learn Scheme have created very interesting and > useful netlisters for gEDA using it. If someone pops up and replaces gEDA's Scheme with, say Python, then we'll have to put up with another change in a few years when the "if it's not new, it's old, and if it's old, it's bad" crew starts whining about wanting another "more modern" language when Python is no longer the latest and greatest fad. There are two big reasons why Scheme is still around when so many other languages have fallen by the wayside over the years: simplicity and power. Now, the Guile implementation of Scheme does have its problems and I'd love to see it replaced, but with another Scheme implementation with fewer limitations. (TinyScheme comes to mind) As far as the Scheme vs. Perl/Python/Ruby/whatever-is-cool-this- week I say "don't fix it if it isn't broken"...and people whining about Scheme should grow a pair and spend the whopping twenty minutes it'll take them to pick up enough Scheme to be able to go nuts with their gEDA config files. -Dave -- Dave McGuire Port Charlotte, FL _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user