Szukam najlepszego smaku Linuksa, który spodobałby się stronie dewelopera. Jestem miłośnikiem otwartego oprogramowania i używam kilku różnych języków.
Czy istnieje coś takiego jak Linux skierowany do programistów?
Szukam najlepszego smaku Linuksa, który spodobałby się stronie dewelopera. Jestem miłośnikiem otwartego oprogramowania i używam kilku różnych języków.
Czy istnieje coś takiego jak Linux skierowany do programistów?
Odpowiedzi:
W praktyce wszystkie dystrybucje korzystają z tego samego łańcucha narzędzi programistycznych, więc tak naprawdę nie różnią się znacząco jako platforma do ogólnych prac programistycznych. Niektóre mają jednak szczególne zalety, które mogą być istotne w przypadku niektórych rodzajów prac rozwojowych:
Dystrybucje komercyjne (RHEL, SLES) mają najlepsze wsparcie od zewnętrznych dostawców zamkniętego źródła. Jeśli chcesz pracować z (powiedzmy) Oracle, możesz lepiej skorzystać z jednej z nich, chociaż Oracle może być przystosowane do pracy z większością dystrybucji, jeśli zainstalujesz odpowiednie biblioteki. CentOS jest skompilowany ze źródeł RHEL i będzie działał dobrze z większością, jeśli nie ze wszystkimi komercyjnymi programami zbudowanymi dla RHEL.
Jeśli chcesz majstrować, możesz wypróbować Linux From Scratch. Jest to całkiem niezły samouczek na temat tego, w jaki sposób dystrybucja Linuksa się łączy.
Jeśli chcesz czegoś, z czego prawie wszystko, co jest lub kiedykolwiek było open-source, jest dostępne z repozytoriów, to dystrybucja oparta na Debianie (Debian lub Ubuntu) może być wygrana. Istnieje powód, dla którego Canonical wybrał .deb jako system zarządzania pakietami dla Ubuntu.
Jeśli chcesz dostroić wszystko do n-tego stopnia, Gentoo pozwala przebudować cały system pod kątem konkretnej architektury procesora.
Jeśli chcesz mieć „tradycyjny uniks”, możesz wypróbować Slackware lub FreeBSD (co nie jest dystrybucją Linuksa, ale może zainteresować OP). Ponadto rodzina BSD jest szczególnie silna w sieci, więc może zaoferować przewagę nad Linuksem programistom pracującym w tej dziedzinie.
Z nich w przeszłości korzystałem z CentOS, Debian, Fedora, Ubuntu, Slackware i FreeBSD, a także kilka innych (Vector, SLS, Yggdrasil i inne wersje Redhat od około 4.0). Jako środowisko programistyczne „unix” wszyscy oferowali narzędzia tamtej epoki i mogliby zostać wykorzystani do prac programistycznych w pakiecie narzędzi lub do pobierania i budowania wszystkiego, czego potrzebujesz.
Unix był kiedyś opisywany jako IDE maskarujący się jako system operacyjny lub słowa w tym celu. Każdy wariant unixa lub linuxa może dać ci doświadczenie programistyczne dla unixa, jeśli chcesz. W pewnym momencie tak naprawdę nie dbałem o środowisko. Naprawdę właśnie użyłem menedżera okien do otwarcia okien xterm i uruchomienia kilku aplikacji; wszystko inne zostało prawie zrobione z linii poleceń. Może to zrobić większość odmian Uniksa lub Linuksa.
Jeśli jesteś w C, to vim lub emacs z ctags, make i gcc działają całkiem dobrze; możesz używać gdb z nakładką lub bez. Ten łańcuch narzędzi zapewnia również dobrą obsługę języków, takich jak Perl lub Python, i jest wyposażony w bogaty ekosystem obsługi narzędzi zewnętrznych.
Dla bardziej zorientowanego na GUI przepływu pracy tak naprawdę sprowadza się to do osobistego wyboru menedżera okien, środowiska pulpitu i narzędzi programistycznych. Jeśli interesujesz się Javą, to Eclipse i netbeans bazują na większości głównych dystrybucji. Istnieją różne konwencjonalne środowiska IDE z obsługą C / C ++, perl, python i innych języków skryptowych. Można je sprawić, aby działały na większości, jeśli nie na wszystkich dystrybucjach Linuksa. Java jest obsługiwana tylko w BSD przez porty innych firm, więc prawdopodobnie lepiej jest używać Linuksa, jeśli z tym pracujesz.
Czy istnieje coś takiego jak Linux skierowany do programistów?
Tak. To się nazywa Linux.
Fedora (lub dowolna pochodna Red Hat) jest tak dobra, jak każdy inny Debian, Slackware, Gentoo lub cokolwiek innego. Poważnie, możesz rozwijać się z dowolną dużą dystrybucją, to głupie pytanie o Linuksa „zorientowanego na programistę”.
Głupio jest również powiedzieć, że którekolwiek z tych dystrybucji jest lepsze niż inne dla programistów. To po prostu nie jest poważne.
To pytanie naprawdę wymaga argumentów.
Wypróbowałem sporo dystrybucji, ponieważ naprawdę lubię to robić.
Jestem programistą i zastanawiałem się też nad dobrym Linuksem dla programistów, a z mojego doświadczenia wynika, że nie ma żadnych dystrybucji Linuksa przeznaczonych dla programistów.
Powodem jest to, że jako programista nie tylko będziesz mógł dostosować dowolną dystrybucję do swoich potrzeb, ale na pewno będziesz musiał wiedzieć, jak to zrobić.
Więc w zasadzie, jeśli nie znasz Linuxa:
1) Debian, ponieważ na wielu produkcyjnych serwerach WWW działa Debian, więc prawdopodobnie dobrym pomysłem jest poznanie sposobu organizacji maszyn Debiana. Dobrą rzeczą w Debianie jest to, że ponieważ jest zdecydowanie najczęściej używanym Linuksem (w tym jego pochodnymi, takimi jak Ubuntu), wsparcie, społeczność i liczba dostępnych wstępnie skompilowanych pakietów jest niezwykle duża. Złą rzeczą w Debianie jest to, że jest nastawiony na stabilne środowisko produkcyjne i jako taki rzadko oferuje ci najnowocześniejsze rzeczy, które możesz wypróbować jako programista.
2) Arch-Linux (właściwie ArchBang) jest moim ulubionym z 3 powodów: - Nie zapewnia wiele w łatwej instalacji i konfiguracji jednym kliknięciem, ale ma świetny samouczek, który pomoże Ci skonfigurować wszystko tak jak Ty chcesz, to podejście pozwala ci dowiedzieć się dużo o tym, jak rzeczy działają w tle, i oznacza, że zanim wszystko zostanie poprawnie skonfigurowane, będziesz czuć się cholernie dobrze z systemem Linux / Unix. - To jest wydanie ciągłe, co oznacza, że nigdy nie będziesz musiał pobierać nowej wersji i instalować wszystkiego, wystarczy zaktualizować system i Voila! - Próbuje wdrożyć wszystkie najnowsze, najnowocześniejsze rzeczy, abyś zawsze był na bieżąco z nowymi ulepszeniami oprogramowania i jako programista, który jest naprawdę znaczący. - Och, ma też świetną społeczność.
Ale tak czy inaczej, to w zasadzie od Ciebie zależy wypróbowanie kilku rzeczy i wybranie, co będzie dla ciebie najlepsze. Mogę zagwarantować, że bez względu na to, który system Linux skończysz wiązanie, zawsze istnieje sposób na skonfigurowanie / dostosowanie rzeczy do własnych upodobań, więc najważniejszą rzeczą jest nauczenie się, jak to dostosować, a następnie wybierasz coś, co jest już wstępnie skonfigurowane tak blisko, jak to możliwe, do tego, co chcesz skończyć.
W dystrybucji Linuksa jest coraz więcej różnych odmian - na przykład istnieją takie dystrybucje jak Qimo lub DoudouLinux, które są zorientowane dla dzieci.
Oczywiście możesz je zmienić zgodnie z własnymi potrzebami (mówimy o Linuksie, prawda:]), ale i tak zmarnujesz mnóstwo czasu.
Niektórzy twierdzą, że to świetny sposób na naukę nowych rzeczy. Będziesz jednak musiał poświęcić trochę czasu na wykopanie dystrybucji i dostrojenie różnych rzeczy, jest to nieuniknione w przypadku każdej dystrybucji.
Ale najważniejsze są pakiety.
Niektóre przynoszą ci świeże (np .: Arch), a inne bardzo stabilne (np .: Debian).
Dokumentacja jest również bardzo zróżnicowana, jeśli chodzi o wsparcie sprzętowe (sterowniki, sterowniki, sterowniki!).
Biorąc pod uwagę te 3 punkty (pakiety, dokumentację, sterowniki) i własne umiejętności, powinieneś poświęcić trochę czasu na odkrycie niektórych głównych dystrybucji.
Dobry początek może być tutaj: http://distrowatch.com/
Fedora wcześnie wdraża nowe technologie, dzięki czemu możesz eksperymentować i rozwijać się z nimi na wiele miesięcy, zanim będą dostępne w większości innych dystrybucji. Obsługuje wiele języków programowania i bibliotek po wyjęciu z pudełka i stosunkowo łatwo można dodać do systemu wszystkie, których brakuje. Ma czysto otwartą filozofię, pozwalając stronom trzecim na dostarczanie pakietów dla funkcji, które są temu przeciwne. Po prostu nie nazywaj go „Fedora Core” (stracił on „Core” po połączeniu Core i dodatków dla Fedory 7).
Sądzę, że w oparciu o moje własne doświadczenie i odpowiedzi tutaj szukasz bardziej aplikacji i narzędzi, które ułatwią programowanie i uczynią go bardziej praktycznym.
Fajną rzeczą w Linuksie jest to, że każdą dystrybucję można bardzo łatwo dostosować. Polecam znaleźć listę oprogramowania, którego najczęściej używasz podczas tworzenia i zrobić duży plik tar, który możesz przenosić z komputera na komputer (jeśli często zmieniasz obszary robocze).
W przypadku programowania Java / Eclipse, rozważ Debian nad Ubuntu / Linux Mint (a być może nawet 32-bitowy na 64-bitowy).
Tło: Zajmuję się programowaniem Java / Eclipse RCP * i korzystam z Ubuntu, a później Linux Mint, ale natrafiłem na różnego rodzaju irytujące błędy, związane z niestabilnością w środowisku pulpitu (Cinnamon na Linux Mint) lub nieco skomplikowana procedura instalacji Sun Java6 JDK (która jest używana przez nasz projekt ... Ubuntu / Linux Mint jest dostarczany tylko z OpenJDK w swoich repozytoriach).
Niedawno uruchomiłem Debian 6 Squeeze na maszynie wirtualnej i zdałem sobie sprawę, jak te rzeczy działają znacznie lepiej. Instalacja Sun Java wymaga jedynie dodania słowa kluczowego „non-free” po głównym łańcuchu repozytorium w /etc/apt/sources.list, a następnie instalacji za pośrednictwem apt-get, a dostarczony z nim pulpit (Gnome2) jest również znacznie bardziej stabilny niż alternatywy Gnome3 / Unity / Cinnamon w Ubuntu / LinuxMint.
[*] Eclipse RCP oznacza, że używasz Eclipse nie tylko jako GUI, ale także jako biblioteki do budowania własnego GUI.
Ubuntu jest świetne, poważnie.
Posiadają wszystkie pakiety, aktualne i łatwe w instalacji. Użyj domyślnej konfiguracji (= Gnome), a większość czasu poświęcisz na programowanie i konfigurowanie.
Instalacja pakietu kompilatora gcc, make, autoconf itp. Zajmuje przyzwoite połączenie z Internetem przez 5 minut. Jeszcze trzydzieści minut, a Ruby, Python, Sun JVM i Eclipse są gotowe do uruchomienia.
Edycja: Ubuntu dostarcza dodatkowe pakiety z symbolami debugowania dla wielu bibliotek. Miło mieć dla programistów C / C ++.
Odpowiedź jest taka, że nie ma dobrego Linuksa do programowania, chyba że stworzysz jeden i żaden inny linux nie zapewnia tak wiele w tej dziedzinie, jak Gentoo. Kompilujesz wszystko ze źródła (coś, z czym powinieneś być słabszy, aby być programistą. Proces instalacji uczy cię więcej o systemie niż o jakiejkolwiek innej dystrybucji odpowiadającej na wiele pytań, które będziesz mieć podczas tworzenia aplikacji.
Najlepsze jest to, że możesz wybrać, jakie programy chcesz opracować. Jeśli chcesz java, zainstaluj javac, gcj lub oba. Wsparcie społeczności nie ma sobie równych, więc jeśli masz pytania, na nie odpowiesz lub dotrzesz tam, gdzie musisz znaleźć odpowiedź.
Każde IDE, które możesz wymyślić, jest dostępne do „emerge” / install w Gentoo. Chociaż instalacja nie jest niewiarygodnie łatwa lub „prosta”, Nether programuje i jeśli nie możesz zainstalować kopii Gentoo, nie chciałbym uruchamiać twoich programów na moim komputerze. Większość trudności, jakie ludzie mają przy instalacji, wynika z braku podstawowej wiedzy o Linuksie. Obiecuję, że ci się spodoba, gdy wszystko skonfigurujesz tak, jak lubisz.
Po zainstalowaniu możesz utworzyć kopię zapasową tar i umieścić ją na dowolnym komputerze, na który masz czas, aby zmienić konfigurację jądra lub użyć go do przywracania, gdy wszystko wymknie się spod kontroli.