Co stanowi martwy język programowania? [Zamknięte]

18

Wyobraź sobie, że zostałeś wybrany koronerem IEEE lub jakiegoś organu zarządzającego i musiałeś wymówić język programowania jako martwy. Jakich znaków byś szukał? Czy są jakieś języki zombie, które nie wiedzą, że już nie żyją?

Peter Turner
źródło
7
Co definiujesz jako język? Czy FORTRAN I i Fortran 95 to ten sam język? Lisp 1.5 i Common Lisp czy schemat? Czy różnią się mniej niż, powiedzmy, Algol i Pascal?
David Thornley,
To dobre pytanie, na które nie potrafię dokładnie odpowiedzieć. Wydaje się, że ludzie odpowiadający na pytanie oznaczają język atomowy (tj. B to nie C), więc poddam się ich wglądowi.
Peter Turner,
@Peter Boughton, czy dostałeś przynajmniej referencję Megadeth?
Peter Turner,
1
@Peter (nie ja) megadeth.com/discography.php?era_id=4 Nie możesz mieć Świętych wojen bez kary. Całkiem niesamowita piosenka, w rzeczywistości chodzi o The Punisher.
Peter Turner,
1
@Peter Turner, ta piosenka dotyczyła również trasy koncertowej Megadeth w Irlandii, a Mustaine widziała ogromne protestanckie / katolickie zamieszki. Szczegółowo opisuje to w swojej niedawno opublikowanej autobiografii.
Jesse C. Slicer,

Odpowiedzi:

34

Języki komputerowe nigdy nie umierają; zmieniają się tylko z nadmiernego podniecenia w niedostateczne wykorzystanie. Ktoś zawsze odkryje stary język i nauczy się go, tylko dla zabawy.

Dodatek: Ci, którzy lubią starsze języki, czasami piszą nowy język zainspirowany tym językiem. Więc nawet jeśli oryginalny język jest martwy według terminów niektórych ludzi, jego duch nadal żyje w swoich potomkach. Niektóre przykłady obejmują:

  1. B i BCPL inspirowane C.
  2. Ikona inspirowana SNOBOL
  3. Algol zainspirował zbyt wiele języków, by je policzyć
imgx64
źródło
ALGOL! Druga wzmianka za tyle dni. Dopiero wczoraj (lub było to dzisiaj) była pierwsza wzmianka o Algolu, którą widziałem na dowolnej stronie StackExchange, chociaż wyszukiwanie odkrywa wiele.
Mark C
Uzgodnione, ale tylko w przeciwieństwie do programmers.stackexchange.com/questions/9521/... (Łagodna Fuzz) odpowiedź przy użyciu porównania z językoznawstwem. Mówisz, że dopóki nie spalimy naszej dokumentacji i kodu źródłowego, nie ma czegoś takiego jak wymieranie języka programowania - ale język musi zostać ogłoszony toastem, zanim będziesz mógł zeskrobać z niego spalone rzeczy i zjeść je.
Peter Turner,
2
Nawet C „ma znaczny dług wobec Algolu 68”, por. Dennis M. Ritchie (styczeń 1993 r.): „Przyjęty przez C schemat składu typu ma znaczny dług wobec Algolu 68, chociaż być może nie powstał w formie, która Zwolennicy Algola poparliby ”. . „Rozwój języka C”. cm.bell-labs.com/cm/cs/who/dmr/chist.html . Pobrano 1 stycznia 2008.
NevilleDNZ
2
Język może być martwy, jeśli nie ma sprzętu, na którym można by go uruchomić (i nie można napisać emulatorów, ponieważ nie ma żadnych specyfikacji).
quant_dev
42

W językoznawstwie martwy język jest definiowany jako taki, w którym nie ma ojczystych ani płynnych mówców. Myślę, że ta definicja dość dobrze przekłada się na sferę programowania. Martwy język programowania to taki, którego żaden programista nie używa jako głównego języka lub żaden system nie obsługuje natywnie.

Łagodny Fuzz
źródło
Przez żaden system nie masz na myśli żadnego aktywnie rozwijanego komputera (takiego jak Commodore) lub żadnego aktywnie rozwijanego systemu operacyjnego (takiego jak DOS) lub obu tych elementów?
Peter Turner,
Może system, który nie jest już aktywnie wspierany przez producenta?
Łagodny Fuzz,
9
Martwy język to język, który prawdopodobnie nigdy się nie zmieni. Brak znacznej liczby kolokwialnych mówców jest tego niezbędny, ale umarli zazwyczaj oznaczają niezmienność, przynajmniej o ile rozumiem.
Tim Post
@TimPost to świetna definicja. Pomyśl tylko, jak łacina była używana przez lata jako główny język w nauce po tym, jak dawno minęła, lub jak w świecie bankowości stare komputery mainframe nadal używają programów napisanych w starożytnych językach programowania, które nadal muszą być utrzymywane - to znaczy programów.
Legolas
@TimPost: Nie sądzę, że tak jest z definicji, ale z powodu nieużywania języka. Nie nazwałbym języka martwym, gdyby był używany, ale nie zmieniony, ale to bardzo rzadko się zdarza.
reinierpost
22

Język jest martwy, gdy nikt przy zdrowych zmysłach nigdy nie zrobiłby w nim projektu typu greenfield. Tak jak martwe ludzkie języki nie są całkowicie nieistotne (ponieważ studiujemy historię), martwe języki programowania nie są zupełnie nieistotne (ponieważ zachowujemy cały ten okropny historyczny kod).

dsimcha
źródło
2
Więc Tcl nie żyje? Skrypty wsadowe są martwe? Wydaje mi się, że jestem bardzo popularny, choć nigdy nie wprowadziłbym niczego nowego za pomocą ...
Billy ONeal
3
@Billy: Skrypty wsadowe świetnie nadają się do bardzo szybkiego i brudnego kodu, który nie zajmuje więcej niż kilka wierszy, ponieważ interpreter jest właśnie tam. Jeśli chodzi o TCL, wiem o tym tak mało, że nie mogę inteligentnie komentować.
dsimcha
@dsimcha: Może tak, ale widziałem skrypty wsadowe z dziesiątkami tysięcy wierszy. Nie jest to coś, z czym zacznę nowy projekt, ale na pewno nie martwy. Rozpoczęcie nowych projektów jest zdecydowanie zbyt wysokim poziomem do spełnienia; większość projektów oprogramowania nie jest projektami typu greenfield.
Billy ONeal
1
@Billy: Chodzi mi o to, że zacząłbyś nowy projekt za pomocą skryptów wsadowych, nawet jeśli wspomniany projekt jest niewielki.
dsimcha
@dsimcha: Err .. nie, nie zrobiłbym tego. Przeczytaj mój poprzedni komentarz jeszcze raz.
Billy ONeal
5

Gdybym był koronerem IEEE, szukałbym tych samych znaków, których używają lingwiści, aby ustalić, czy umiera / nie żyje język naturalny, a mianowicie.

  1. Ilu programistów nadal używa tego języka?
  2. Jaki jest średni wiek jego użytkowników?
  3. Jaki procent najmłodszego pokolenia programistów nabywa biegłość w języku?

Na podstawie tych kryteriów zgaduję, że COBOL jest konający. Pomimo 220 LOC bazilion napisanych w języku COBOL, zgodnie z tym artykułem z 2006 roku w CW, średni wiek programistów COBOL musi obecnie przekroczyć 50. Chociaż nie mogłem znaleźć dokładnych statystyk, domyślam się, że przeciętny programista Java ma około 20 lat. Apologeci COBOL-u zwracają uwagę, że niektóre LOC 5B są nadal zapisywane w języku COBOL rocznie, ale nie sądzę, aby to była wiarygodna miara: prawdopodobnie mógłbym ponownie napisać 10 linii COBOL w 1 linii Perla lub kilka naciśnięć klawiszy w J-- COBOL jest dość pełnym językiem.

Inne
źródło
2
IBM w pełni obsługuje i rozwija środowiska COBOL.
3

Język programowania nie jest martwy, o ile można znaleźć jego specyfikację, z której można utworzyć kompilator lub interpreter zdolny do uruchamiania programów na działającym komputerze.

mouviciel
źródło
2
Ale co z jakością życia?
JeffO,
5
w językoznawstwie opisujesz wymarły język, którego nie można wskrzesić, ponieważ nie mamy już wystarczającej ilości informacji, aby go ponownie nauczyć. Martwy język nie jest aż tak surowy.
Łagodny Fuzz,
2
  • Ile książek opublikowano ostatnio na temat tego języka?
  • Ile gadania (IRC, e-mail, blogi) zostało ostatnio wygenerowanych na temat tego języka?
  • Ilu programistów nie ironizuje się jako rdzenni mieszkańcy tego języka?

Jak ktoś zauważył, zawsze jest jakaś sekta ludzi, historyków lub szaleńców, którzy wychodzą i uczą się martwych języków. Martwe języki łatwiej znaleźć, podnosząc ten pasek.

Mark Canlas
źródło
Na przykład w sprawie Delphi, której jestem rodowitym obywatelem. Ma trochę aktywnych rozmów i mnóstwo historycznych, ale wciąż istotnych rozmów. Miał zwolenników, możesz sam osądzić o ironii. Ale dziwnie brakuje książek w grubej alejce między Barnes i Noble między C a Erlangiem. Istnieją, dr Bob i Marco Cantu nadal ćwiczą swoje rzemiosło, ale dystrybucja książek wydaje się głównie nastawiona na sieć i konwencję.
Peter Turner,
2
Delphi nigdy nie miała wielu książek, nawet wtedy, gdy była bardzo popularna.
GrandmasterB
1

Opinie ludzi określają śmiertelność

  1. Mężczyzna wchodzi do modnego, nowego, geekowego paska technologicznego.
  2. Mężczyzna zaczyna mówić o fajnych funkcjach w języku COBOL.
  3. Ludzie zaczynają się wycofywać, dając ci coraz szerszą koję.
  4. Ludzie uśmiechają się dookoła
  5. Mężczyzna dowiaduje się, że COBOL wydaje się całkiem martwy, prawda?

ps Kusiło mnie, by użyć „kobiety” lub osoby zamiast mężczyzny, ale nie chcę sugerować, że płeć [żeńska] była z tym związana, kusiło mnie, aby używać „osoby”, ale brzmiało dziwnie, biorąc pod uwagę naszą historię „mężczyzny” wkracza w barowe żarty. Cóż, przynajmniej myślę o tym.

Michael Durrant
źródło
1

Dla mnie jest różnica, czy komitet uzna, że ​​coś jest martwe, czy coś jest dla mnie martwe.

Na przykład Forth per se jest dla mnie martwy: nie ma wielu obecnych projektów Forth, z których mogę się uczyć, nie ma wielu aktywnych list mailingowych lub forów, na których mógłbym prosić o pomoc, i nie ma zbyt wielu bibliotek.

Z drugiej strony język Forth-like, Factor , wydaje się o wiele bardziej żywy. Nie nazwałbym tego martwym, nawet jeśli nie jest to mniej niejasne niż Forth.

LennyProgrammers
źródło