Обсуждение:Printf

message: ...скорее всего в языке B (предшественник C) ,
а в BCPL (предшественник B) была похожая функция writef .
(это, конечно, может быть и не так, но утверждать, что prinft впервые появилась в C тоже не следует) --Anton Khorev 18:14, 14 декабря 2006 (UTC)
* Ага, спасибо большое! Я как раз искал материалы для истории функции. #!George Shuklin 10:07, 16 декабря 2006 (UTC)
replies: text: : Про CPL:
replies: text: :*  здесь бы была статья 63-го года, если бы веб архив сохранил картинки (или журнал не решил, что хватит давать статьи на халяву)

text: :*  здесь, возможно, есть статьи, но у меня ни одна не открылась

text: :*  предыдущую ссылку нашёл отсюда по названию журнала

text: :--Anton Khorev 18:17, 16 декабря 2006 (UTC)

text: : История появления: "Первые следы будущей функции printf появляются в языке BCPL в начале 1960-х." BCPL появился в 1966-м, а в начале 60-х появился CPL. Что было в CPL нам всё ещё не известно? --Anton Khorev 01:57, 14 января 2007 (UTC)
replies: text: ::Это, на самом деле, уже не очень существенно, первый раз printf появился в "би". А кто там первый writef придумал - вопрос сложный. Я не смог найти открытых источников, где описывался бы cpl, так что этот вопрос остаётся открытым. #!George Shuklin
replies: text: ::: BCPL появился не в начале 60-х, а позже, следовательно, в BCPL в начале 60-х ничего появиться не могло. --Anton Khorev 17:42, 14 января 2007 (UTC)

text: ::: Вобщем, годы съехали. Написано, что BCPL появился тогда, когда появился CPL, и что B появился тогда, когда BCPL. --Anton Khorev 17:46, 14 января 2007 (UTC)
replies: text: :::: Убрал "начало" у 60-х, заменил 66 на 69. --Anton Khorev 19:51, 16 января 2007 (UTC)
И даже это не совсем правда. Фортрановский форматный вывод появился заметно раньше, а влияние его на printf видно невооружённым глазом. Maxim Razin 21:30, 17 января 2007 (UTC)
replies: text: :::::Я о фортране слышал только на лекциях, и то краем уха. Точнее, о языке-то я знаю, но вот писать на нём б-г миловал.  Если можете назвать источники - дайте ссылки, постараюсь объединить в текст. #!George Shuklin 21:43, 17 января 2007 (UTC)
thread_title:  Впервые функция появилась... 

message: Почему для всех языков программирования в данной статье даётся ссылка на функцию printf, а для perl на sprintf? Ведь в языке perl тоже есть функция printf.Soldatov 23:25, 14 января 2007 (UTC)
replies: text: Ссылка относится к синтаксису строки форматирования, про который написано в описании функции sprintf.  --Anton Khorev 00:23, 15 января 2007 (UTC)

text: Не для всех. В том же питоне нет "принтфа", есть только оператор %, который работает несколько иначе (и является аналогом asprintf). Список отражает не использование слова "принтф", а использование концепции "строки форматирования".#!George Shuklin
replies: text: : Да в Питоне он и не нужен, поскольку оптимизация никогда не ставилась целью.  Создать строку, а потом вывести её в поток — потери в производительности очень небольшие.  Это я к тому что в некоторых языках printf просто может не быть, причём сознательно.  — doublep 17:34, 18 января 2007 (UTC)
thread_title:  Использование в других языках программирования 

message: Например, строка printf("%i=%i", 'a', 'b') отработает правильно на большинстве архитектур (не смотря на то, что размер %i - int (32 или 64 бита), а размер 'a' (char) - 8 бит.
Не на большинстве, а на всех без исключения, так как к аргументам целочисленных типов, которым не сопоставлены формальные параметры, применяются стандартные правила продвижения целочисленных типов. Недаром в стандарте Си 1990 года (и, соответственно, в стандарте Си++) отсутствуют описанные в данной статье модификаторы h и hh. Эти модификаторы появились в стандарте Си 1999 года, но, за исключением случаев использования со спецификатором n, они предназначены для компенсации изменяющих значение последовательностей продвижения типа и смены интерпретации "знаковый/беззнаковый".
Кроме того, некорректно так писать о размерности int и char. Эти величины платформо-зависимые, и существуют платформы с 32-битным байтом.--achp 17:27, 18 января 2007 (UTC)
* Примеры? Что-то я о таких не слышал. #!George Shuklin 18:49, 30 июня 2007 (UTC)
replies: text: : Некоторые встраиваемые архитектуры не имеют средств адресации "внутрь" 32-битного слова. На них байт 32-битный.--achp 19:25, 30 июня 2007 (UTC)
replies: text: ::Источник? #!George Shuklin 21:22, 30 июня 2007 (UTC)
replies: text: :::--achp 21:48, 30 июня 2007 (UTC)
replies: text: :::: Справедливости ради надо отметить, что реализации, где CHAR_BIT != 8, всегда самостоятельные, а в таких реализациях printf может отсутствовать (и даже скорее всего отсутствует). Что не исключает такой возможности.--achp 22:09, 30 июня 2007 (UTC)
thread_title:  О типах 

message: Пытаюсь переписать статью, чтобы избавить её от ложных утверждений и структурировать её по языкам, пока в своей песочнице. Прошу помощи, в частности, было бы замечательно сделать картинки, подобные тем, что имеются в настоящей статье, но соответствующие действительности. Также было бы неплохо написать немного больше по языкам помимо Си/Си++.--achp 22:41, 29 июня 2007 (UTC)
* Давайте лучше начнём с того, что именно вам кажется неправильным? #!George Shuklin 18:45, 30 июня 2007 (UTC)
replies: text: : Самая большая фактическая ошибка — это вопрос о char и short.--achp 19:35, 30 июня 2007 (UTC)
Направление роста стека на картинке 2 - неправильное 85.233.156.97 10:30, 2 июля 2010 (UTC)
thread_title:  Переписывание статьи 

message: Не понимаю, почему участник George Shuklin откатил верную правку участника Indaclu6?--achp 22:07, 14 сентября 2008 (UTC)
* Виноват, моя ошибка. Принял за вандализм, извините. #!George Shuklin 10:06, 15 сентября 2008 (UTC)
thread_title:  Откат верной правки 

message: XSI . Надо либо переадресацию убрать, либо статью-disambiguation сделать, либо ссылку переименовать. 87.249.56.219 20:31, 16 декабря 2009 (UTC)
thread_title:  Неверная ссылка на статью