Гибкость или последовательность, что правильно для хорошего языка программирования? - PullRequest
0 голосов
/ 10 ноября 2009

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

Но мне интересно, что хороший язык программирования должен быть последовательным, что означает, что все будут писать одинаковые (по крайней мере, очень похожие) коды для достижения той же функциональности, что означает, что все будут легко читать, понимать, поддерживать коды других эффективно. Не так гибко, как каждый будет писать разные коды в удобочитаемости и качестве для одной функциональности, что в основном зависит от опыта и навыков программиста.

До сих пор я не нашел несколько языков, которые бы соответствовали моему определению согласованности, но я все еще ищу. Кто-нибудь знает что-нибудь?

Я не уверен, согласны ли вы со мной или нет? Пожалуйста, укажите, если что-то не так с моей точкой зрения. И оставьте свой аргумент независимо от того, согласны вы со мной или нет. Просто оставьте свои аргументы и аргументы.

Привет.

Ответы [ 3 ]

1 голос
/ 10 ноября 2009

и то и другое. Возьмите разницу между Perl и Python. В Perl попросите кого-нибудь прочитать данные из файла и отобразить их на стандартный вывод, и вы сможете получить примерно 85 000 различных перестановок. В Python у вас, вероятно, будет 5-10. Однако оба они широко используются, чрезвычайно мощны, высокоэффективны и способны справиться практически с любой задачей.

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

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

1 голос
/ 10 ноября 2009

Этот замечательный мультфильм с качелями деревьев на каждой панели. Одна панель имеет регулярное колебание и говорит «что нужно клиенту». Следующая панель показывает два места - одно поверх другого и говорит «что просил клиент». Далее идет качели с тремя сложенными сиденьями, на которых написано «что построил программист». У каждого есть ментальная картина их ожиданий. И картина у всех разная.

Вы не можете достичь последовательности в такой среде. Если мы не можем достичь согласованности, можем ли мы улучшить читабельность? Потому что конечной целью является наличие кода, который могут поддерживать другие программисты.

Мне нравится грамотное программирование . Он организует код в человеческом контексте - что имеет смысл для человека, чтобы читать. Грамотный стиль более близко следует вашей ментальной модели.

Даже когда я не могу использовать инструменты, этот стиль значительно улучшил ясность и эффективность комментариев.

0 голосов
/ 10 ноября 2009

Zen of Python содержит:

  • Должен быть один - и желательно только один - очевидный способ сделать это.
...