История изменений
Исправление 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 ничего об этом не слышали.