Rejestr decyzji architektonicznych: język programowania Java
Tytuł: Wybór języka programowania Java dla projektu
Decyzja: Po ocenie wielu języków programowania postanowiliśmy użyć Javy w naszym projekcie.
Tło
Zamierzaliśmy zbudować aplikację internetową, która mogłaby działać w wielu systemach operacyjnych. Nasz projekt wymagał języka, który zapewni silne funkcje bezpieczeństwa, obsłuży współbieżność, będzie wspierał duże bazy kodu i będzie wystarczająco wszechstronny, aby sprostać naszym przyszłym wymaganiom wzrostu. Oceniliśmy kilka języków, biorąc pod uwagę ich mocne strony i ograniczenia, zanim zdecydowaliśmy się na Javę.
Rozważania
Bezpieczeństwo: Java zapewnia doskonałe funkcje bezpieczeństwa dzięki dobrze zdefiniowanym politykom bezpieczeństwa i kontroli dostępu. Zawiera też funkcje takie jak weryfikacja kodu bajtowego, która pomaga zapobiegać uruchamianiu złośliwego oprogramowania w systemie.
Współbieżność: Java ma wbudowaną obsługę wielowątkowości, która pozwala aplikacjom wykonywać kilka zadań jednocześnie. Ta cecha czyni Javę doskonałym wyborem do tworzenia dużych, złożonych aplikacji z wieloma funkcjami i funkcjonalnościami.
Duże bazy kodu: Java obsługuje programowanie obiektowe, co czyni ją odpowiednim wyborem do tworzenia dużych baz kodu. Jej modularność oraz użycie wzorców enkapsulacji i abstrakcji dodatkowo ułatwiają proces tworzenia oprogramowania.
Wszechstronność: Java jest wszechstronna i umożliwia korzystanie z szerokiej gamy bibliotek i frameworków, co czyni ją doskonałym wyborem zarówno dla aplikacji internetowych, jak i na poziomie przedsiębiorstwa.
Wynik decyzji
Postanowiliśmy użyć języka programowania Java w naszym projekcie, biorąc pod uwagę jego funkcje bezpieczeństwa, obsługę współbieżności, zdolność do obsługi dużych baz kodu i wszechstronność. Ta decyzja jest zgodna z wymaganiami naszego projektu i wierzymy, że wybór Javy zapewni jego sukces.
Konsekwencje
Będziemy potrzebować programistów, którzy mają doświadczenie z Javą i potrafią biegle jej używać.
Każdy kod napisany w tym języku musi być zgodny z maszyną wirtualną Javy (JVM).
Włączanie nowych funkcji, funkcjonalności lub frameworków może wiązać się z pewnymi trudnościami.
Duże, złożone projekty w Javie mogą wymagać więcej czasu i zasobów na rozwój.