Który system wybrać do nauki programowania?

Systemy uniksowe postrzegane są jako oprogramowanie, które wymaga od użytkownika większej wiedzy. Niektórzy znawcy tematyki informatycznej polecają, aby przed rozpoczęciem nauki tworzenia oprogramowania sięgnąć po Linuksa, FreeBSD, Solarisa lub nawet MacOSX. Czy mają rację? Warto to przeanalizować biorąc pod uwagę różne pola działalności programistycznej. Niektóre dziedziny rozwijają się dużo lepiej na jednej z platform, są też takie, które wymagają znajomości obu. Oto nasz przegląd ścieżek rozwoju programistycznego, wraz ze wskazówkami co do wyboru systemu operacyjnego.


Strony/aplikacje internetowe

Cóż, doskonale zdajemy sobie sprawę, że samo pisanie w HTML nie jest programowaniem. Po prostu: język ten nie jest równoważny obliczeniowo maszynie Turinga. Statyczny HTML można jednak obecnie zobaczyć głównie pod linkami zatytułowanymi "A tak wyglądała nasza strona X lat temu". Zazwyczaj kolejnym krokiem po nauczeniu się HTML jest odkrycie w sobie talentu projektanta i pogłębianie wiedzy o grafice lub zainteresowanie się technikami, które wzbogacają wygląd strony (JavaScript, Flash). Niektórzy autorzy stron zwracają się ku językom programowania dającym możliwość tworzenia witryn połączonych z bazą danych (co jest koniecznością np. przy serwisach społecznościowych) czyli PHP, Javie bądź C#.

Nie da się ukryć, że dużym ułatwieniem dla webmastera jest posiadanie Windows co ułatwia testowanie stron w przeglądarce Internet Explorer. Innym plusem systemu Microsoftu jest większa dostępność oprogramowania graficznego. Zaletę Uniksów stanowi fakt, iż często wykorzystywane są na serwerach- zdobyte na Linuksie umiejętności administracyjne to cenne uzupełnienie wiedzy webmastera. Innym argumentem za tym by sięgnąć po rozwiązania OpenSource są wygodne edytory- standardowe Kate i gedit charakteryzują się dużą liczbą funkcji ułatwiających życie webmasterom. Trzeba przyznać, że także dla Windows można znaleźć ciekawe programy takie jak Notepad++ czy dostępny na obu platformach Jext.

Podsumowując: w wielu zastosowaniach bardziej rozwinięte aplikacje oferuje Windows, jednak znajomość systemów uniksowych jest dla webmastera bardzo cenna.

Skrypty administracyjne

Wykonywanie o określonej porze kopii zapasowej danych? Skonwertowanie dużej liczby plików multimedialnych? Ściąganie nowych plików, jeśli pojawią się na wybranym serwerze? Małe programiki do tego typu zastosowań dużo wygodniej pisze się w mającym więcej programów konsolowych Linuksie. Windowsowy PowerShell dysponuje sporą liczbą funkcji, ale zaletą rozwiązań uniksowych jest fakt, iż duża liczba nowych programów bardzo dobrze współpracuje z powłoką.

Słowem: domena Uniksów

Aplikacje desktopowe

Wygodny w użyciu a jednocześnie wydajny język C# połączony z bibliotekami i środowiskiem uruchomieniowym .NET to duży atut Windowsa- łączy czytelność Javy, na której jest w dużej mierze wzorowany, z wydajnością niewiele odbiegającą od C++. Choć dzięki projektowi Mono można programować w C# także na Linuksie, najnowsze wersję języka jako pierwszy otrzymuje system Microsoftu.

Kolejną przewagę "okienek" stanowi fakt, iż aplikacje "biurkowe" napisane we wspomnianej już Javie szybciej wykonują się na platformie Windows.

Zaletą Uniksów jest to, że duża liczba aplikacji konsolowych stanowi solidną postawę pod rozwiązania desktopowe, które często mogą być po prostu tzw. front-endami czyli programami dostarczającymi wygodnego graficznego interfejsu dla aplikacji wiersza poleceń. Często jest też tak, iż przydatny program można stworzyć "sklejając" funkcje kilku innych. Bardzo dobrze sprawdza się w tej dziedzinie prosty dla początkujących język programowania Python. W Linuksach można znaleźć do niego sporo interesujących bibliotek.

Wynik: Linux lub Windows

Urządzenia mobilne

Z wyborem systemu dla programisty zajmującego się tworzeniem aplikacji wzbogacających funkcjonalność przenośnych gadżetów związane są dwa pytania: który system lepiej sprawdza się na urządzeniu, a który na maszynie używanej do tworzenia oprogramowania. Skoncentrujmy się na drugim z tych pytań: dostępnością emulatorów wyróżnia się Windows.

Oczywiście - trudno za to winić autorów oprogramowania OpenSource- nie jest ich winą, że producenci sprzętu dostarczają aplikacje "udające" ich gadżety w pierwszej kolejności użytkownikom systemu Microsoftu.
Warto pamiętać, iż tworzenie aplikacji dla zablokowanego iPhone'a wymaga Maca. Ciekawostką jest fakt, iż po odblokowaniu telefonu łatwiej pisać na niego pod Linuksem niż pod Windows.

Jeśli zamierzamy programować w mobilnej Javie najlepiej poradzimy sobie z tym używając Windowsa bądź Linuksa.

Wybór: Windows

Gry

Tworzenie nowych wirtualnych światów uważane jest za najciekawszą z programistycznych przygód. Rynek gier windowsowych jest dużo bardziej nasycony niż rynek aplikacji rozrywkowych dla "Pingwina". Nie przesądza to jednak o wyższości "Okienek". System Microsoftu dłużej funkcjonuje na rynku i, między innymi z tego względu, jest popularniejszy. Pomaga mu także łatwość obsługi (gracze zazwyczaj cenią prostotę) i rozbudowana biblioteka DirectX. Niższa popularność może być jednak postrzegana jako zaleta Linuksa- jest on niszą rynkową, którą można zagospodarować. Dzięki otwartym silnikom graficznym (engines) takim jak Ogre (kilka z nich działa zarówno na Linuksie jak i na Windows) staje się coraz atrakcyjniejszą platformą dla gier.

W tyle w stosunku do Linuksa jest MacOSX- grafikę 3d wyświetla on również dzięki OpenGL, ale charakteryzuje się mniejszą dostępnością gotowych engine'ów.

Nasza sugestia: Windows

Podsumowanie:

Otwarte Uniksy w przeciwieństwie do systemu z Redmond pozwalają się dogłębnie poznać, często stanowią też "inkubator" nowych rozwiązań. Dlatego trochę dziwi fakt, że w wielu zastosowaniach programistycznych Windows może mieć więcej do zaoferowania. Pozornym paradoksem jest to, że dla osoby, która chce tworzyć programy, kwestią kluczową bywa ... dostępność już istniejących aplikacji.
Tagi: programowanie, Unix, Linux, Windows, MacOSX, Java, C#, Python, oprogramowanie
Ocena:
Twoja ocena:

Komentarze (38)

~vistek

14-09-2010 23:11

powtarzam! u mnie na chrome pod najpopularniejszym sytemem na rynku czyli WINDOWS 7 NIE DZIAŁA!!! test: ąćęłóśżź ĄĆĘŁÓŚŻŹ !!

~plepleple

13-09-2010 13:38

chyba działa :D

~plepleple

13-09-2010 13:37

sprawdzam kodowanie z IDG (Firefox 3.0.11): ęóąśłżźćń :D i jeszcze duże: ĘÓĄŚŁŻŹĆŃ, i jak, działa ? :D

~franek

13-09-2010 08:39

Daarwin Opera i Qt to chyba tylko na Linuksa bo na pewno nie Win. Co do innych wymienionych to nie chce mi się teraz tego instalować aby sprawdzić. Po co komu wieloplatformowość jak 95% rynku to Win i szkoda pieniędzy i czasu na robienie czegoś dla innych platform. W biznesie czas to pieniądz i liczą się sprawdzone i dobre rozwiązania.

~Daarwin

13-09-2010 04:49

@frankek: Liczy sie wieloplatformowosc czyli nic z tego co tam naskrobales. Desktop to Qt (Opera, Skype, GG, itd. itp.) , WEB to Javasript/PHP i to byloby tyle. Reszta to wynalazki, ktore pojawily sie niedawno, a ktore szybko zgina. Nie mam ZADNEGO programu na PC pisanego w .NET, wiec jak to jest z tym C#? Jesli mialbym juz wybierac .NET to uzywalbym MonoDevelop (tez wieloplatformowe).

~franek

12-09-2010 21:14

Biadolenie linuksiarzy i tak nic nie zmieni. Liczy się tylko Windows, Visual Studio, Delphi, C Builder.

~max

11-09-2010 10:55

re vistekź (czy jak ci tam): nie będę z tobą gadał, bo przez błędy w kodowaniu nie da się tego czytać. Zresztą, nie tylko z tego powodu nie będę z tobą gadał;)

vistekź

10-09-2010 19:42

kogo obrazałem (poza tym postem:) ) linuksiany trollu?? i co masz do gci ??? nazwa ci się nie podoba czy je z ls pomyliłes? czy to że ciut wolniejsze (z racji swoich możliwo¶ci) od natywnego dir?? oj chyba że¶ wła¶nie kompletn± ignorancj± zabłysn±ł niczym supenowa... i niby czemu mam ci dawac namiary na swoich znajomych? jakis serwis spolecznosciowy zakladasz czy co? sam wyskoczyles z tym pomyslem wiec sam podawaj swoich znajomych linuksiku.. co do poczatkujacego admina to rzeczywiscie taki troche oksymoron ale jak ktos zyje z czepania sie zwolennikow windowsa to raczej mi wisi czy czepi sie jednego zwrotu wiecej czy mniej.. choc wnioskujac z twego nadetego tonu to byla jakas aluzja ale nie martw sie guzik mnie ona obchodzi :)

~max

10-09-2010 17:03

re viśtek: wszystkie twoje argumenty to obrażanie rozmówców. Jakże typowe dla windowsianych troli. Składnia powershella wydaje się bardziej intuicyjna? Składnia to jedno; przedstawianie wszystkiego jako obiekty to drugie. Skutkuje to potem takimi bzdetami jak Get-ChildItem. Prosiłem w poprzednim poście: daj namiary na tych speców od powershella. Choćby pięciu. Btw: nie ma czegoś takiego jak początkujący admin. Jest burak, któremu się wydaje, że jest adminem.

vistek

10-09-2010 16:48

używam chroma na win 7 i nie mam nic z kodowaniem to wina idg! już dawno temu krzyczłem że zawsze zamieszczam komentarze z idg (nie pcworlda) a od ponad roku widze że idg się nie może zdecydować ktor± wersję layoutu serwisu zostawić! bo nadal wyskakuja 2 na zmiane wiec nie do mnie pretensje!

~phi

10-09-2010 16:29

@viśtek - początkujący admini powinni najpierw nabrać doświadczenia. Ktoś, kto uczył się obydwu shelli, zdecydowanie wybiera shell typu UNIX. Dlaczego? Bo jest prostszy w praktyce i te same zadania robi się tam o wiele prościej. I to kończy temat. Po drugie zrób coś ze swoją przeglądarką albo z systemem, bo wysyłasz nieprawidłowe kodowanie liter - jako jeden z niewielu tutaj. Może wyrzucenie Internet Explorera i instalacja FF lub Opery pomoże?

vistek

10-09-2010 13:03

@wesoly masz problemy z rozumieniem prostych zdań? sugerujesz że niby napisałem jakoby python czy perl były do d.. ? to może sobie napisz w tym bashu jaki¶ skrypt który Ci to przetłumaczy te zdanie na twój język bo mi ręce opadaj±..... z tym eclipse to akurat to może rzeczywi¶cie się zagalopowałem bo na linuksie działa raczej w miarę równie przyzwoicie co na win.. ale chodziło raczej o ogólny komfort pracy na win który nie ogranicza ludzi tylko os! zreszt± kto¶ tu wcze¶niej słusznie pisał że win można sobie całkiem nieĽle "zposixować" zreszt± nie wiem czy zauważyłe¶ ale te internetowe molochy raczej rzadko korzystaj± z komercyjnych rozwi±zań os.. :) zapewne ukryte koszty na których nie jedni się już przejechali + koszty za guzik warty branding ''linuksowych biznesmenów'' s± już barier± kompletnie nie do przeskoczenia.... i nie wyjeżdżaj mi tu z porównaniami kosztów postawienia lubudu na 100 kompach w porównaniu do postawienia win servera bo rynek jest pełen nieudaczników którzy się na takim życzeniowym rozumowaniu przejechali :) i co że¶ się uczepił tej aktualizacji kernela chyba nie wmówisz mi że systemu nie będziesz aktualizować przynajmniej aktualizacjami bezpieczeństwa.. już grupka adminów serwera jednego z oficjalnych repozytoriów gdzie¶ tam w afryce się przekonała jak może skończyć nie aktualizowany serwer... :) no i wbrew temu co piszesz wpadki SIĘ NAPRAWDĘ ZDARZAJˇ przegl±dnij fora! zreszt± po tych stwierdzeniach o super wydajno¶ci gentoo po kompilacjach z magicznymi flagami i gadce o grzebaniu w Ľródłach mam pewno¶ć że o współczesnym linuksie to Ty masz raczej kiepskie wiadomo¶ci... acha co do javy to kolejne bzdury bo oryginaln± javę masz w wielu dystrybucjach już od dawna po tym jak sun j± uwolnił!!! @maxiu zapomniałe¶ o p. 5. nie wydali tego pod inn± mark± by nie drażnić pewnych frustratów... reszta (poza p. 2, ale niby dlaczego miałoby byc inaczej?? zreszt± jaki¶ tam próby przeportowania były ale pewnie zbojkotowane przez fundamentalistów) jest kompletnymi bzdurami.. nie wiem jak ty tego manuala ps czytałe¶ ale chyba dostaj±c oczopl±su po zobaczeniu nazw cmdletów dłuższych niż 6 znaków musiałe¶ go zarzucić.. nie wiem co bash robi ludziom z mózgiem ale faktem jest że pocz±tkuj±cym adminom (z mózgiem nie skażonym przez os) składnia ps wydaje się bardziej intuicyjna od basha..

~max

10-09-2010 11:07

"a dla tych co na prawdę znają powershella wyższość nad bashem jest oczywista.." To podaj namiary na nich;) hehehe;) Osobiście znam jednego admina, który tego używa (choć rzadko) i co najmniej dwudziestu, którzy korzystają wyłącznie z shelli *nixowych. Powershell to całkiem niezłe narzędzie, ale: 1) powstało zbyt późno, po tym, jak już przyzwyczajono adminów windowsa do klikactwa, a programistów do używania kulawych kreatorów. O userach-czepiakach czarnorękich nie wspominając. 2) działa tylko na niektórych systemach Microsoftu, i oczywiście nigdzie indziej 3) do wbijania gwoździa używa się tam mikroskopu. W bashu proste rzeczy robi się prosto, rzeczy skomplikowane robi się odrobinę trudniej. W Powershellu wszystko wymaga sporego narzutu 4) bez manuala Powershell jest bezużyteczny. Przesadzono z ilością elementów języka, skopano nazewnictwo i nie przemyślano targetu Podszedłem do tego mechanizmu z dużymi nadziejami, ale jak zobaczyłem co oni wykombinowali, to odpuściłem.

~Wesoły

10-09-2010 10:27

Windows też działa na Linuksie całkiem dobrze (na VP). Mało tego. Uruchomiłem Vistę i XP obok siebie mając 2GB RAM i jeszcze spokojnie mogłem pracować (mały eksperyment). Wystarczyło w VB ograniczyć im dostęp do ramu. To tak pół żartem pół serio. Javowe aplikacje mogą komuś zamulać bo oryginalna java nie jest instalowana w Linuksach. Trzeba sobie ją doinstalować. Taka polityka. W większości Linuksów znajdziesz po zainstalowaniu tylko otwarte oprogramowanie. Pracuje z Linuksem i Eclipse parę lat już i nie widzę problemów. Kolejne bzdury. Jacy jajogłowi ? Byle inżynier mający wiedzę o programowaniu potrafi poskładać Linuksa do kupy. Do tego są gotowe dystrybucje. Zarówno komercyjne jak i niekomercyjne. Dla ogółu i szczegółu (np Gentoo gdzie wszystko sobie kompilujesz osiągając świetną wydajność w ten sposób). I jak mówiłeś. Nie można uzależnić się od jednej firmy. Zwłaszcza kiedy nie wiesz co mają zaszyte w kodzie by Cie szpiegować. I tu nie chodzi o ideologię. Porównaj sobie koszta wdrożenia 100 serwerów na Windowsie i Linuksie. A potem porównaj sobie wydajność ich. Wpadki z aktualizacjami mogą się zdarzyć. Mi wtedy kiedy grzebałem w źródłach systemu. No i nikt nie wymusza aktualizacji. Jak chcesz zostać przy konkretnej wersji kernela to... po prostu zostajesz. Nie widzę problemu. Szukasz dziury w całym. Ostatnia rzecz. Wyższość powershell nad bashem ? Jakieś pythony czy perl z którym nic się nie da zrobić ? Twoja ignorancja jest po prostu śmieszna. No ale cóż. Inni mają wiedzę i argumenty. Ty masz... nie wiem co. Ale nic wartościowego.

~Gość

10-09-2010 09:46

@vistek, dziwisz się że Eclipse pod windows używa więcej osób niż pod Linuxem, w końcu Windows jest na 95% komputerów. Przy okazji wszyscy u mnie w firmie używają Windows, a dlaczego bo muszą, na dodatek mamy wersję Visty 32 bit, a komputery mają 4 GB ramu, tak więc część ramu się marnuje a często te 3.25 GB to za mało, ale nie możemy zmienić systemu na 64 bit i nie możemy zmienić Visty na Linuxa (bo nie). Przy okazji w jednej z poprzednich firm w której pracowałem zastanawiano się czy użyć javy czy asp do stworzenia interfejsu do serwera danych, postawiono na asp. Po pewnym czasie okazało się że klienci chcieli by mieć możliwość uruchamiania serwera na Unixach ale nie mogą.

~vistek

10-09-2010 01:35

tak na linuksie to już wszystko działa lepiej nawet sam windows.. walisz sloganami aż mnie mdli... akurat eclipse na swingu nie robili ale większośc jawowych aplikacji na nim to pod linuksem zamula z interfejsem jak cholera.. zresztą ostatnio według jakiegoś tam badania fundacji eclipsa wyszło im że więcej userów mają pod win. no i co z tego że mi drukarka z marszu zadziała jak mi rozdzielczość 300dpi tylko udostępni a te nakładki na xsane to jakieś parodie.. coś tam piszesz że serwera z widnowsem na oczy nie widziałeś to może wyściub nosa z firmy.. w takim google to już w ogóle win nie uzywają ale co to ma do szerszej rzeczywistosci?? napisałem o przyjacielach ms w cudzyłowie ale chyba żeś nie załapał.. te firmy po prostu nie mogą sobie pozwolić na uzależnianie się od jednej firmy a być może i potencjalnego wroga.. a że stać ich na zatrudnienie szwadronu jajogłowych by ten ich linuksik poskładać do kupy i by to wszystko chodziło to tylko im pogratulować... ale to są normalne zasady rządzące biznesem i nie ma co się doszukiwać jakiejś ideologii czy nawet wyższości os z tego powodu! nie jest winą ms że teraz ich jedyną konkurencja jest pseudodarmowe i niekompatybilne z nimi opensource! poza tym nie pleć bzdur że linuksom nadal nie zdarzają się wpadki po aktualizacja bo to kompletna bzdura.. akurat z jajkiem to raczej rzadko bo tam jeszcze w miarę sporo osób patrzy ale jakieś problemy z trzeciorzędnymi configami dotyczącymi choćby dźwięku czy obsługi jakiś pierdółek są nagminne wystarczy poczytać fora z wątkami pomocy!! nie działa mi to i to po aktualizacji!! o os x to nie ma co się doszukiwać jakiś ankiet wystarczy planety z blogami linuksowych developerów poprzeglądać a dla tych co na prawdę znają powershella wyższość nad bashem jest oczywista.. tak na prawdę to samym bashem bez podpierania się jakimiś pythonami czy perlami to nic wielkiego się zdziałać nie da!

~Wesoły

10-09-2010 00:23

vi?tekź, nie wiem skąd masz takie rewelacje. W firmie gdzie obecnie pracuje tylko JEDNA osoba pracuje na Windowsie. Tyle jeżeli chodzi o Twoich webdeveloperów. Co do tego że preferujemy OS X... nawet nie wiem gdzie te bzdury wyczytałeś. Kolejny fakt wyssany z palca też jest śmieszny. Eclipse pod Linuksem działa wyśmienicie. Zresztą sama Java działa lepiej (jak wszystko inne zresztą). Nie wiem też czemu masz problemy ze sprzętem. Składali Ci komputer w stodole ? Lata minęły od czasu kiedy coś w kompie po podłączeniu nie działało pod Linuksem a marszu. Tylko nie wyjeżdżaj mi z jakąś kartą dla audiofilów które sprzedaje się w ilości 1 na 1.000.000. Kolejna rzecz to świeżo zaktualizowany system jest po prostu świeżo zaktualizowany. Dodatkowo większość dystrybucji trzyma 2-3 kernele do tyłu. Więc jak coś to można się przełączyć w sekundkę. Internetowy moloch to przyjaciel MS ? MS wykłada forsę na facebooka czy używali binga bodajże. nasza-klasa dostała forsę by promowali ie8. Jakoś ani jedni ani drudzy preferują php nad asp. Małe i średnie firmy używają c# na ogół z początku. Jeżeli trzeba im jakiś programik dla pracownika bo marketoid typu tada powtarza im że to 120% normy. Potem kończą jak firma której przenosiłem CRM z asp.net na php czy jak giełda londyńska która z .net ma same złe doświadczenia bo to w ogóle nie nadaje się do pracy przy dużym obciążeniu. Nie mówiąc o kosztach (tak, 10 milionów funtów oszczędności na utrzymaniu i 30 milionów oszczędności przy tworzeniu nowego systemu to mało co ?). W wyższość basha nad powershellem zrozumie ten co zna basha. I nie wiem co masz do dokumentacji. Jest obszerna i czytelna. W skrócie. Napisałeś troszkę bzdur które nie są niczym poparte i myślisz że świecisz. Fajnie.

vi¶tekź

09-09-2010 23:23

zwykłe pierdoły bez żadnego konkretnego wniosku.. no poza nie¶miałym wnioskiem który ja pozwolę sobie dokończyć że linux to najwyżej dla webmajstra dłubi±cego w php może być w miarę zno¶ny... za to faktem jest że nawet wielu developerów natywnych aplikacji na linuksiki woli os x niż babranie się w codziennej pracy z systemem który sami współtworz±.. :) a windowsa nie używaj± tylko z powodu nieuleczalnego uczulenia na ms.. no i niestety kolejnym faktem jest że pod win można mieć o wiele wygodniejszy system do rozwijania linuksików niż natywny linux który niestety nadal, mimo końca pierwszej dekady XXIw, ma kłopoty ze sprzetęm.. stawiamy sobie wirtualn± maszynkę albo nawet jaki¶ system pod colinuxem i mamy pewno¶ć że nasza praca nie odejdzie w niebyt przez jaki¶ kaprys ¶wieżo zaktualizowanego linuksika.. zreszt± o czym my gadamy przecież nawet eclipse działa lepiej pod win :) [bla bla] działaj± pod ogromnym obciażeniem i same jako witryny nie należ± do małych jako¶ trzymaj± się z dala od rozwi±zań MS. Koszta i czas to to co przemawia przeciw Microsoft [bla bla] no tak tylko że¶ nie zauważył że teraz co większy internetowy moloch to ''przyjaciel'' ms.. a że asp.net wybieraj± czę¶ciej małe i ¶rednie firmy (bo akurat takie s± fakty) to własnie najlepiej ¶wiadczy o jego przydatno¶ci! "systemy Uniksowe nadaj± się do nauki programowania aplikacji webowych o wiele bardziej jak Windows" a to już kompletne bzdury wyssane z palca... ach i co autor miał na my¶li plot±c co¶ o wyższo¶ci basha nad powershelem? proponuje poczytać choćby manuala tego drugiego by zobaczyć jakie rzeczy można w nim wyprawiać.. i powodzenia w poszukiwaniu równie obszernego i spójnego manuala dotycz±cego tego reliktu przeszło¶ci jakim jest bash...

~Wesoły

09-09-2010 21:25

A tak wracając do tematu to powiem że języki skryptowe jak PHP świetnie nadają się do nauki programowania. Mają tę zaletę że użytkownik może w locie edytować kod i zapoznawać się z jego wynikami. Nie mniej jednak PHP uczy również złych nawyków gdyż nie ma np typowania. Więc tutaj warto zastanowić się nad Javą bądź C++. Zależy co kto lubi. Sam z siebie muszę powiedzieć że systemy Uniksowe nadają się do nauki programowania aplikacji webowych o wiele bardziej jak Windows. Z drugiej strony Windows nadaje się do pisania aplikacji pod Windows :P Głównie dlatego że możemy je tam uruchomić :P To chyba jedyna zaleta jaką znam. Ale sam odstawiłem Windowsa całkowicie dłuższy czas temu więc co ja tam wiem. W każdym razie PHP w którym sam pisze ma dużą zaletę. Ogromna społeczność i popularność sprawia że osoba początkująca bardzo łatwo i szybko znajdzie materiały do nauki i będzie mogła sięgnąć po pomoc na blogach i forach w sieci. @tad, muszę się poprawić. C# nie jest takie tragiczne. asp.net już owszem. Nie wiem jak ludzie mogą w tym pisać. Ani to ładne, ani wygodne, ani elastyczne ani wygodne w developerce. PHP jest wybierane z wielu powodów nad ASP. Jeden z nich mam w pracy raz na dłuższy czas. Jeżeli programista zrobi błąd i coś w aplikacji trzeba zmienić, wystarczy że otworzę plik, zmienię fragment kodu, sprawdzę go po zmianie, zaktualizuję plik na serwerze produkcyjnym i... koniec. Załatwione. Kolejna rzecz to taka że serwery Linuksowe są bardzo tanie. Programiści jakiejkolwiek maści (łącznie z C#) już nie. Czas programisty jest więcej wart jak czas procesora a co za tym idzie - PHP dla developerów jest bardzo dobrym językiem. asp.net bardzo dużym utrapieniem. Nie widać go prawie nigdzie oprócz małych witryn wewnętrznych firmowych gdzie upchano rozwiązanie łącznie z exchange itp i miejsc gdzie MS zapłacił by ktoś łaskawie użył asp. Żaden duży portal (wikipedia, facebook, nasza-klasa itp) które działają pod ogromnym obciażeniem i same jako witryny nie należą do małych jakoś trzymają się z dala od rozwiązań MS. Koszta i czas to to co przemawia przeciw Microsoftowym rozwiązaniom. Wiem z doświadczenia.

~max

09-09-2010 15:04

Tadek chyba nie przeczytał tego, co zamieścił. Z wykresów wynika, że Java (tak! java, język z maszyną wirtualną!) jest szybsza pod Linukem, niż kompilowane C++ pochodzące z Visual Studio pod Windowsem. No lepszego samobija to klakier windowsiany sobie nie mógł znaleźć. PS. Dziękuję komuś, kto zareklamował tutaj Chromium. Właśnie siedzę na 7.0.519.0 pod Ubu i jestem mile zaskoczony tą przeglądarką.

~realista

09-09-2010 12:20

żenada... windows i hosting www śmiechu warte, art sponsorowany

~Gość

09-09-2010 10:57

@85.222 ciekawe zestawienie. Wygląda na to że na Linuksie wszystko działa szybciej łącznie z C# który jest na Windowsa stricte. Fajnie. A różnice w C++ są porażające. Nic dziwnego że preferuje się Linuksy na serwerach.

~phi

09-09-2010 10:51

Wychwalacze produktów MS zapominają o jednym, bardzo ważnym trendzie. Polega on na wywalaniu aplikacji z desktopów i przenoszeniu do chmury. Zatem stacja robocza z Windows nie jest w ogóle potrzebna. Z kolei w hostingu liczą się tylko dwa standardy - open source i biznesowa Java. Microsoft praktycznie tu nie istnieje, jest to niszowe i badziewne rozwiązanie, niezwykle kosztowne i bardzo kłopotliwe. Dlatego do nauki programowania ex aequo Linux i MacOS X.

~Konio

09-09-2010 10:12

Wybór systemu zależy od 2 rzeczy: - języka programowania - systemu na jaki piszemy I tak Windows wybiorą osoby piszące w .NET, aplikacje desktopowe dla Windows, rzadziej piszący webowe w ASP oraz gry. Maca wybiorą programiści piszący aplikacje desktopowe dla OSX (w Cocoa) lub webowe w WebObjects, a także programiści iPhone. Pozostali programiści (Java, C++, Railsy i inne) będą wybierać ten system, w którym czują się najlepiej, bo system operacyjny jest tylko narzędziem (jak samochód), a ostatecznym celem jest napisanie aplikacji możliwie łatwo i szybko (dojechanie do celu tym samochodem).

~Gosć

09-09-2010 07:36

Wiele nieporozumień. Zobaczcie testy np. porównanie: [[http://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html]] pokazuje, że inne proporcje są pod Windows a inne pod linuksem, co wiecej testowano aplikacje jednowątkowe a C#4 ma obecnie wbudowaną w język efektywną obsługą wielu rdzeni na wszystkich poziomach w aplikacjach, co daje efekt do 3.5 razy przyspieszający na 4-rdzeniowych prockach. Potencjał do czasem nawet szybszej pracy C# od C++ jest opisany np. w: [[http://stackoverflow.com/questions/145110/c-performance-vs-java-c]] Tak więc wiele co powiedzieliście powyżej okazuje się wierzeniami. Faktycznie pod C# jest środowisko do pisana wydajnych gier graficznych i szybkością nie ustępują pisanym w C++ a pisze je się szybciej (dużo krótszy kod predykatowy i z powodu architektur) i testuje dużo krócej (do kwadratu mniej mozliwych problemów niz w C++ i o rząd mniej niż w np. przemijającej javie, tez z powodu kodu i architektur) zobacz np.: [[http://www.codeguru.com/csharp/csharp/cs_graphics/drawing/article.php/c17041]], albo [[http://www.microsoft.com/web/library/Details.aspx?id=visual-studio-xna-game-v3-intro]] a tworzenie i rozwój większych aplikacji biznesowych jeszcze bardziej ma przewagę efektywnościową nad pozostałymi (i c++ z jednej strony i php czy javy z drugiej). Co do nienastawiania się na javy to zobaczcie np. [[http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html]] albo [[http://joelonsoftware.com/articles/ThePerilsofJavaSchools.html]] Jeszcze bardziej robi się jednostronnie (mimo postępów u konkurentów) w środowiskach deweloperskich. Dlatego co roku przyszłość (i lepsze dochody i lepsze efekty dla klientów) są coraz bardziej po stronie VS z C#. Samodzielne pisanie skryptów w javascript (i wogóle skryptów) to proszenie się o większe problemy w biznesie (tragiczne ze względu na inżynierię programowania problemy z rozwojem i czasem debuggowania w porównaniu z np. c#) - co najwyżej b.oszczędne używanie jQuery/jQueryUI itp. czy innych asynch. użyć ajaxowych (póki co, bo we wchodzącym "app.net MVC3" już tego tez nie trzeba bo jest robione bezpiecznie i weryfikowalnie w czasie kompilacji - a po zatym widoki są kompilowalne juz od paru lat w VS - jak ustawisz, wiec błędy widzisz na etapie pisana kodu lub kompilacji a nie jedynie gdy wykonujesz). A poz atym zobaczcie jak efektywnie i szybko można zacząć pisać coś dobrego, z potencjałem dużego rozwoju: np. [[http://asp.net]]

~Sławek

09-09-2010 06:53

#Gry : No dobrze. Nie piszcie jednak, że Windows jest łatwiejszy w obsłudze. Jest systemem prostszym w konstrukcji, co przekłada się na konieczność szukania po internecie programów i ich instalacji. Wielu ludzi, zamiast poszukać programy, to dochodzi do wniosku, iż w ogóle zrobienie czegoś takiego nie jest możliwe.

~Sławek

09-09-2010 06:49

Co do .Net, to nie uwzględniliście Vali, jak również QT4. Wielkim minusem .Net jest, że go po prostu domyślnie nie ma w systemie Windows XP, a z niego korzysta większość. Wspomniana nniby zaleta Internet Explorera, tutaj okazuje się słabością .Net. Wszelkie Visty i 7 nie są ważne, gdyż najpopularniejszy jest Windows XP. W przypadku QT, to mamy go standardowo w prawie każdej dystrybucji.

~Sławek

09-09-2010 06:46

"Podsumowując: w wielu zastosowaniach bardziej rozwinięte aplikacje oferuje Windows, jednak znajomość systemów uniksowych jest dla webmastera bardzo cenna. " Nie da się ukryć, że każdy człowiek żyjący w Europie musi płacić dziś podatki. Nie da się więc ukryć, że płacenie podatków jest dobre ;-) . Co jest tą bardziej rozwiniętą aplikacją? Artykuł o niej nie wspomina.

~Mus

09-09-2010 02:07

Jak użytkownik jest "zielony", to wszystko wszędzie może mu się wydawać dziwne. Wielu "ekspertów" od linuksa nie kojarzy, że pod Windowsem jest i case-sensitive fs, i mountowanie podsystemów jako katalogi zamiast woluminów, brak rozszerzeń w nazwie pliku, ACL itd. Ogólnie można sobie całkiem łatwo zrobić użytecznego POSIX-owego Windowsa, jeśli się wie co to w ogóle jest. A co do artykułu, to mnie najbardziej śmieszy wniosek, jaki z niego można wyciągnąć - czyli że MacOS X to się dla żadnego typu programisty nie nadaje najlepiej. Jest to o tyle zabawne, że wiele osób akurat uważa tę platformę za idealne narzędzie dla programisty doby internetu. Nie dla windowsowego desktopowca, tylko dla kogoś kto potrzebuje wydajne środowisko łączące pełnego UNIX-a i funkcjonalne GUI. Zobaczcie sobie materiały z różnych światowych konferencji i workshopów. Sprawdźcie ilu pracowników Google''a prezentuje się z MBP jako swojego podstawowego środowiska pracy. W Polsce niestety długo jeszcze będzie królował linux, bo w maka zainwestować zwykle mogą tylko snoby lub profesjonaliści, którzy sobie na tę wygodę potrafią zapracować..

~Gość

08-09-2010 23:01

@Autor, adaptacje enginów gier mówisz ? Może jakieś testy ? Zaręczam że C# to muł. Nawet PHP działa szybciej w wielu wypadkach. Co do aplikacji okienkowych to w obecnych czasach obok Javy używa się znakomite API QT. I tutaj również nie ma problemu. QT jest biblioteką wieloplatformową. IDE (QT Developer) jest dostępne pod każdą platformą. Podobnie jak Eclipse dla Javy. Co do Symbiana to się zgodzę ale proszę zauważyć że Symbian powoli odchodzi do lamusa a na scenę szybko wkracza Android. A tutaj Google oferuje pełne wsparcie. Mamy SDK, emulator itp do Eclipse. Wiem coś o tym bo sam w chwili obecnej sam piszę co nieco na Androida. PDT dla Eclipse to znakomite rozszerzenie. Debugowanie kodu, kolorowanie składni, podpowiedzi (zgodne z PHPdoc) zarządzanie projektami itp itd etc. Jak dorzucimy do tego system kontroli wersji (git lub svn), zarządzanie bazą danych i doxygen do generowania dokumentacji - wraz z apache mamy genialne środowisko pracy. A co do front-endu to powtórzę. Na IE obecnie nie zwraca się już takiej uwagi. Webmaster ma się zająć zgodnością z przeglądarkami. Przy JS by oszczędzić sobie klepania używa się jquery. A podczas pisania kodu na prawdę trzeba pamiętać tylko o kilku drobiazgach jak np to by nie stawiać przecinka w tablicach json po ostatnim parametrze i kilka innych niedoróbek internet explorera. Do tego mamy do czynienia z sytuacją gdy ktoś uczy się programowania jak Autor raczył wspomnieć w temacie. Nie licząc sytuacji gdy programista pisze aplikacje czysto Windowsowe bez żadnych sieciowych elementów - będzie on MUSIAŁ znać systemy uniksowe. Zwłaszcza przy webdeveloperce nikt nie będzie nawet brał poważnie pod uwagę kogoś kto nie zna Linuksa. No i system ten ma wiele cech które użytkownikom Windowsa wydają się dziwne (jak wspomniałem - nazewnictwo plików, montowanie katalogów, częsty brak rozszerzeń, chmod itp), lepiej je poznać jak najszybciej.

~Autor

08-09-2010 21:33

Tak, "aplikacje biurkowe (desktopowe)" to frontend oparty o okienka (czego nie należy kojarzyć z wiadomym systemem, mogą być to XWindow). Na dodatek- faktycznie chodzi o Swinga lub zapomniane AWT, GWT łatwiej dostosować do nowych możliwości systemów. Jeszcze jedna rzecz odnośnie Windows na urządzeniach mobilnych- nie proponuję tego systemu absolutnie jako optymalnej platformy dla samego urządzenia. Dostępność emulatorów, czy narzędzi, choćby do Symbiana niestety jest proporcjonalna do popularności tego systemu.

~max

08-09-2010 21:06

re emzol: też mnie to uderzyło. Z drugiej strony, co to są "aplikacje biurkowe"? Czyżby chodziło o nie-webowy frontend? A kto jeszcze pisze aplikacje niewebowe w javie?

~Autor

08-09-2010 20:44

O fakcie, że serwery są w większości Uniksowe napisałem. Wydajność C#? Jej dowodem są adaptacje engine''ów gier. Eclipse? Tak. Bardzo dobre IDE Javy, które paradoksalnie zapewne zyskuje Pańskie uznanie rozszerzeniem do PHP (tu ma słabą konkurencję). Wśród Javowców, do których i ja się zaliczam (żeby było zbawniej: od dłuższego czasu jeśli chodzi o OSy używam niemal wyłącznie systemu Arch Linux). Eclipse ma też zagorzałych przeciwników preferujących Intelij IDEA i NetBeans. Osobiście bardzo cenię to IDE, choć pisząc o Androidzie pominął Pan fakt, że żadne IDE nie uratuje przed niedoborem emulatorów. Obok webmastera jest też Front-end developer, który często używa JavaScipt. A tu IE jest niestety w niektórych przypadkach cenny. Systemy *niksowe są wręcz bezcenne- to, jakie ułatwienia niosą końcowemu uzytkownikowi mogłoby naprawdę zaskoczyć wielu "windowsiarzy". Ale jakość systemu to jedno a pragmatyzm rynku to drugie. Uniksy, choć obcowanie z nimi bardzo pogłębia wiedzę ogólnoinformatyczną, mają jeszcze zbyt mały wpływ na potencjał rynkowy programisty.

~emzol

08-09-2010 20:32

Do tego, co pisał Wesoły dodam jeszcze: "Kolejną przewagę "okienek" stanowi fakt, iż aplikacje "biurkowe" napisane we wspomnianej już Javie szybciej wykonują się na platformie Windows. " A to ciekawe, bo moje doświadczenia i wrażenia są zupełnie inne. Może jakieś testy? Owszem, aplikacje wykorzystujące Swing mogą rysować się szybciej pod Windowsami, bo jeśli mnie pamięć nie myli, to najnowsze wersje wykorzystują DirectX pod Windows.

~fffatman

08-09-2010 20:22

Urządzenia mobilne/Wybór: Windows/Curious.

~Wesoły

08-09-2010 18:28

Czytałem, czytałem, czytałem i... padłem ze śmiechu. Autor nie mógł sobie znaleźć tematu o którym ma chociażby MINIMALNE pojęcie ? Pierwsza rzecz. Mało kiedy można spotkać serwer WWW oparty na Windowsie. To już przemawia za Linuksem. Przykładowo w Linuksie nazwa pliku z dużej i małej litery to już dwa różne pliki. Programista MUSI znać tego typu drobiazgi. Więc lepiej gdy nie pracuje na Windowsie gdy ma do czynienia z Linuksem na serwerach. Dobrze jest też gdy programista tworząc sobie środowisko pracy, miał pojęcie o chociaż podstawowej konfiguracji serwera Apache z konsoli. Nie musi wtedy czekać na administratora serwera żeby coś zrobić. Mowa tu oczywiście o serwerach testowych a nie produkcyjnych. Dodatkowo stwierdzenie że C# jest zbliżony prędkością do C++ zakrawa na kpinę z czytelnika. Implementacja tych samych algorytmów w obu językach i parę testów udowodniło że C# prędkością zbliżony jest do javy a nie do C++. Między nimi różnica jest jak między Syrenką (C#) a Ferrari (C++). Nie mówiąc o tym że obecnie w sieci przoduje PHP. Jakoś nie widzę żeby Facebook sięgał po C#. Portal został napisany z użyciem PHP gdzie w warunkach gdy potrzebna im jest maksymalna wydajność - konwertuje się PHP na C (gdzie przy okazji opublikowali narzędzia które stosowali). C# to żart. Kolejna rzecz to IDE. Najpopularniejszą platformą programistów aplikacji webowych i stron internetowych jest Eclipse. Otwarta platforma z ogromną ilością narzędzi. Nie mówiąc o tym że Google dla przykładu daje swoje rozszerzenia do Eclipse dzięki czemu programiści Androida (który pnie się w górę gdzie WM na przykład jest nadal marginesem) mogą spokojnie korzystać z emulatora i kompletnego środowiska programistycznego. I tutaj nie ma ŻADNEGO ograniczenia co do platformy. Argument że za Windowsem przemawia to że witrynę można potestować na IE jest po prostu śmieszny. Jak nieudolność, ograniczenie i próba wprowadzenia vendor-lock-in przez jedną firmę można potraktować jako argument ZA ?. Testowaniem pod IE zajmuje się WEBMASTER. Ten co klepie HTML. Poza tym Linuksowcy mają dostępne IE6 oraz 7 (ies4linux). Wersja 7 spokojnie wystarcza do testów JS (gdyż IE ma wiele braków i parę głupich błędów w silniku tego języka). Można też skorzystać z maszyny wirtualnej. Zwłaszcza że sprawdzanie czy pod IE się coś nie wysypało robi się w fazie testów aplikacji (czyli pod koniec developerki) gdzie tu bawi się tester bądź webmaster. Programista poprawi po prostu zgłoszone błędy jeżeli zajdzie potrzeba. Poza tym spotykam się coraz częściej z podejściem firm (i w Polsce i na świecie) gdzie stosuje się zaawansowane rozwiązania np w panelu administracyjnym aplikacji czy witryny i tam... blokuje się IE wykorzystując potencjał nowoczesnych przeglądarek. Sama witryna jest dostępna z każdej przeglądarki łącznie z IE. Podejście zdrowe i dające pole do popisu. A w wymaganiach dla administratora podaje się tylko by nie korzystał z IE. Autorze, szczerze radzę zajmować się tematami które się zna. Ciekaw też jestem czy ten komentarz się pokaże w ogóle. Za długi jak na ten portal.

~ABP

08-09-2010 17:34

Pewnie jestem inny, ale nie mieszczę się w punktach podanych w sondzie. A nie ma tam możliwiści wyboru "inne aplikacje".

~Gasp

08-09-2010 17:17

Imo w artykule jest mały błąd dotyczący "Skryptów administracyjnych". Otóż tych rzeczy nie piszę się na system X ponieważ jest wygodniejszy. Pisze się je na system X bo serwer ma zainstalowany system X. Dlatego programista systemowy musi umieć napisać coś na każdą platformę. Tak samo jak programista SQL musi znać różnice miedzy Oracle i MS SQL. No może nie tyle znać co wiedzieć że istnieją i nie wszystko da się przenieść.

Polecane

Kariera w IT 2012

Kariera w IT 2012
Uczelnie, rynek pracy, rekrutacja, pracodawcy, rozwój zawodowy - czyli wszystko, co chcielibyście wiedzieć o pracy specjalistów IT w Polsce. Piszemy jakie uczelnie wybrać, dlaczego warto studiować informatykę i kierunki techniczne, jak wygląda proces rekrutacji i jak dobrze wypaść przed pracodawcą, opisujemy pracodawców - firmy IT - i możliwe ścieżki kariery.

Pobierz bezpłatnego e-booka

20 lat polskiej sieci
Ebook 20 lat polskiej sieci to kompletna charakterystyka polskiego internetu (oraz polskiego internauty). Odpowiadamy na pytanie, jak wygląda nasz kraj na tle bliższych i dalszych europejskich sąsiadów pod względem popularyzacji szerokopasmowych łączy internetowych i rynku mobilnego. Wymieniamy również wady i zalety korzystania z bezpłatnych punktów dostępowych.
Jeśli chcesz otrzymać darmowego e-booka, wpisz swój adres e-mail. Wyślemy Ci go natychmiast!
Wyrażam zgodę na wykorzystywanie mojego adresu email do celów marketingowych. rozwiń »