LINUX.ORG.RU

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

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

Ведь когда ты видишь, скажем, «int», то мысли «а как читать код, >если не знаешь о существовании такого типа» почему-то не возникает.

Несколько разная степень конкретности. Операция «найти определение типа» в нормальном IDE должна быть за одно нажатие кнопки. И это несколько другой объём работы, чем читать вверх всю функцию, раскрывая в уме каждую строчку, когда auto на auto и auto-м погоняет. Так что анализ программы усложняется, тут нечего даже обсуждать.

И разумеется, у тебя есть примеры ошибок? В смысле - ожидали одного, ошиблись и «всё поломалось».

В коде не напишу. По смыслу: два типа, для которых определены одинаковые методы с одинаковыми параметрами. Далее программист неверно парсит auto и думает, что он имеет дело с одним типом, а на самом деле тип другой.

Ну ведь ты фантазируешь и всячески подгоняешь результат. Во первых, поддержка auto в майкросовтовском компиляторе была уже в 2010 году. В GCC с версии 4.4, а это 2009 год. Но даже не в этом дело.

Ну конкретно по С++ - я не то, что фантазирую, а просто пока я не убеждён в том, что нововведение оказалось удачным. Если ты в этом уверен, то ок. Пусть будет.

Ну и локальный вывод типов уже давно пихают всюду куда можно. В C# он давным давно есть (и официальные рекомендации как раз говорят не выписывать тип руками), даже в джаву что-то добавили, вроде.

Спасибо, буду знать.

Меня не оставляет ощущение, что ты подгоняешь факты под желаемый результат

Это то, с чем я столкнулся в лиспе: глядя на сигнатуру функции, нельзя узнать, что ей нужно передать. Нужно смотреть в доку, исходник и т.п. То, о чём я говорю - вместо того, чтобы получить знание непосредственно, его нужно вычислить. Вопрос здесь только в балансе плюсов и минусов, но само по себе присутствие минусов в любой неявности не подлежит сомнению.

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

Ведь когда ты видишь, скажем, «int», то мысли «а как читать код, >если не знаешь о существовании такого типа» почему-то не возникает.

Несколько разная степень конкретности. Операция «найти определение типа» в нормальном IDE должна быть за одно нажатие кнопки. И это несколько другой объём работы, чем читать вверх всю функцию, раскрывая в уме каждую строчку, когда auto на auto и auto-м погоняет. Так что анализ программы усложняется, тут нечего даже обсуждать.

И разумеется, у тебя есть примеры ошибок? В смысле - ожидали одного, ошиблись и «всё поломалось».

В коде не напишу. По смыслу: два типа, для которых определены одинаковые методы с одинаковыми параметрами. Далее программист неверно парсит auto и думает, что он имеет дело с одним типом, а на самом деле тип другой.

Ну ведь ты фантазируешь и всячески подгоняешь результат. Во первых, поддержка auto в майкросовтовском компиляторе была уже в 2010 году. В GCC с версии 4.4, а это 2009 год. Но даже не в этом дело.

Ну конкретно по С++ - я не то, что фантазирую, а просто пока я не убеждён в том, что нововведение оказалось удачным. Если ты в этом уверен, то ок. Пусть будет.

Ну и локальный вывод типов уже давно пихают всюду куда можно. В C# он давным давно есть (и официальные рекомендации как раз говорят не выписывать тип руками), даже в джаву что-то добавили, вроде.

Спасибо, буду знать.

Меня не оставляет ощущение, что ты подгоняешь факты под желаемый результа

Это то, с чем я столкнулся в лиспе: гляда на сигнатуру функции, нельзя узнать, что её нужно передать. Нужно смотреть в доку, исходник и т.п. То, о чём я говорю - вместо того, чтобы получить знание непосредственно, его нужно вычислить. Вопрос здесь только в балансе плюсов и минусов, но само по себе присутствие минусов в любой неявности не подлежит сомнению.