Здравствуйте, adontz, Вы писали:
A>Шутки шутками, а в учебных заведения, где ещё английский толком не знают, а программирование уже учат такие идентификаторы — выход.
То есть в детских садиках?
(учитывая, что сейчас во многих школах английский учат с первого класса)
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>А Вы бывший или настоящий интерстроновец? Как то я читал статью про написание компилятора, какого то русского автора, он вроде оттуда был.
Я уже бывший. Наверное, автор статьи был Зуев Евгений Александрович, он стоял у истоков этого компилятора.
Хорошо, как бывшего интерстроновца хочу Вас спросить, поддерживает ли компилятор экспорт шаблонов (чисто праздный вопрос, просто из описания на сайте этого не понял)
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Хорошо, как бывшего интерстроновца хочу Вас спросить, поддерживает ли компилятор экспорт шаблонов (чисто праздный вопрос, просто из описания на сайте этого не понял)
Если коротко — нет. Если более подробно, то большая часть работы для поддержки экспорта шаблонов сделана, может быть, ты обратил внимание на линкер промежуточного представления (ЛПП). Для того чтобы экспортируемые шаблонные функций и функций-члены были действительно полезны, необходимо проводить настройку в контексте обеих единиц трансляции, из которой они экспортируются и в которую, для этого нужен ЛПП. Однако экспорт шаблонов достаточно медленная штука, как и ЛПП. Так как обычные линкеры не выполняют множество проверок, которые делает ЛПП (в частности one definition rule), то работают намного быстрее. К тому же основная цель появления экспорта шаблонов – создание рынка шаблонных библиотек, которые могу поставляться без исходных текстов. Но для решения этой задачи нужна совместимость различных производителей, на что рассчитывать не приходиться. Так что экспорт шаблонов красивая игрушка, но на практике не очень востребованная. Что касается отсутствия на сайте этой информации, то это часть release notes, как и список известных дефектов.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Выход куда? Все равно в индустриальном программировании, имхо, им делать ПК>нечего со своими замашками именовать идентификаторы по-русски.
Некоторые предметы учат ради оценок, а не ради индустриального программирования
Здравствуйте, Kseniya, Вы писали:
K>Здравствуйте, adontz, Вы писали:
A>>Шутки шутками, а в учебных заведения, где ещё английский толком не знают, а программирование уже учат такие идентификаторы — выход.
K>То есть в детских садиках? K>(учитывая, что сейчас во многих школах английский учат с первого класса)
Может и учат... но вот не знают его такие "ученики"
... << RSDN@Home 1.1.2 beta 1 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Павел Кузнецов, Вы писали:
ПК>>Выход куда? Все равно в индустриальном программировании, имхо, им делать ПК>>нечего со своими замашками именовать идентификаторы по-русски.
A>Некоторые предметы учат ради оценок, а не ради индустриального программирования
Не надо путать мотивацию учеников и учителей. Если уж учить программированию, то так, чтобы потом не было мучительно больно...
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Николай Gorlum, Вы писали:
A>Единственное условие начинаться и заканчиваться идентификатор должен не на русские буквы.
D>К тому же основная цель появления экспорта шаблонов – создание рынка шаблонных D>библиотек, которые могу поставляться без исходных текстов. Но для решения этой задачи D>нужна совместимость различных производителей, на что рассчитывать не приходиться.
Как это? Ведь реализация все равно должна быть видна?
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
D>>К тому же основная цель появления экспорта шаблонов – создание рынка шаблонных библиотек, которые могу поставляться без исходных текстов. Но для решения этой задачи нужна совместимость различных производителей, на что рассчитывать не приходиться.
L_L>Как это? Ведь реализация все равно должна быть видна?
Не совсем так, когда используется экспорт шаблонов, то в заголовках должны быть только объявления, а вот тела шаблонных функций в заголовках не должны быть, они как раз в бинароном виде и будут поставляться. Полная аналогия с не шаблонным случаем, все объявления в заголовках, а тела функций в библиотеке. Продовая такую шаблонную библиотеку от нее в исходных текстах будут поставляться только объявления функций и классов, но не реализации этих функций. Сейчас фактически все шаблонные библиотеки полностю доступны в исходных текстах, спрятать там ноу-хау тяжело (прятать можно только в нешаблонной части).
Интересно, а как компилятор из бинарного файла будет что-то инстанцировать? Вообще я наивно полагал, что export это лишь возможность разделить реализации и объявления по разным файлам при необходимости все равно сохранить в доступном виде реализацию
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Интересно, а как компилятор из бинарного файла будет что-то инстанцировать? Вообще я наивно полагал, что export это лишь возможность разделить реализации и объявления по разным файлам при необходимости все равно сохранить в доступном виде реализацию
Как компилятор что-то будет делать Стандарт не касается
Но на самом деле сделать можно, нужно только ненастроенный шаблон в том виде как он храниться внутри компилятора сохранить, а потом загрузить обратно и настроит — если говорить очень грубо (похоже на прекомпилируемые заголовки). Стандарт допускает явным образом такую трактовку, что экспортируемые шаблоны храняться где-то рядом в исходниках и могут компилироватся до основной программы, но это абсолютно не интересный вариант. Вообще, все что касается того как компилятор что-то делает полностью выходит за рамки Стандарта, главное чтобы компилятор себя вел так как требует Стандарт (если еще точнее, то так чтобы пользователь думал, что компилятор ведет себя в соответствии со Стандартом).
Здравствуйте, Vyacheslav A. Sartin, Вы писали:
VAS>Этот бред в 1C релизован , только там некое подобие байсика переведено, из-за этого ей не стал заниматся .
Кстати зря. Мне когда мучительно грустно и мысли в голову не лезут, я на неё (1С-ину) медитирую. Плющит знатно.
Хотя так по работе на 1С не пишу.
Ага, есть в питерском Политехе такой язык — ПМ-ассемблер. Написан одним профессором в конце 80-х и до сих пор используется для мучения студентов-первокурсников некоторых кафедр.
К сегмент данных
моё_число ЦЕЛ 1
К сегмент команд
СТАРТ
СТЕРЕТЬ
ВЫВОД моё_число
СТОП
Здравствуйте, VlD86, Вы писали:
VD>Ага, есть в питерском Политехе такой язык — ПМ-ассемблер. Написан одним профессором в конце 80-х и до сих пор используется для мучения студентов-первокурсников некоторых кафедр. VD>
VD>К сегмент данных
VD> моё_число ЦЕЛ 1
VD>К сегмент команд
VD> СТАРТ
VD> СТЕРЕТЬ
VD> ВЫВОД моё_число
VD> СТОП
VD>
VD>Типа для понятия работы компа
Маразьм. Что же за процессор?
Допустим, "вывод" = out (в предопределенный порт).
Допустим, "стереть" = обнуление защелк этого порта.
Допустим, "стоп" = hlt.
Но что такое команда "старт"? Работающую машину можно остановить программно. Но неработающую — программно запустить?