Discussion:
[OpenSCAD] General purpose similar to Openscad.
TLC123
2018-12-07 07:26:11 UTC
Permalink
What general purpose language is most similar to Openscad?
Specifically regarding lists and functional.




--
Sent from: http://forum.openscad.org/
MichaelAtOz
2018-12-07 10:21:15 UTC
Permalink
Well I'm a dinosaur, so by definition LISP, but look at
https://en.wikipedia.org/wiki/Functional_programming




-----
Admin - email* me if you need anything, or if I've done something stupid...

* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ time is running out!
--
Sent from: http://forum.openscad.org/
Rob Ward
2018-12-07 11:51:52 UTC
Permalink
Well my interpretation of the evolution of OpenSCAD is not very positive
if its "advantages" by being a "Functional Programming" language are
compared to the virtues other language structures eg Object Orientated
Programming languages.

In my opinion OpenSCAD is very successful concept that was too hastily
put together to get a scripting system that defined geometric shapes
within a 3D space. It seems when the original developers got the thing
rendering shapes, they did not need too much good language structure to
do really, really amazing things. I am still amazed at how much
satisfaction I get from what I can do with OpenSCAD with my very simple
requirements of the language. However the notion of "Functional
Programming" not being able to handle x=x+1 as an excuse for this state
of affairs is really weird to me. Unless someone can show me the point
in historical documentation where the original OpenSCAD designers summed
up the world of programming languages and decided that "Functional
Programming" was the very best way to go, I will remain skeptical, that
they did not take short cuts in how the variables were processed (ie to
get a script rendering 3-D objects) and this is now so entrenched in the
system that is pointless to change it. The fact that it is classified as
"Functional Programming" is just a convenient explanation, and
resignation for all the people who have come after them.

Before deciding I need a good old fashioned flame-war directed at me,
please just take note that I truly appreciate the OpenSCAD language and
all the people that have altruistically contributed to it. However I
feel we need to acknowledge that we have an evolutionary bit of code
here that, for better or worse, has so many fundamentals right: A simple
coding structure that produces truly powerful 3-D outcomes. However the
structure and access to variable storage to an ignoramus like me, is
just weird. Perhaps we need to love OpenSCAD like the Armadillo, or the
Bottle Nosed Dolphin, or the Long Nosed Potaroo, really weird, but
beautiful in its own right.

I religiously read all the OpenSCAD discussions and will openly admit so
many go over my head, but I marvel at what people have extracted from
this application, and will be forever grateful for what it has added to
my life. Even though I am a "Functional Programming" skeptic, I am still
a devoted OpenSCAD fan, albeit a simple, and realistic one.

Rob
Post by MichaelAtOz
Well I'm a dinosaur, so by definition LISP, but look at
https://en.wikipedia.org/wiki/Functional_programming
-----
Admin - email* me if you need anything, or if I've done something stupid...
* click on my MichaelAtOz label, there is a link to email me.
Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.
The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ time is running out!
--
Sent from: http://forum.openscad.org/
_______________________________________________
OpenSCAD mailing list
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
MathLover
2018-12-07 12:09:48 UTC
Permalink
Post by Rob Ward
However the notion of "Functional
Programming" not being able to handle x=x+1 as an excuse for this state
of affairs is really weird to me.
And yet, it is the heart of the language. It is not a programming language,
but a definition language. It gives one definition. Changing variables is
programming, not defining.

Also, I don't see OpenSCAD as a functional language. Even LISP (I was an
AutoLISP programmer in my carreer) looks like a functional language, but
strictly it isn't. A functional programming language focus on *what* you
want, without the *how*. The best known functional language is SQL. When you
tell a database server to SELECT all FROM a table WHERE some condition
holds, you are (1) almost speaking natural english, (2) only say *what* you
want, (3) not telling the server *how* to do it. This has the great
advantage of the server being free to optimize.

OpenSCAD has a bit to many "how" functions to be a purely functional
language in my opinion.




--
Sent from: http://forum.openscad.org/
MichaelAtOz
2018-12-07 12:37:11 UTC
Permalink
Note my reference to LISP and Fn programming, was not meant to focus on the
OpenSCAD'ness, but on the OP's 'general purpose language is most similar to'
aspect.

The beauty of OpenSCAD [and some flaws] is when you realise, at a
fundamental level, it is [some form/mix/zen-ness of] a
mark-up/functional/descriptive language, not an iterative one.

It is common as an initiate to have a procedural approach to OpenSCAD, you
then hit the limits, i=i+1 fails, so you have to transcend.

(possibly too much red wine again tonight? - adds to the zen)



-----
Admin - email* me if you need anything, or if I've done something stupid...

* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ time is running out!
--
Sent from: http://forum.openscad.org/

Loading...