The Raku Programming Language Collect, Conserve and Remaster Project
Originally published on 28 August 2016 by Zoffix Znet.
Raku is a brand new language, so there’s plenty of opportunity for improvement:
**
** [...] Raku is comparatively new with many programming paradigms and powerful capabilities. Until we teach these features in an exciting way in such open course platforms (MOOC) we are doing less for 'want to learn Raku newcomers'. We urgently need Raku courses!!
It’s easy to come up with ideas of what should be there and how it should work, but said the wrong way, your message may come across not how you intended it, and then we end up with a bit of a conflict for no good reason:
**
** [...] By all means, write some Raku code, come back and write some course material, and publish that. Telling the group what to do without any experience, and in a condescending tone is not appreciated.
Since I’ve been on both sides and am skillful in pretending I know stuff, I figured I’ll write about this, in an attempt to avoid such conflict in the future.
Let’s begin!
Most of Raku was and is made by volunteers, in their free time—you know, that thing people use to relax and not write code in?
Having ideas is great, but keep in mind you aren’t sitting in a boardroom meeting, trying to figure out the direction of your company for the next quarter. You are more like in a big mob on a street with everyone doing their own thing—if you just randomly start shouting ideas, you’ll get ignored or piss someone off.
I code so much, sometimes I have dreams where I’m still coding, and I’ve spent well over $1,000 at the local bar, writing Perl6.Party blog posts. I have plans for Raku I could fill two lives with, but I have to manage with just one I have. Many of the contributors have jobs, spouses, and kids, and they still contribute enourmous amounts of work.
Jeff Goff, quoted at the start of this article, just gave a 9-hour Raku training seminar, raising €500 for the Raku core fund. Elizabeth Mattijsen pushed a huge number of commits and is the primary person responsible for making Rakudo twice as fast than it was 4 months ago. Jonathan Worthington spent hours hunting down tricky concurrency bugs after squishing a ton of other bugs.
With what you just learned in this section, if you were one of the aforementioned people, how would this read to you:
**
** joined #raku
**
** another possible p6 marketing project: API support for backendless.com
**
** If we want to get p6 being used by the world, someone has to start providing hooks that will interest devs that want to make money.
The someone has to start bit makes it seem like we’re all just sitting on our asses all day long, dying to know what to do with our time, which brings me to…
Trust me, we’re not short on ideas for what to spend our time on. Literally nothing is achieved by people who offer “ideas,” especially if those are offered under the useless “for marketing reasons” reason.
People who are interested in Backendless.com API and with time to make it and provide support for it would have already made it. So why mention it?
Are you the one who wants to make it? Are you checking to see if someone is already working on it? Do you need help with it? This leads me nicely to…
I’m not a gambler, but I bet 99.99% of the time someone offers such ideas, they aren’t actually telling other people what to do. They don’t mean to, they may just come across as such. So there’s little reason for getting hostile and telling them to stop doing what they aren’t doing!
**
** redacted: so spark interest by writing something not by telling other people how to spend their spare time<
**
** don't shoot the messenger, please
Shutting down people like that is a good way to discourage them, or worse alienate them from the community. There’s a better way!
Instead of engaging in shit-flinging, pretend the person with all of the ideas is just thinking aloud about what to spend their time on. They are the volunteer who will make the idea become reality, whether they know it yet or not. Offer some encouragement!
There are three likely outcomes with such an approach: (1) the person will actually do the work and we all win; (2) they will agree to do the work, start, realize it’s really damn hard and time consuming, give up, think twice before proposing more ideas; (3) the person will offer a reason for why they can’t do it, which can then nicely double as the reason for why no one else did the thing yet, putting the conversation at swift and amicable end (no time? yeah, well, join the club).
**
** do you guys know about koans?
**
** any for raku?
**
** bioduds, yeah, I know about them, but am not aware of any Raku ones. You should definitely make some!
**
** definitely
**
** I bet if we join we can put up one. I'm still learning Raku
**
** \o/
**
** bioduds, that's the best time to write them. You can still see them for how good they are from the perspective of someone new to Raku
**
** And if you need space to host them, I'm sure we can find one.
**
** well
**
** I will then
It’s easy to get carried away and to start proposing ideas left, right, and center. However, all of the contributors are already giving all they can, so your ideas can come off as commandments for the lazy, insensitively ignoring those contributors’ already-substantial work. If you have a cool idea, great! Start working on it! Tell people about you working on it, to get them excited and join your efforts.
And if you are on the receiving end of such ideas, don’t stifle them, redirect them. Every person who proposes the idea is the primary candidate to be the volunteer to implement it. Don’t reprimand them; encourage them!
In the end, it’s all about having fun!
-Ofun