О компиляторах вообще и C/C++, в частности (компиляторы годные и не очень)

Здесь можно поговорить о чём угодно и сколько угодно.

Модератор: Модераторы разделов

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

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

Вот, к примеру, небольшое обсуждение на тему компилятора.
Краткое резюме: компилятор Борланд Си в печку, ибо не дружит со стандартом.
Цитирую одного из участников: " не умеет собирать программы согласно стандарту С++".

Или другой пример, попадалось на просторах Сети: "такой-то компилятор генерит отличный код".

Вот тут возникает вопрос: Как это определить?
Как я могу узнать, отличный код генерит компилятор или плохой?
Или оболочка от Борланд собирает программы по стандарту С++ или в обход стандарта. Как узнать?
Вот компилятор собрал программу. Как узнать, что он там внутри насобирал? По стандарту оно или нет?

Цитаты, приведенные выше, отражают мнение людей, которые якобы этим пользовались и получили плохие результаты.
Стало быть, качество этих результатов поддаётся оценке.

Spoiler

Сам я склонен согласиться с вышеприведенным мнением о Борланд, ибо работал с Дельфи. Оболочка для С++ абсолютно такая же с поправкой на язык.
О соблюдении стандартов ничего не могу сказать, но в целом результат отвратительный.
А без дополнительных настроек вообще никуда не годный - экзешинк выходит большим,
формы - кривыми и для приведения этого в нормальный вид нужно их допиливать весьма серьёзно.
Хоть среда и позиционируется как RAD, но с учётом работы напильником это сходит на нет.
И знаю это не только по личному опыту, но и видел программы, созданные другими в той же Дельфи.
То есть продукт от Борланд считаю некачественным.


Приглашаю к диалогу опытных программеров.
Что вы можете сказать о Борланд Си?
Согласны ли вы с приведенным мнением о несоответствии Борланд Си стандартам? (если, конечно, пробовали)
Как вы проводите (если проводите) оценку качества работы компилятора?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение drBatty »

fflatx писал(а):
20.01.2014 14:39
Приглашаю к диалогу опытных программеров.
Что вы можете сказать о Борланд Си?

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

Определитесь: может вы про среду разработки (IDE) хотите спросить? Не?

А "компилятор" это такая штука, которая переводит код с одного ЯП на другой ЯП.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение serzh-z »

fflatx писал(а):
20.01.2014 14:39
Цитирую одного из участников: " не умеет собирать программы согласно стандарту С++".
Хотел бы я увидеть хотя бы один компилятор C++, который правильно и полностью поддерживает хотя бы один стандарт C++, скажем, самый старый, C++98.

fflatx писал(а):
20.01.2014 14:39
Как я могу узнать, отличный код генерит компилятор или плохой?
По таким умным постам: https://forum.sysadmins.su/index.php?showto...145#entry482404 или https://forum.sysadmins.su/index.php?showto...145#entry508737
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

drBatty писал(а):
20.01.2014 14:49
Определитесь: может вы про среду разработки (IDE) хотите спросить? Не?
Не-не. Про компилятор.
Про формы - это чисто личное впечатление.
Поскольку их компилятор я оценить не могу, привожу оценку того, что видел сам.
То есть это взгляд на продукт в целом. Не удивлюсь, если и с компилятором у них не всё ладно.

serzh-z писал(а):
20.01.2014 14:54
По таким умным постам:
И всё? Больше никак?
Я правильно понимаю, что для оценки качества компилятора нужен комплекс специально разработанных тестов?
Тесты эти просто так не создашь - это целая история...
Тогда велика вероятность того, что умные посты взяты с потолка?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение serzh-z »

fflatx писал(а):
20.01.2014 15:01
Я правильно понимаю, что для оценки качества компилятора нужен комплекс специально разработанных тестов?
Что считать "качеством" компилятора для конкретного набора инструкций? Не может быть идеального компилятора, генерирующий набор инструкций из любого исходного кода C++, который будет идеален для любого процессора. Обязательно возникнет ситуация, когда компилятор XYZ создаёт неоптимальный код, скажем для цикла, на какой-то конкретной архитектуре. Или делает сверхоптимизацию, выкидывая всё лишнее, из-за чего программа работает не так, как ожидал разработчик.

fflatx писал(а):
20.01.2014 15:01
Тогда велика вероятность того, что умные посты взяты с потолка?
Не увидел ни одного умного поста в той теме.
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: О компиляторах вообще и C/C++, в частности

Сообщение Женя Подсыпальников »

Всегда думал, что стандарты бывают для исходников, а не для компилята (продукта) :)

Отличия в компилятах, конечно, есть.
Так, например, глобальные переменные в динамических библиотеках Борланду разделяются меж процессами,
а в Маздаевых к этому надо приложить "усилия" и наоборот.
Является ли что-либо из этого стандартом - не думаю :)

Про "хорошесть" - думаю, что всякий живой (поддерживаемый) компилятор
"старается" итить в ногу со временем, т.е. быть в контексте компилята гибким, компактным, эффективным, дебажеспособным итд... :)
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

serzh-z писал(а):
20.01.2014 15:07
Что считать "качеством" компилятора для конкретного набора инструкций? Не может быть идеального компилятора, генерирующий набор инструкций из любого исходного кода C++, который будет идеален для любого процессора. Обязательно возникнет ситуация, когда компилятор XYZ создаёт неоптимальный код, скажем для цикла, на какой-то конкретной архитектуре. Или делает сверхоптимизацию, выкидывая всё лишнее, из-за чего программа работает не так, как ожидал разработчик.

Хорошо, давайте по-другому: Для чего существует стандарт языка? В частности, С++?
Ну, например, для создания переносимого кода.
И может ли (в смысле, имеет ли право) компилятор дать на выходе нечто такое, что не будет соответствовать этому стандарту?
Очевидно, нет. Не имеет права.
Вопрос: Как убедиться в том, что компилятор делает всё правильно?

serzh-z писал(а):
20.01.2014 15:07
Не увидел ни одного умного поста в той теме.
Фразу "Умные посты" я взял из Вашей цитаты:
serzh-z писал(а):
20.01.2014 14:54
По таким умным постам
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: О компиляторах вообще и C/C++, в частности

Сообщение Женя Подсыпальников »

Вот компилятор собрал программу. Как узнать, что он там внутри насобирал? По стандарту оно или нет?

По сборке - о стандарте - вряд-ли...
Вопрос: Как убедиться в том, что компилятор делает всё правильно?

Стандарт не должен вызывать ошибок и предупреждений,
а сборка тестироваться (на разных уровнях) с успехом :)
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение drBatty »

serzh-z писал(а):
20.01.2014 14:54
Хотел бы я увидеть хотя бы один компилятор C++, который правильно и полностью поддерживает хотя бы один стандарт C++, скажем, самый старый, C++98.

g++. Что там не так?
fflatx писал(а):
20.01.2014 15:01
Про формы - это чисто личное впечатление.

ну а зачем вы это цитируете?
fflatx писал(а):
20.01.2014 15:01
Поскольку их компилятор я оценить не могу, привожу оценку того, что видел сам.
То есть это взгляд на продукт в целом. Не удивлюсь, если и с компилятором у них не всё ладно.

1. а есть новые версии?
2. что-бы судить о продукте, его надо легально приобрести. Как g++ например. А борланд AFAIK платный.
3. AFAIK это для них побочный продукт, для галочки. Они паскаль всю жизнь делали.
4. А есть версии боланда под нормальную ОС, а не под маздай?

fflatx писал(а):
20.01.2014 15:01
Я правильно понимаю, что для оценки качества компилятора нужен комплекс специально разработанных тестов?
Тесты эти просто так не создашь - это целая история...
Тогда велика вероятность того, что умные посты взяты с потолка?

тащем-то тесты идут вместе с компилятором. Ну для g++ так.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение drBatty »

Женя Подсыпальни... писал(а):
20.01.2014 15:09
Всегда думал, что стандарты бывают для исходников, а не для компилята (продукта)

ну они как раз для компиляторов пишут, эти ваши стандарты.
Женя Подсыпальни... писал(а):
20.01.2014 15:09
Так, например, глобальные переменные в динамических библиотеках Борланду разделяются меж процессами,
а в Маздаевых к этому надо приложить "усилия" и наоборот.
Является ли что-либо из этого стандартом - не думаю

AFAIK -- не определено.
fflatx писал(а):
20.01.2014 15:21
И может ли (в смысле, имеет ли право) компилятор дать на выходе нечто такое, что не будет соответствовать этому стандарту?

может. С определёнными опциями командной строки. Читай ман.
fflatx писал(а):
20.01.2014 15:21
Вопрос: Как убедиться в том, что компилятор делает всё правильно?

зачем? Скорее всего ошибка в твоём коде. Но если ты уверен, что код правильный -- пиши разработчику, не забудь приложить к письму свой код. Баги есть в любом ПО.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

drBatty писал(а):
20.01.2014 15:39
а есть новые версии?
Есть, только уже не от Борланда. Борладн сдох, продукт остался. Пилит какая-то другая контора.

drBatty писал(а):
20.01.2014 15:39
что-бы судить о продукте, его надо легально приобрести. Как g++ например. А борланд AFAIK платный.
Ну, мало ли, может доводилось пользоваться. На работе, например.

drBatty писал(а):
20.01.2014 15:39
AFAIK это для них побочный продукт, для галочки. Они паскаль всю жизнь делали.
Не, у них, вроде Турбо С ещё под ДОС был. Одновременно с Паскалем. Так что делали и то, и другое.

drBatty писал(а):
20.01.2014 15:39
А есть версии боланда под нормальную ОС, а не под маздай?
Для Си не знаю. Для Дельфи были. Сам продукт не видел, видел книги по этой штуке. Называлось Kylix или что-то в этом роде.

Да, чёрт с ним, с Борландом.
Мне интересно, на чём основываются высказывания в духе "вот это негодный компилятор, а вот тот - годный".
Если программеры высказываются, наверно, есть основания. Вот эти основания меня интересуют.



drBatty писал(а):
20.01.2014 15:45
зачем? Скорее всего ошибка в твоём коде. Но если ты уверен, что код правильный -- пиши разработчику, не забудь приложить к письму свой код. Баги есть в любом ПО.
Да, не. Я не про ошибки. Ошибок может и не быть.
Я про другое.
Человек говорит: "Компилятор не дружит со стандартом."
"Компилятор не умеет собирать программы в соответствии со стандартом."
КАК он это понял? Возможно ли это вообще определить?
Если нет, значит, он это от балды сказал?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: О компиляторах вообще и C/C++, в частности

Сообщение Bizdelnick »

fflatx писал(а):
20.01.2014 15:58
на чём основываются высказывания в духе "вот это негодный компилятор, а вот тот - годный".

На опыте. Если код собирается одним компилятором, но не собирается другим, многие из этого делают вывод, что компилятор негодный. Хотя с равным успехом негодным может быть сам код. Причём второе намного более вероятно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение serzh-z »

drBatty писал(а):
20.01.2014 15:39
g++. Что там не так?
Мойша напел? "GCC implements the majority of C++98" отнюдь не означает полную поддержку.
fflatx писал(а):
20.01.2014 15:21
Вопрос: Как убедиться в том, что компилятор делает всё правильно?
Открыть нужный стандарт C++, написать тест и и попробовать его скомпилировать, либо запросить у компании-разработчика компилятора, предоставляющую матрицу поддерживаемых фич языка. Возможно, что такие тесты есть на офф. диске стандарта от IEC,

fflatx писал(а):
20.01.2014 15:21
Фразу "Умные посты" я взял из Вашей цитаты:
Пардон, я не думал, что сарказм нужно выделять специальными тегами.
fflatx писал(а):
20.01.2014 15:21
И может ли (в смысле, имеет ли право) компилятор дать на выходе нечто такое, что не будет соответствовать этому стандарту?
Имеет полное право, если поддержка фичи языка не заявлена разработчиком компилятора. В противном случае не было этих бесконечных дефайнов "#ifdef THE_SUPER_COMPILER/#elif THE_SECOND_COMPILER/...".
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: О компиляторах вообще и C/C++, в частности

Сообщение Bizdelnick »

fflatx писал(а):
20.01.2014 15:58
Человек говорит: "Компилятор не дружит со стандартом."
"Компилятор не умеет собирать программы в соответствии со стандартом."
КАК он это понял? Возможно ли это вообще определить?

Возможно. Для этого нужно тщательно проверить код на соответствие стандарту и убедиться, что, будучи скомпилированным, он работает не так, как должен. Этим редко кто занимается, поскольку это требует много времени.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение serzh-z »

fflatx писал(а):
20.01.2014 15:58
Если нет, значит, он это от балды сказал?
А из постов того человека вообще можно сделать вывод о том, что он знает о чём говорит?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение serzh-z »

fflatx писал(а):
20.01.2014 15:58
Если программеры высказываются, наверно, есть основания. Вот эти основания меня интересуют.
Всё просто... Основаниями является количество мата в попугаях, выделенных разработчиком при портировании кода с одной архитектуры на другую. Например, в случае со встроенным ПО зачастую удобнее писать прототип и делать высокоуровневую отладку на ПК, а потом всё это портировать на железку. И если для того, чтобы собрать хелловорд на железке нужно перепахать весь код, то один из двух компиляторов (или на ПК или на железке) явно плохой.
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: О компиляторах вообще и C/C++, в частности

Сообщение Женя Подсыпальников »

drBatty писал(а):
20.01.2014 15:45
Женя Подсыпальни... писал(а):
20.01.2014 15:09
Всегда думал, что стандарты бывают для исходников, а не для компилята (продукта)

ну они как раз для компиляторов пишут, эти ваши стандарты.

Точно, а для компилята (объектного коду, который потом для линкеру) - вряд ли... :)
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

Bizdelnick писал(а):
20.01.2014 16:03
На опыте. Если код собирается одним компилятором, но не собирается другим, многие из этого делают вывод, что компилятор негодный. Хотя с равным успехом негодным может быть сам код. Причём второе намного более вероятно.
Стало быть, возможно и такое: компилятор, которым собирается - как раз негодный - в силу кривости кода.

serzh-z писал(а):
20.01.2014 16:05
Пардон, я не думал, что сарказм нужно выделять специальными тегами.
Не, не нужно. Я хотел взять в кавычки, да позабыл.

serzh-z писал(а):
20.01.2014 16:06
А из постов того человека вообще можно сделать вывод о том, что он знает о чём говорит?
А черт его знает. Может он спец, а может и нет.
Но у меня в таких случаях обычно срабатывает презумпция невиновности.
Я не считаю себя вправе вот так вот сразу обвинить человека во лжи или некомпетентности, при условии, что я разбираюсь в вопросе хуже,чем он.
Штука-то в том,что это не один человек говорит.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: О компиляторах вообще и C/C++, в частности

Сообщение Bizdelnick »

serzh-z писал(а):
20.01.2014 16:16
есть для того, чтобы собрать хелловорд на железке нужно перепахать весь код, то один из двух компиляторов (или на ПК или на железке) явно плохой.

Да ладно, нормальные могут быть оба. А в коде используется "неуточняемое поведение".
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение serzh-z »

fflatx писал(а):
20.01.2014 16:23
А черт его знает. Может он спец, а может и нет.
=) Спецы, отвечающих "Потому, что Борланд С - дерьмо." на вопрос "Почему это?", кажется, составляют большую часть рунета.

Помнится, что в начале 2000-х компилятор C++ от Borland, как минимум, мог похвалиться поддержкой новых фич C++98, в отличии от конкурирующего компилятора от Microsoft. Хотя и тоже страдал большим количеством собственных нестандартных расширений.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

serzh-z писал(а):
20.01.2014 16:46
=) Спецы, отвечающих "Потому, что Борланд С - дерьмо." на вопрос "Почему это?", кажется, составляют большую часть рунета.
Именно поэтому я зацепился не за эту фразу, а за более позднюю реплику того же человека о соответствии стандартам и десятилетнем опыте.
Ответить в духе "компилятор такой-то - дерьмо" может любой человек, например, drBatty.
И drBatty не перестанет от этого быть спецом, потому что у него за плечами много человеко-лет кодинга. И он сможет при необходимости привести более взвешенные аргументы.
А вот преподаватель университета - кандидат технических наук - ответил бы в более сдержанной форме.
И тем, не менее, суждение такого человека как drBatty для меня ценнее, чем мнение этого преподавателя.
Почему? Потому что этот кандидат технических наук написал учебное пособие "Программирование на языке Дельфи". И мне всё сразу стало ясно.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение drBatty »

fflatx писал(а):
20.01.2014 15:58
Мне интересно, на чём основываются высказывания в духе "вот это негодный компилятор, а вот тот - годный".
Если программеры высказываются, наверно, есть основания. Вот эти основания меня интересуют.

ну просто если программер пишет одно, а получается другое, он склонен винить кого угодно, кроме себя...
fflatx писал(а):
20.01.2014 15:58
Да, не. Я не про ошибки. Ошибок может и не быть.
Я про другое.
Человек говорит: "Компилятор не дружит со стандартом."

нет. Именно про то: несоответствие стандарту == ошибка в компиляторе. Если в стандарте сказано "А", а компилятор делает "Б", то это баг.
fflatx писал(а):
20.01.2014 15:58
"Компилятор не умеет собирать программы в соответствии со стандартом."
КАК он это понял? Возможно ли это вообще определить?

в стандарте всё сказано, КАК надо делать.
давай примеры кода, я расскажу, как по стандарту НАДО. (если не очень сложно конечно)
Bizdelnick писал(а):
20.01.2014 16:03
На опыте. Если код собирается одним компилятором, но не собирается другим, многие из этого делают вывод, что компилятор негодный. Хотя с равным успехом негодным может быть сам код. Причём второе намного более вероятно.

в стандарте всё написано. Причём если код не по стандарту, но компилятор всё равно собирает, то этот компилятор -- УГ. Хороший компилятор обязан сказать "это нестандартный быдлокод, исправь, дебил!".
serzh-z писал(а):
20.01.2014 16:05
Мойша напел? "GCC implements the majority of C++98" отнюдь не означает полную поддержку.

ну значит надо багрепорт писать. См. выше.

fflatx писал(а):
20.01.2014 16:23
Стало быть, возможно и такое: компилятор, которым собирается - как раз негодный - в силу кривости кода.

безусловно. Хороший компилятор должен(но не обязан, sic!) предупредить о быдлокоде.
fflatx писал(а):
20.01.2014 16:23
Штука-то в том,что это не один человек говорит.

какая разница, сколько говорит? Где аргументы? Их нет.

fflatx писал(а):
20.01.2014 18:01
Ответить в духе "компилятор такой-то - дерьмо"

я вряд-ли так скажу. Борланд "дерьмо" только потому, что то, что я видел, это какой-то закрытый отстой из 90х. Т.е. может в 90х это было и няшка, но не сейчас. А в 90х, ЕМНИП, ничего более достойного и не было.
fflatx писал(а):
20.01.2014 18:01
Почему? Потому что этот кандидат технических наук написал учебное пособие "Программирование на языке Дельфи". И мне всё сразу стало ясно.

Убивать надо таких доцентов. Образование по любому запаздывает, но зачем учить на том, что устарело ещё во времена молодости учителя?!
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение serzh-z »

drBatty писал(а):
20.01.2014 18:50
Если в стандарте сказано "А", а компилятор делает "Б", то это баг.
Что за чушь... Если в стандарте сказано, что компилятор должен или может поддерживать, скажем, ключевое слово property, а он сообщает "unexpected keyword 'property'" и списке фич этого компилятора сказано "не поддерживается", ну упс, не используй property или не используй этот компилятор.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение drBatty »

serzh-z
это у вас чушь: нельзя быть немножко беременной. Если в стандарте Z666 прописано property, то компилятор обязан поддерживать. Иначе он не поддерживает Z666.

Это вам голову всякие пресс-релизы задурили, с "частичной поддержкой". Это как "частично грамотный", который "жи" пишет через "ы", а "ши" через "и".
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

drBatty писал(а):
20.01.2014 18:50
Убивать надо таких доцентов. Образование по любому запаздывает, но зачем учить на том, что устарело ещё во времена молодости учителя?!
Не убивать, гнать в шею, но не за это. Ты уловил? "Программирование на языке Дельфи". Нет такого языка.
Дельфи - среда разработки, а не язык. Язык - Object Pascal. Мы это знали ещё на первом курсе.
К счастью, этот кандидат - не мой препод. Я учился у гораздо лучших. Мой препод за такое название выгнал бы меня нафиг.

Если кандидат наук даёт пособию такое название, значит, либо ему пофигу, либо он профан.
Пособие в лучшем случае - копипаста из разных источников. А у него между прочим, это ещё кто-то рецензировал. Если он действительно не различает среду и язык, гнать его поганой метлой, чтобы студентам мозги не засорял.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: О компиляторах вообще и C/C++, в частности

Сообщение allez »

fflatx писал(а):
20.01.2014 20:19
Дельфи - среда разработки, а не язык. Язык - Object Pascal. Мы это знали ещё на первом курсе.

Компания Borland уже семь лет назад обесценила эти ваши знания. :)
Delphi (язык программирования)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: О компиляторах вообще и C/C++, в частности

Сообщение Bizdelnick »

drBatty писал(а):
20.01.2014 18:50
Хороший компилятор обязан сказать "это нестандартный быдлокод, исправь, дебил!".

Та ладно, кто те предупреждения читает? Тем более в виндовых IDE, где их и не видать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение drBatty »

Bizdelnick писал(а):
20.01.2014 20:46
Та ладно, кто те предупреждения читает?

я. с -Wall ВСЕГДА. Вы таки не поверите, это проще. Проще не допускать ошибки, чем потом мучительно долго искать какую-то ё***ю запятую.

Хотя конечно у каждого свои методы...

Bizdelnick писал(а):
20.01.2014 20:46
Тем более в виндовых IDE, где их и не видать.

идиоты нужны. Что-бы страдать.

fflatx писал(а):
20.01.2014 20:19
Ты уловил? "Программирование на языке Дельфи".

я привык. Вот и вика тоже в курсе. Выросло поколение...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение Hephaestus »

allez писал(а):
20.01.2014 20:42
Компания Borland уже семь лет назад обесценила эти ваши знания. :)
Delphi (язык программирования)
А Вы по ссылке-то своей ходили? Там пустая wiki-страница.
И как это подтверждает Ваш тезис?

Между прочим, в этой вики-статье язык Дельфи назван языком, производным от Object Pascal. Диалектом Object Pascal, Тогда как в самой среде, по крайней мере в справочной системе название "Object Pascal" для языка фигурирует на равных правах с названием "Дельфи" (да, я заметил, что там используется, например, обозначение "синтаксис Дельфи", как будто Дельфи - это язык). Лично мне это никакой пользы, кроме путаницы не принесло.
Кроме того, я нигде не увидел четкого описания различий языка Object Pascal и языка Дельфи. Говоря иначе, что такого есть в "языке Дельфи", чего нет в Object Pascal. Разве что .NET.
Отсюда я делаю вывод, что новое имя языка - не более, чем маркетинговый ход.

Кстати, в учебном пособии, о котором я говорил, о .NET как раз речи не идёт. Там чисто Object Pascal.
И автор, раз уж он такой любитель точности, мог бы и написать о том, какой язык, какой диалект и т.д.
В противном случае, опять же ничего, кроме путаницы, получиться не может.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: О компиляторах вообще и C/C++, в частности

Сообщение drBatty »

fflatx писал(а):
20.01.2014 20:19
ему пофигу,

this

fflatx писал(а):
20.01.2014 20:54
А Вы по ссылке-то своей ходили? Там пустая wiki-страница.

там круче:

Изображение
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Ответить