FreeBSD 10 użyje licencjonowanego przez BSD kompilatora Clang zamiast GCC dla 32- i 64-bitowych systemów Intel x86. Jedyną rzeczą, która uniemożliwia hurtową zmianę na wszystkich platformach CPU, na których wydawane jest FreeBSD, jest czas i zainteresowanie programistów.
Jeśli chodzi o FreeBSD 9 - który właśnie miał zostać wydany, kiedy to pytanie zostało zadane po raz pierwszy - mówiono o ustawieniu Clanga jako domyślnego kompilatora, ale było wystarczająco dużo problemów z tym, że zdecydowali się wysłać Clanga razem z GCC i pozostawić GCC domyślnym dla tego wydania.
Jeśli chodzi o to, dlaczego FreeBSD nie próbował przejść wiele lat wcześniej na kompilator inny niż GPL, a może nawet nie stworzyć własnego, powód jest prosty: jest trudny.
Każdy student studiów licencjackich z CS może napisać kompilator - może to być nawet wymóg kursu - ale napisanie dobrego kompilatora jest trudne. Pisanie dobrego kompilatora jest jeszcze trudniejsze, gdy musi być dla języka takiego jak C lub C ++. Zadanie staje się jeszcze trudniejsze, gdy podejmiesz rozsądną decyzję, że nowy kompilator musi przynajmniej zbliżyć się do wydajności i możliwości GCC, który ma kilka dziesięcioleci rozwoju.
Z tego powodu GCC 4.2 jest nadal domyślnym kompilatorem FreeBSD 9.
Nawiasem mówiąc, GCC 3.4, 4.4, 4.6, 4.7 i 4.8 są w drzewie portów FreeBSD 9, a niektóre wersje GCC prawdopodobnie pozostaną w Portach przez wiele lat. Istnieje wiele pakietów oprogramowania - z których wiele znajduje się w portach FreeBSD - które są budowane tylko z GCC.
Prawdopodobnie z konieczności. Do niedawna kompilatory C licencjonowane przez BSD były prawdopodobnie nieliczne lub nie zbliżały się do parytetu cech
gcc
.Z celów projektu FreeBSD :
źródło