Programming

rml,
@rml@functional.cafe avatar

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 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 like , expect to be able to just pick it up, and when they fail to they think the language is lacking. But nobody comes to 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".

ramin_hal9001,
@ramin_hal9001@emacs.ch avatar

@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."

abbienormal,

@thatgeoguy @rml

as for the hyperfocusing on features rather than on use cases: do you know about "bropages" ?

It aims to substitute the linux "man" command and it explain commands with examples ONLY

https://blog.desdelinux.net/en/bropages-the-practical-replacement-for-the-old-manpages/

and as far as I understand there are 2 more alternative projects doing the same thing

does this tell you anything about sheme documentation ?

yossarian,
moshez,
@moshez@mastodon.social avatar

@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.

gpshead,

@yossarian
PGP signatures: worse than useless.

There, I fixed it for you.

As tools GPG (and PGP) are simply unusable by anyone but fastidious zealot pedants. And thus always used wrong.

@glyph

rml,
@rml@functional.cafe avatar

Cue quarterly community meltdown

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 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 and have in recent years, which is to try 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 . 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 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 will only grow.

https://nitter.net/graninas/status/1656519682822746113?cursor=NwAAAPAoHBlWgoCxgZ7Grf0tgsCz2c64l_0tjIC2pczQo_0thIC9xfeLvv0tgoCx4eq3tv0tJQISFQQAAA#r

ramin_hal9001,
@ramin_hal9001@emacs.ch avatar

@rml Yep, quarterly meltdown is right.

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 or in every possible way.

I'll probably get around to releasing some of my old projects at some point, but right now I am just having too much fun with , 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.

yaxu,
@yaxu@post.lurk.org avatar

@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..

shaedrich,
@shaedrich@mastodon.online avatar

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:

https://tutorial.ponylang.io/types/traits-and-interfaces

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.

#amProgramming #amCoding #computerScience

shaedrich,
@shaedrich@mastodon.online avatar

@Crell Well, that's probably because someone decided, they don't like polymorphism ^^

Crell,
@Crell@phpc.social avatar

@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:

https://www.garfieldtech.com/blog/beyond-abstract

Em0nM4stodon,

Music Recommendation Request :ablobdj:​:

I have been coding a lot this week
and I think I have listened to the entirety of YouTube's "Programming Music" mixes :ablobcatbongokeyboard:​🎶

Do you have any YouTube or ideally even PeerTube "Programming Music" mixes to recommend to me? 👀​

Preferably something without lyrics, energetic but not like going to a club, and not slow like being in a spa 😅

Incognitim,

@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

Alister,
@Alister@mastodon.cloud avatar

@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,
@parcifal@hachyderm.io avatar

How often do you git commit? Should you be committing very frequently? What's your opinion?

fakeplastictree,

@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.

luciano,
@luciano@parens.social avatar

@parcifal Not as much as I want to but much more than I did when I was new.

anderseknert,
@anderseknert@hachyderm.io avatar

What's your / of choice, and why is it so? Do you use that for all tasks and languages, or do you switch between editors depending on what you're working on?

I mostly use / for large projects, and 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.

iliveinatechworld,
@iliveinatechworld@techtoots.com avatar

@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.

anderseknert,
@anderseknert@hachyderm.io avatar

@iliveinatechworld yeah, that’s true. Definitely some IDEs with a more narrow user base.

walkerb,

I was surprised to find out yesterday that has no SWITCH...CASE construct.

Since I consider IF...ELSEIF trees butt ugly, even though they produce the same result. I went looking for another way.

It can be emulated pretty well by using a dictionary lookup instead.

adriano,
@adriano@lile.cl avatar

@walkerb It's weird that you found this yesterday, because as of late, it does. https://docs.python.org/3.10/whatsnew/3.10.html#pep-634-structural-pattern-matching

EMR,
@EMR@mastodon.sdf.org avatar

@walkerb there's match/case in 3.10

daanderson,

I decided to buckle down and finally learn .

I love 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,
@nosherwan@fosstodon.org avatar

@daanderson I started learning it a bit, but then lost my way as there are a million other things to keep an eye on in web development world.

I will start again, this time with more patience.

tanepiper,
@tanepiper@tane.codes avatar

@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.

veronica,
@veronica@mastodon.online avatar

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?

A short video of a Preferences dialog in a writing application. All settings are in a long, scrollable list on the right, with a series of navigation buttons on the left that takes you to each category of settings when they are clicked.

matt,
@matt@mstdn.games avatar

@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 😅

veronica,
@veronica@mastodon.online avatar

@matt Yeah, problem with more fuzzy logic is that these strings are translated into multiple languages by contributiors. Also, there are only 49 settings.

haskman,
@haskman@functional.cafe avatar

Learning is like a rite of passage. Everybody should do it irrespective of what they actually use

dekkzz76,
@dekkzz76@emacs.ch avatar

@ramin_hal9001 @daviwil @haskman

VSC will be fine till once enough have taken the bait, the popular functions will go to VS

Sometimes i see a new lang & think why, even for most new programming paradigms a lang or 2 already exists

Plus there's so much reinventing the wheel

haskman,
@haskman@functional.cafe avatar

@dekkzz76 @daviwil @ramin_hal9001

Relevant: we are organising an "F# in production" webinar later this month, and registration is free -

https://hasgeek.com/jsfoo/fp-webconf/sub/notes-on-f-doing-functional-programming-in-product-QXLPYATsQwYezZpXXn2q64

fell, (edited )
@fell@ma.fellr.net avatar
m0xee,

@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.

tranzystorek_io,
@tranzystorek_io@fosstodon.org avatar

@fell related note: I set up my editors to display whitespaces, lets me avoid surprises

gregorni,
@gregorni@fosstodon.org avatar

What does your development environment look like right now?

(IDE/Text Editor? Terminal Multiplexer? Package Manager? Shell? Programming Language? Containerization? Command Runner? Terminal Emulator?)

montar,
@montar@mastodon.social avatar

@gregorni Emacs

gregorni,
@gregorni@fosstodon.org avatar

@montar Took me a second to figure out what operating system you're running 😂

gregorni, (edited )
@gregorni@fosstodon.org avatar

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?

dreamos82,
@dreamos82@mastodon.world avatar

@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

gregorni,
@gregorni@fosstodon.org avatar

@dreamos82 That sounds like a good mindset, I like that.

vwbusguy,
@vwbusguy@mastodon.online avatar

Using for a project since the SDK has really nice structs and instantiators for all the API calls where the SDK for the project just phoned it in for all the payloads.

vwbusguy,
@vwbusguy@mastodon.online avatar

If were just a little less verbose, I'd probably use it a lot more.

witt,

@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?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming
  • ngwrru68w68
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • megavids
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • provamag3
  • JUstTest
  • All magazines