Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

cz.4| Jak to jest być deweloperem aplikacji wieloplatformowej - Deweloper vs Windows

Witam.

Niniejszym wpisem kończę serię o przenoszeniu aplikacji napisanych w Pythonie na Windowsa.

Podsumowanie i krótki komentarz

Dłużej zajęło mi przygotowywanie wersji dla Windows razem z paczkowaniem i tworzeniem instalatora niż pisanie oryginalnej wersji dla Linuksa.

Narzędzia pod Windows, wszystkie te błędy kosztowały mnie dużo nerwów i sporo czasu szukania rozwiązań w Google do późnej nocy.

Pisanie aplikacji w Pythonie dla Linuksa i zapewne dla innych Uniksów także jest to dla mnie po prostu bajecznie proste i wygodne. Wszystko jest tak logiczne i łatwe, bo w zasadzie w Uniksach panuje zasada KISS - "Nie komplikuj głupku." i wszyscy deweloperzy się tej zasady trzymają.

Myślę, że dobrym przykładem komplikowania byłby Microsoft OpenXML.

Fragment listingu XML użytego w OpenOffice:

<text:p text:style-name="P1"><text:span text:style-name="T1">To jest zwykły tekst.</text:span></text:p><text:p text:style-name="P2"><text:span text:style-name="T1">A to jest tekst pogrubiony.</text:span></text:p>

Fragment listingu OpenXML użytego w Microsoft Office:

<w:r><w:rPr></w:rPr><w:t>To jest zwykły tekst.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="style0"/></w:pPr><w:r><w:rPr><w:b/><w:bCs/></w:rPr><w:t>A to jest tekst pogrubiony.</w:t></w:r>

Czy Wy jako deweloperzy rozumiecie co oznacza pPr albo bCs czy po prostu w:p? Nie brzmi to zbyt skomplikowanie?

Jeżeli ktoś z Was - czytelników pisze aplikacje w Pythonie to odradzam przenoszenia ich na Windows, a jak trzeba to tylko w ostateczności :-)

Słowami podsumowującymi zakończę serię - Linux/Unix to platforma-raj dla deweloperów, przynajmniej takie jest moje zdanie.

// Edytowałem zakończenie aby zredukować ilość flamewaru, przepraszam wcześniej za czerwony kolorek. 

Komentarze

0 nowych
Ryan   15 #1 13.07.2011 14:08

Facepalm tramwajem. Zamiast wniosków "pierwszy raz pisałem na tę platformę i było to dla mnie nowe doświadczenie" wypluwasz "pod Windows się niewygodnie programuje". Twój kod ma tak samo bezbłędną logikę jak ta seria tekstów?

Quest-88   15 #2 13.07.2011 14:17

Uwaga! Czarny, egzotyczny kot rzucił się do pożarcia małej, młodej antylopy!

A mnie zastanawia dlaczego ten tekst jest w czterech częściach?

GL1zdA   12 #3 13.07.2011 14:34

"Czy Wy jako deweloperzy rozumiecie co oznacza pPr albo bCs czy po prostu w:p? Nie brzmi to zbyt skomplikowanie?"
Pierwsze zdanie z wikipedii: "Extensible Markup Language (XML) is a set of rules for encoding documents in machine-readable form"
Zwracam uwagę na machine-readable. Nikt normalny nie czyta dokumentów edytora tekstów w postaci XMLa.

Triniti888   5 #4 13.07.2011 14:40

"Dłużej zajęło mi przygotowywanie wersji dla Windows razem z paczkowaniem i tworzeniem instalatora niż pisanie oryginalnej wersji dla Linuksa."

Mogłeś napisać od zera.

Jak pierwszy raz przenosisz kod na inną platformę i pierwszy raz piszesz dla daną platformę to zawsze jest ciężko.

"Słowami podsumowującymi zakończę serię - Linux/Unix to platforma-raj dla deweloperów."

To czemuż jest tak mało dobrego softu na ów grupy systemowe.

pisarzksiazkowicz   7 #5 13.07.2011 14:41

@Ryan,
Po prostu jest szczery. Jest wkurzony, bo zmarnował kilka dni na zrobienie wersji pod Windows. Jako redaktor, powinieneś chyba to rozumieć, że na jego miejscu nie napisałbyś - "och, jakie to było miłe doświadczenie powyrywać sobie wszystkie włosy z głowy i o mało nie wyrzucić komputera na śmietnik, by przeportować swoją aplikację! Wszystkim naprawdę polecam, bo jest to genialne".

pisarzksiazkowicz   7 #6 13.07.2011 14:43

@Triniti888,
Bo "nie opłaca się" nikomu tworzyć oprogramowania na tak niepopularną platformę. Czyż to nie oczywiste?

Winters4TW   6 #7 13.07.2011 14:48

@Triniti888
mało? Jak na tak mały udział Linuksa na desktopach jest bardzo dużo oprogramowania.

StawikPiast   11 #8 13.07.2011 15:01

@pisarzksiazkowicz

Sorry, ale jak ktos sie na robocie nie zna to mu wszystko przeszkadza. jakbym ja musial moje aplikacje przeniesc na unixa to rownie mocno bym psioczyl, tyle ze nie na unixa a na moja niewiedze. webnull-owi po prostu brak wiedzy a zwala to na Windows. Niech sie wezmie za nauke to bedzie to mu wszystko sprawnie dzialac.

  #9 13.07.2011 15:01

@webnull
Paradoksalnie, zamiast zachęcać, zniechęcasz do FOSS.
Najpierw ta historia z klawiszem windows. Teraz w potoku blogspamu niby coś o programowaniu, ale co trzecie zdanie wyziera potrzeba dokopania M$.
Na emocjach negatywnych można co-nieco ugrać, ale tylko w krótszej perspektywie, a i to tylko w branży politycznej.

StawikPiast   11 #10 13.07.2011 15:04

@RaveStar

Co do programowania na Unixie to sie nie wypowiadam bo nie mam doswiadczenia, ale na windows programuje mi sie bardzo dobrze. Mocno kozystam z MSDN i jest jak dla mnie bardzo pomocny (zwlaszcza przyklady). Visual Studio z c# to jak dla mnie po prostu raj i bajka. Po prostu siadam i pisze to co chce. W google tez bardzo duzo niezlych przykladow i tutoriali, wiec nie narzekam.

  #11 13.07.2011 15:04

I to pokazuje o ile linux jest prostszym systemem od Windowsa. Katalogi logicznie poukładane i ta unixowa zasada "wszystko jest plikiem", dzięki której nie trzeba grzebać w rejestrze.

GL1zdA   12 #12 13.07.2011 15:06

@delusion
Co jest nielogicznego w strukturze katalogów Windows? A rejestr tylko jest dowodem na to, że MS potrafił ułatwić życie użytkownikom, którym nikt nie karze edytować plików z konfiguracją.

GL1zdA   12 #13 13.07.2011 15:07

miało być "każe" oczywiście

  #14 13.07.2011 15:13

@GL1zdA
Kiedy korzystałem z Windowsa, żeby skonfigurować wiele rzeczy musiałem to zrobić w rejestrze i żeby wiedzieć co gdzie w nim zmienić musiałem to sobie wygooglać, a tymczasem w Linuksie wchodzę do katalogu /etc i mogę sobie wszystko sobie skonfigurować bez wpisywania niczego do Google, bo nazwy folderów/plików mówiął o sobie wystarczająco dużo. No i chyba nie powiesz mi, że w Windowsie katalogi są logiczniej poukładane niż w linuksie. Cytat z pierwszej części tej serii wpisów:
"/usr/bin - pliki wykonywalne (binarne lub skryptowe)
/usr/lib - biblioteki, wtyczki i wszystko co się ładuje dynamicznie
/usr/share - obrazki, ikony, dokumentacje, tłumaczenia itp.
/etc - pliki konfiguracyjne które są obejmowane ochroną nadpisania podczas aktualizacji systemu, istnieją specjalne narzędzia aby je aktualizować bez żadnych strat
$HOME - katalog domowy użytkownika, można w nim zapisać spersonalizowaną konfigurację programu dla danego użytkownika
/tmp - katalog tymczasowy, przykładowo program archiwizujący dane może tam tworzyć archiwum a następnie je przenieść do katalogu wybranego przez użytkownika"

Ryan   15 #15 13.07.2011 15:17

@pisarzksiazkowicz: Jest gigantyczna różnica między pisaniem czegoś po raz kolejny z użyciem konkretnego języka, API, platformy, systemu, a robieniem tego po raz enty. To stąd wynikają problemy webnulla, nie z jakości platformy. Droga jaką przeszedł jest ciekawa, ale wnioski kompletnie z biodra.

@RaveStar: Och, to jak Ty potwierdzasz, to musi być prawda! W końcu jeśli Tobie wygodniej czyta się many niż MSDN, to każdemu musi. Przyzwyczajenie nie ma znaczenia, to obiektywna prawda. Twoja, więc jedyna. Teraz wszystko rozumiem.

molexor   7 #16 13.07.2011 15:19

Jakis wiekszy flame się szykuje.
W brew pozorom oba systemy mają swoje plusy dla programistów - w przypadku windowsa są to super środowiska od microsoftu i w miarę stabilna baza systemu.
W linuksie jest za to logiczniejsze zarządzanie oprogramowaniem, co daje developerom łatwość w określaniu zależności, dobrze ułożone nie tylko pliki i katalogi podstawowe, ale także paczki lib i katalogi includes.
Jak ktoś używa jednego , to ciężko jest mu się przesiąść, ja w tej chwili juz nawet nie potrafiłbym używać windowsa, chociaż próbowałem wrócić.

molexor   7 #17 13.07.2011 15:21

@Ryan ty tak specjalnie podkecasz atmosfere? :P

GL1zdA   12 #18 13.07.2011 15:23

@delusion
Ja jakoś nie muszę konfigurować nic w rejestrze, podobnie tysiące innych użytkowników. Napisz może, co takiego ważnego tam zmieniałeś.

I co z tymi katalogami? Gdzie jest ten brak logiki w Windows?
%PROGRAMFILES% - programy
%WINDIR%\system32\ - biblioteki
%HOMEPATH% - katalog domowy
%TEMP% - katalog tymcasowy

  #19 13.07.2011 15:33

Choćby przyspieszanie systemu (skrócenie czasu oczekiwania na zamknięcie programów przy wyłączaniu systemu, przyspieszenie pojawiania się kontekstowego menu, pszyspieszanie podglądu miniatur, przyspieszanie restartu komputera, etc.). I wszystko to musiałem robić według jakichś poradników, bo nie jest zbyt intuicyjny.

  #20 13.07.2011 15:35

"bo nie jest zbyt intuicyjny." Oczywiście chodziło mi o rejestr.

djfoxer   18 #21 13.07.2011 15:41

@delusion
Spaliłeś koleś :P Do tych rzeczy jest tysiące małych darmowych aplikacji, które zrobią to za pomocą jednego kliknięcia.

@RaveStar
Dokumentacja MSDN jest jedną z lepszych. Chyba tam nigdy nie zaglądałeś. No, ale ok. Masz szanse. Podaj przykład podobnych obiektów w dokumentacji Qt vs MSDN.

@webnull
Na linuxie znasz się super. W Windowsie powiedzmy "słabiej". Piszesz na blogu o tym pierwszym i rób to dalej, nie siej zamętu.

GL1zdA   12 #22 13.07.2011 15:43

@delusion
Bo to nie są rzeczy, do których zwykły użytkownik powinien mieć dostęp. Każdą z nich można więcej napsuć niż mieć pożytku, dlatego nie są one normalnie dostępne. Kiedyś było do tego TweakUI, ale MS zrezygnował z jego udostępniania ze względu na ilości zgłoszeń błędów, które powodowały zmiany tych ustawień.

GL1zdA   12 #23 13.07.2011 15:44

@RaveStar
Chociażby User State Migration Tool. Akurat jeśli chodzi o automatyzację takich zadań Windows zawsze przodował.

Ryan   15 #24 13.07.2011 15:54

@RaveStar: Nie wiem co konkretnie czytasz, ale w bardzo wielu przypadkach właściwy funkcji temat posiada przykład użycia (lub link do takowego). Możesz w chwilę napisać kawałek działającego w domyślny sposób kodu lub (klikając głębiej w dokumentacji) coś dostosować do własnych potrzeb. Jakoś nie spotkałem się z narzekaniem, że Linux jest nieczytelny, bo można sobie zbyt wiele rzeczy dostosować. Nagle jest to problem programowania pod Windows. Ciekawa sprawa.

I jasne, cześć rzeczy jest zbyt skomplikowana dla prostych przypadków (np. otwieranie plików w WinApi). Tyle że w momencie, w którym potrzebujesz czegoś więcej niż "otwórz do odczytu" i zależy Ci na odpowiednim dzieleniu dostępu lub np. asynchronicznym odczycie, okazuje się że ta sama funkcja, którą otworzyłeś uchwyt do pliku, pozwala Ci na zrobienie właśnie tego przez zmianę parametru. Nie musisz czytać dokumentacji fcntl i zastanawiać się, czy lock na pliku trzeba ręcznie usunąć (i jakie będą konsekwencje, jeśli się locka nie zdejmie). Wołasz CloseHandle i blokady są zwalniane.

Przykładów tego typu różnic, działających na korzyść/niekorzyść dowolnej platformy można znaleźć dziesiątki. Dyskusja z Tobą o programowaniu, na podstawie tego jaką dokumentację Ci się fajniej czyta nie ma sensu. Dokumentacja odzwierciedla (w idealnym świecie, nie zawsze tak jest) sposób pisania kodu na danej platformie. Dyskutowanie o dokumentacji z kimś, kto dużo kodu nie pisze będzie całkowicie bezowocne.

Programuję dłużej, niż webnull ma lat, a mój kod oceniany jest przez innych mniej więcej od momentu, w którym webnull zaczął mówić. Jasne, jakieś 10 lat temu byłem nieomylny jeszcze bardziej niż webnull. Przekonałem wtedy swoją butą doktora uniwersyteckiego, żeby inwestował w pisanie w Pascalu, bo C obsysa. Przestałem być tak zarozumiały, kiedy zacząłem pracować z ludźmi o kilka rzędów ode mnie bystrzejszymi, z kilkudziesięcioma latami doświadczenia w pisaniu produkcyjnego kodu. Krytykuję go nie na bazie jakichś fiździ-piździ doświadczeń z dokumentacją, a na bazie sporego kawałka wyrzeźbionego w życiu kodu. Lojalnie wobec tego przestrzegam, żeby nie pisać na tematy, z których się nie wie (dzięki doświadczeniu) jak mało się wie.

  #25 13.07.2011 16:02

Z mojego punktu widzenia, to z tej dyskusji w komentarzach wyszło tylko jedno: wybór systemu (Windows vs Linux) to jedynie kwestia gustu i priorytetów. Oba systemy posiadają wady i zalety. W moim przypadku najważniejsza jest szybkość oraz możliwości konfiguracji i nie boję się konsoli, więc wybrałem linuksa.

webnull   9 #26 13.07.2011 16:06

Miałem nadzieję, że ktoś z doświadczonych programistów Pythona pod Windows będzie mi w stanie podać lepsze rozwiązania no i się nie zawiodłem ;-)

Wybaczcie zbyt stronniczo napisany tekst, po prostu zmarnowałem zbyt dużo czasu ucząc się pisać pod drugą platformę, to spowodowało, że jestem nieco zirytowany :-)

webnull   9 #27 13.07.2011 16:08

@pisarzksiazkowicz | 13.07.2011 14:41
pisarzksiazkowicz++

Dokładnie, jestem szczery i wkurzony bo straciłem te kilka dni na przeszukiwaniu sieci choć rozwiązania były proste to o wielu nie miałem pojęcia bo to... Windows którego na tyle dobrze nie znam :-)

webnull   9 #28 13.07.2011 16:10

@Triniti888 | 13.07.2011 14:40
"To czemuż jest tak mało dobrego softu na ów grupy systemowe."

Według mnie używalnego oprogramowania jest wystarczająco dużo aby móc używać Linuksa na co dzień do bardzo wielu zastosowań.

"Jak pierwszy raz przenosisz kod na inną platformę i pierwszy raz piszesz dla daną platformę to zawsze jest ciężko. "

Owszem, ten pierwszy raz był bardzo ciężki.

djfoxer   18 #29 13.07.2011 16:23

Za pierwszym razem zawsze jest ciężko :P :D

GL1zdA   12 #30 13.07.2011 16:45

@RaveStar
"Obecnie stawia się na HTML5+JS,C/C++ i to jest trend długoterminowy. Reszta to wynalazki"

TIOBE ma na ten temat inne zdanie
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Ryan   15 #31 13.07.2011 17:24

@RaveStar: Czytanie ze zrozumieniem boli, prawda? Napisałem, że 10 lat temu przestałem uważać się za najmądrzejszego na świecie. To, ile piszę, zawarte jest w innej części tekstu. W ramach ćwiczenia polecam odszukanie odpowiedniego fragmentu i zinterpretowanie go. Twój wywód o Pascalu to kolejny facepalm, bo absolutnie nie zrozumiałeś przekazu. Mógłbym uznać, że to moja wina i nie da się mnie zrozumieć, gdyby nie to, że pisałem o błędach młodości. I wiem, że dyskusja nie ma sensu. Na własne nieszczęście moderuję komentarze na tym portalu i dane mi było zapoznać się z Twoim zdaniem oraz poziomem merytorycznym Twoich wypowiedzi dotyczących programowania i technologii wytwarzania softu.

przemek1234   7 #32 13.07.2011 18:15

"Linux/Unix to platforma-raj dla deweloperów."
Dla mnie rajem dla deweloperów jest platforma .NET ze środowiskiem Visual Studio. Graficzne budowanie interfejsu, język C# o bardzo wygodnej i logicznej składni bardzo inteligentne podpowiadanie kodu, bardzo dobra automatyka (np. klikasz dwukrotnie na wstawiony przycisk, a VS tworzy nową metodę, przypisuje ją do eventu Click i przenosi kursor tekstowy do twej metody), dedykowany system paczkowania i dostarczania aktualizacji z automatycznie rosnącym numerkiem po każdym paczkowaniu. Nie mówiąc, że aplikacje stworzone w .NET bez problemu uruchamiają się pod Linuksem z zainstalowanym Mono o ile tylko nie imporotwaliśmy natywnych (nie.NET'owych) .dll'ek.

  #33 13.07.2011 20:43

@wszyscy
Jeden lubi truskawki, drugi jak mu nogi śmierdzą.
Każdy deweloper ma swój raj dla deweloperów i nie ma co tu dowodzić czyj raj jest najrajszy :P

matzu   5 #34 13.07.2011 21:03

@przemek1234
"Nie mówiąc, że aplikacje stworzone w .NET bez problemu uruchamiają się pod Linuksem z zainstalowanym Mono o ile tylko nie imporotwaliśmy natywnych (nie.NET'owych) .dll'ek."
A to ciekawe. Ja napotykałem problemy nawet w sytuacji, gdy projekt zawierał tylko standardowe biblioteki .NET Framework. Możesz się podzielić swoim sposobem? Ja w przypadku projektów stworzonych przy użyciu Visual Studio robię tak, że otwieram je w MonoDevelop i poprawiam ewentualne komunikaty błędów wyrzucone w trakcie build-a (wiem wiem, mało elastyczne rozwiązanie). Ostatnio w sumie czytałem o najprawdopodobniej lepszym sposobie, tj. narzędziu MoMA (http://mono-project.com/MoMA), ale jeszcze nie miałem okazji z tego korzystać. I w sumie niezbyt mi się do tego spieszy, bo sami twórcy tego narzędzia piszą na głównej stronie "MoMA may fail to point out areas that will cause problems, and may point out areas which will not actually be an issue.".

  #35 13.07.2011 21:20

"Linux/Unix to platforma-raj dla deweloperów" - Bzdura. Raj dla deweloperów istnieje tylko w wyobraźni i przyzwyczajeniach. Zarówno Linux, Windows i wszystkie inne platformy mają wady, co uniemożliwia do nazwania ich rajem. Raj nie ma wad. Jednak uprzedzenia i przyzwyczajenia robią swoje. Choć dla większości to Windows jest najlepszą platformą. Czemu? Bo chcą zarobić. Darmowa aplikacja w której są reklamy też przynosi dochód.
Przyzwyczajenie. Największy wróg zmian. Choć niektóre rzeczy to nie tylko przyzwyczajenie. Ja Maców nie będę użytkować z powodu ogólnego wrażenia systemu. No i ceny. Tak jestem biednym głupim hejterem który chce się wyżyć na Macach bo są za drogie. A tak na serio lubię pograć na PC, więc Linuks pomimo że przyjemny w obsłudze to zostaje na Windzie.

Ryan   15 #36 13.07.2011 21:29

@RaveStar: Po pierwsze - nie jesteśmy kolegami. Po drugie - to, że jestem przekonany, że mam więcej od Ciebie doświadczenia, nie wpływa na moją ocenę (z braku lepszego słowa) rzeczywistości. A jest ona taka, że w polskojęzycznej części Internetu udzielają się setki ludzi o niebo bardziej ode mnie doświadczonych. Kiedy z nimi dyskutuję, jestem pokorny jak zbity spaniel. Ty się do tej grupy nie zaliczasz.

I proszę, czytaj ze zrozumieniem. Pisząc o latach spędzonych z kodem odnosiłem się do tekstów webnulla. Jaśniej już nie potrafię (mam pewne ograniczenia). Jeśli jednak chcesz się licytować - programuję dłużej od Ciebie, bo przeszło 20 lat. I nie zależy mi na przekonywaniu Ciebie. Serio.

underface   14 #37 14.07.2011 00:57

webnull napisałeś "Nie komplikuj głupku." i wszyscy deweloperzy się tej zasady trzymają.
czyli z tego ze sam sobie skomplikowałeś projekt mam rozumieć że nie jesteś developerem czy też to ze jesteś ...?

NRN   9 #38 14.07.2011 01:57

@underface, webnull:
KISS - Keep It Simple, Stupid
nie tłumaczy się na "nie komplikuj głupku" - to tłumaczenie dosłowne z angielskiego. Istniej polski odpowiednik:
BUZI - Bez Udziwnień Zapisuj, Idioto
Ale to tak gwoli wtrącenia :P

@Ryan, skoro już wtrącam - Ty w ogóle czytasz maile / PW? :P Bo tak jakoś głucho z reakcją z Twojej strony ^^'

@RaveStar, ja nie wiem po co Ci ta licytacja, skoro nawet nie było tam słowa porównania z Tobą, a z webnullem. Zresztą, nie rozumiem Twojego podejścia, ale cóż, może jestem jakiś inny. No i w ogóle, weź Ty mi powiedz, co ma termin "olśnienia" z młodzieńczej zarozumiałości, do terminu rozpoczęcia zabawy w programowanie, co? Czytać potrafimy, nie? Liczyć też. ;)

@delusion, święte słowa. Tego bym się trzymał ;)

webnull   9 #39 14.07.2011 10:09

@underface | 14.07.2011 0:57
W Linuksie trzymam się zasady KISS, ale w Windowsie ona nie obowiązuje a poza tym nie znam na tyle dobrze środowiska windowsowego aby wprowadzić taką zasadę również w nim.

  #40 14.07.2011 10:33

Linux/Unix to platforma-raj dla deweloperów. - równie dobrze mogłeś podsumować: 'Nie potrafię pisać pod Windows'...

Ryan   15 #41 14.07.2011 12:54

@NRN: Nie wiem o czym mówisz. ;P

NRN   9 #42 14.07.2011 14:47

@Ryan, nie dobijaj mnie ;P Orange'a mi na główną wbiłeś, po czym zdjąłeś, chciałem po prostu wiedzieć co się stało :P

@RaveStar, czy Ryan aż tak Ci wszedł na ambicje? :P Dziwnie to wygląda, wiesz? :P Z drugiej strony, nie rozumiem tej "pyskówki". "Ja pracuję dłużej", "Nie, bo ja!".

Ta seria webnulla nie była wcale merytorycznie zła, ale z punktu widzenia "podejścia autora do tematu" jest straszna. No ale to tak jakby dać komuś komputer Acer'a z identycznymi parametrami co Toshiba stojąca obok - narzekałby na tego Acer'a, mimo, że wcale nie byłby gorszy :P Jak Wy to nazwaliście w moim poprzednim wpisie? Jakoś tak na "p"... :P

NRN   9 #43 14.07.2011 14:48

jego stojąca obok* <-- zeżarłem wyraz

kaz12   3 #44 14.07.2011 15:27

a jak subget nie działa tak nie działa skoda

McDracullo   17 #45 14.07.2011 16:29

Masakra - ten wpis ma nie więcej niż 15 zdjęć. Nie można było całej serii umieścić w jednym wpisie?! Oczywiście, że nie, bo jak ktoś leci na ilość a nie na jakość to nie zwróci na to uwagi.

Nie gniewaj się webnull - ale moje wpisy komentujesz jako zbyt długie... jak ktoś nie lubi czytać to niech nie zabiera się tym bardziej za pisanie.

McDracullo   17 #46 14.07.2011 18:03

15 zdań* - sory mój błąd ;)

  #47 14.07.2011 19:26

Co do rankingu TIOBE - uderzyła mnie ogromna popularność BASIC-a i Visual Basica, i to sprzed wersji .NET!!! (.NET jest na 29. miejscu dopiero). Tym bardziej, że od tych dwóch języków zaczynałem programowanie, później je praktycznie porzuciłem, myśląc, że ich czas definitywnie minął. A tu proszę - niespodzianka. Natomiast Objective C... Zaskoczenie jakich mało. Jeszcze nideawno wydawało mi się, że to tylko taka efemeryda, a gdzie tam - szok. Któryś ambitny bloger mógłby przybliżyć nieco ten język, co w nim takiego zarąbistego :).

  #48 14.07.2011 19:27

@webnull urzekła mnie twoja historia...
@RaveStar ale ty ciężko kapujący jesteś...Ktoś do ciebie o niebie a ty mu o chlebie,jak widać jeszcze jedno trzeba ci wytłumaczyć:
http://pl.wikipedia.org/wiki/Pokora
"Linux/Unix to platforma-raj dla deweloperów"
To oczywiście tylko i wyłącznie twoje zdanie ?,czy może to zdanie całego dev świata ?

przemo_li   11 #49 14.07.2011 19:31

Flamewar, flamewar, flamewar.

Kto ma benzynę???

Ok ja podleję.....

To Mac OSX jest najlepszy dla developera!! Bo w Rails najłatwiej się tworzy pod tym właśnie systemem ;P

A tak na serio. Webnull dotkną bardzo ważnej kwestii, mianowicie filozofii programowania, pod obydwoma systemami. Nawet języki jak Python nie są w stanie zniwelować całkowicie takich różnic w takich aspektach jak:
kontrola wersji
pakowanie, i przygotowywanie instalatora
zewnętrzne aplikacje i zabawa z nimi, etc.

Ryan   15 #50 14.07.2011 20:26

@RaveStar: To, czy ktoś zbił fortunę nie ma żadnego znaczenia, jeśli ocenia się to, co potrafi. Gdybym wydał książkę z jednym tylko słowem, może byłbym bogaty (awangardowa lektura, każdy powinien mieć!) ale ciężko byłoby chwalić, lub w ogóle oceniać mój warsztat pisarski.

To, co wypisujesz na temat MSDN, to jakieś koszmarne farmazony. Brak informacji o zwracanej wartości? Gdzie? W czym? Korzystam z MSDN od lat i nie spotkałem się z takim przypadkiem. Niech nawet będą takie strony dwie. Ok, dziesięć, daję Ci dziesięć. To wciąż struktura hipertekstowa, którą eksploruje się szybciej, niż many. Gdyby hipertekst był taki słaby, w sieci czytalibyśmy pliki txt. A nie czytamy i jest ku temu powód.

To co piszesz o moim statusie w redakcji to jakiś kosmos. Co to ma do rzeczy? O_o

djfoxer   18 #51 15.07.2011 09:17

@RaveStar
Podałeś link do projektu poświęconego tylko usb. MSDN jest jednym ogromnym zbiorem do .NET. Podaj link do takiego zbioru gdzie będą wszystkie możliwe struktury dla Twojego języka prog. Równie dobrze można znaleźć oddzielny projekt dla USB pod .NET, gdzie w 5min pokażą Ci jak coś zrobić. Zagubiłeś się w tym szukaniu dziury na siłę. Odpocznij. Pozdrawiam.

djfoxer   18 #52 15.07.2011 10:55

@RaveStar
Trochę pokory,też Ci wyjdzie na dobre. Z twoich tekstów wynika, że nie jesteś jakimś dzieciakiem, ale po co takie teksty. Konkretnie coś odpisz, a nie smarujesz na lewo i prawo. Mam nadzieje, że ci ulżyło.

webnull   9 #53 15.07.2011 11:09

@RaveStar
Może chodzi Ci o to, że deweloperzy Uniksowi bardziej przykładają się do pracy na rzecz społeczności tworząc więcej gotowych przykładów i dokumentacji w ramach hobby?

To może być prawdą, że deweloperzy piszący pod MS Windows raczej mniej przykładają się do pracy jako społeczność jako, że nie widzą w tym zysku.

djfoxer   18 #54 15.07.2011 11:23

@webnull
Dlaczego tak sądzisz? Jak to porównałeś? :)

Ryan   15 #55 15.07.2011 11:36

@webnull: Huh? Masa dobrego, OSSowego softu ma fatalną dokumentację.

@RaveStar: Używasz libusb albo SharpUsbLib (zależy od języka) i po kłopocie. Wciąż czekam na tą dokumentację, która nie informuje jakie wartości są zwracane z funkcji.

webnull   9 #56 15.07.2011 11:39

@Ryan (redakcja) | 15.07.2011 11:36
Jakieś dowody? Jak zawsze żadnych.

@djfoxer | 15.07.2011 11:23
Nie od dzisiaj wiadomo, że pod Windows powstaje 90% oprogramowania komercyjnego.

djfoxer   18 #57 15.07.2011 12:12

@webnull
I to jest zarzut? :P To chyba dobrze, że ktoś dzięki swojej ciężkiej pracy zarabia na życie. Jeść musisz :P

Nie możesz powiedzieć, że "deweloperzy piszący pod MS Windows raczej mniej przykładają się do pracy jako społeczność" skoro nie jesteś "deweloperem piszący pod MS Windows" :) Będąc po drugiej stronie barykady nie jesteś zupełnie obiektywny :)

  #58 15.07.2011 12:45

@webnull
"Nie od dzisiaj wiadomo, że pod Windows powstaje 90% oprogramowania komercyjnego."

Bo to jest platforma która pozwala zarobić na życie.

Ryan   15 #59 15.07.2011 14:40

@webnull: Znajdź mi dokumentację DOSBoksa, proszę. Nawet komentarzy w kodzie jak na lekarstwo. Dwa inne, ciekawe projekty w których uczestniczyłem - DC i eMule - też cierpiały na brak sensownej dokumentacji kodu. W przypadku tego ostatniego projektu przynajmniej można się wiele dowiedzieć od deweloperów klonów.

  #60 16.07.2011 07:50

@RaveStar ale ty tu(na dp) kolego ;) niczym nie zabłysnąłeś,nie wiem wieć skąd u ciebie tak wysoka somoocena...co innego webnull skrobnął paę wpisów na bloga to i może czuć się prze kozokiem lol

przemo_li   11 #61 16.07.2011 11:30

@Ryan @webnull

Tak, cała masa dobrego softu ma złą dokumentację. Szczególnie taką dla użytkownika. (czy to opis API jakiejś biblioteki, czy podręcznik użytkownika edytora multimediów).

Za to w kodzie im mniej komentarzy tym lepiej. Bo i kod czytelniejszy, wyjątkami powinny być kawałki kodu pisane pod jakieś specyfikacje, wzory matematyczne, czy emulujące jakiś inny soft.

Ale i tak znajdzie się masa źle udokumentowanego kodu.

Ryan   15 #62 16.07.2011 14:27

Im mniej komentarzy tym lepiej? O____o Nie, żeby przeciwne zdanie było prawdziwe, ale im więcej *wartościowych* komentarzy, tym lepiej. Zerknij do src\cpu\core_dynrec w DOSBox i powiedz z czystym sumieniem, że brak komentarzy wpływa pozytywnie na zrozumienie tego kawałka kodu.

Ryan   15 #63 16.07.2011 14:36

@RaveStar: O, przepraszam, nie wiedziałem, że piszesz sterowniki do wahadłowców kosmicznych i biblioteki "na szkolny projekcik" Ci nie wystarczą. Polecam zatem pobranie DDK.

Napisałeś wcześniej, że "MSDN często nie ma (...) nawet dokładnego info co niektóre funkcje zwracają oraz brak dokładnych opisów parametrów". Sądziłem, że na coś takiego trafiłeś samemu, to by dowodziło, że błędy w dokumentacji są częste. Wsparłeś się nawet bugtrackerem, żeby znaleźć choć jeden przykład. Że daleko od "jeden" do "często"? Przecież po dwóch dniach nikt nie pamięta jakie farmazony wypisywałeś.

A nie, ktoś pamiętał. Zonk.

matzu   5 #64 16.07.2011 22:42

@RaveStar
Z tego co czytałem wynika, że libusb-win32 http://sourceforge.net/apps/trac/libusb-win32/wiki od dobrego roku można używać na systemach 64-bitowych.
(.NET wrapper to LibUsbDotNet http://libusbdotnet.sourceforge.net/V2/Index.html ).

Mógłbyś napisać dlaczego nie zdecydowałeś się na żadne z powyższych rozwiązań?

matzu   5 #65 17.07.2011 03:32

@RaveStar
Może jeszcze raz napiszę. Ja mówiłem o libusb-win32 (i wrapperze dla tej biblioteki) ... libusb i libusb-win32 to są osobne projekty. Zresztą to jest tam na tej jednej ze stron wyraźnie napisane ("Take note that libusb-win32 is a separate project."). Aktualna wersja libusb-win32 to 1.2.4.0. Projekt ciągnie się już od 2004 roku, a ostatnia aktualizacja miała miejsce w kwietniu br. (można więc przypuszczać, że projekt z dnia na dzień nie zostanie porzucony) Nie ma wersji libusb 1.12 tak jak to pisałeś. Jest 0.1.12, ale to jest zupełnie inny projekt niż ten którego aktualna wersja to 1.0.8 ("There are currently two separate core projects, with non-compatible APIs:

libusb-1.0
libusb-0.1")

Ale wracając do sedna sprawy ... Myślałem, że napiszesz co konkretnie zniechęciło Cię w tej bibliotece. Rozumiem argument o tym, że projekt może nagle przestać być rozwijany lub mogą wystąpić w nim pewne opóźnienia. To jest przecież ryzyko, które jest podejmowane w sytuacji, gdy następuje decyzja o skorzystaniu z zewnętrznego rozwiązania w celu zaoszczędzenia czasu. Z Twojej opinii mam wnioskować, że unikasz wszelkich zewnętrznych bibliotek i zawsze piszesz wszystko od zera (nawet jeśli ktoś już to zrobił i to zrobił b.dobrze)?

Poza tym mówisz, że rozwój LibUsbDotNet nie będzie nadążał za rozwojem libusb-win32. To nie zawsze musi być prawdą. Zmiany w jednym, nie muszą wcale oznaczać konieczności dokonywania zmian w drugim. A co bug-ów, no te faktycznie mogą i pewno będą się pojawiać.

A jeśli chodzi o te akademickie projekty ... to pierwszym linkiem, na który wczoraj trafiłem był ten http://www.developerfusion.com/article/84338/making-usb-c-friendly/ . Autor w sumie też trochę narzeka "Before we go into details, I need to tell you about the Windows USB API documentation. Unless you have already installed the Windows DDK, there practically isn’t any! This isn’t made easier by the fact that there are many USB functions in the API, only a few of which you will ever use.".

Co do tego pominięcia UAC. Mówisz o komentarzu zatytułowanym jako Error in content? A czytałeś odpowiedź na ten komentarz? Zresztą to by trzeba sprawdzić samemu.

webnull   9 #66 17.07.2011 15:20

@RaveStar | 17.07.2011 14:54
Za kilka lat desktopy w większości prostszych zastosowań *najprawdopodobniej* zostaną zastąpione przez tablety i laptopy które to raczej śmigać będą lepiej pod kontrolą Linuksa, także masz rację.

Ryan   15 #67 18.07.2011 17:20

@RaveStar: Czyli lib to za mało, DDK to za dużo. Ale źródła Windowsa -w sam raz. I co Ty byś z tymi źródłami Windowsa zrobił, co? Jak by Ci niby pomogły w napisaniu aplikacji korzystającej z USB? Ja rozumiem, że *może* będzie szpan na dzielni, ale znowu piszesz o jakichś farmazonach. W sumie nic dziwnego, skoro dla Ciebie "jeden" i "często" to to samo, to pewnie pisanie losowych rzeczy traktujesz jako wartościową argumentację.

@webnull: O, a dlaczego niby będą śmigać lepiej pod kontrolą Linuksa? Lepiej niż?