Zalety i wady kompilatorów

Programiści używają kompilatorów do konwersji kodu źródłowego na kod maszynowy.

Zaleta: autonomiczna i wydajna

Wielką zaletą skompilowanych programów jest to, że są autonomicznymi jednostkami gotowymi do wykonania. Ponieważ są one już kompilowane w plikach języka maszyny binarnej, druga aplikacja lub pakiet, który użytkownik powinien aktualizować, nie jest konieczny. Jeśli program jest kompilowany dla systemu Windows w architekturze x86, użytkownik końcowy potrzebuje tylko systemu operacyjnego Windows działającego na architekturze x86. Ponadto prekompilowany pakiet może działać szybciej niż kod źródłowy tłumacza kompilatora w czasie rzeczywistym.

Wada: specyficzna dla sprzętu

Ponieważ kompilator tłumaczy kod źródłowy na określony język maszynowy, programy muszą być kompilowane specjalnie dla OS X, Windows lub Linux, a także dla architektur 32- lub 64-bitowych. Dla programisty lub firmy programistycznej próbującej dotrzeć do jak najszerszego grona odbiorców, oznacza to konieczność posiadania wielu wersji kodu źródłowego dla tej samej aplikacji, co skutkuje większą ilością czasu poświęcanego na produkt. utrzymanie kodu źródłowego i dodatkowe problemy po wydaniu aktualizacji.

Zaleta: optymalizacja sprzętu

Ograniczenie do konkretnego pakietu sprzętowego ma swoje wady, jednak skompilowanie programu może również zwiększyć jego wydajność. Użytkownicy mogą wysyłać określone opcje do kompilatorów, związane ze szczegółami sprzętu, na którym program będzie działać. Umożliwia to kompilatorowi generowanie kodu w języku maszynowym, który zapewnia bardziej wydajne wykorzystanie określonego sprzętu, w przeciwieństwie do bardziej ogólnego kodu. Umożliwia to również zaawansowanym użytkownikom optymalizację wydajności programu na swoich komputerach.

Wada: czasy kompilacji

Jedną z wad posiadania kompilatora jest to, że musisz naprawdę skompilować kod źródłowy. Podczas gdy małe programy, które programuje wielu początkujących, wymagają niewiele czasu, aby je skompilować, duże zestawy aplikacji mogą wymagać znacznej ilości czasu na kompilację. Gdy programiści nie mają nic do roboty poza czekaniem na zakończenie kompilatora, czas ten może spowolnić proces, szczególnie na etapie programowania, kiedy kod musi zostać skompilowany, aby przetestować jego funkcjonalność i rozwiązać błędy.