Conversation
Notices
-
I've grown such a thick skin after all these years of soydevs trying to roast me for using PHP and C (only for them to then cope as they kept language/framework hopping while I didn't), plus all the centralized soyvices (big tech and alt tech included) as well as most major Fedi instances all banning me, and all the deranged government drones kicking me out of places for not wearing a face diaper and other retarded shit, it's really difficult to truly piss me off these days.
-
People and their shitty, limited and frequently slow trendy meme languages, that break everything on every other update. If only there was a stable language that could be used for everything, and easily extended to have any feature, and do it better than any other language, with a history of being used for writing operating systems.
Oh yeah, there is! And has been since 1960! Come home, your planet needs you. The parentheses are calling. https://social.076.moe/url/25240
-
Fuck, I forgot this one. https://social.076.moe/url/25241
-
For real, though, I do not see the point of languages other than Lisp and C. Everything but that and very niche languages is just bad C, and a meme language. How many times can they make C-but-worse?
I don't see the point of languages that are exclusively high-level either, when languages like Lisp and Forth have both been able to go from the lowest to the highest level (higher level than any scripting language) all in one language.
Taking that into consideration, why do scripting languages even exist? They make no sense. One language could do it all, and do it faster, and it has been done before. TempleOS is another example. Some of the OS is compiled AOT, but a lot is compiled JIT, and HolyC is the command line itself, there is no shell language and there are no scripting languages. So it has been done even with C, not just with Lisp.
We could have that, but no, people would rather invent a trillion languages that are all C but bloated, and generally slow too. What's the point?
-
Basically, to me it's PHP for web-based stuff, and C for desktop and server stuff, and I hope soon games too.
Shell scripting for automating shit.
Though I have yet to find any benefit of using Lisp over whatever the above can already do.
But yes, 99% of the languages are all memes, they only exist because soydevs can't be bothered learning PHP, HTML, and CSS the right way, or learning C at all.
-
Yeah, I think that's a good way to go. The old and stable languages aren't perfect, but the newer ones are generally even farther away from perfection, and are also less reliable. C and PHP are both in that category. Along with Perl 5, I guess, that's the general scripting language equivalent of that.
The benefits of Lisp are many. It's more powerful than a scripting language, but it's compiled and the dynamic typing is optional (you can manually set types for variables, arguments and returns, you just don't have to, it's optional because it's fucking freedom), so it's about as fast as a garbage-collected language like Go. At the same time, you have the most powerful macros of any language, a consistent syntax, and the language itself is easy to extend, and it's about as interactive as it gets because you can connect a REPL to a binary and run functions in it through the editor, and change the program in memory in real time. Hell, you can interactively do things in graphics and see what you're doing as you do it ( https://vid.puffyan.us/watch?v=XLkUI89fgRI https://vid.puffyan.us/watch?v=gj5IzggEWKE ).
Like, if you write a program in C, you have to restart it after rebuilding it, unless you use an extension language (some programs even come up with their own extension or command languages, while with Lisp that's not necessary at all, because it's such an interactive language). If you write it directly in the extension language, it's more flexible, but slow. Lisp, on the other hand, is compiled, but you can change the running Lisp image itself interactively and in real time, from the editor itself (you can just select code in Emacs and run it in the running program). On top of all of that, there are a lot of implementations and it runs everywhere. Even just Common Lisp, you can run it on Java, you can run it on JavaScript, you can compile it to C, or you can compile natively, or you can interpret it. It can all be done.
Common Lisp is also old as shit and pretty stable, to the point that people have been able to run programs from the 80s on it, in recent times. Any new features can be pretty easily added in the form of libraries. Not many people use the language, but it's also a good language for loners to do everything on their own. There's also Scheme (good first one to learn), and Clojure, and PicoLisp (it's small and can run on bare metal).
There are a few negatives, but not many. I don't know if you can turn off the garbage collecting and manage memory manually. Except maybe with CFFI (you can call C functions from Lisp too, interactively). There is a Lisp without GC and without dynamic typing, called Carp, but that's a different Lisp entirely from the rest. Even then, there is an OS written in CL, called Mezanno. Also, generally programs are built with an entire Lisp image, so binaries tend to be big.
From what I read, performance drops too drastically if you load libraries and don't build standalone executables. There's compression, but it makes startup slower. Though I guess you could be a madman and load and build all of your programs into a single image, because why not? Other than that, there is no downside. Other than I guess getting used to the syntax, coming from a world of every language being basically C. Though editors help with that, with highlighting, and there's also stuff like paredit that let you move parentheses and s-expressions around.
Oh, there's also the high barrier to entry, because you have to learn a whole new environment, it's like learning an OS, except it's one that few people use and write about. And you basically have to know Emacs, though there is another editor in development, lem, that may eventually be a very good alternative because it's multithreaded (Emacs is not, because it's ancient and very afraid of breaking backwards compatibility) and is actually written in CL, so it's built with SBCL, and should perform better than Emacs, even with the recent native compilation that it got. The other older editors, like Hemlock, are all dead.
Also, apparently the smallest real programming language in existence is a Lisp, and it's even garbage-collected. Pretty surprising, I thought for sure that it had to be a Forth.
And it's worth mentioning that there's a web server for it ( https://vid.puffyan.us/watch?v=A4PzSsOD-CQ ). And SBCL can also be used for scripting, with the --script option. I haven't messed with the web server yet, but I have with some web scraping, using a scraping library, and also a library that has Perl's regular expressions. I should do more GUI stuff in it. Anything involving graphics, I haven't done much at all, other than making basic windows spawn. Of course, you can do that in the REPL, in Lisp. Maybe I'll learn sdl, and see if I can make my own GUI with that. Could be neat, especially when it really does seem like GUI toolkits are all kinda shit (though McCLIM is neat). https://social.076.moe/url/25606
-
That's amazing! Saved. https://social.076.moe/url/27866