Hacker News new | ask | show | jobs
by kamaal 542 days ago
>>given/when are deprecated and will be removed in a future release.

given/when won't be removed, too much back wards compatibility issues.

>>References are a PITA - cumbersome to use, and they make code less readable.

Depends what you mean readable though. In python you can't tell whats a variable and whats a list, and whats a dictionary by looking. One can claim whole language is unreadable since variables are needed at every step.

>>but that's cumbersome and less readable compared to languages with better FP support

Sure let them add all the other practical goodness of Perl, then we can use them.

1 comments

Consider

    % perl -v | head -2

    This is perl 5, version 40, subversion 0 (v5.40.0) built for x86_64-linux
    % 
    % perl -E 'use feature "switch"; my ($x, $y); given ($x) { $y = 1 when /^abc/ }'
    given is deprecated at -e line 1.
    when is deprecated at -e line 1.
This is also mentioned in the docs:

  Smartmatch is now seen as a failed experiment and was marked as deprecated in Perl 5.37.10. 
  This includes the when and given keywords, as well as the smartmatch operator ~~. 
  The feature will be removed entirely in the Perl 5.42.0 production release.
https://perldoc.perl.org/perldeprecation#Smartmatch

>> In python you can't tell whats a variable and whats a list, and whats a dictionary by looking.

In Perl, sigils are used to distinguish between scalars/lists/hashes. Sigils and references are not the same thing.

https://www.perl.com/article/on-sigils

https://perldoc.perl.org/perlreftut