4 ms·
Wait, now we are switchting targets? What is this talk about Lisp? What Lisp? Or are you referring to the LISP? And what does it have to do with GNU Guile being
by zelphirkalt 6y ago
Wait, now we are switchting targets? What is this talk about Lisp? What Lisp? Or are you referring to the LISP? And what does it have to do with GNU Guile being perceived as weird by someone else? Right now it looks like you are talking about something unrelated.
Usually when someone claims, that something is "weird", I want to know, why they think so. When it is about programming languages, I would like to know what it is exactly, that they think is weird about that specific language and that is what my question entailed.
- oblio 6y agoGuile suffers from the same problems any Lisp does: parantheses everywhere, the code all looks the same. Lisp devs love it (Yay! Homoiconicity! Code is data and data is code!), average devs hate it, it's hard for them to figure at a glance what's what. Then, macros and DSLs are awesome for solo cowboy coders writing code, not so great for professional programmers working in large teams and reading code 10-100 times more than they write code. This also leads to fragmentation and half finished solutions since the solo devs generally scratch the itch but don't do the hard work required by the last 20% of the project (which as we know, takes 80% of the time). Then, adoption. It's not there. There are no IDEs except for Emacs (not a popular editor/IDE) or commercial ones which are super expensive. Libraries are in much lower quantity and variety and frequently not as good as those of mainstream languages. Etc, etc.
- zelphirkalt 6y agoThe average dev has never taken a look at a lispy language and so cannot hate it. For the ones being hesitant to dip their toes in it, how can they really hate, what they do not know? It seems more like not being interest, than "hating" it, where "it" is the essence of such a language. Macros, DSLs, well, of course you can abuse then, like anything else in computer programming. However, there are many examples of how they can be used in a great way. Look at some Racket macro things like typed Racket for example. Or look at pipelining operators. Or timing. Or memoization. All these are very well usable and there is no problem with using them in a team. Well written macros allow taking cool features from other languages to your Scheme dialect of choice. Emacs is still well liked. I recommend you get on the mailing list and read a few weeks about how varied its usage is. Very active mailing list. Libraries of lower quality? Even "much lower"? Where is your source for that? Not sure which specific ecosystem you have looked at, but that experience is completely different from mine. Aside from the fact, that I can usually solve the problems by just using Guile features, Scheme and SRFIs, not even needing an external library, there are very clever people active in the ecosystems of lispy languages (including GNU Guile) and FP languages, outputting high quality code, often going beyond what some mainstream language library does, while using good abstractions to do so. It is important, that languages like GNU Guile, which implement interesting and powerful concepts, continue to attract people, who want to learn more than the mainstream fad and improve the status quo. It is a great journey of learning, which I recommend to any software developer looking to widen their horizon and to improve their skill.
- dunefox 6y agoGuile suffers from being a great language then?