The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз компилятора Free Pascal 2.4.0"
Отправлено anonymous vulgaris, 05-Янв-10 00:20 
>>Я как раз наоборот считаю - сделать это Паскаль, мозг посношать - Си.
>
>Вам показывают черное, а вы говорите: "белое". Вот как раз сделать на
>Паскале и не получается - приходится массив констант из отдельного файла
>загружать или дополнительные утилиты к компилятору писать :) Прав Керниган.

Вы привели 1 частный пример. Мне например это неудобств не доставляло. А примеров сишных проблем я могу вагон написать. Керниган не прав ни по одному из пунктов сейчас, и по многим неправ в 1981.

>Если, как вы утверждаете, вы писали на обоих языках, то должны понимать,
>что нет "сишников" и "паскалистов".

Я писал заметно больше чем на 2. А такое деление наблюдаю в жизни. Сишники это те кто игнорирует громадное количество сишных проблем.

>Есть студенты, которые знают один из
>этих языков, а второй не осилили.Такие понятия, как "массив", "указатель"
>и "строка", являются универсальными и в разных языках различается только их
>реализация.

Только указатель универсальное, с остальным далеко не все так просто.

>Например, в Паскале традиционно длина строки хранилась в нулевом символе,
>а в Си строка ограничивалась терминальным нулем. И это вовсе не
>означает, что "с точки зрения Паскаля" (или с какой-либо другой точки
>зрения) в Си нет строк.

Разница громадна. В 1 случае чтобы определить длину строки надо 1 чтение из памяти. Во 2 надо сканировать всю строку. Но сишники этого не понимают.

>Что-то надоело мне сегодня объяснять прописные  истины... :(

Вы их не можете объяснить, сишники их не знают.

Что до Кернигана, то посмотрим повнимательнее

-------


To close, let me summarize the main points in the case against Pascal.

Since the size of an array is part of its type, it is not possible to write general-purpose routines, that is, to deal with arrays of different sizes.

Неактуально. Open array parameters

In particular, string handling is very difficult.

Как бы не наоборот.

The lack of static variables, initialization and a way to communicate non-hierarchically combine to destroy the ``locality'' of a program - variables require much more scope than they ought to.

Инициализация есть, полезность Си-подобных static в процедурах сомнительна, и как бы не вредна.

The one-pass nature of the language forces procedures and functions to be presented in an unnatural order; the enforced separation of various declarations scatters program components that logically belong together.

Несерьезно.

The lack of separate compilation impedes the development of large programs and makes the use of libraries impossible.

Неактуально.

The order of logical expression evaluation cannot be controlled, which leads to convoluted code and extraneous variables.

Несерьезно. Скобки. Если кто не любит скобки, так, как люблю их я, тот сам себе злобный буратино.

The 'case' statement is emasculated because there is no default clause.

Неактуально. case...else...end;

The standard I/O is defective. There is no sensible provision for dealing with files or program arguments as part of the standard language, and no extension mechanism.

Неактуально.

The language lacks most of the tools needed for assembling large programs, most notably file inclusion.

Неактуально.

There is no escape.

Неактуально.


Ну и его не main points, типа

In particular, there are no bit-manipulation operators (AND, OR, XOR, etc.)

тоже давно неактуальны.


И вообще он выдумал какой-то сферический pure pascal в вакууме (In its pure form, Pascal...) и его критикует.

Да и его способность пронзать мыслью время не впечатляет

It has certainly influenced the design of recent languages, of which Ada is likely to be the most important.

ну и где теперь Ада и где Паскаль?

А уж это заявление, это вообще абзац.

This last point is perhaps the most important.  The language is inadequate but circumscribed, because there is no way to escape its limitations.  There are no casts to disable the type-checking when necessary.  There is no way to replace the defective run-time environment with a sensible one, unless one controls the compiler that defines the ``standard procedures.'' The language is closed.


 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру