LINUX.ORG.RU

История изменений

Исправление byko3y, (текущая версия) :

препроцессор в PL/I уже умел
 — запускать выполнение обычных функций, в том числе из стандартной библиотеки во время компиляции макроса
 — результат компиляции макроса подставлять в компилятор.

Это типичная жертва комитета. Примерно пересказываю процесс создания фичи:

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

Перешептывание в зале «Что он несет? Вы слышали когда-то про гипопотамов с марса?». Встает кто-то самый смелый, и грит:

- Да вы же поехавший, какой к черту марс, какие гипопотамы? Я их никогда не видел, и мои коллеги не видели. Зачем пытаться работать с расчетом на непонятно что?
- Давайте по существу, пожалуйста, поконструктивнее. Вы не разобрались в вопросе, и кроме как «вы же поехавшие» вам нечего ответить. Это не тот уровень разговора, который ожидается в комитете по стандартизации. Если у вас есть конкретные замечатения - мы будем рады их услышать.

Проходит месяц, проходит другой, никто так и не понял, что же это за гипопотамы - фича остается в стандарте. Так были убиты Algol 68, PL/I, Ada, так превращены в говно стандарт C и SQL - сами C и SQL остались, потому что есть такая штука, как фактический стандарт, который живеет всех живых и не имеет отношения к комитетному бурлению говен.

Теперь конкретные замечания, по сути. Продвинутые возможности препроцессора в PL/I используются в 0.1% случаев, а создают половину всех проблем, поскольку простые возможности макросов применяются повсеместно. Безконтрольное, неограниченное метапрограммирование создает большие проблемы в поддержке проекта, в совместимости на разных платформах.

вот сравнение PL/I и Cи с точки зрения проектных решений. так вот, с этой точки зрения сишечка сосает присвистывая

Это сравнение мочи с говном. Почему ты не хочешь сравнить PL/I с паскалем? Это я уже не говорю, что автор статьи - мудак, и делает очень поверхностное сравнение, типа «вот тут в языке Си порядок слов важен, а в PL/I - не важен, значит, PL/I лучше», «в Си нет встроенного I/O, а в PL/I - есть». Да, есть некоторые хорошие замечания: пример с передачей по ссылке я сам привожу в критике Си, поскольку в фортране, коболе, паскале передача по ссылке есть, но K&R ничего об этом не слышали.

Исходная версия byko3y, :

препроцессор в PL/I уже умел
 — запускать выполнение обычных функций, в том числе из стандартной библиотеки во время компиляции макроса
 — результат компиляции макроса подставлять в компилятор.

Это типичная жертва комитета. Примерно пересказываю процесс создания фичи:

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

Перешептывание в зале «Что он несет? Вы слышали когда-то про гипопотамов с марса?». Встает кто-то самый смелый, и грит:

- Да вы же поехавший, какой к черту марс, какие гипопотамы? Я их никогда не видел, и мои коллеги не видели. Зачем пытаться работать с расчетом на непонятно что?
- Давайте по существу, пожалуйста, поконструктивнее. Вы не разобрались в вопросе, и кроме как «вы же поехавшие» вам нечего ответить. Это не тот уровень разговора, который ожидается в комитете по стандартизации. Если у вас есть конкретные замечатения - мы будем рады их услышать.

Проходит месяц, проходит другой, никто так и не понял, что же это за гипопотамы - фича остается в стандарте. Так были убиты Algol 68, PL/I, Ada, так превращены в говно стандарт C и SQL - сами C и SQL остались, потому что есть такая штука, как фактический стандарт, который живеет всех живых и не имеет отношения к комитетному бурлению говен.

Теперь конкретные замечания, по сути. Продвинутые возможности препроцессора в PL/I используются в 0.1% случаев, а создают половину всех проблем, поскольку простые возможности макросов применяются повсеместно. Безконтрольное, неограниченное метапрограммирование создает большие проблемы в поддержке проекта, в совместимости на разных платформах.

вот сравнение PL/I и Cи с точки зрения проектных решений. так вот, с этой точки зрения сишечка сосает присвистывая

Это сравнение мочи с говном. Почему ты не хочешь сравнить PL/I с паскалем? Это я уже не говорю, что автор статьи - мудак, и делает очень поверхностное сравнение, типа «вот тут в языке Си порядок слов важен, а в PL/I - не важен, значит, PL/I лучше», «в Си нет встроенного I/O, а в PL/I - есть». Да, есть некоторые хорошие замечания: пример с передачей по ссылке я сам привожу в критике Си - в фортране, коболе, паскале передача по ссылке есть, но K&R ничего об этом не слышали.