Autor Wątek: Na jakich systemach prowadzicie development? Przypadek czy wybór?  (Przeczytany 8274 razy)

Offline .c41x

  • Użytkownik
    • homepage

# Grudzień 22, 2014, 19:58:44
W pracy aktualnie Win.
W domu Win do przeglądania internetu i słuchania / tworzenia muzyki + Debian do (prawie*) tego samego co Win + programowania.
Wg. mnie Linux to jedno wielkie IDE do programowania i dla mnie jest dużo wygodniejsze niż Win: instalowanie libek jedną komendą w konsoli i mogę używac, na samą myśl o ściąganiu i instalowaniu jakiegokolwiek third-party lib pod Win i konfigurowanie tego w VS odechciewa mi się. Aktualnie używam Emacsa + CMake, ale bywało różnie (NB, Eclipse), teraz jest od groma różnych IDE, które już są używalne (lub lepsze / stabilniejsze) w podobnym stopniu jak VS. Jeśli pisałem (w pracy czy dla siebie) coś webowego to tylko pod Linuxem - jeśli to nie ASP to nie wyobrażam sobie innej opcji - konfigurowanie serwera na Win to koszmar.

* poza softem, który nie działa na Linuxie, np. Ableon.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Grudzień 22, 2014, 20:11:12
Ja pracuję na Windows 7/8.1 i piszę w C++ w Visual Studio, zarówno w domu jak i w pracy.

Przypadek czy wybór? Może inaczej: po prostu tak potoczyła się moja nauka programowania. Chciałem pisać gry, nauczyłem się C++ i DirectX, więc Windows był naturalnym wyborem, a Visual Studio to bardzo dobre IDE. Gdybym w 2000 roku nie trafił na Warsztat, kto wie, może bym się zajął sieciami albo bezpieczeństwem i zostałbym użytkownikiem (a nawet miłośnikiem) Linuksa :)

Jaka wersja Windows? Moim zdaniem 7 jest bardzo dobry. 8.1 też daje się używać - po zainstalowaniu darmowego programu Classic Shell, który dodaje tradycyjne menu Start :) Natomiast nie widzę korzyści z aktualizacji - póki co wszystko działa i nic dla mnie ważnego nowej wersji systemu nie wymaga. Starego mam dlatego, że taki zainstalowałem po kupieniu komputera. Gdybym teraz instalował system od nowa, pewnie wybrałbym 8.1.

Offline bies

  • Użytkownik

  • +2
# Grudzień 22, 2014, 20:42:22
Linux (PLD jeśli to robi różnicę): od wielu lat prawie do wszystkiego. Dużo by pisać o tym dlaczego. I w gruncie rzeczy nie da się tego wyjaśnić pisząc. Mam tak różny zestaw narzędzi od typowego "desktopu" i tak różny workflow od typowego programisty na Windows, że bez dłuższej prezentacji opisać się tego nie da. Przykładowo dyski: RAID1 -> wolumeny LVM -> cache na SSD (LVM Cache) -> dm-crypt. Konfiguracja ta zapewnia mi snaphoty przy upgrade'ach i backupie, możliwość tworzenia nowych wolumenów ad-hoc, wydajność przez cache na SSD i szyfrowanie krytycznych danych. No i redundancję oczywiście. Nie kojarzę nawet jak to zrobić na nieserwerowych Windowsach bez specjalnego sprzętu.

Windows (różne wersje) w wirtualce (VBox): do tych paru rzeczy których Linux nie potrafi. Czyli natywny klient SAP-a i MS Office. Windows w maszynie wirtualnej jest naprawdę dobrym systemem -- zawsze mogę zrobić snapshot i cofnąć się w przypadku instalacji jakiegoś programu. Poza tym korpo VPN-y często mają polityki blokujące jakikolwiek ruch poza VPN. Więc blokują mi wirtualkę i są zadowolone a linuksowy host działa bez problemu.

Offline .:NOXY:.

  • Użytkownik
    • Profil

  • +1
# Grudzień 22, 2014, 22:00:44
U mnie OSX ale to tylko i wyłącznie z powodu rozpoczęcia pracy z iOS no i cenie sobie go na pewno za:

- iTerm
- Gita pod terminalem (no sorry ale graficzne rebase z upstream w interactive mode jest po prostu sadomasochistyczny)
- Instalacja i deinstalacja oprogramowania
- Wszystko wbudowane
- Co nie podepniesz po prostu działa
- Preview daje podgląd każdego formatu
- Pulpity
- xCode jest bardzo dobrym IDE nawet do pisania desktopowych appek
- Odkąd jest Intel i nVidia na pokładzie steam napuchną ilością gier na OSX
- cmd+shift+4 :)
- Screen recording z QuickTime
- Działa Unity
- Spotlight


Offline P@tyS

  • Użytkownik
    • Patys coding

  • +3
# Grudzień 22, 2014, 22:14:21
Obecnie wykorzystuję jedynie Linux.
Piszę głównie w C++, lecz również tworzę trochę sieciowo, głównie node.js i html5/css/javascript. Używam emacsa i make. Do html/nodejs wykorzystuje najczęściej https://c9.io/ albo geany. Jak muszę coś zrobić na windowsa to wine i code:blocks :D

Dlaczego?
Bo jak w miarę ogarniasz Linuxa to wszystko jakoś szybciej, wygodniej się robi. Wpiszesz pare poleceń i gotowe. W windowsie według mnie za dużo klikania. Dodatkowo kilka pulpitów, które są naprawdę pomocne.

Offline Xender

  • Użytkownik

# Grudzień 23, 2014, 10:11:35
Jak muszę coś zrobić na windowsa to wine i code:blocks :D
W sensie, że odpalasz C::B z MinGW pod Wine?
Nie prościej crosskompilować? "Tym drugim" MinGW, czyli Linuxowymi paczkami, które mają mingw w nazwie i zawierają Windowe libki/crosskompilator.

Dodatkowo kilka pulpitów, które są naprawdę pomocne.
U mnie kilka to obecnie 11. :P

Offline P@tyS

  • Użytkownik
    • Patys coding

  • +1
# Grudzień 23, 2014, 10:45:51
Cytuj
W sensie, że odpalasz C::B z MinGW pod Wine?
Dokładnie.

Szczerze to nie bardzo chciało mi się bawić i nawet nie wiedziałem, że są od razu windowsowe libki, trzeba ustawić target na windows? Nigdy nie bawiłem sie crosscompilatorami. Musiałem na szybko zrobić windows version i najprościej było zemulować kompilator, ide :)

Offline Xender

  • Użytkownik

# Grudzień 23, 2014, 12:39:05
Dokładnie.

Szczerze to nie bardzo chciało mi się bawić i nawet nie wiedziałem, że są od razu windowsowe libki, trzeba ustawić target na windows?
Nie bawiłem się w crosskompilację w IDE, więc o targetach nic nie wiem.
Używając prostego generatora Makefile*, robiłem po prostu
CXX=i686-w64-mingw32-g++ make

*Link do forka, z którego nie wszystko jeszcze zostało zupstreamowane.

zemulować
Wine Is Not an Emulator :P

Technicznie rzecz biorąc, to warstwa kompatybilności / implementacja WinAPI.
Emulatory przeważnie wykonują instrukcje jednego CPU programowo, działając na innym. Wine tego nie robi, tylko dostarcza funkcji, czyta format PE itp.

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Grudzień 23, 2014, 13:40:31
U mnie nie ma większego znaczenia na czym klepię kod, bo z założenia ma być on maksymalnie przenośny. Ale generalnie najczęściej piszę na: Scribble/GCC pod MorphOS i/lub Xcode pod OSX. Jak potrzebuję sprawdzić czy to co klepię kompiluje się też pod Windows to robię to w Code::Blocks (ale robię to raz w roku na laptopie żony). Generalnie to co robię działa na platformach: iOS, OSX, MorphOS, Windows (ten ostatni ma najniższy priorytet i chyba już z rok nie sprawdzałem). Tylko z powodu braku czasu nie wspieram: AmigaOS4, Linuxa i Androida. W ogóle wspierać mogę dowolną platformę dla której jest stary OpenGL 1.4 i najbardziej podstawowe C++ (bez unicode, wyjątków).

Dlaczego taki wybór? MorphOS dlatego, że od 24 lat jestem absolutnym fanbojem amigowych rozwiązań i od 11 lat on jest moją, używaną na codzień, Amigą. A dlaczego iOS/OSX? Bo to są platformy bardzo dobrze wspomagające MorphOSa, który z racji swojej skrajnej niszowości ma ogromne braki softwareowe. Poza tym iOS/OSX to jedyne platformy, które nie doprowadzają mnie do białej gorączki i na których czuję się naprawdę świetnie. Nie potrafię, bez zawału serca i rwania włosów z głowy, używać innych "mainstreamowych" platform, a fiozofia appplowa bardzo mi odpowiada. Dlaczego mi odpowiada nie napiszę, bo nie mam teraz wolnych dwóch godzin. :)
« Ostatnia zmiana: Grudzień 23, 2014, 13:43:50 wysłana przez MDW »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +3
# Grudzień 23, 2014, 14:08:51
Cytuj
Dlaczego taki wybór? MorphOS dlatego, że od 24 lat jestem absolutnym fanbojem amigowych rozwiązań i od 11 lat on jest moją, używaną na codzień, Amigą.
Tak niewieeeeelu naaaas zostałoooo... :)

Aczkolwiek z drugą połową owej znanej polskiej scenowej patriotycznej pieśni się osobiście nie zgadzam. :)

Cytuj
Poza tym iOS/OSX to jedyne platformy, które nie doprowadzają mnie do białej gorączki i na których czuję się naprawdę świetnie.
I podobny argument chyba każdy może napisać na temat tego, czego używa, bo z kolei ja mam takie same odczucia pod Windowsem. :) Podobnie jeżeli chodzi o kodowanie co się da w C++ i białą gorączkę na widok Pythona, pomimo że połowa znajomych ma dokładnie odwrotnie.

Podsumowując: na czym ktoś wyrósł, w tym zdobył doświadczenie i czuje się jak ryba w wodzie.

Offline Veldrin

  • Użytkownik

# Grudzień 24, 2014, 02:02:42
W pracy: Win 7 + Mac + Linux
Do badań: Win 7 (niestety Linux + CUDA nie oferuje tak dużo, jak Win + VS + NSight)
Do internetu: tablet z iOS ;)

Gusta gustami, dolary dolarami.

Offline LukeLi

  • Użytkownik
    • hex13.net - gry, aplikacje html5

# Grudzień 24, 2014, 10:44:27
Piszę głównie JavaScript oraz inne webowe rzeczy (głównie front, ale też backend w Pythonie i NodeJS). Przez kilka ostatnich lat pracowałem na Linuksie, ale wkurzał mnie on, więc przeszedłem na OSX, gdzie mam zgrubsza to samo co na Linuksie, tyle że... bez Linuksa (czyli: wszystko działa, nie trzeba kombinować, czytać godzinami logów). No i sam interfejs jest na OSX dużo bardziej dopracowany, bardziej wygodny, ergonomiczny, ma więcej ficzerów out-of-the-box, niż na środowiskach linuksowych. No i makowy touchpad z gestami multitouch jest świetny.

Plus to, że mam zamiar tworzyć gry na iOS, a tutaj posiadanie sprzętu Apple jest wskazane/wymagane.
 
Drugi plus, że mam do dyspozycji więcej programów. Mogę sobie Unity3D zainstalować, pakiet Adobe jak będę chciał - na Linuksie bym nie mógł o tym marzyć, chyba że przez sztuczki typu Wine.

Co prawda ideologicznie bardziej mi odpowiada wolnościowa filozofia Linuksa, niż zamknięta/monopolistyczna polityka firmy Apple, ale co zrobić, skoro pewne produkty są bardziej dopracowane, a pewne mniej. Pewne platformy są lepiej wspierane przez producentów oprogramowania, pewne traktowane po macoszemu.

Myślę jeszcze o zakupie Windowsów, chociaż bym je wtedy wykorzystywał w roli konsoli do gier, ewentualnie jako środowisko uruchomieniowe dla programu Visual Studio (bo może w przyszłości zacznę robić gry na Windows Phone, kto wie). Innych powodów instalacji Windowsów nie widzę.

Offline aphity

  • Użytkownik

  • +2
# Grudzień 24, 2014, 16:30:24
A u mnie jest tak:
Praca: Linux Fedora (+VM z Windows z powodu Outlooka - poczta firmowa na Exchange :( )
Dom - stacjonarka: Linux Fedora, Windows 8.1 (do pogrania, odpalany średnio raz na miesiąc)
Dom - laptop: OS X

Za najwygodniejszy do developmentu uważam Linux. OS X zajmuje drugie miejsce, głównie z uwagi na wciąż włażące w drogę bebechy z BSD (plus niektóre pomysły Apple'a których nie lubię, jak XCode). Na Windows nie jestem wręcz w stanie wyobrazić sobie wydajnej pracy - zbyt przywykłem do wszelkich uniksowych wygód, jak: wygodne terminale, menedżery paczek, oraz możliwość  oskryptowywania niemal wszystkiego.

Wybór czy przypadek? Zaczynałem, jak chyba całe "pokolenie '90" pod DOSem i Windowsem. Gdzieś w połowie lat 2000 zainstalowałem Linuksa, i od tego czasu stopniowo zmigrowałem ze wszystkimi zastosowaniami komputera na ten właśnie system - co wyraźnie wskazuje na "wybór". Oczywiście wymagało to pewnej zmiany nawyków (bolesny był choćby brak VS, którego edycję '08 wciąż cenię za najlepsze uzupełnianie kodu C++ oraz debugger tego języka, jakie dotąd widziałem), jednak sumaryczny bilans wyszedł na duży plus.

OS X kupiłem w 2011, przez dwa lata był to mój jedyny system (pracowałem w domu) - ale ostatecznie Linux powrócił jako główne narzędzie (pracy i nie tylko). OS X to bardzo dobry system, ale po czasie okazuje się zbyt sztywny - zrobienie czegoś o czym Apple nie pomyślało, wymaga często przesadnej gimnastyki (lub zakupu softu w stylu Bartender, który rozwiązuje oczywisty, przeoczony (od >3 lat???) przez Apple, problem za jedyne $15 (cóż zrobić... kupiłem)).

Przykładowo dyski: RAID1 -> wolumeny LVM -> cache na SSD (LVM Cache) -> dm-crypt.
Ciekawe, stosuję prawie identyczne rozwiązanie - z tą różnicą że keszuję poprzez bcache bezpośrednio ponad RAIDem (za cache robi partycja 50GB na SSD). Jak jest z wydajnością LVM cache na SSD?

Offline laggyluk

  • Użytkownik
    • http://laggyluk.com

# Grudzień 25, 2014, 00:54:22
zagadką jest dla mnie co tak oskryptowujecie i wpisujecie w terminal że wam magicznie przyśpiesza development jako że sam używam cudzych silników do pisania gier które zazwyczaj mają one click deployment :P

Offline bies

  • Użytkownik

  • +2
# Grudzień 25, 2014, 01:39:28
Ciekawe, stosuję prawie identyczne rozwiązanie - z tą różnicą że keszuję poprzez bcache bezpośrednio ponad RAIDem (za cache robi partycja 50GB na SSD). Jak jest z wydajnością LVM cache na SSD?
Miałem bcache do niedawna i wydaję mi się (bez większych benchmarków) że bcache jest szybszy (niedużo ale jednak). Poza tym lvm cache musi się "rozgrzać" -- czy na starcie systemu mam jakieś 30 sekund mocnej pracy dysków. Ale to co mnie przekonało do lvm cache to: a) development bcache jest dość dziwny, w praktyce jest to jeden człowiek który czasami "znika" na jakiś czas. b) Działa na poziomie lvm -- dopięcie i odpięcie cache można wykonać bez modyfikacji wolumenu (w przypadku bcache trzeba de facto skopiować dane).

Wadą lvm cache jest natomiast to, że każdy wolumen musi mieć osobne wolumen cache'u. W przypadku bcache jedno urządzenie cache (w moim przypadku dysk 120GB) mógł cache'ować wiele wolumenów danych. W lvm cache muszę podzielić dysk na osobne wolumeny cache'u.

Oczywiście obydwa mechanizmy tylko w trybie writethrough, używanie writeback de facto wyłączałoby RAID pod spodem.