Widziałem, że Java 1.2 jest również znana jako Java 2. Czy „Java 1.x” i „Java x” (na przykład „Java 1.6” i „Java 6”) odnoszą się do tej samej wersji Java?
A jeśli tak, to po co ta dualność?
Widziałem, że Java 1.2 jest również znana jako Java 2. Czy „Java 1.x” i „Java x” (na przykład „Java 1.6” i „Java 6”) odnoszą się do tej samej wersji Java?
A jeśli tak, to po co ta dualność?
Odpowiedzi:
Firma Sun Microsystems miała wówczas zły nawyk przechodzenia przez liczne zmiany nazw dla swoich produktów i przede wszystkim używania mylącej nazwy.
Pierwotnie termin „Java” był używany do bezkrytycznego opisu:
W odniesieniu do numerów wersji, jak zauważyli inni, było to częściowo spowodowane marketingiem, a częściowo dlatego, że po prostu czuli, że Java poczyniła taki postęp, lepsza aktualizacja głównej wersji była bardziej odpowiednia (dla Java 1.2 / Java 2, a gdy Java 1.5 / Java 5).
Tak więc to, co nazywamy Java 2, to tak naprawdę Java 1.2 do 1.4. Java 3 i Java 4 nigdy nie istniały, a my przeskoczyliśmy bezpośrednio do Java 5, jak próbowali wyjaśnić tutaj (z tej strony na temat nazewnictwa i wersjonowania ).
Prawdopodobnie też trochę nie zadzierałem z ich wewnętrzną numeracją stosowaną w ich systemach śledzenia i rozwoju. Myślę o tym jako o 1.x = wersja językowa i X = wersja językowa i produktowa. Ma to sens, ponieważ zwykli użytkownicy nie muszą martwić się o niewielkie przyrosty i aktualizacje, ponieważ zachęcają do automatycznych aktualizacji, a one nie powinny wprowadzać żadnych zmian w języku ani kodzie bajtowym.
Zauważ też, że robi się dziwniej, gdy patrzysz na mniejsze wersje i numery aktualizacji. Na przykład mieliśmy Javę 1.3.1, a później Java 1.4.1 i 1.4.2.
Jednak od tamtej pory nie było 1.xy, zawsze była to 1.x.0_UPDATE:
Pamiętaj również, że zobaczysz także aktualizacje, których dotyczy jedna z następujących konwencji nazewnictwa:
Dla dodatkowego zamieszania i nadążania za tradycją Sun Microsystems Oracle wyrzuca teraz takie ogłoszenia.
Należy również pamiętać, że nie tylko przyzwyczaili się do zmiany numeracji, ale także nazw ofert produktów. Tak więc Java 2 ma J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition) i J2ME (Java 2 Mobile Edition). Od czasu wprowadzenia Java 5 te konwencje i akronimy zostały porzucone (choć niektóre mają niewiarygodnie długą odporność, głównie dzięki za głupie agencje rekrutacyjne, które nie mają pojęcia, o czym mówią) na rzecz Java SE, Java EE i Java ME , które czasami są skracane - ale nie powinny oficjalnie - do JSE, JEE (dość powszechne) i JME.
Przeczytaj tę stronę, aby uzyskać więcej informacji o bieżącym systemie kontroli wersji używanym przez Sun Microsystems, a teraz Oracle od wersji Java 1.3.1 .
(Aby uzyskać punkty bonusowe, spróbuj teraz przejrzeć historię NetBeans, aby zobaczyć, że została ona również zmieniona kilka razy).
Próbują też zdecydować, czy powinni aktualizować istniejące odniesienia, czy nie. Na przykład ta strona o starszych wersjach używa starego systemu numerowania dla starszych wersji, ale nowsze nazwy produktów (Java SE 1.1, 1.2, 1.3 i 1.4 nie zostały wydane z tą konwencją nazewnictwa).
Może po prostu pieprzą się z nami dla zabawy. Kto wie?
Oczywiście dobrze się też bawili, nazywając je i numerując.
Java Language Specification kiedyś zwolniony z książki „edycja” wersjonowania st ,, następujące numery produktów. Więc:
Na razie w porządku.
Z wyjątkiem tego, że „Specyfikacja języka Java” została później ponownie zredagowana dopiero po wprowadzeniu zmian językowych w Javie 5 (co ma sens, nie będziesz publikować nowych wydań książek dla zabawy). Ponieważ był to trzeci raz, kiedy go edytowali, nazwali go (tada!) „Java Langauge Specification, 3rd edition”.
Ale oczywiście ludzie zaczęli się zastanawiać, dlaczego 1.3 i 1.4 nie mają specyfikacji języka lub dlaczego Java 5 została dopasowana do 3. edycji specyfikacji języka.
Tak więc Java 7 nazywa ją teraz po prostu „Specyfikacją języka Java, Java SE 7 Edition”, choć często nazywamy ją JLS7 w celu skrócenia i uniknięcia RSI.
Aby uzyskać dodatkową zabawę, spójrz na niepowodzenie nazywania systemu Microsoft Windows RT lub szaleństwo nazywania i numerowania Apple na iPhone'ach, iPadach, a nawet iPodach.
Krótka odpowiedź: marketing.
Dłuższa odpowiedź: krótka forma (np. Java 6) jest tak zwaną „wersją produktu” i jest sposobem, w jaki Java jest sprzedawana użytkownikom, w komunikatach prasowych itp.
Dłuższa forma (np. Java 1.6.0) to „wersja dla programistów”. Jest on używany wewnętrznie i będzie również spotykany przez programistów Java (np. Właściwość java.version
systemowa używa długiej formy).
Zobacz te strony, aby uzyskać więcej informacji:
Ponieważ książka o tytule „Learn Shiny New Java 3” zostanie wyprzedana niż książka o tytule „Co nowego w Javie 1.3”.
Tak, to głównie przyczyny marketingowe. Z drugiej strony nie widzę tu poważnego przestępstwa. W końcu w niektórych produktach, takich jak Mozilla lub Chrome, główny numer kompilacji jest stale zwiększany, a inne trzymają się zwiększania mniejszego numeru kompilacji, jednak czasami przy każdej nowej wersji pojawiają się duże zmiany.
Niektórzy, jak Apple, nie chcą nas opuszczać, użytkownicy, o nudnych nazwach, takich jak „Mac OS 10.6”.
Sun nie miał nic przeciwko aliasowi N zamiast wprowadzenia wersji „Java Green Diplodocus”.
TheServerSide wyjaśnia zmianę z „Java 1.x” na „Java x” w następujący sposób :
Słońce odcięło „1”. zmienić J2SE 1.5.0 na J2SE 5.0. Powód zmiany? Firma Sun twierdzi, że „jest to najbardziej znacząca aktualizacja platformy Java i języka programowania od czasu jej pierwszego wydania prawie dekadę temu” oraz że ta wersja jest godna.
Najwyraźniej trwały rozmowy o zmianie nazwy na „J5SE”, ale uważano, że marka J2EE oznacza zbyt wiele do zmiany.
Czy numery wersji nie są zabawne?
Przeczytaj komunikat prasowy: Sun wprowadza najbardziej znaczącą i zaawansowaną wersję platformy Java od 5 lat
Uwaga link w powyższym cytacie został zabity przez Oracle . O ile wiem, jest on dostępny w prnewswire :
Sun Microsystems, Inc. (Nasdaq: SUNW), twórca
i wiodący zwolennik technologii Java (TM), przedstawił dziś Java 2 Platform
Standard Edition (J2SE (TM)) 5.0, najbardziej znaczącą aktualizację
platformy Java i języka programowania od czasu jego pierwsze wydanie prawie dziesięć lat
temu. Ta zaktualizowana platforma Java, znana jako Project Tiger, oferuje ogromną łatwość
programowania, nowe funkcje monitorowania i zarządzania aplikacjami,
koncentruje się na bogatej obsłudze klienta na komputerze stacjonarnym i rekordowej
wydajności ...
Ze względu na kompletność zauważ, że styl wersji 1.X nie został całkowicie odrzucony .
„Wersja 1.5.0” używana przez programistów
J2SE zachowuje również wersję w wersji 1.5.0 (lub 1.5) w niektórych miejscach, które są widoczne tylko dla programistów lub tam, gdzie numer wersji jest analizowany przez programy. Jak wspomniano, 1.5.0 odnosi się do dokładnie tej samej platformy i produktów o numerach 5.0 ...
Należy również zauważyć, że jak wskazano w komentarzach, termin „J2SE” użyty powyżej został później zmieniony na „Java SE”.