ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
"Perl 6 / Raku" died quietly. "Perl 7" picked up where "Perl 5" left off.
Perl (5/7 ...) is a very "quirky" language, clearly showing its age and its provenance, but which nonetheless has one very big asset going for it: the CPAN contributed library, which contains modules for just about every purpose imaginable. As these modules install, they run a series of self-tests on your computer and they will not install if any of those tests fail. It is by far the largest such library that I am aware of.
Unlike (specifically ...) "PHP," features are not "built in" to the language: they are provided by CPAN modules. The core interpreter is positively tiny. (Naturally, CPAN modules can avail themselves of the services of binary shared libraries, and they often do.)
The interpreter itself is clean and efficient, but the built-in language does not contain many features that you might be used to. However, CPAN authors have managed to use the language itself to completely redefine the language ... for example, Moose.
Language aficionados refer to it as "The Swiss Army® Knife of Pragmatic Programming," and there is something to be said for that assessment.
Last edited by sundialsvcs; 05-12-2022 at 04:07 PM.
"Perl 6 / Raku" died quietly. "Perl 7" picked up where "Perl 5" left off.
Perl (5/7 ...) is a very "quirky" language, clearly showing its age and its provenance, but which nonetheless has one very big asset going for it: the CPAN contributed library, which contains modules for just about every purpose imaginable. As these modules install, they run a series of self-tests on your computer and they will not install if any of those tests fail. It is by far the largest such library that I am aware of.
Unlike (specifically ...) "PHP," features are not "built in" to the language: they are provided by CPAN modules. The core interpreter is positively tiny. (Naturally, CPAN modules can avail themselves of the services of binary shared libraries, and they often do.)
The interpreter itself is clean and efficient, but the built-in language does not contain many features that you might be used to. However, CPAN authors have managed to use the language itself to completely redefine the language ... for example, Moose.
Language aficionados refer to it as "The Swiss Army® Knife of Pragmatic Programming," and there is something to be said for that assessment.
Agreed, and it is typically my go-to, along with python. The flexibility and ease of use is great. Being able to compile it to a stand-alone executable is a thing, too.
The wonderful think about TK/TCL is that it can be integrated into PERL, C, C++, or almost any other code in multiple effective ways to enhance the program. That, and TK/TCL is incredibly portable and consistent in look and feel.
I prefer pure PERL 5 (Perl 6 is a standard, ROKU was only a single implementation of it, parrot was another, it is not dead. Yet. It is a total departure for Wall as compared to PERL up through version 5, a front end language that can generate object for multiple back ends including the JRE! )
I prefer not to use modules from CPAN. They are a fast and easy way to add capability without having to code it yourself, but then you lack control over how it works. I like to kill my OWN bugs without inviting foreign bugs to come calling! Despite that attitude even I have used CPAN and modules loaded from it from time to time. I suspect it might be addictive. ;-)
Perl-6 nee Roku died because it wasn't Perl. It was not 100% backward-compatible with the literally hundreds of millions of lines of production code that had already been written and deployed. Therefore, it was useless.
Furthermore, it tried to piggyback off of existing runtime engines like Java's JRE, but it did not own those engines and therefore could not control nor even influence their futures. If you want to write something that runs on a JRE, write the thing in Java.
If you create an entirely-new language, even if you are persuaded that it's the greatest thing since sliced bread and that it should properly make everyone's socks roll up and down, "don't call it Perl, because it's not." New programming languages are invented all the time. Some succeed; some don't. But they don't represent themselves to be what they aren't.
Last edited by sundialsvcs; 05-13-2022 at 01:25 PM.
Perl-6 nee Roku died because it wasn't Perl. It was not 100% backward-compatible with the literally hundreds of millions of lines of production code that had already been written and deployed. Therefore, it was useless.
Furthermore, it tried to piggyback off of existing runtime engines like Java's JRE, but it did not own those engines and therefore could not control nor even influence their futures. If you want to write something that runs on a JRE, write the thing in Java.
If you create an entirely-new language, even if you are persuaded that it's the greatest thing since sliced bread and that it should properly make everyone's socks roll up and down, "don't call it Perl, because it's not." New programming languages are invented all the time. Some succeed; some don't. But they don't represent themselves to be what they aren't.
None of your made up rules have any power to restrict the creators of the languages.
Perl 6 was SUPPOSED to be a total departure, and is. Larry has expressed some regret that he held onto the name, but many of us are not at all disturbed by that. He renamed it in 2016 I believe, just to address that issue. RAKU is not dead, and since it is a specification rather than code has been implemented multiple times in multiple languages for at least THREE back ends, one of which was written specifically to serve it. (Do specifications every really die? I am looking at you IEEE RS-422 and RS-232 specs!)
As I said, you can implement any "brand-new language" that you wish, and maybe it will be accepted and become widely used, as Perl itself was. But, don't call it "Perl."
You might look back on your first language project as it has since evolved and wish that you had done it differently, but you can't change that now. If you start on a brand-new language, it's a brand-new day. If millions of lines of software have now been written in your first language, the only thing that matters is that it all continues to run. (I wish the "PHP" team would remember that ... as they "deprecate" language features and replace them with an incompatible something that isn't any better.)
Last edited by sundialsvcs; 05-13-2022 at 06:19 PM.
The wonderful think about TK/TCL is that it can be integrated into PERL, C, C++, or almost any other code in multiple effective ways to enhance the program. That, and TK/TCL is incredibly portable and consistent in look and feel.
I prefer pure PERL 5 (Perl 6 is a standard, ROKU was only a single implementation of it, parrot was another, it is not dead. Yet. It is a total departure for Wall as compared to PERL up through version 5, a front end language that can generate object for multiple back ends including the JRE! )
I prefer not to use modules from CPAN. They are a fast and easy way to add capability without having to code it yourself, but then you lack control over how it works. I like to kill my OWN bugs without inviting foreign bugs to come calling! Despite that attitude even I have used CPAN and modules loaded from it from time to time. I suspect it might be addictive. ;-)
TCL is very underestimated language. This is question of choice, but TCL is amazing for me with also bunch of libraries. It's very flexible and extendible. If performance is not a bottleneck, TCL can be a good pick.
TCL is very underestimated language. This is question of choice, but TCL is amazing for me with also bunch of libraries. It's very flexible and extendible. If performance is not a bottleneck, TCL can be a good pick.
Perl, well, I always forget its syntax.
The thing different about PERL (up to v5) is that it was written to be very forgiving. If you forget the syntax you used before, try something that makes sense and it will probably do what you intend. There are a few basic things like the naming of variables that you really have to get correct, but much of the logic can be done multiple ways. It was designed to ALLOW, rather than FORCE, coders choices. (Variable TYPE translation is easier and makes more sense in PERL than in most languages, but does require that you pay attention so that you do not do conversions inadvertently.)
I agree with you about TCL: it is severely underutilized. It is the easiest way to get consistent look and feel for your code across platforms. And, frankly, it does not suck at performance for most things.
@wpeckham: "Perl 7" simply skipped over "Raku" and continued right where "Perl 5" left off. The reality of Perl is that it did not and never will "dramatically change course." It is doomed to remain backward-compatible with itself ... which, as I've said, PHP repeatedly did not do.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.