2009-11-28 3 views
3

Есть ли примеры значительных улучшений для основных языков программирования, которые были полностью выпущены, а затем найдены, что они достаточно ошибочны, что их нужно было отозвать?Усовершенствования языков программирования, которые должны были быть сняты после выпуска?

UPD @Jeff Фостер пример функции, которая не последовательно реализуется и я бы те, как ответы

UPD Существует серая зона между Устаревшие и отозваны. Я подозреваю, что тысячи устаревших примеров - которые все еще можно использовать, но не рекомендуется. Я могу представить, что есть функции, которые некоторые создатели считают, что они могут реализовать полностью или последовательно, но фактически нарушили целостность системы.

Я особенно искал усовершенствование (не оригинальные черты), как это будет уже запланированным (возможно, с участием общин) и выпущенной после тестирования и т.д.

+0

Если вы готовы выйти за пределы * программирования *, то элемент шрифта HTML, вероятно, является стандартным носителем для «нет, теперь мы задумываемся об этом, мы изменили свое мнение» .. –

+0

Будучи глубоко вовлеченным в процесс XML, я сопоставляю это с SGML (слишком сложным для реализации полностью) и HTML (недостаточно для решения сообщества). Итак, да, я бы, вероятно, включил основные метаязыки такого рода :-) –

+0

сообщество wiki imho – ChristopheD

ответ

0

Как представляется, нет ясных примеров.

3

C++ имеет ключевое слово «экспорт», которые реализуют очень немногие компиляторы , Он не был отозван, но поскольку так мало компиляторов реализуют его, что он фактически бесполезен. См. here для получения дополнительной информации.

+0

Также недавний опрос соломы в комитете C++ 0x поддерживал обесценивание: http://herbsutter.wordpress.com/2009/ 10/23/deprecating-export-thought-for-iso-c0x/Но стандарт C++ не является хорошим местом для поиска «усовершенствования», которое было «удалено», поскольку по определению требуется три выпуска, а C++ - до сих пор только когда-либо был исходный стандарт плюс исправления ;-) –

+0

Так что, если что-то «неправильно», перед его удалением должны быть три (? major) релиза? Будьте интересны, чтобы знать больше –

+0

Нет, я просто имею в виду, что в этом вопросе, чтобы что-то было «улучшением», а не оригинальной, оно должно было не быть в первом выпуске, а добавляться в ревизию. Тогда для его «удаления» должен быть третий релиз. Некоторые языки, такие как Perl, имели десятки или сотни выпусков. Но C++ - это почти демонстрационное упражнение в большом дизайне, поэтому нет возможности для языковых функций просто приходить и уходить. Реализации C++ меняются, конечно. –

1

reduce() в Python был удален из глобального пространства имен из python 3.0. Он все равно может быть найден в модуле functools, поэтому я не знаю, действительно ли это имеет значение. Обоснование этого дано в записи блога GvR: http://www.artima.com/weblogs/viewpost.jsp?thread=98196.

+0

Хороший пример (случайно мы обсуждали его вчера!) –

0

Даже если это полностью удовлетворяются по отношению к языкам программирования, это неизбежно, чтобы иметь дело с HTML в Интернете, поэтому я прошу прощения, но должен отметить, что ..

applet, basefont, center, dir, font, isindex, menu, s, strike, u элементы являются устаревшими в HTML 4.01, чаще всего в пользу CSS для стилизации, так как презентация и структура не должны смешиваться.

+0

Учитывая, что для HTML требуется огромное количество кода, я думаю, что это разумный пример вывода. В некотором смысле, они не технически ошибочны, просто уродливы и заменены лучшими способами делать вещи –

0

Устаревшие функции PHP 5.3.х включают magic_quotes, register_globals, и эти функции являются устаревшими:

  • call_user_method() (использование call_user_func() вместо)
  • call_user_method_array() (использование call_user_func_array() вместо этого)
  • define_syslog_variables()
  • дл()
  • EREG() (использование preg_match() вместо)
  • ereg_replace() (использование preg_replace() вместо)
  • eregi() (использование preg_match() с 'I' модификатора вместо)
  • eregi_replace() (использование preg_replace() с 'I' модификатора вместо)
  • set_magic_quotes_runtime() и его псевдоним, magic_quotes_runtime()
  • session_register() (используйте $ _SESSION суперглобальный вместо)
  • session_unregister() (используйте $ _SESSION суперглобального вместо)
  • session_is_registered() (используйте $ _SESSION суперглобального вместо)
  • set_socket_blocking() (использование stream_set_blocking())
  • сплит() (использование preg_split() вместо)
  • spliti() (использование preg_split() с 'I' модификатора вместо)
  • sql_regcase()
  • mysql_db_query() (использование mysql_select_db() и mysql_query() вместо)
  • mysql_escape_string() вместо этого)
  • Передача имен категорий локалей в виде строк теперь устарела. Вместо этого используйте семейство констант LC_ *.
  • Параметр is_dst для mktime(). Вместо этого используйте новые функции обработки часового пояса.
+0

Были ли эти усовершенствования введены после V1.0? а затем обнаружил, что он испорчен? –

0

Проработав много лет взлома FORTRAN вот некоторые из восхитительных конструкций, удаленных от F77 (http://en.wikipedia.org/wiki/Fortran#Obsolescence_.26_deletions):

В этой версии стандарта, был удалил ряд особенностей или изменен способом, который может аннулировать ранее Стандартно-совместимые программы. (Удаление было единственной допустимой альтернативой X3J3 в то время, так как понятие из «устаревания» еще не было стандартов ANSI.) В то время как большинство 24 пунктов в списке конфликтов (см Приложение А2 X3.9-1978) на имя лазейки или патологические случаи разрешенных предыдущим стандартом, но редко используется, небольшое количество конкретных возможностей были намеренно удалены, такие как:

* Hollerith constants and Hollerith data, such as: 

    `GREET = 12HHELLO THERE!` 

* Reading into a H edit (Hollerith field) descriptor in a FORMAT 

спецификации. * Переопределение границ массива по индексам.

DIMENSION A(10,5) 
>   Y= A(11,1) 
* Transfer of control into the range of a DO loop (also known as 

"Extended Range").

Ох, когда сердце перестает прыгать в середину глубоко вложенных циклов DO.

Смежные вопросы