14

En el contexto de la programación es común encontrarse con código al que se denomina deprecated. Esto es, se trata de código cuyo autor indica:

Esto que te ofrezco sigue funcionando, pero yo ya no me responsabilizo de que siga haciéndolo en un futuro, así que úsalo bajo tu propia responsabilidad (y no llores si deja de funcionar).

(walen dixit)

El DLE incluye deprecar, pero quiere decir otra cosa, así que no vale:

Del lat. deprecāri 'rogar'.
1. tr. Rogar, pedir, suplicar con eficacia o instancia. U. t. c. prnl.

blonfu comentó que desaprobar podría ser una buena traducción explicándolo así:

(...) "Desaprobar" es que algo no se aprueba, que se desaconseja su uso. "Obsoleto" es que ha quedado desfasado y se usa poco pero no tiene por qué estar mal.

Así y todo sería interesante ver qué otras opciones puede haber, así como si hay alguna canónica que se esté usando en documentaciones oficiales. ¿La hay?

0

7 Answers 7

7

Si quieres que te entiendan todos los que se dedican a la programación, hablen español o no: deprecado.

deprecar.
Del lat. deprecāri 'rogar'.

  1. tr. Rogar, pedir, suplicar con eficacia o instancia. U. t. c. prnl.

Explicación: tanto el español deprecar como el inglés deprecate vienen ambos del latín dēprecor, dēprecārī, dēprecātus, que significa "rezar con insistencia para alejar un mal, rogar en contra de algo". En inglés mantiene esta connotación: cuando se marca algo como deprecated, se está haciendo un ruego en contra de la utilización de ese algo.

En español, la connotación de "en contra de" la ha perdido, pero mantiene la de "rogar con insistencia", luego hay cierta base para usarlo. Y en cualquier caso, dado el ínfimo uso que tenía la palabra en el último siglo (apenas el 0.0000001% según Google NGRAM), no debería haber problema en que recupere dicha connotación, si así lo pide el uso actual.

Por tanto, si la comunidad decide usar "deprecado" porque es la palabra que más fácilmente permite transmitir este concepto en un entorno globalizado, que así sea.
En portugués, por ejemplo, ya se admite:

de·pre·ca·do
(latim deprecatus, -a, um, particípio passado de deprecor, -ari, procurar afastar por meio de súplicas, pedir, suplicar, afastar, demover, interceder, pedir perdão)

   adjectivo
   2. [Informática] Cuja utilização já não se recomenda (ex.: esta função não está obsoleta, mas está deprecada).

Ojo al ejemplo de uso que incluyen, donde el uso de deprecado se contrapone al de obsoleto.


Si quieres que te entiendan todos los que hablan español, se dediquen a programar o no: desaconsejado.

desaconsejar

  1. tr. Disuadir, persuadir a alguien de lo contrario a lo que tiene meditado o resuelto.

Explicación: tal como indicas (¿indico?) en la propia pregunta, deprecated se usa cuando quieres que una funcionalidad deje de utilizarse. Es decir, que desaconsejas su uso.

Esto no siempre es sinónimo de obsoleto, ya que el motivo puede ser simplemente que la funcionalidad no sea segura, aunque no haya ninguna otra mejor que la sustituya (vease por ejemplo el caso de Thread#stop() en Java, que lleva deprecado casi 25 años sin nada que lo reemplace).
Tampoco es sinónimo de "en desuso": que deje de usarse suele ser una consecuencia de desaconsejar el uso, pero siempre hay un periodo de transición de meses o años desde que algo se marca deprecated hasta que la gente deja de usarlo de manera habitual.

2
  • 3
    Oye pues voto por reintroducir deprecar, no sé si deberíamos hacer una petición en change.org o similar ;-)
    – fedorqui
    Commented Nov 6, 2017 at 13:24
  • Yo le he puesto un tuit a @raeinforma con la info que posteó walen. Mi granito de arena. twitter.com/elchuin/status/1194193367405670400 Commented Nov 12, 2019 at 11:22
6

En mi comentario, al que haces referencia en la pregunta, yo explicaba lo que entiendo con esas palabras pero no parece que sea el uso que se da en programación.

Por poner un ejemplo, aunque en diferentes lenguajes puede haber diferencias, en la documentación de JavaScript de MDN dice de deprecated:

Deprecated features

These deprecated features can still be used, but should be used with caution because they are expected to be removed entirely sometime in the future. You should work to remove their use from your code.

Mientras que en obsolete:

Obsolete features

These obsolete features have been entirely removed from JavaScript and can no longer be used as of the indicated version of JavaScript.

O sea que las características deprecated todavía se utilizan pero se espera que desaparezcan en el futuro, por lo que no es recomendable utilizarlas. Las obsolete ya están eliminadas y no se pueden usar.

El significado de obsolete en este caso no es lo que yo pensaba pero mi proposición de desaprobado sigue siendo válida en cualquier caso para deprecated.

Esta misma documentación de MDN en su versión en español traduce Deprecated features como "Caracteristicas desaprobadas".

En el DLE tenemos que:

desaprobar

  1. tr. Reprobar, no asentir a algo.

Y reprobar a su vez:

reprobar

  1. tr. No aprobar, dar por malo.

Por lo tanto no se aprueba el uso de una característica, propiedad o lo que sea.

4

Pues mira, una alternativa la conocemos bien por el propio diccionario de la RAE: en desuso.

El significado en el diccionario es exactamente el mismo: una palabra en desuso en principio se podría seguir usando, es español correcto, pero nadie te asegura que la gente te vaya a entender. Llegué a esta conclusión porque es la traducción oficial de Microsoft. Cuando programas en C# la forma de hacer un método deprecated es así:

[Obsolete]
public void Method(...) { }

Si marcas un método como obsoleto en el código y luego pasas el ratón por encima para ver la información del mismo, en el Visual Studio en español te aparece antes de la descripción: "[en desuso]".

2
  • pero "en desuso" no sería la traducción de "Obsolete"? sé que existe la traducción mas directa "obsoleto", pero es la impresión que me da a mi
    – Brian H.
    Commented Nov 6, 2017 at 10:26
  • 1
    En este caso, "obsolete" es la palabra que usa C# para hacer lo mismo que Java hace con "deprecated" (muchas veces no sé por qué no se deciden a usar las mismas palabras y hacernos la vida más fácil). "Obsolete", por supuesto, se puede traducir como "obsoleto", pero al ver que en el Visual Studio un método marcado así se documentaba como "en desuso" y dado lo comentado sobre C# y Java, me pareció una buena respuesta para lo que el OP pregunta.
    – Charlie
    Commented Nov 6, 2017 at 10:34
3

Puede traducirse por obsoleto o desaconsejado

'Deprecated' (desaconsejado, obsoleto) tiene el sentido de un elemento (programa, módulo, biblioteca, dispositivo,...) considerado anticuado y en proceso de retirada y que es, por lo general, reemplazado por otro. Los elementos obsoletos pueden tardar muchos años en desaparecer, ya que esto depende de lo extendidos que estén y de las ventajas que aporten los nuevos.

'Obsolete' (obsoleto, anticuado) ofrece la idea de un elemento para el que no hay garantía de soporte por parte de una aplicación o de un proveedor.

Tenemos términos compuestos relativamente nuevos: 'planned obsolescence' (obsolescencia planificada) y 'built-in obsolescence' (obsolescencia programada). Obsolescencia que todos hemos sufrido con algún producto que se estropea antes de lo esperado.

[Ampliación]

A-Cuando yo estudiaba, nos 'desaconsejaban' el uso de algunas funciones (pasarían años hasta que se hablara de procedimientos) porque estaban 'obsoletas' y era mejor utilizar una biblioteca nueva con funciones mejoradas.

B-Por otra parte se hablaba de que una versión de sistema estaba 'anticuada' porque había salido una más nueva que nos iban a instalar en breve.

En el caso (A) podíamos seguir empleando las funciones a sabiendas de que había otras mejores. En el caso (B) no es que no hubiera garantía de soporte, es que incluso el sistema podía ser reemplazado por el nuevo. Entonces los sistemas eran propietarios y si había uno nuevo la casa lo reemplazaba. Hace pocos años vi un equipo con Windows 98 (estaban anunciando W10) y eso más que 'anticuado' me pareció un 'superviviente'.

1
  • 2
    Este post mejoraría mucho si incluyeses un poco más sobre la definición de esos dos términos, pero sobre todo si explicases porqué crees que esos términos son la mejor (o una opción aceptable) para traducir ese término al español. Sugiero que le eches un vistazo a la sección How to Answer, que te puede dar algunos consejos sobre cómo escribir respuestas de calidad. Ten en cuenta que quieres explicarle a alguien algo (a veces a alguien que no habla español bien), más que simplemente solucionarle un problema.
    – Diego
    Commented Feb 20, 2018 at 2:33
3

Acabo de darme cuenta de que, aunque aparece en la propia pregunta, nadie propuso esta opción:

desfasado
Del part. de desfasar.

  1. adj. Que se queda retrasado respecto de las circunstancias, las corrientes o las costumbres de determinado momento.

Se puede entender que un método se marca como deprecated cuando las circunstancias del momento indican que dicho método se ha quedado atrás tecnológicamente, ya sea porque no es seguro, porque no es eficiente, o por otros factores. Para indicar esto y favorecer el uso de otros métodos más "al día", se marca el método como desfasado.

3

En contextos empresariales o técnicos, "deprecated" se utiliza con el mismo sentido que "descatalogado". Yo lo traduzco siempre así y queda bastante bien.
El término "desfasado" me parece bueno, pero, a veces, se "depreca" una cosa por razones más complejas que su simple desfase. El de "desaconsejado" también está bien, pero me suena más como una consecuencia: "como está deprecado entonces su uso está desaconsejado".
En fin, que yo uso "descatalogado".

Bueno, "desaconsejado" me parecería bien si lo que tenemos es un "catálogo" entre manos. Pero no tiene por qué ser así: un producto puede estár en algún tipo de documentación marcado como "descatalogado" de manera que los encargados de imprimir el catálogo no lo incluyan, los encargados de fabricación no lo fabriquen y los encargados de ventas no lo ofrezcan. El que lo ha marcado para que eso ocurra lo ha "descatalogado". No tiene por qué estar desfasado, ni siquiera que se desaconseje su uso, sino que simplemente está "marcado para su retirada del catálogo". Además, si quieres usarlo en una frase es un poco raro decir, por ejemplo, "Carlos, desaconseja estos métodos que están dando problemas". Parece como que "desaconsejar" implica personas destinatarias, y "descatalogar" simplemente objetos: "desaconsejar a alguien que haga tal cosa" contra simplemente "descatalogar una cosa". Opinión personal.

2
  • Ya me gustaría, pero, de momento, soy el único que lo usa en mi equipo. Nunca he visto esa traducción más que en mis textos. Gracias por esos puntos! Veré de usarlos para hacer el bien. Commented Sep 5, 2019 at 9:56
  • Buenas, Antonio, bienvenido. Descatalogado no me parece adecuado dado que si estás viendo el método "deprecated" es porque sigue estando en el catálogo de la API, lo que pasa es que se desaconseja usarlo.
    – RubioRic
    Commented Sep 5, 2019 at 10:46
1

Trabajo en sistemas y, si bien apruebo el uso del vocablo deprecar en castellano, a menudo la información llega a usuarios del sistema que no necesariamente conocen términos de programación. La palabra que he utilizado con éxtito, sin importar si mi interlocutor se dedica a programar o no, es:

desestimado

  1. tr. tener en poco.
  2. tr. Denegar, desechar.

He agregado esta respuesta para proveer una opción más. A veces un término concuerda mejor que otro en un texto, y además contar con sinónimos es útil para no repetir palabras y enriquecer un comentario, un email o un manual de usuario.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.