Różnica między wycofanymi, umorzonymi i przestarzałymi [zamknięte]

137

Jest w tym wiele nieporozumień i chciałbym wiedzieć, jaka dokładnie jest różnica między zdeprecjonowanym , przestarzałym i przestarzałym , w kontekście programowania, ale także ogólnie.

Wiem, że mógłbym po prostu spojrzeć na słownik online i mam, nawet w wielu, ale nie wszyscy się zgadzają lub są różnice w tym, co mówią. Postanowiłem więc po prostu zapytać tutaj, biorąc pod uwagę, że chcę również odpowiedzi w kontekście programowania.

Jeśli dobrze rozumiem, przestarzałe oznacza, że ​​nie powinno się go już używać, ponieważ zostało zastąpione lepszą alternatywą lub po prostu dlatego, że zostało porzucone. Przestarzały oznacza, że ​​już nie działa, został usunięty lub nie działa już tak, jak powinien. A amortyzacja, jeśli dobrze rozumiem, po raz kolejny nie ma nic wspólnego z programowaniem i po prostu oznacza, że ​​coś ma obniżoną wartość lub zostało pogorszone.

Czy mam rację, czy się mylę, a jeśli się mylę, co dokładnie oznacza każde z nich?

Mark Otaris
źródło
Twoje rozumienie jest prawidłowe. „Przestarzały” może też oczywiście oznaczać, że nigdy nie zadziałał.
Markiz Lorne
Powiązane: Dlaczego istnieje mylenie między stanem amortyzowanym a wycofanym? na stronie english.stackexchange.com
Gras Double
1
Od [MDN] [1]: Przestarzałe funkcje Te przestarzałe funkcje mogą być nadal używane, ale należy ich używać ostrożnie, ponieważ oczekuje się, że zostaną całkowicie usunięte kiedyś w przyszłości. Powinieneś pracować, aby usunąć ich użycie z twojego kodu. Przestarzałe funkcje Te przestarzałe funkcje zostały całkowicie usunięte z JavaScript i nie można ich już używać we wskazanej wersji JavaScript. [1]: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
slashCoder
1
Kończę to pytanie jako niezwiązane z tematem, ponieważ nie dotyczy ono praktycznego problemu z programowaniem, jak opisano w centrum pomocy .
Martijn Pieters
1
@MartijnPieters Czy jest gdzieś dyskusja na ten temat w Meta? Zamykanie przydatnych pytań „różnica między” nie wydaje się świetne, ale myślę, że nie jest też możliwa migracja np. Do inżynierii oprogramowania w tym momencie? Czy w ogóle problem dotyczy pytań „różnica między”? A może kwestia jest częścią „ale także ogólnie” i pytaniem o „amortyzację” (którą można by usunąć)?
Brian McCutchon

Odpowiedzi:

185

Masz rację.

Przestarzały oznacza, że ​​jest nadal używany, ale tylko do celów historycznych i zostanie prawdopodobnie usunięty w następnym dużym wydaniu. Zaleca się, aby nie używać przestarzałych funkcji lub opcji - nawet jeśli na przykład są obecne w bieżącej bibliotece.

Przestarzały oznacza, że ​​jest już nieużywany.

Amortyzacja oznacza, że ​​wartość pieniężna czegoś zmniejszyła się w czasie. Np. Samochody zazwyczaj tracą na wartości.

Również w celu dokładniejszego zdefiniowania terminów w kontekście języka angielskiego polecam skorzystanie z https://english.stackexchange.com/ .

Elzo Valugi
źródło
2
Nie mam na myśli tego w ścisłym sensie pieniężnym, ale API ma postrzeganą wartość. Można więc powiedzieć, że amortyzuje. Jeśli interfejs API się zdeprecjonuje, jest bardziej prawdopodobne, że zostanie wycofany… co nieuchronnie prowadzi do dalszej deprecjacji. Ta korelacja może pomóc w wyjaśnieniu pomieszania tych dwóch terminów i tego, jak to rozróżnienie może pozostać niewykryte.
Antony
72

Płyty są przestarzałe, płyty CD są przestarzałe, a przemysł muzyczny jest amortyzowany.

Tim Eckel
źródło
4
Więc jak to się teraz nazywa, kiedy wszyscy ci hipster znowu kupują płyty?
HoppyKamper
2
A co powiesz na „docenienie” lub „docenienie”…? =)
SnapJag
﹢1 Całkowicie mnie
załamało
28

W kontekście opisywania interfejsów API itp. „Zdeprecjonowany” jest błędnym odczytaniem, błędną pisownią i wymową słowa „przestarzałe”.

Myślę, że ludzie widzieli „zdeprecjonowany” tak często w innych kontekstach i „przestarzały” tak rzadko, że nawet nie rejestrują „i” lub jego braku. Nie pomaga też to, że ich definicje są podobne.

cHao
źródło
2
Myślałem, że jest odwrotnie, że pierwotnie miało to oznaczać „zdeprecjonowany”, ale błędnie napisane i skopiowane, i stało się powszechne.
PeteGO
1
@PeteGO: Nie. Oba słowa istniały niezależnie (z różną etymologią) przez długi czas, a to bez „i” jest bardziej odpowiednie. („Deprecate” pochodzi z łaciny i oznacza „modlić się przeciwko” lub „odpierać”). „Deprecate” w pewnym sensie działa , ponieważ efektem ubocznym deprecjacji jest dewaluacja, czyli deprecjacja deprecjonowanej rzeczy. Ale to jest efekt uboczny działania, a nie samo działanie.
cHao
13

Przestarzały: nie powinien być już używany

Przestarzałe: należy ich unikać w nowym kodzie i prawdopodobnie staną się przestarzałe w nowszej wersji interfejsu API

Amortyzowane: zwykle literówka za przestarzałe (amortyzacja jest, gdy wartość towarów spada z upływem czasu, na przykład, jeśli kupisz nowy komputer jego wartość odsprzedaży idzie w dół miesiącem)

Matthew Strawbridge
źródło
7

Z całym szacunkiem, to moja lekka irytacja, a wybrana odpowiedź jest w rzeczywistości błędna.

Przyznany język ewoluuje, np. „Google” jest najwyraźniej czasownikiem. Dzięki tak zwanemu „powszechnemu użyciu” trafił do oficjalnych słowników. Jednak „google” było nowym słowem oznaczającym coś, czego dotychczas nie było w naszej wypowiedzi.

Powszechne użycie nie obejmuje rażącej zmiany znaczenia słowa tylko dlatego, że w pierwszej kolejności nie zrozumieliśmy jego definicji, bez względu na to, ile osób je powtarza.

Wydaje się, że w całym anglojęzycznym przemyśle komputerowym słowo „przestarzałe” oznacza, że ​​jakaś funkcja jest wycofywana lub nie ma już zastosowania. Nieźle, po prostu nie polecam. Zwykle dlatego, że jest nowy i lepszy zamiennik.

Rzeczywista definicja deprecacji to poniżanie, mówienie negatywnie, wyrażanie dezaprobaty lub wyśmiewanie kogoś lub czegoś poprzez poniżanie.

Pochodzi z łaciny de- (przeciw) precari (modlić się). „Modlitwa przeciwko” osobie XXI wieku prawdopodobnie wywołuje myśli odpędzania złych duchów lub czegoś takiego, co prawdopodobnie jest przyczyną rozłączenia z ludźmi. W rzeczywistości modlić się lub modlić o coś, czego ma życzyć dobra, o czym mówić w pozytywny sposób. Modlenie się przeciw byłoby złym mówieniem o nim, poniżaniem go lub oczernianiem. Zobacz ten fragment z Oxford English Dictionary.

  1. Wyraź dezaprobatę dla: (jako przymiotnika deprecjonującego) pociągnął nosem w deprecjonujący sposób

  2. inny termin na deprecjację (sens 2). potępia wartość telewizji dla dzieci

To, co ludzie generalnie chcą przekazać, używając deprecate, w każdym razie w branży IT, a być może w innych, to to, że coś straciło na wartości. Coś straciło na znaczeniu. Coś wypadło z łask. Nie chodzi o to, że nie ma wartości, po prostu nie jest tak wartościowy jak wcześniej (prawdopodobnie z powodu zastąpienia go czymś nowym). Mamy dwa słowa odnoszące się do koncepcji w języku angielskim, a pierwsze to „depreciate”. Zobacz ten fragment z Oxford English Dictionary.

  1. Spadek wartości z upływem czasu: oczekuje się, że funt osłabi się w stosunku do dolara

  2. Zdyskredytować lub umniejszyć (coś):

Zauważ, że definicja 2 brzmi jak przestarzała. Tak więc, jak na ironię, deprecate może oznaczać deprecjację w niektórych kontekstach, ale nie w tym powszechnie używanym przez informatyków.

Również fakt, że deprecjacja waluty jest przyjemnym, powszechnym użyciem słowa deprecjacja, a zatem łatwym do przytoczenia jako przykładu, nie oznacza, że ​​jest to jedyny kontekst, w którym słowo to jest istotne. To tylko przykład. Jeden przykład.

Prawidłowy czasownik przechodni to „przestarzały”. Coś tracisz, ponieważ straciła na wartości.

Zobacz ten fragment z Oxford English Dictionary.

Czasownik - spraw, aby coś stało się lub stało się przestarzałe, zastępując to czymś nowym.

Wkurza mnie to, po prostu wkurza. Nie wiem dlaczego. Może dlatego, że widzę to wszędzie. W każdej książce komputerowej, którą czytam, na każdym wykładzie, na który chodzę, i na każdej technicznej stronie internetowej, ktoś wcześniej czy później zrzuca d-bombę. Jeśli to kiedyś znajdzie się w słowniku, zgodzę się, ale dochodzę do wniosku, że strażnicy angielskiego leksykonu stali się słabi i zgubili drogę ... a przynajmniej stracili nerwy. Nawet Wikipedia opowiada się za tym nadużyciem i faktycznie go broni. Edytowałem stronę już trzykrotnie, a oni wciąż usuwają moje zmiany.

Coś jest amortyzowane, dopóki nie stanie się przestarzałe. Wycofywanie się, w kontekście IT, nie ma żadnego sensu, chyba że odkładasz czyjąś wydajność, pracę lub produkt lub fakt, że nadal noszą spodnie spadochronowe.

Wniosek: cała branża IT nieprawidłowo używa deprecate. Może to być powszechne użycie. Może to być ogromne nieporozumienie. Ale nadal jest całkowicie błędne.

Jasonovich
źródło
4
Nie jestem pewien, czy można uczciwie powiedzieć, że przyjęta odpowiedź jest błędna, biorąc pod uwagę, że pytanie wyraźnie dotyczy tego, co oznaczają terminy „w kontekście programowania”. Twoja odpowiedź przyznaje nawet, że branża IT nie używa terminów zgodnie z podanymi przez Ciebie definicjami.
Martin Ellis
8
@Jasonovich, chociaż twoja analiza terminologiczna jest prawidłowa, myślę, że twój wniosek, że „Wycofywanie w kontekście IT nie ma żadnego sensu” jest nieco drastyczny. Gdy funkcja / dzieło nie jest już zalecane, oznacza to, że jej użycie - a nie funkcja - zostało wycofane (prawdopodobnie przez autorów). To ma sens. Mówienie, że funkcja jest przestarzała, jako skrót „korzystanie z tej funkcji jest przestarzałe”, brzmi dla mnie do zaakceptowania. Ale nawet zdeprecjonować samą funkcję, ze złym zamiarem wyrzeczenia się jej ze względu na jej wiek / cokolwiek ... Mogę nienawidzić mojego starego kodu tak bardzo, jak mi się podoba, prawda?
cornuz
5
„Jeśli to kiedyś znajdzie się w słowniku, zgodzę się”. Według American Heritage (słownika założonego, ponieważ Webster's był „zbyt liberalny”), „deprecate” oznacza „oznaczyć (składnik standardu oprogramowania) jako przestarzały, aby ostrzec przed jego użyciem w przyszłości, aby można było go wycofać. " Zobacz ahdictionary.com/word/search.html?q=deprecate
Martin Ellis,
22
Ta odpowiedź jest przestarzała.
PeteGO
3
„myśli o odpędzaniu złych duchów czy coś w tym rodzaju”. Tak! Unikaj używania przestarzałych funkcji do ochrony przed złymi duchami (tj. Sporadycznymi błędami w czasie wykonywania) :-)
user2268788
5

W standardach i dokumentacji oprogramowania komputerowego termin przestarzały jest używany do wskazania zniechęcenia do korzystania z określonej funkcji oprogramowania, zwykle dlatego, że została ona zastąpiona nowszą / lepszą wersją. Przestarzała funkcja nadal działa w bieżącej wersji oprogramowania, ale może generować komunikaty o błędach lub ostrzeżenia zalecające alternatywne rozwiązanie.

W Przestarzałe znaki atrybut podmiotu Program jako taki, który nie jest już zalecany do stosowania. Każde użycie obiektu oznaczonego jako przestarzałe spowoduje następnie wygenerowanie ostrzeżenia lub błędu, ponieważ nie są one już używane lub nie istnieją.

EDYTOWAĆ:

amortyzowane : nie wiem, jak to się ma do programowania

Frankline
źródło
1

Nie powiedziałbym, że przestarzałe oznacza, że ​​już nie działa. Moim zdaniem przestarzałe oznacza po prostu lepsze alternatywy. Rzecz staje się przestarzała z powodu czegoś innego. Przestarzałe oznacza, że ​​nie powinieneś go używać, chociaż może nie być żadnych alternatyw. Rzecz staje się przestarzała, ponieważ ktoś mówi, że jest - jest nakazowa.

Supr
źródło
Nie rozumiem, dlaczego ten został odrzucony, skoro jest poprawny . Wycofanie oznacza właśnie to, że ktoś mówi: „nie powinieneś tego robić!”. Coś może stać się przestarzałe tylko dlatego, że nikomu nie zależy nawet na tym, aby o tym powiedzieć.
Antti Haapala
-1
  • „Przestarzały” oznacza „został zastąpiony”.
  • „Amortyzacja” oznacza „ma mniejszą wartość niż jej pierwotna wartość”.
  • „Przestarzały” oznacza wyraźne obalenie i spopularyzowanie z powodu błędów ortograficznych w dwóch artykułach technicznych, w których autorzy użyli nazwy przestarzałej bez „i”. Jeden w 1999 r., A drugi w 2002 r. Wymieniony w słownikach jako pochodzenie.

Wcześniej czytaliśmy komentarze typu // depreciated in API documentation including the MS MSDN.

Użycie przestarzałego w branży technologicznej jest zatem całkowicie niepoprawne i stanowi dowód na to, jak autor techniczny może stworzyć błąd, który może istnieć w języku i ktoś powinien wreszcie usunąć błąd.

Hank Hatch
źródło
11
Czy znasz nazwy tych dwóch artykułów? (linki byłyby świetne)
chip
9
@chip no, ta odpowiedź to tylko śmieci. Oba słowa istniały, z różnymi znaczeniami, w słownikach od 1913 roku ...
Antti Haapala,
Przestarzała funkcjonalność niekoniecznie zniknęła, na dobre lub na złe. Chciałbym również zaostrzyć definicję „amortyzowanego”, aby wymusić, że ma on teraz mniejszą niż pierwotna wartość, ponieważ uzyskanie wartości oznaczałoby również, że nie ma już swojej pierwotnej wartości.
Dave Newton,
1
Więc „przestarzałe” powinno być przestarzałe?
Little Endian
1
Jak powiedział @AnttiHaapala. Deprecatedistnieje od XVII wieku, zob. jego etymologia: Early 17th century (in the sense ‘pray against’): from Latin deprecat- ‘prayed against (as being evil)’, from the verb deprecari, from de- (expressing reversal) + precari ‘pray’. lexico.com/en/definition/deprecate
Magne