Вот тут я обратил внимание, что ответ
Алексея (который мне представлялся вполне достаточным) канул в лету. Ну значит придется мне...
Илья Ермаков писал(а):
Вы пытаетесь поучать людей, которые работают по своей системе принципов (эмпирических, а не претендующих на "высокоумие"), что де по их же принципам надо совсем наоборот. С какой стати и по какому праву?
Тут есть три важных аспекта
1) Уважаемый
Илья Евгеньевич, попрошу Вас зафиксировать у себя в уме свое эмоциональное состояние при написании такового, и вспомнить его, когда Вы будете посылать не очень знакомых Вам людей почитать Дейкстру. Меня Вы лично посылали. Вы мне объясняли важность базовых техник. Но я позволю себе отметить тот факт, что практическую инженерную задачку, никто, из владеющих базовыми техниками в совершенстве - не решил. Возможно (в смысле - я еще не теряю надежду) Вы поймете людей, выслушивающих сентенции
о неумении программировать от людей, производящих "русификацию среды", но без элементарной грамотности о том, как делается локализация в винде. Получающих, в результате, "режимы" в смысле Раскина - в среде, и несколько (хех) вариантов вставки.
2) Видите ли, я позволил себе объяснить Вам некоторые вещи не в первый день прихода на форум. А очень долго пытался уяснить себе Ваши принципы (за которые Вы упоминаете). Если бы Вы ими только пользовались - Ваши проблемы. Однако Вы же их внедряете в головы молодых людей в общественном месте.
Каковы мои наблюдения:
- когда мы говорим о вреде GOTO - нас интересует только интерфейсная часть компилятора. И плевать мы хотели на эффективность. Подумаешь, что GOTO в 9 случаев из 10 это лишь шаблон Call; RET - это нам НЕПОНЯТНО.
- когда критикуем другие языки - бритва Окамма и принцип Калашникова возводятся в святыню. Но только не по применению к себе - тут мы уже вопрошаем: "кто Вам сказал, что это главный критерий"
- хорошо, давайте еще работать в сторону понятности - да нет же, существуют ведь способы "решения проблемы", ну разве что немножечко более многословные
- давайте опять займемся эффективностью, раннее связывание же эффективнее - да снова плевать мы хотели на нее, типа меня потери эффективности в виде постоянного множителя (упоминалась цифра 4) не интересуют.
- так все таки, как же с полиморфизмом процедурного типа - оказывается это великое зло по причине лишнего (одного) косвенного вызова. Тут надо иметь 4-5 вариантов кода разной степени специализации. Куда девается наплевание на множитель 4...
- и это далеко не полный список применения вышеозначенных принципов
Да существует некое противоречие в двух показателях назначения компилятора: front-end и back-end. Лично я вижу только один способ разрубить этот узел: интеллект компилятора. В противном случае - это клондайк для демагогов: чего хочу, то и применяю, в зависимости от коньюнктуры. И любое применение как бы правильное. Но оказывается:
Илья Ермаков писал(а):
Меня такой ракурс не интересует в принципе. Меня не интересует вопрос выполнения интеллектуальной работы компилятором, как и компиляторы, устроенные по такому принципу
Конечно же, я дико извиняюсь, и возможно Вам это покажется очередным "поучением", но таковое использование неких "принципов" называется - безпринципностью.
3) Наконец последнее.
Илья Евгеньевич, а не приходило ли Вам в голову, что Ваш оппонент может оказаться несколько старше Вас, и видел в жизни немножко больше? Чисто теоретически, даже не особо важно, так ли это в нашем случае. Неужели это настолько невозможное предположение ???
И что оппоненту приходилось наблюдать сообщества, устроенные по принципам, аналогичным Вашим. Даже в реальном мире, а не в виртуальном... и наблюдавшим как таковые сообщества заканчивают.
Возможно это извинит, до какой-то степени, изложение неких истин без предварительного получения на это "высочайшего соизволения"