Question

Are there examples of significant enhancements to major programming languages that were fully released and then found to be sufficiently flawed that they had to be withdrawn?

UPD @Jeff Foster has an example of a feature that is not consistently implemented and I'd take those as answers

UPD There is a grey area between Deprecated and withdrawn. I suspect that there are thousands of Deprecated examples - which can still be used but are not advised. I can conceive that there are features which some creators thought they could implement fully or consistently but actually broke the integrity of the system.

I was particularly looking for enhancements (not original features) as these will have been planned (probably with community involvement) and released after testing, etc.

Was it helpful?

Solution 6

There don't seem to be any clear examples.

OTHER TIPS

C++ has a keyword "export" which very few compilers implement. It's not been withdrawn, but since so few compilers implement it that it is effectively useless. See here for more information.

reduce() in Python has been removed from the global namespace from python 3.0. It can still be found in the functools module though, so I don't know if it really counts. The reasoning behind this is given in GvR's blog entry: http://www.artima.com/weblogs/viewpost.jsp?thread=98196.

Deprecated features in PHP 5.3.x include magic_quotes, register_globals, and these functions are deprecated:

  • call_user_method() (use call_user_func() instead)
  • call_user_method_array() (use call_user_func_array() instead)
  • define_syslog_variables()
  • dl()
  • ereg() (use preg_match() instead)
  • ereg_replace() (use preg_replace() instead)
  • eregi() (use preg_match() with the 'i' modifier instead)
  • eregi_replace() (use preg_replace() with the 'i' modifier instead)
  • set_magic_quotes_runtime() and its alias, magic_quotes_runtime()
  • session_register() (use the $_SESSION superglobal instead)
  • session_unregister() (use the $_SESSION superglobal instead)
  • session_is_registered() (use the $_SESSION superglobal instead)
  • set_socket_blocking() (use stream_set_blocking() instead)
  • split() (use preg_split() instead)
  • spliti() (use preg_split() with the 'i' modifier instead)
  • sql_regcase()
  • mysql_db_query() (use mysql_select_db() and mysql_query() instead)
  • mysql_escape_string() (use mysql_real_escape_string() instead)
  • Passing locale category names as strings is now deprecated. Use the LC_* family of constants instead.
  • The is_dst parameter to mktime(). Use the new timezone handling functions instead.

Even though this is entirely catered toward programming languages it's inevitable to deal with HTML on the web, so I apologize but must mention that..

applet, basefont, center, dir, font, isindex, menu, s, strike, u elements are deprecated in HTML 4.01, most usually in favor of CSS for styling as presentation and structure shouldn't be mixed.

Having spent many years hacking FORTRAN here are some of the delightful constructs removed from F77 (http://en.wikipedia.org/wiki/Fortran#Obsolescence_.26_deletions):

In this revision of the standard, a number of features were removed or altered in a manner that might invalidate previously standard-conforming programs. (Removal was the only allowable alternative to X3J3 at that time, since the concept of "deprecation" was not yet available for ANSI standards.) While most of the 24 items in the conflict list (see Appendix A2 of X3.9-1978) addressed loopholes or pathological cases permitted by the previous standard but rarely used, a small number of specific capabilities were deliberately removed, such as:

* Hollerith constants and Hollerith data, such as:

    `GREET = 12HHELLO THERE!`

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

specification. * Overindexing of array bounds by subscripts.

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

"Extended Range").

Oh the heartbreak of no longer being able to jump into the middle of deeply nested DO loops.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top