3 ms·
My reason to break up with Perl was the lack of garbage collection and then later the lack of types and then later 6. I don’t think investing in it is wise whe
by wruza 2y ago
My reason to break up with Perl was the lack of garbage collection and then later the lack of types and then later 6.
I don’t think investing in it is wise when you can invest in something more relevant. Although there’s barely anything that covers the subj as much as Perl, which is a shame on us all. A programming language that requires an import or two to dig through a file is degenerate. Old languages understood well what a programmer needs.
- borlanco 2y agoThere are two types of programming, and each has its own definition of "relevant": new programming, with its preference for ready-made components to reduce complexity, and old-time creative programming, which usually was about the creation of new things. The "creation" part is key. Perl is a tool for "easy creation", for creators that want to be more productive. This is what Larry Wall wanted. This is why Perl is good for prototyping. You "create" the prototype, and then you "translate" it to something else. Perl is quite relevant for me, but I say this as a creator.
- borlanco 2y agoTo know more about creators and their tools, I recommend: - "Programming is (should be) fun!", by Gerald Jay Sussman. https://m.youtube.com/watch?v=2MYzvQ1v8Ww https://m.youtube.com/watch?v=2MYzvQ1v8Ww - "On Writing", by Stephen King. Just the chapter "Toolbox".
- wruza 2y agoI'm a practical man, for me it's just n_loc difference and more useful imlicitness (and the listed downsides). Not sure if I can understand this "creation" part, even as a former Perl-ist. I think you can turn any language into Perl, it just happens that their core beliefs are incompatible with its ways. For example, I can easily imagine something like this: import 'use-perl' while (await ls_lr('./*.txt')) { while (await read_lines($filename)) { print($ln, $line) But it's not idiomatic as it uses awful implicit iterators and hideous globals. This conflict is purely dogmatic and doesn't need special syntax, for the most part.
- borlanco 2y agoThe "creative" part is all decisions to be made before coding: architecture, design, modularization, algorithms, APIs, etc. If I am in charge of those decisions, I can use Perl to build a prototype, to validate the solution I am creating. But if I don't decide anything, my job is to code whatever. No chance for me to be creative. Most quirks of Perl are there to make the construction of prototypes easier and faster.