5 ms·
Thinking about the point of Perl6... I was trying to work out how to best structure a website to explain a language, so I did a quick survey of existing sites.
by ben509 7y ago
Thinking about the point of Perl6...
I was trying to work out how to best structure a website to explain a language, so I did a quick survey of existing sites. It's very interesting what different languages choose to put on that first screen you see.
Many of them have a tagline. "Python is a programming language that lets you work quickly and integrate systems more effectively." or "Welcome to the Swift community. Together we are working to build a programming language to empower everyone to turn their ideas into apps on any platform." or "Ruby is... A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write."
Perl6.org has this opening pitch:
"Hi, my name is Camelia. I'm the spokesbug for Perl 6, the plucky little sister of Perl 5. Like her world-famous big sister, Perl 6 intends to carry forward the high ideals of the Perl community. Perl 6 is currently being developed by a team of dedicated and enthusiastic volunteers. You can help too. The only requirement is that you know how to be nice to all kinds of people (and butterflies). Go to #perl6 (irc.freenode.net) and someone will be glad to help you get started."
It's focused on idealism and community; whereas other language sites are focused pretty strictly on making a case to users, Perl6 is presented as a fun hobby where you can meet nice people. It strikes me as a bit of a call back to the early days of computing when it was more oriented towards the hobbyist than industry.
If you accept the premise that the language exists primarily for people to have fun using the language, many of the design decisions make a lot more sense. Given that Perl5 has largely been supplanted by Python and Ruby, trying to fill that niche is a bit redundant. While other languages are making deliberate decisions to make sure a person trying to use their language can get work done, if someone has to go to a Perl6 forum to ask questions and talk about it, that's not a problem, that's largely the point.
- lizmat 7y agoBeing a person who has been able to make a living doing fun things almost all of her life, I would argue that it is important for any programming language to be fun when you're working with it. If it not, it is just $work. I feel that if you do not have fun in what you do for a living, you cannot be creative in what you do. And if you as a programmer can not be creative in what you create, you're just a commodity soon to be replaced by a small AI.
- influx 7y agoTo me, the fun and creative parts come from solving cool problems. It’s even more satisfy when I can create something readable, maintainable, and reusable. It’s as if writers were more focused on weird typewriters than writing interesting novels.
- wvh 7y agoPerhaps, but at the end of the day, people need to eat; and programming languages and their ecosystems apparently need a serious effort and even corporate support to make sure they don't hobble behind the times at risk to become irrelevant. I used to code a lot in Perl5, and I thought it was fun in a more creative way than languages like Python; but it's a hard sell this days. I mostly code in the Go language nowadays, which is decisively less fun and creative in itself, but it brings other paradigms like interconnecting services that then allow you to be creative in a different way than the "poetry" of the language itself.
- cutler 7y agoTry Clojure for both fun and productivity.
- futureastronaut 7y agoThe prominent mascot is more of a reflection of the times when Perl 6 marketing materials were written. It was during the heyday of whimsy and _why's Poignant Guide to Ruby. It feels a little forced to me.
- cogman10 7y agoWell, at one point the perl community was perhaps one of the most unfriendly and unwelcoming communities I had ever encountered. While some were nice, plenty of the irc residents were pretty quick to just call you a dumbass.
- KirinDave 7y agoYou should ask the Go community if you can have a less repetitive error handling method and see how they treat you, if they talk to you at all after you say that.
- cogman10 7y agoTo be fair, I've been isolated in the Java community for quite some time now. I couldn't tell you the current friendless scales, I just know that circa 2010ish, the perl community was unfriendly.
- KirinDave 7y agoThe Go community is currently checks the github using democracy to crush helper functions, I guess? Because they seem to think that writing the same if statement over and over again is theraputic and more clear than a helper function named try() that does the same thing more reliably would be. IDK, they tend to call me names the instant they see I have Haskell and Erlang on my github.
- ben509 7y agoWell, the point of democracy is to resolve disputes. A community could be welcoming and nice and still broadly think an idea is wrong and should not be done. In fairness to the Go people, I read the various "try" proposals and it seems like they gave them serious consideration, which is probably the least worst way to tell someone "no." Likewise, they shouldn't be so invested in Go that they feel threatened that you like other languages, but feelings are pretty much random. I'm not a fan of the "code of conduct" stuff, but it's certainly addressing a legitimate issue and setting up an expectation that people treat each other decently probably does help with mitigating some of this.
- overgard 7y agoUgh, I'm all for projects not taking themselves too seriously, but the spokesbug thing feels... a little cringe-worthy? It's also super weird mixed messaging, like it starts off with an overly cutesy thing that seems targeted towards children, and the immediately shows a grammar? Who is this supposed to be for?
- Aearnus 7y agoDo you mind if I add some of this to the post? These are really good points.
- ohithereyou 7y agoAre there any actual systems in production and processing non-toy workloads that are written in Perl6? I ask this as someone who has several systems written in Perl 5 in production.