This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # babashka (168)
- # beginners (60)
- # calva (21)
- # cider (44)
- # clj-kondo (27)
- # cljs-dev (4)
- # cljsrn (2)
- # clojure (157)
- # clojure-australia (27)
- # clojure-bay-area (7)
- # clojure-czech (1)
- # clojure-europe (94)
- # clojure-nl (2)
- # clojure-spec (3)
- # clojure-sweden (11)
- # clojure-uk (35)
- # clojurescript (19)
- # cursive (12)
- # events (1)
- # figwheel-main (1)
- # fulcro (28)
- # honeysql (7)
- # jackdaw (9)
- # kaocha (4)
- # keechma (1)
- # malli (7)
- # midje (1)
- # missionary (1)
- # music (1)
- # off-topic (45)
- # pathom (18)
- # polylith (6)
- # practicalli (4)
- # random (1)
- # reagent (3)
- # reitit (3)
- # shadow-cljs (74)
- # sql (9)
https://github.com/gsnewmark/ring-pratchett — Happy 73rd birthday Sir Terry!
i recently picked up a copy of Mort. i'm excited see what all they hypes about!
Oh, you are in for a treat! I think I have every one of his books and have read several of them multiple times!
I grew up on his books, I credit his books for my (usually) sunny disposition. I remember his death hitting me so hard….
The only Pratchett I've read is GOod Omens, but I don't know how much of that was Pratchett and how much Gaiman. What's a good first Pratchett book?
I'm not a big reader of Pratchett. I read a few books, but I'm not one for reading an entire series and getting in the worldview.
I always found amazing how Pratchett describes people. I don't know if it's only on the brazilian version, but it's hilarious 🙂
I always remember one when he described the bodyguards as "I'm not going to bother describing then, cause they'll die on the first battle" or something like that 😄
Is youtube the way to reach the youth? (de facto reply is TikTok?) I'm thinking about how to get younger people into clojure so they can start building stuff. It's very satisfying when you have a project you've been working on for several months or years that steadily improves as you work on it. It would be great to get more young people into coding so they could work on such things. Maybe videos and a discord chat room (that has voice chat) ? Maybe making 15 second clips of cool clojure functions with choppy zoom footage, repl results, and dubby EDM in the background? I wonder how to get more people having a head start into the word of coding. There's a few gentlemen in the Clojure community who teach their kids coding and it delights me to think of how awesome that is. Of course, you kinda have to hit the birth lottery in that case. So I'm wondering how to reach the larger population of youngsters and get them making stuff. Low friction onramp to creating something cool and having the confidence to do more intricate things.
Don’t try and be cool. The nearest thing to this I can think of is handmade hero. That goes out on Twitch and is uploaded to YouTube.
If you want EDM, check out Fluxus. It’s a graphics live coding environment utilizing (I think) Racket. It’s a great way to teach Lisp. There’s also Overtone, which is a music live coding environment. That one does use Clojure
Someone already tried to create an interface (protocol!) like JDBC for "immutable datalog databases"?
I noticed that in my computing science education there was a conflation of what was useful, applicable knowledge and what was internal mechanics that were nice-to-knows. This might just be the nature of the beast, but as a designer of automobiles, for example, you need not know the absolute mechanistic vibrations of a catalytic converter or the action of pistons, you really just need to know how to design them into a cogent shape. I think computing is like this -- having lots of "black boxes" where one does not understand the internal mechanics is quite alright. There was not a clear delineation in my education in this regard, but I sussed it out myself over the years. I wonder what a computing-science track would look like that focused on "black boxes are OK and awesome" and really prioritized components of design over internal mechanics. To be a painter, I don't need to know how paints are derived. But I wonder what y'all think. I think a curriculum based in Clojure would likely have this prioritization handled somewhat naturally.
To echo @noisesmith: it might not be necessary to know the details, but it helps (in all your examples). But when it comes to CS the basics/details/lower level stuff really should be part of it, because CS is not programming. A degree in CS does not and should not prepare you to be a programmer, but to be a computer scientist. What we do is software (not broad "computer") engineering (the application of science). The fact that programming and CS are often conflated leads to negative effects on both sides.
@sova have you watched any of the sicp video lectures? They make a similar assertion using Scheme (which they invented).
there are advantages of starting at a low level - it doesn't scale well, but it's usable with a much smaller set of concepts
a curriculum based on clojure would be frustrating (moreso than standard introductory cs) because clojure intentionally doesn't black box its substrate
"hello world" is smaller in assembly than it is in java and requires a much smaller set of concepts, it's just that those building blocks are weak at scale
arguably starting at a lower level (and having programs turn into a mess at small/medium scale) shows the students the motivation for the abstractions that are introduced
I second @noisesmith. I’ve been teaching programming for the last 7 years or so. I’ve tried both approaches of a very high level language(Logo, a lisp dialect, JS) and Assembly(A fake one), but both end up achieving different things. The high level approach gets people to develop a fascination and an interest for the subject. The low level drills in the fundamentals and as @noisesmith said, the motivations for the abstractions of higher level languages really shine through.
Clojure is not an ideal first language to learn. It has a lot of concepts that are better understood when certain fundamentals of programming are understood as well. It being a hosted language muddies things a bit more too.
Depending on the age group, I’ve found Logo to be a fantastic high level language to teach. It might not work for someone older perhaps, but it was my first language and it is still an enjoyable language to learn how to program
there was a post making the rounds a while back where a guy who I think had a background in numerical computing (fortran) talked about his first time being exposed to scheme
and if I recall, sort of going from "this is all silly nonsense" to "this is powerful arcane magic"
The first language I learned was a Lisp dialect, Logo, but I didn’t know it was one since it isn’t too hot on the parentheses. Many years later I encountered Common Lisp and had a hard time and disliked it. Rediscovered Lisp via Clojure in 2010 and there’s been no turning back
there is a blog post series I really like building a mini haskell language, and I think that has a lot in common with sicp, scheme and haskell are both high level, and they both explain how they work at a low level (sicp shows a simulated register machine for evaluating scheme, the blog posts compiles haskell down to combinators and writes a little vm to evaluate them)
inspired by that series I wrote some code for compiling a call by need lambda calculus to combinators and evaluating it using the aws step function dsl (https://git.sr.ht/~hiredman/lions) and when I had to create a step function that operated as a register machine to evaluate the combinators I cracked open the sicp chapter on register machines (https://mitpress.mit.edu/sites/default/files/sicp/full-text/sicp/book/node105.html)