Jaki system wybrać do nauki programowania?

0

Witam, zakładając, że tak samo władam znajomością systemów Windows jak i Linux, jaki system polecilibyście do takich zadań jak przede wszystkim nauka programowania w językach C/C++, Java, Python, tworzenia strona internetowych (X)HTML, CSS, JScript, PHP, oraz również do słuchania muzyki, oglądania filmów DVD, internet w ogólnym znaczeniu. Czy wybralibyście system Windows czy raczej np. Ubuntu?

0

byle który + maszyna wirtualna z drugim i problem rozwiązany.

0

ubuntu

0

w jezykach ktore wymieniles stawialbym na ubuntuale jezeli c/c++ to i ubuntu i windows

0

Windows. Nikt powazny sie Linuxem nie zajmuje ;)

0

Dowolny Linux z GNOMEm. Programowanie pod windą na konsolę, czyli to, od czego się zaczyna to masakra. Pod linuksem nie trzeba używać żadnych zatrzymywaczy, konsolka łatwa w użyciu, wygodna (czego o CMD pod windą powiedzieć nie można)...

Instalowanie bibliotek pod linuksami (np. ubuntu) też jest proste, jeśli jest w repozytorium (wystarczy pakiecik *-dev zainstalować). Pod windowsem trzeba ściągnąć z oficjalnej strony i albo się bawić w kopiowanie do kompilatora, albo konfigurować IDE.
Jeśli jakaś biblioteka nie jest skompilowana pod linuksa, wystarczy w konsolce wpisać: ./configure, make, sudo make install. Pod windowsem ten proces jest o wiele bardziej skomplikowany.

O Pythonie na windowsie nie wspomnę

0

Ubuntu, windows to zuo! :p
ktoś tam napisał, że ubuntu jest dla gejów i ma usera za idiotę, no cóż... to raczej windows jest idiotolubny, linux może mieć kogoś za idiotę, jeśli jego użytkownik jest faktycznie idiotą, bo w linuksie robi się co się chce, to JA mu rozkazuje a nie ON mi, nie to co windows ;]
na windowsie to tylko VS i w C#

0

Oczywiście ze swojej strony polecę odpowiednio skonfigurowanego Archa i programowanie staje się przyjemnością :)

0

to raczej windows jest idiotolubny

to co mają powiedzieć Ci co mają Mac OS? ;)

0

Ubuntu, windows to zuo! :p
ktoś tam napisał, że ubuntu jest dla gejów i ma usera za idiotę, no cóż... to raczej windows jest idiotolubny, linux może mieć kogoś za idiotę, jeśli jego użytkownik jest faktycznie idiotą, bo w linuksie robi się co się chce, to JA mu rozkazuje a nie ON mi, nie to co windows ;]
na windowsie to tylko VS i w C#

...hmm? Jak na razie windows nic mi jeszcze nie rozkazał (może oprócz tego "system został zaktualizowany i zostanie zrestartowany za 60 sekund" które mi sk*** pokazał i którego się nie dało wyłączyć).

Na Windowsie dobrze się programuje, zaletą Unixów jest pewnie łatwiejsze wydawanie poleceń z konsoli ale na Windowsie odpowiednie skonfigurowanie PATH też daje radę. No i na win jest najlepsze obecnie IDE do C++ (VS) - reszta jest taka sama na obydwóch systemach.

...A zresztą po co takie fanboyowskie zagrywki, niech każdy piszę na tym systemie którego mu się najwygodniej używa - co kieruję również do autora.

0

z legend słyszałem, że też, ale być może niekoniecznie bo Mac jest oparty na systemach unixopodobnych, chociaż na jego temat się nie mogę wypowiedzieć bo nigdy nie miałem styczności a szkoda, bo chętnie bym się z nim zapoznał (niestety nie stać mnie na jabłecznik, no i też Mac na PC nie chciał działać) ;/

0

Ostatnio pisząc program do badania cache L1 użyłem register int w gcc. Chłopak tak to skompilował, że czas dostępu był większy niż jak by był normalnie w pamięci, nawet parę tysięcy cykli ;p Bez register robiło mov'y na danych z cache w 66 cyklach. I bądź tu mądry ;p Prócz takich kwiatków całkiem fajnie się piszę, tym bardziej, że mam dostęp do całego kodu linuxa co jest wielką zaletą i korzysta się z tego wbrew pozorom często, przynajmniej w celach poznawczych do jakiegoś zagadnienia nie koniecznie bezpośrednio coś pisząc. Windows może i kodu nie daje, ale dokumentacja od emesa to cud zesłany przez boga.

BTW. Jak ktoś nie potrafi pisać to potem powie, że mu okienko znika ;p Swoją drogą, jak zatrzymał się na takim poziomie to jego opinia nie jest opinią doświadczonego programisty. W pythonie pisało się spoko na windowsie, gorzej octave , a konkretniej GNU Plot, wypierdalał się co 2 wykresy, pomagał mu jedynie reboot, a robiłem dość dużo transformat i filtrów IIR więc mnie strzelało do tego stopnia, że przeinstalowałem go ... dupa, męczyłem się ... dupa, w koncu postawiłem debiana obok :D Do dzisiaj nie wiem co to było, i jak coś potrzebuje to używam Matlaba :D

0

Ja windowsa nie lubie, szczególnie powłoki explorer. W linuksie można spokojnie sobie ustawić system, by praca mogła być komfortowa. Problem w tym, że są programy lepsze i gorsza, a duża część najlepszych aplikacji po prostu nie ruszy na pingwinie.

0

Dowolny Linux z GNOMEm. Programowanie pod windą na konsolę, czyli to, od czego się zaczyna to masakra. Pod linuksem nie trzeba używać żadnych zatrzymywaczy, konsolka łatwa w użyciu, wygodna (czego o CMD pod windą powiedzieć nie można)...

Nie dalej jak dzisiaj walczyłem z QTCreatorem pod Ubuntu, właśnie próbując zmusić konsolę do działania.
Okazuje się, że: 1) debuger sypie jakimiś warningami, ale podobno ten typ tak ma i mam się nie przejmować. 2) ciemność widzę, konsola się otwiera ale nic się na nią nie wypisuje. 3) po rozwiązaniu problemu drugiego okazuje się że debuger się wykrzacza, ze względu na dodatkową funkcję zabezpieczeń w ubuntu, powodującą niedziałanie debugera na konce zwykłego użytkownika.

Owszem, problemy rozwiązałem, ale to ma być wygodne w użyciu?

0

Jak dla mnie wygodny to jest Gentoo i tyle. nie mam problemów z żadną aplikacją do tworzenia/debugowania/testowania programów. Jeszcze nigdy nie miałem problemów, a jak cokolwiek się dzieje, to flagi dopasować+recompile i słodko chodzi.

Ale powiem tak: każdy system jest dobry, jeśli to właśnie tego systemu chcesz się nauczyć.

0

A ja nie rozumiem co ma system do nauki programowania ;P
Na Windowsie i Linuxie praktycznie w każdym języku możesz pisać, więc do nauki oba te systemy się nadają. Wybierz ten którym potrafisz się posługiwać. A jeśli chodzi o tworzenie okienek, to możesz jakieś uniwersalne API zastosować np QT lub poszukać czegoś darmowego np fltk.
Szczerze oba systemy mają swoje wady i zalety i nie idealizował bym tutaj żadnego.
Linux - większość gier nie działa (wine i playonlinux, przeważnie nie działa wystarczająco, nawet w przypadku starszych gier), w ubuntu często zdarzają się głupie konflikty pakietów i czasem się pojawiają nowe dość poważne błędy wraz z nowszymi wersjami.
Windows - płatny (choć często to nie jest problem), brak kilku fajnych bajerów z linuxa np. odpowiednika managera pakietów itp.

0

Ostatnio zrozumiałem, dlaczego producenci sprzętu tak rzadko wydają sterowniki swojego sprzętu dla Linuksa. Oprócz małej popularności tegoż:

  • moduł jądra musi być kompilowany pod każdy kernel. Nie może być dostarczony w wersji binarnej.
  • praktycznie z każdą nową wersją jądra zmieniane jest tyle rzeczy, ze sterowniki napisane do starszych wersji jądra nie skompilują się z nowszym jądrem.

Ostatnio kurwica mnie strzeliła. Kupiłem tuner tv na usb, byłem happy bo producent dostarczył sterownik dla linuksów na płytce. Oczywiście moja radość była przedwczesna bo okazało się, że tego sterownik NIE DA SIĘ skompilować z kernelem nowszym niż 2.6.30 (wtedy powstał ten sterownik). Ale lepsza szopka: znalazł się gość, który dla KAŻDEJ nowej wersji kernela > 2.6.30 dostosowywał kod sterownika do kolejnych wersji kernela i wrzucał to na swojego bloga. Jednak przy 2.6.37 już wymiękł i dla nowszego jądra sterowników póki co skompilować się nie da.

Producent dawno juz olał linuksy i na swojej stronce nie zamieszcza żadnych sterowników pod ten system. Pomimo że sam linuksa używam na co dzień, nie mogę pojąć PO JAKĄ CHOLERĘ w każdej wersji jądra całkowicie zmieniać api, dodawać/usuwać pliki nagłówkowe itd. Chyba jedyny powód taki, że deweloperzy jądra żyją sobie w swoim własnym świecie, a na resztę wypinają dupę - kto będzie tworzył nowe sterowniki dla każdej kolejnej wersji kernela?

Z takiego samego powodu są problemy z vmware - po każdej aktualizacji jądra trzeba szukać patchy (najczęściej to patche od społeczności), żeby skompilować moduły jądra. Myślę że nie tędy droga, niestety.

0

Jak instaluję np stery do grafy od AMD to tam jest binary blob ze skompilowanym kodem + kod źródłowy modułu kernelowego, który pewnie służy przede wszystkim jako interfejs do tego binary bloba. Za każdą instalacją czy deinstalacją sterów jakieś tam kody źródłowe są przekompilowywane i jest OK.

Zaznaczam, że nie mam w tych kernelach doświadczenia i być może nie wiem o czym mówię :P

0
othello napisał(a)

Pomimo że sam linuksa używam na co dzień, nie mogę pojąć PO JAKĄ CHOLERĘ w każdej wersji jądra całkowicie zmieniać api, dodawać/usuwać pliki nagłówkowe itd. Chyba jedyny powód taki, że deweloperzy jądra żyją sobie w swoim własnym świecie, a na resztę wypinają dupę - kto będzie tworzył nowe sterowniki dla każdej kolejnej wersji kernela?

Sytuacja jest nawet zabawniejsza. Miejscami pola struktur cyklicznie zmieniają typ ponieważ developerzy od dawna nie mogą dojść do porozumienia. Niektóre funkcje i struktury znikają w ramach akcji pt. "usuwamy przestarzałe API" tylko po to żeby wyewoluować ponownie w przeciągu kilku-kilkunastu wydań do podobnej formy w ramach kolejnej akcji pt. "tworzymy nowe API". Czysta anarchia rozwoju, brak jakiegokolwiek planu, inaczej okazałoby się, że tak po prawdzie to niewiele się w tym jądrze zmienia.

0
makbet napisał(a)

Sytuacja jest nawet zabawniejsza. Miejscami pola struktur cyklicznie zmieniają typ ponieważ developerzy od dawna nie mogą dojść do porozumienia. Niektóre funkcje i struktury znikają w ramach akcji pt. "usuwamy przestarzałe API" tylko po to żeby wyewoluować ponownie w przeciągu kilku-kilkunastu wydań do podobnej formy w ramach kolejnej akcji pt. "tworzymy nowe API". Czysta anarchia rozwoju, brak jakiegokolwiek planu, inaczej okazałoby się, że tak po prawdzie to niewiele się w tym jądrze zmienia.
Czyli moze sterowniki do tunera Othello za kilka(nascie) wydan znowu zaczna dzialac [rotfl]

0

Jak instaluję np stery do grafy od AMD to tam jest binary blob ze skompilowanym kodem + kod źródłowy modułu kernelowego, który pewnie służy przede wszystkim jako interfejs do tego binary bloba. Za każdą instalacją czy deinstalacją sterów jakieś tam kody źródłowe są przekompilowywane i jest OK.

Identycznie jest ze sterownikami nvidia. Jedyne zewnętrzne sterowniki, które generalnie zawsze dobrze się kompilują to nvidia, virtualbox i być może amd (tutaj nie wiem bo nie używam kart amd).

O ile brak jednolitego abi można by było jakoś przełknąć (wystarczy binarny sterownik i kompilowany kod, który z niego będzie korzystał), to ciągłe zmiany w api to raczej poważny problem. W linuksach zawsze było tak, że wszystko zajebiście to czasu, gdy sterowniki są w kernelu - deweloperzy dbają o moduły, które sami do kernela dołączają. Ale jeśli chodzi o producentów sprzętu, którzy może chcieliby nawet stworzyć sterownik pod linuksa - cóż, jest to im maksymalnie utrudniane.

0

Jak dla mnie wygodny to jest Gentoo i tyle.
Gdyby nie to, że jego instalacja trwa tydzień.

Pomimo że sam linuksa używam na co dzień, nie mogę pojąć PO JAKĄ CHOLERĘ w każdej wersji jądra całkowicie zmieniać api
Porównaj to z Windowsem, gdzie API i ABI sterowników (z wyjątkiem grafiki) jest kompatybilne od czasu Windowsa 98.

Z takiego samego powodu są problemy z vmware - po każdej aktualizacji jądra trzeba szukać patchy
hmm. używam sterowników wbudowanych w ubuntu (nie ściągałem ich ani nie instalowałem). po aktualizacji kernela odpalam module-assistant, coś tam się przekompilowuje, reset, i działają. system jest na bieżąco aktualizowany od grudnia i jeszcze nie musiałem szukać żadnych patchy. szkoda tylko że ta rekompilacja się nie dzieje automatycznie w ramach aktualizacji jądra.
Mówię tu o Linuksie jako guest, nigdy nie próbowałem instalować w nim vm jako host.

O ile brak jednolitego abi można by było jakoś przełknąć
ciężko, zwłaszcza że dotyczy nie tylko sterowników, ale i aplikacji pomiędzy różnymi dystrybucjami, a nawet wersjami dystrybucji.
Spróbuj uruchomić program w postaci binarnej sprzed kilku lat. Niezgodne wersje bibliotek systemowych i ciągłe ich zmiany to uniemożliwiają. Prawda, że zwykle są dostępne źródła, ale te się często nie chcą kompilować.

Windows - system goły, wszystkich aplikacji musimy szukać, ściągać, instalować. Na szczęście problemy z kompatybilnością są wyjątkiem, a nie regułą.
Linux - ogromne repozytorium aplikacji dla naszej dystrybucji, i w zasadzie na tym koniec. Gdy tylko chcemy czegoś spoza listy, wdeptujemy w bagno niezgodnych wersji, brakujących zależności, błędów kompilacji, itp.

Ale jeśli chodzi o producentów sprzętu, którzy może chcieliby nawet stworzyć sterownik pod linuksa - cóż, jest to im maksymalnie utrudniane.
Do tego stopnia, że z przyczyn ekonomicznych nie wchodzi w rachubę. ATI i Nvidia to nieliczne chlubne wyjątki, a i tak trwało to latami zanim firmy się zdecydowały wydać sterowniki. Stworzenie sterownika dla Linuksa jest po prostu BARDZO drogie.

0

Mówię tu o Linuksie jako guest, nigdy nie próbowałem instalować w nim vm jako host.

A ja mówię o linuksie jako host. Zawsze, ilekroć wyjdzie nowa wersja jądra jest problem ze skompilowaniem modułów vmware. Można kur**** dostać - najlepiej zostać przy konfiguracji i nie aktualizować jądra, przynajmniej przez kilka miesięcy po tym jak zostanie wydane. Ciekawsze, ze z virtualboxem takich problemów nie ma.

szkoda tylko że ta rekompilacja się nie dzieje automatycznie w ramach aktualizacji jądra.

Zainteresuj się dkms-em (chyba w ubuntu też jest). Możesz dodać wpis do konfiguracji dkms i rekompilacja będzie odbywała się automatycznie - po wywołaniu skryptów post-install przy aktualizacji jądra. Nawet ze sterami nvidia da się to zrobić, więc vmware pewnie też.

Stworzenie sterownika dla Linuksa jest po prostu BARDZO drogie.

Zgadzam się. I to nie dlatego, że jest to specjalnie trudne, albo trudniejsze niż dla Windows. Ale dlatego, że raz stworzony sterownik podziała bardzo krótko, zapewne do czasu wydania nowej wersji kernela.

1 użytkowników online, w tym zalogowanych: 0, gości: 1