4 ms·
Honestly, I've considered getting back into Perl 6. Python is so wretchedly regressive and I'm just not a fan of the decisions made in Ruby (although I confess
by KirinDave 7y ago
Honestly, I've considered getting back into Perl 6. Python is so wretchedly regressive and I'm just not a fan of the decisions made in Ruby (although I confess whenever I need to slice up a string or something in a way I don't immediately know in Bash it's a sbcl or irb shell I call out to).
Perl 6's philosophy of redistributing complexity and providing more than one notation because different notations have different effective use cases has always deeply appealed to me. Not just because I think it's true (most folks think their language makes things simply only because a library writer has done a huge sum of work to make specialists feel awesome rather than actually face the reality of the library), but because I think that it leads to a more honest organizational approach to software by allowing different folks to focus on different areas within the same code-base and share the load more horizontally as opposed to hierarchically.
On a more personal level, I really miss the days when I was excited about scripting languages. To some extent, I am less excited because languages like Haskell and Clojure have come into their own and are so expressive you often don't need a scripting language to make progress fast in domains they have good libraries for. But still, the days when I felt like scripting languages were trying to actually address the machine-cycle-human-effort tradeoff is past us. Ruby and Javascript have largely stopped innovating radically, with only incremental changes since 2012 that I see. Python will forever squat on its 2008-style mentality that all programming is terrible, and Lua is constrained by its design space to have an extremely minimalist feature set. Languages like Pike are largely gone, and it sorta feels like only a few Lisps like PLT Scheme have kept pushing forward on these ideas.
I guess I'm also sad that other folks seem to have such radical double standards for Perl 6 in the comments here. The only way it seems it could succeed is if it was faster than Lua while being more featureful than Ruby while also being exactly as regressive as Python. But none of the languages mentioned here would actually meet any one of those criterion outside of itself (even if it were possible to mix them).
- overgard 7y agoI don't see any double standards. Nobody saying it has to be ALL of things, but it needs to be at least some of those things. I've yet to hear a single compelling reason for why I should use Perl 6 over anything else. The blog post itself is saying "you don't need a why", which just seems untrue. It's not enough for Perl 6 to exist, for me to invest time I need to know what the point of that time investment is. Pretty much every popular language has some reason why you should use it: c -> it maps to the machine well perl5 -> C and Bash are bad at string processing python -> C is too hard to use for a lot of simple problems, perl is complicated Haskell -> Side effects cause too many problems javascript -> It runs in a web browser java -> C is a loaded footgun The languages that all become rarely visited niches all have one thing in common: they don't have a compelling use case. They always say "all use cases", but frankly, anything that tries to be everything to everyone almost always ends up not being particularly compelling to any one group.
- KirinDave 7y ago> I've yet to hear a single compelling reason for why I should use Perl 6 over anything else. At any point, did someone promise you this? > The blog post itself is saying "you don't need a why", A refreshing proposition! It's honest that the decision is arbitrary in most cases. > It's not enough for Perl 6 to exist, for me to invest time I need to know what the point of that time investment is. I say this respectfully: within this limited context I don't think anyone cares about the whats compared to the why. EDIT: Since you're dramatically editing the content: > c -> it maps to the machine well This is ridiculous. C doesn't map well to the hardware at all. It maps well to the primitives the OS's interfaces were written in, not the machine. > The languages that all become rarely visited niches all have one thing in common: they don't have a compelling use case. As I've suggested elsewhere, I think this is a reductive view. > They always say "all use cases", but frankly, anything that tries to be everything to everyone almost always ends up not being particularly compelling to any one group. Why not? Python's strategy seems pretty close to this (only with a promise of mediocre results).
- overgard 7y ago>> I've yet to hear a single compelling reason for why I should use Perl 6 over anything else. > At any point, did someone promise you this? Of course not. and I'm not disappointed or betrayed. I'm just, um, not going to use it. Presumably they would prefer that I (in an impersonal sense) did use it, and I am unconvinced. > > The blog post itself is saying "you don't need a why", > A refreshing proposition! It's honest that the decision is arbitrary in most cases. Huh? On almost any successful project, the choice of something as important as the language isn't arbitrary at all. The choice between, I don't know, Ruby and Python might be arbitrary, but it's still bounded by constraints of what domain they operate in. Nobody in their right mind is saying "whatever lets just use J and APL for our OS kernel". If their argument is "use Perl 6 because, it doesn't matter anyway and it's 70 degrees outside and the sky is purple today" I don't think they're going to win many converts. > This is ridiculous. C doesn't map well to the hardware at all. It maps well to the primitives the OS's interfaces were written in, not the machine. I mean, it originally did when it was invented 40 yearsish ago. It was colloquially called a "portable assembler" for a reason. It's still a lot closer to hardware than most other languages. Even assembler doesn't really map to what hardware does anymore. So it goes. The point is that there's a reason why you'd use C. > > The languages that all become rarely visited niches all have one thing in common: they don't have a compelling use case. > As I've suggested elsewhere, I think this is a reductive view. I mean, ok, but "reductive view" doesn't mean anything to me.