Что означает то, когда кто-то говорит, что Perl является “выразительным языком”?

Я немного удивлен не видеть упоминание о Инициатива С открытым исходным кодом как источник информации, о котором существуют лицензии Open Source. Это, вероятно, не делает сравнений, таким образом, другие сайты также стоит проверить.

11
задан ire_and_curses 19 October 2009 в 17:38
поделиться

6 ответов

«Экспрессивный» язык - это язык, который позволяет вам легко выражать логические концепции в коде.

Люди часто называют Perl выразительным, поскольку он позволяет вам использовать множество разных подходов для выражения конкретных концепция, поэтому она очень гибкая в этом отношении.

(Хотя есть много споров о том, хорошо это или нет ...)

20
ответ дан 3 December 2019 в 00:46
поделиться

Прочтите адрес Ларри Уолла «Состояние лука» (найдите их в Google). В первых нескольких выступлениях он рассказывает об идее и философии Perl и о том, что он думает о них. Они могут быть весьма поучительными для новичка в Perl.

2
ответ дан 3 December 2019 в 00:46
поделиться

В этом контексте я думаю, что это означает, что вы можете делать много вещей, не написав слишком много кода.

Например, однострочные:

$ echo Foo | perl -pe "s/o/e/g"
Fee

или Moose:

# A simple Point class with x and y coordinates.
package Point;
use Moose;
has [qw/x y/] => (is => 'ro', isa => 'Num', default => 0);
1;

Или концепция контекста:

my @array = qw(foo bar baz);
my $count = @array; # three

Или преобразование Шварца ]:

@sorted = map  { $_->[0] }
          sort { $a->[1] cmp $b->[1] }
          map  { [$_, foo($_)] }
               @unsorted;

Это хорошо, потому что вы можете делать все так, вы хотите.

15
ответ дан 3 December 2019 в 00:46
поделиться

Давайте посмотрим, Мерриам-Вебстер (sv, ' выразительный ') предлагает следующее:

3: эффективно передает смысл или ощущение «выразительной тишины», «выразительные штриховые рисунки»

Я думаю, что это действительно подходит Perl к T из-за того, что говорят другие респонденты (1) есть более чем один способ делать что-то (так что Perl имеет много способов позволить программисту выражать свои идеи ) и (2) Perl часто относительно компактен (поэтому вы можете многое выразить с помощью небольшого количества).

Но я бы добавил, что повсеместная тенденция Perl к DWIM (делать то, что я имею в виду) также является большой его частью.

8
ответ дан 3 December 2019 в 00:46
поделиться

Они означают TIMTOWTDI .

Язык был разработан с учетом этой идеи, поскольку он «не пытается указывать программисту, как программировать» . Это упрощает написание чрезвычайно запутанных программ, но, как утверждают сторонники этого девиза, также упрощает написание красивых и кратких программ.

7
ответ дан 3 December 2019 в 00:46
поделиться

Идея синтаксиса Perl не только в TMTOWTDI, но и в попытке имитировать естественный язык (насколько это возможно, сохраняя точность компьютерного языка). Цель состоит в том, чтобы Perl был языком, на котором вы могли бы свободно овладеть, как носитель языка, а не как турист, использующий разговорник.

Один из доступных способов написания кода должен иметь форма, аналогичная тому, как вы думаете о проблеме. Когда форма кода в редакторе совпадает с формой проблемы в вашей голове, вы можете быстрее перейти к стадии запуска и тестирования кода, потому что нет сознательного шага по переводу между тем, что вы имеете в виду, и тем, что компьютер хочет слышать. Вот почему люди часто говорят вам, что Perl отлично подходит для создания прототипов.

не краткость или TMTOWTDI, это действительно означает «выразительность» Perl. В естественных языках есть местоимения; Perl предоставляет $ _ . В естественных языках есть многоточие; Perl предоставляет встроенные функции с аргументами по умолчанию. Естественный язык предоставляет множество различных способов сформулировать любое данное высказывание, с разными оттенками значения, а также с разными способами и регистрами речи; Perl делает то же самое с кодом. Носитель английского языка обычно выбирает наиболее краткий способ изложить точку зрения из всех доступных, но у него нет - у него есть возможность использовать больше слов для ясности или даже для поэзии. В Perl примерно то же самое. Если говорить ненаучно, то цель состоит в том, чтобы вы могли «сказать то, что имеете в виду».

10
ответ дан 3 December 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: