Почему Паскаль — не мой любимый язык программирования

Brian W. Kernighan, April 2, 1981, “Why Pascal is Not My Favorite Programming Language”, public translation into Russian from English More about this translation.

Translate into another language.

Participants

Fenrir4984 points
Softy903 points
denton147 points
And others...
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next

Why Pascal is Not My Favorite Programming Language

Почему Паскаль — не мой любимый язык программирования

History of edits (Latest: denton 3 years, 8 months ago) §

— Поскольку статья сильно устарела, у современных читателей может сформироваться несправедливое впечатление, что Паскаль - игрушечный язык и что всё написанное автором этого эссе - правда. На самом деле, современные Turbo Pascal, Object Pascal, Borland Pascal, Delphi, FreePascal, Lazarus лишены большинства названных недостатков, по семантике они являются Модулой-2, как и модная ныне Java. Поэтому не стоит брезговать этим языком и обходить его стороной. Это вполне современный язык. По большей степени он отличается от Java отсутствием сборки мусора и тем, что для него никогда не придумывали виртуальной машины. В остальном - его можно считать вполне полезным языком, не таким большим как Java и не таким коварным, как Си, что является большим преимуществом при обучении программированию. morbo

— morbo, когда изменится стандарт, тогда и можно будет им не брезговать. А пока стандартный Pascal ни на что, кроме обучения структурному программированию, не годится. В этом смысле статья Кернигана не устарела ничуть. dorjechang

— Трололо? В год написания статьи, 1981, не было и стандарта на Си. Первый стандарт на Си появился в 1988 году. Первый стандарт на Паскаль в 1983 году. Последний стандарт на объектно-ориентированный паскаль был издан в 1994 году (Object-Oriented Extensions to Pascal, ANSI/X3-TR- 13:1994). По сравнению с Паскалем язык Си вообще не развивается с 1988 года, в каждом новом стандарте Си только появляются новые библиотеки и библиотечные функции. В Си не было и не будет объектов, в отличие от Паскаля. morbo

Abstract

Введение

History of edits (Latest: morbo 3 years, 9 months ago) §

The programming language Pascal has become the dominant language of instruction in computer science education. It has also strongly influenced languages developed subsequently, in particular Ada.

Язык программирования Паскаль стал доминирующим в обучении компьютерным наукам. Он также оказал сильное влияние на более поздние языки, в частности Ада.

History of edits (Latest: denton 3 years, 8 months ago) §

— Такая длинная конструкция, как "язык программирования", повторенная дважды, заслоняет смысл предложения. swarticen.ya.ru

Pascal was originally intended primarily as a teaching language, but it has been more and more often recommended as a language for serious programming as well, for example, for system programming tasks and even operating systems.

Изначально Паскаль предназначался в основном как обучающий язык, но все чаще и чаще рекомендуется как язык для серьёзного программирования, например, для задач системного программирования и даже операционных систем.

History of edits (Latest: Fenrir 3 years, 8 months ago) §

Pascal, at least in its standard form, is just plain not suitable for serious programming. This paper discusses my personal discovery of some of the reasons why.

Паскаль, по крайней мере в его стандартной форме, просто не пригоден для серьёзного программирования. Эта статья отражает моё собственное исследование некоторых причин, почему это так.

History of edits (Latest: denton 3 years, 8 months ago) §

— Pascal, Pascal, Pascal - такое для русского языка подходит?! dmitry

— Можно конечно перевести как "Паскаль", но в настоящее время больше принято оставлять оригинальные названия языков программирования, например Python, Erlang, Lisp. morbo

More 13 comments

— Анонимусом предложившим текст был я, забыл залогиниться. Softy

1. Genesis

1. Начало

History of edits (Latest: Softy 3 years, 9 months ago) §

This paper has its origins in two events - a spate of papers that compare C and Pascal(1, 2, 3, 4) and a personal attempt to rewrite 'Software Tools'(5) in Pascal.

Эта статья берёт начало от двух событий — серии статей о сравнении Си и Паскаля (1, 2, 3, 4) и моих собственных попыток переписать "Software Tools" (5) на Паскале.

History of edits (Latest: Fenrir 3 years, 8 months ago) §

Comparing C and Pascal is rather like comparing a Learjet to a Piper Cub - one is meant for getting something done while the other is meant for learning - so such comparisons tend to be somewhat farfetched. But the revision of Software Tools seems a more relevant comparison. The programs therein were originally written in Ratfor, a ``structured'' dialect of Fortran implemented by a preprocessor. Since Ratfor is really Fortran in disguise, it has few of the assets that Pascal brings - data types more suited to character processing, data structuring capabilities for better defining the organization of one's data, and strong typing to enforce telling the truth about the data.

Сравнивать Си и Паскаль — всё равно, что сравнивать самолеты Learjet и Piper Cub — один создан для дела, а другой для обучения; поэтому такое сравнение может показаться надуманным. Но переработка "Software Tools" — уместное сравнение. Программы в этой книге были изначально написаны на Ратфоре (Ratfor) — «структурном» диалекте Фортрана, реализованном препроцессором. Т.к. Ратфор в действительности — лишь замаскированный Фортран, он имеет некоторые свойства, общие с Паскалем: типы данных, более подходящие для работы с символами, средства структурирования данных для лучшего описания их организации и строгая типизация для манипулирования заведомо известными структурами.

History of edits (Latest: Fenrir 3 years, 8 months ago) §

— Пойди догадайся, что аналогия с какими-то самолётиками. Ни у кого более понятного варианта нет? swarticen.ya.ru

— Тут надо делать сноски или примечания переводчика. Иначе никак. Softy

— Честно говоря, в подобных случаях у меня крайне сильно желание полностью сменить аналогию. Тут в одном переводе в комментариях разгорелись страсти по "act as white" - так там хорошим вариантом была бы замена на что-нибудь вроде "вести себя как чурка". Уничижительный тон сохранен, только стороны местами меняются, увы. Зато понятно, и без примечаний! Разве что оригинал в них выносить. Fenrir

— На мой взгляд, нельзя менять аналогию, даже если очень хочется, т.к. перевод должен быть близким к оригиналу, особенно в конкретных деталях. Softy

— А смысл в дословном переводе, который на русском языке не имеет смысла вообще? Если аналогия для _русского_ уха плоха, то она не имеет смысла, а значит это всё едино, что выкинуть содержащий ее кусок. В данный момент ее нет. Там просто непонятный набор слов. Fenrir

It turned out to be harder than I had expected to rewrite the programs in Pascal. This paper is an attempt to distill out of the experience some lessons about Pascal's suitability for programming (as distinguished from learning about programming). It is not a comparison of Pascal with C or Ratfor.

Переписать программы на Паскале оказалось труднее, чем я мог себе представить. Эта статья является попыткой извлечь из опыта некоторые уроки о пригодности Паскаля для программирования (а не для обучения программированию). Она не является сравнением Паскаля с Си или Ратфором.

History of edits (Latest: Maximusya 3 years, 8 months ago) §

— Надо как-то "дистилляцию" исправить. Softy

— "извлекать сущность", "доискиваться до сути" - не знаю, как это сюда вписать. Еще мне не нравится "опыт нескольких уроков". Fenrir

— там не "опыт уроков", а (дословно) "дистилляция уроков из опыта". Присмотритесь еще раз. the_corrector

— Так лучше? Правда, "собственный опыт" это уже некоторое допущение. Fenrir

The programs were first written in that dialect of Pascal supported by the Pascal interpreter pi provided by the University of California at Berkeley. The language is close to the nominal standard of Jensen and Wirth,(6) with good diagnostics and careful run-time checking. Since then, the programs have also been run, unchanged except for new libraries of primitives, on four other systems: an interpreter from the Free University of Amsterdam (hereinafter referred to as VU, for Vrije Universiteit), a VAX version of the Berkeley system (a true compiler), a compiler purveyed by Whitesmiths, Ltd., and UCSD Pascal on a Z80. All but the last of these Pascal systems are written in C.

Сначала программы были написаны на диалекте Паскаля, поддерживаемом интерпретатором под названием pi, предоставленным Университетом Калифорнии в Беркли. Язык близок к номинальному стандарту Йенсена и Вирта (6), с хорошей диагностикой и тщательной проверкой в процессе выполнения. С тех пор программы также запускались (без изменений, за исключением новых библиотек примитивов) на четырех других системах: интерпретаторе от Амстердамского свободного университета (далее VU, от Vrije Universiteit), VAX версии системы Беркли (компилятор), компиляторе, поставляемом Whitesmiths Ltd. и UCSD Pascal на Z80. Все они написаны на Си, за исключением последнего.

History of edits (Latest: Maximusya 3 years, 8 months ago) §
Pages: ← previous Ctrl next