I think something the scheme community could learn from Haskell is to lean-in on it's prestige. I see so many people post about how they were never able to figure out how to use scheme in any practical way, and most schemers I've spoke to said it took them about a year to get really compfortable. But I think the #scheme community has traditionally advertised it as "so easy, you can learn it in an afternoon!", and so people, often times already coming from some other #lisp like #clojure, expect to be able to just pick it up, and when they fail to they think the language is lacking. But nobody comes to #Haskell with such expectations, and the Haskell community never advertised it as super easy and quick to learn. In my experience, Haskell has always been sold as "takes time to learn, but is worth it".
@rml
If you were only interested in computers as a brute-force calculating tool, or interested only in the business side of software, you aren't interested in Lisp because it lost out to languages like Python, JavaScript, C/C++. So I think any Lisp will only attract people who are interested in lambda calculus and/or programming language theory, and/or maybe people interested in dependent typing, like anyone who has run across the work of Dan P. Friedman.
I assume it is not just me that the reason Scheme is appealing is because it is a well-designed minimal Lisp, and just being able to understand, from a pure computer science perspective, the implications of what a "well-designed, minimal Lisp" even means has already narrowed down the pool of potential converts to a tiny minority.
But the fragmentation is still the biggest problem. The absolute first question I had when I wanted to get started with Scheme was, "which implementation should I use?" And immediately it becomes clear that once you have picked one, it isn't easy to just switch your code over to some other implementation if you feel like the one you picked first is wrong. So there is soooo much pressure to pick the right implementation on your first try. That alone I think scares too many people away. I didn't run away because I was already committed to the idea mastering a "well-designed, minimal Lisp."
@meejah@yossarian@jugmac00 Why does Debian check if the next txtorcon is uploaded by the same person? Having a team upload a package is a good practice, I hope distributions are not actively encouraging practices that cause maintainer burn-out.
To be fair, I think Haskell will continue to fill the niche it filled ~10 years ago, around the time it started to get mainstream hype. Small teams of skilled devs delivering robust products that would normally require much larger teams to maintain will continue to prevail. Purely functional lazy programming was never bound for world domination in an economy which is antagnostic to curiosity, creativity and truths.
On the other hand, I have the feeling that we're going to see more and more Haskellers-turned-Rustaceans come to realize that #Rust does little to alleviate the primary barrier to Haskell's wider success -- fast and predictable turnaround time for projects developing cutting-edge technologies -- and will wind up going the same route as some major Haskell projects such as #Unison and #Idris have in recent years, which is to try #Chez Scheme, only to discover that it allows them to release blazing fast functional programs on a generic foundation where major breaking changes are practically non-existent, providing incredible flexibility while significantly reducing dependencies by dint of the ad-hoc tooling that falls out of the bottom of #scheme. Not to mention the joys that come from near-instant startup times, some of the fastest compile time you've ever encountered, fully-customizable interactive development and a surgical #debugger that rivals Haskell in scheer fun. Yesterdays naysayers will become tomorrow's enthusiastic bootstrappers. Or a at least a boy can dream.
That said, in all seriousness I don't think Scheme will ever reach the heights of Haskell's moderate commercial success. But I do think that projects built on Scheme, like Unison, will get a leg up and eventually surpass it, and interest in #lisp will only grow.
Though I must admit, I am exhausted trying to get people in my company and elsewhere to see the benefit of Haskell. I had hope for a time maybe 5-10 years ago, that the world of computer education would latch on to it as an education language. But alas, they went with Python because it's "easy." Easy to get started (not easy to maintain). But if you start people with Python, that is the only language they will ever want to use for their whole life and they will quiver in fear and react violently like a cornered animal if you ever tell them they have to use anything other than Python. And now the whole AI industry is using Python and JavaScript exclusively.
I am back to using Haskell as "for personal use projects" only. But lately I have become interested in using Scheme for personal use, so much of my unfinished Haskell code has gone untouched for a few months now. I just have so little motivation to continue working on those projects when no one seems to care about it outside of that subset of software engineers who have really understand how it is better than #Python or #JavaScript in every possible way.
I'll probably get around to releasing some of my old #Haskell projects at some point, but right now I am just having too much fun with #Scheme, and I am just so god damned tired of this AI bullshit.
Fuck Python. Fuck JavaScript, fuck the whole god damned software industry who all insist these are the only languages anyone should be using.
@rml I'm not really in that world, lucky to be able to move between languages and enjoy their different perspectives. But, I don't think it's healthy thinking really, pigeon-holing yourself and then fighting an imaginary war against other kinds of pigeons.
I guess as a researcher, I just see huge value in the idea of a 'research language'. Programming language development has been really stuck for decades so I'm all for learning research languages and trying out a new way of thinking.
It would be nice if we found ways in which the economy could support curiosity and creativity..
I've been #programming for 14 years now, have been using #PHP, #JavaScript, #ColdFusion, #Ruby, and whatnot, but holy cow, when reading the following chapter, I've literally been yelling "what the heck" at every second paragraph:
I mean, #PonyLang really tries to explain everything in depth, and I appreciate the effort, but while it works fine in earlier chapters, it confuses the heck out of me in this at length.
@shaedrich LOL. Who, me, the PHP team in 2004, or the Pony team? 😛
I've written on the difference between "is a" and "makes use of" before, when advocating for traits. Though I think default methods are a better answer most of the time:
@Em0nM4stodon
If you're looking for something a little different, you might enjoy this. It's not a mix (because most of his songs have some lyrics, although they're mostly in Yoruba), but it is a fun listen! https://youtu.be/k6FVC1iS-oI?si=lhxYGMQO1aqNhiuu
@Em0nM4stodon Right now, I'm listening to a 1hr version of of a tune - but it's not making me want to attack a American special-ops squad, in a small village in Qatar 😆
@parcifal It depends on the context. When it comes to my personal projects, my commits don't affect anyone else. If a feature I'm planning to implement consists of three tangible units of work, I'll commit as soon as each unit is implemented, unless, of course, they're small enough to be done together in one day. At work, I believe it doesn't matter too. People develop new features in separate branches, and commits should be squashed before creating a pull request.
What's your #editor / #IDE of choice, and why is it so? Do you use that for all tasks and #programming languages, or do you switch between editors depending on what you're working on?
I mostly use #IntelliJ / #Goland for large projects, and #VSCode for simpler ones. But tbh, I find myself increasingly using VS Code even for projects where I'd previously would reach for IntelliJ. And their poor story around language server integrations makes them feel less relevant today than they used to be.
@anderseknert No. Visual Studio, for instance, is Windows only, although I guess that is really more #IDE than just editor.
I would call VS Code an IDE as well, but there are those that claim it doesn't have all the functionality of one.
And XCode is macOS only.
I love #javascript as a language, but I've lost love for the churn, the long build pipelines, frameworks that do the same thing, but better.
Getting instant feedback was what made code magical for me. JS used to have that magic. I could just type code in the browser. Now, with tooling, with build pipelines… it all feels like how people complained about compiler errors: a long slog.
Ironic that it's a compiled lang that brings back the magic.
@nosherwan@daanderson Now that I'm finally writing Web components, I think it is the way to go. Not perfect but at least interoperable. FWIW the teams that ship the fastest I've seen work with Svelte.
I'm experimenting with a new Preferences dialog for my app. These are never easy to make and are usually hard to navigate due to the volume of labels and buttons.
I'm testing out putting all the setting on a long page with navigation buttons. This replaces the traditional tabbed layout the app currently uses.
It is still an information overload. Maybe I can also make the content searchable?
@veronica that looks great! I think the only way to improve that is to use similar strings as well, but it’s hard to predict what users will search for! Time for some testing 😅
@matt Yeah, problem with more fuzzy logic is that these strings are translated into multiple languages by contributiors. Also, there are only 49 settings.
@fell Well, I was just kidding. No, I do prefer tabs, but I can adapt to any style that the project or config file uses. This nginx config uses spaces, should I reformat it, of course not, spaces it is. And I do have autopep8 for Python files in Vim. Guido decided that it's best, I'd do it differently, but fine.
What do you say to whitespace-sensitive/oriented programming languages, assuming your IDE supports the whitespace-behaviour really well, and all the tooling around it is generally good?
@gregorni yes. I mean if the language is a good language, i will use it. But if it is not good, or i don't like it (i. e. Javascript/typescript) i will hate them no matter the syntax lol
Using #golang for a project since the SDK has really nice structs and instantiators for all the API calls where the #Python SDK for the project just phoned it in for all the payloads.
@vwbusguy Hey! I recently started learning Go and have a couple small tools made in Python.
I'm kinda wondering how much golang forces complexity.
It's probably an unfair comparison, but if I were to make the same tool in both Python and Go, how much complexity overhead (maybe not necessarily verbosity) does it seem to require?