SDK vs. JDK
Software Development Kit (znany również jako SDK lub devkit) to zestaw narzędzi programistycznych. Umożliwia tworzenie aplikacji dla określonego pakietu oprogramowania, struktury oprogramowania, platformy sprzętowej, systemu komputerowego, konsoli do gier wideo, systemu operacyjnego lub dowolnej platformy podobnej do dowolnej z wymienionych. Zestawy SDK obejmują wszystko, co jest tak proste, jak interfejs API, ponieważ niektóre pliki łączą się z określonym językiem programowania lub zawierają zaawansowany sprzęt w celu komunikacji z określonym systemem osadzonym. Niektóre z bardziej powszechnych narzędzi dostępnych w zestawie SDK obejmują pomoce do debugowania i podobne narzędzia prezentowane w zintegrowanym środowisku programistycznym (lub IDE).
Java Development Kit (lub JDK) to najczęściej używany zestaw SDK na rynku. JDK, opracowany przez Sun Microsystems dla programistów Java, jest bezpłatnym oprogramowaniem wydanym na licencji GNU General Public License (lub GPL). Istnieje mnóstwo komponentów, które składają się na JDK. Te komponenty to wybór narzędzi programistycznych. Obejmują one między innymi moduł ładujący dla wszystkich aplikacji Java, który interpretuje i jest w stanie interpretować pliki klas generowane przez kompilator javac; javac, który jest kompilatorem konwertującym kod źródłowy na kod bajtowy Java; javaws, czyli program uruchamiający Java Web Start dla aplikacji JNLP; jmap, który jest eksperymentalnym narzędziem, które generuje mapę pamięci dla Javy i jest w stanie wydrukować mapy pamięci obiektów współdzielonych lub szczegóły pamięci sterty danego procesu; oraz VisualVM, które jest narzędziem wizualnym, które integruje kilka narzędzi JDK z wiersza poleceń oraz lekkie funkcje wydajności i profilowania pamięci.
Zestawy SDK zawierają przykładowy kod i uwagi techniczne lub inną dokumentację obsługującą ten kod, aby pomóc w wyjaśnieniu punktów z głównego materiału odniesienia. Zazwyczaj inżynier oprogramowania otrzymuje zestaw SDK od docelowego programisty. SDK jest więc dość łatwo pobierany z Internetu. Wiele zestawów SDK jest bezpłatnych - głównie po to, by zachęcić programistów do korzystania z systemu lub języka. Mogą mieć dołączone licencje, aby uczynić je nieodpowiednimi do tworzenia oprogramowania, które ma zostać opracowane na podstawie niezgodnej licencji. Zestaw SDK opracowany dla dodatku do systemu operacyjnego (na przykład QuickTime dla systemu Mac OS) może zawierać samo oprogramowanie dodatkowe do użytku programistycznego - jeśli nie ma być rozpowszechniane.
JDK jest rozszerzonym podzbiorem zestawu SDK. Sun zgodnie z terminologią przyznaje, że JDK jest podzbiorem zestawu SDK, który jest odpowiedzialny za pisanie i uruchamianie programów Java. Pozostałości tego zestawu SDK stanowią dodatkowe oprogramowanie (serwery aplikacji, debugery i dokumentacja).
Streszczenie:
1. SDK to zestaw narzędzi programistycznych, które umożliwiają tworzenie aplikacji dla określonych pakietów oprogramowania lub platform; JDK jest najczęściej używanym zestawem SDK i stanowi rozszerzenie zestawu SDK odpowiedzialnego za pisanie i uruchamianie programów Java.
2. Zestaw SDK zawiera przykładowy kod i uwagi techniczne lub inną dokumentację uzupełniającą; JDK zawiera komponenty, które są wyborem narzędzi programistycznych.