Stallman mówi NIE dla Mono
- Dodano: 28 czerwca 2009
- Wprowadził: maros
- Komentarze: 332
Po tym, jak Debian zadecydował dołączyć Mono do podstawowego pakietu instalacyjnego, specjalnie na rzecz aplikacji Tomboy (domyślny program do robienia notatek dla środowiska GNOME) napisanej w C#, Stallman stwierdził iż sprowadza to cały projekt na ryzykowną ścieżkę.
Według RMS problem ten nie tylko sprowadza się do Mono, lecz także do pozostałych otwartych implementacji języka C#. Wiąże się to z obawami przed nałożeniem przez Microsoft patentów na wszystkie wolne odmiany C# (tak jak ostatnio postąpiono z systemem plików FAT).
Czy obawy są słuszne? Stallman twierdzi, że nie powinno się ignorować tej opcji, i ubezpieczyć się na przyszłość.
Wbrew pozorom RMS nie ma zastrzeżeń do wolnych implementacji C#, lecz obawia się o istniejące projekty napisane w tym języku — takie jak przywołany wcześniej Tomboy. Jeśli przypuszczenia okazały by się prawdą, bylibyśmy narażeni na utratę wielu przydatnych aplikacji.
Stallman namawia więc społeczność, aby zrezygnowali z tworzenia aplikacji w C# pod systemy o otwartym źródle na rzecz innych języków programowania.
Więcej informacji: http://www.fsf.org/news/dont-depend-on-mono
Znalazłeś literówkę? Zgłoś ją używając formularza!
Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.
Niusy na podobny temat:
Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.
332 komentarzy
Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.


Jeszcze mają F-SPOT
Ale czy GNOME dla jednej małej domyślnej aplikacji typu Tomboy musi dodawać zależność od kolejnego języka programistycznego?
Oczywiście, że musi. Inaczej to nie byłoby gnome. Ale w zamian usuną kolejne kilka opcji, żeby użytkownik się czasem nie pogubił.
dlatego uzywam KDE. Pisanie w jezyku wlasnosciowym, a szczegolnie ktorego wlascicielem jest M$, to jak dla mnie jest samobójstwo… M$ tylko czeka, az jezyk stanie sie popularny i zaraz zabroni go stosowac w srodowisku innym niz Window$/NET/VisualStudio. Tak jak to robi ze wszystkimi swoimi "standardami" …
co za bezsensowne trollowanie…
jak jezyk moze byc wlasnosciowy?
powietrze tez uwlasnosciowisz?
Skoro system plików się dało to tym bardziej język w którym zastosowano sporo "innowacji" takich jak pola read/write i parę innych pierdół które tylko czekają na opatentowanie.
Acha. Zastanawiam się też np. nad prawem do używania znaków handlowych firmy Microsoft. Żeby użyć głupiego seriala w mono musisz dodać sobie namespace… "Micorosoft".coś.tam
Już jest pierwsza okazja żeby się przyczepić.
jak można uwłasnościowić długie nazwy plików w fat? Śmieszne prawda, ale Tomtom dostał za to po łapkach.
Niechby teraz RedHat sprzedawał RHEL z aplikacjami używającymi mono. W pewnym momenci te aplikacje mogą zacząć używać czegoś z .NET jak dostęp do bazy, asp, winforms.
Gotowy proces patentowy
@rofrol: Dowiedz sie w wolnej chwili, ile lat ma patent na dlugie nazwy plikow.
Nie od języka programistycznego tylko od środowiska uruchomieniowego Microsoftu CLR i biblioteki .NET.
A co w tym złego jeśli platforma/język jest stabilna i popularna.
Problem z Mono polega na tym, że jest to bardzo dobra platforma dla przyszłych aplikacji a jednocześnie bardzo niejasna jest sprawa patentowa tej platformy, polecam http://www.itwire.com/content/view/25215/1090/1/0… .
To, że rdzeń platformy jest standardem niczego nie gwarantuje, MS nadal może pobierać "rozsądne" opłaty licencyjne. Nawet symboliczna opłata 1cent/użytkownik dla otwartych projektów może być nieakceptowalna.
Java jest przynajmniej tak samo dobra jak .NET, a mniej zasmiecona dziwactwami – czemu nie uzywac Java na masowa skale ?
Wielkość pamięci jaką zżera i konieczność instalowania już i tak ciężkiego vma? Nie krytykuje Javy ale staram się unikać aplikacji używających jej.
Java VM i .NET CLI dzialaja na takich samych zasadach. JVM nie jest wolniejsza niz .NET CLI, moze jedynie wydaje sie bardziej pamieciozerna pod Windows niz CLI, bo CLI korzysta z dobrodziejstw mechaniki Windows i ukrywa skonsumowana pamiec na zaladowane biblioteki.
mam nadzieję, że go wysłuchają. Nie wiem co daje używanie gnome-sharp ale nic nowego na pewno nie wnosi.
Wnosi możliwość korzystania z dobrego, nowoczesnego, obiektowego języka programowania, jakim jest C#, zamiast nędznej namiastki chińskiej podróby obiektowości w postaci GObject.
Jak bardzo chcieli chcieli obiektowego języka t mogli wybrać Javę albo C++. Arguemtn o obiektowości języka w aplikacjach jest bez sensu. Co użytkownikowi robi w jakim języku to coś jest napisane?
Napisałem nowoczesnego obiektowego języka. Nie, C++ nie jest nowoczesny. Java jest od C# też dużo gorsza, a na dokładkę VM Javy jest cięższy niż mono.
Zalety ma to głównie dla programistów, którzy by mogli pracować znacznie wydajniej, choćby przez brak konieczności użerania się z zarządzaniem pamięcią, piskami itp.
A co dla usera? Ot, choćby to, że pracując wydajniej programiści mogliby szybciej nadganiać zaległości względem konkurencji.
Mnie np robi, jak mam np wykonac skrypt typowo wyliczeniowy, np … no strzelam lamanie MD5 w kolizjach wolal bym jednak by miec to jako 'exe' niz jako skrypt napisany w powloce SH.
W przypadku Java … to juz lepiej jak bedzie ten .NET, przynajmniej mozna go naginac, bo na SUN nie ma co liczyc.
Mhm, nie zapominajcie o jednym – "każdy kod można tak spie… że nawet -O3 nie pomoże".
Dla programistów powstała biblioteka QT i to ona bije na głowe te całe mono – jeżeli chodzi o jakość a także przenośność – a mono to taki niepewny wynalazek i jakbym miał coś pisać na wiele platform to wybrał bym C++ i Qt a nie C# i mono -pzdr.
@ufoludek: fajna bajka …
1. W czym to niby Java jest aż tak strasznie dużo gorsza od C#? Zgadza się – C# jest nowszym językiem i ma kilka nowszych rozwiązań, ale nie jest to przepaść! Java też ma kilka rzeczy jakich w C# nie uświadczysz – np. możliwość uruchamiania programu z dowolnej klasy.
2. VM Javy jest bardziej rozbudowany niż mono i może zajmuje dużo ramu, ale za to ma lepszy kompilator JIT i kod wykonywany w VM Javy jest znacznie wydajnie niż w mono. Java to poważna platforma, która oparta jest na długoletnim doświadczeniu.
3. Java jest bardziej wieloplatformowa: nie kompiluje programu do plików EXE, ma wieloplatformowe wbudowane GUI, jest rozwijana po równo na wszystkie systemy. .NET premiuje tylko Windowsa (format binarek EXE PE, MS wypuszcza VMa tylko pod swoje OSy i wtedy wszystkie alternatywne implementacje są z tyłu, w standardzie jest GUI zależne od Windows).
A co dla usera?
Generalnie języki typu VM nie są najlepsze na desktop bo VM zawsze zajmuje sporo RAMu, nie ważne czy to mono, czy Java. Ja jak tylko mogę to wolę używać narzędzi natywnych, chyba, że to napisane pod VM jest dużo lepsze od natywnych – np. Eclipse.
@anon
Porównać QT (bibliotekę) z .NET (cała platforma, w tym niezła VM)… szacunek…
Po pierwsze napisal o Mono a nie .NET. A po drugie, to co ci ta "cala platforma" takiego oferuje w stosunku do Qt?
Panie kolego, Mono to tak samo jak .NET zestaw bibliotek, VM i kompilator C#(+ wsparcie dla dodatkowych). Ten zestaw pozwala tworzyć programy i bez rekompilacji przenosić je pomiędzy systemami… Qt to zestaw bibliotek + preprocesory, wymaga zewnętrznego kompilatora, czasami rekompiloacji bibliotek, przeniesienie programu jest równoważne jego ponownej kompilacji.
.
Qt nie oferuje GC, nie ma kompilacji w czasie rzeczywistym itd. To tylko set świetnych bo świetnych, ale wyłącznie bibliotek… O różnicach bezpieczeństwa pomiędzy softem na VM a natywnym wspominać nie muszę?
.
Ech, kiedy ludzie zaczną odróżniać biblioteki od kompletnych środowisk wykonawczych… Pewnie już nikt nie pamięta Smalltalka…
Większa liczbe obsługiwanych jezyków?
C# jest tak nowoczesny, że jego biblioteki muszą być pisane i kompilowane w nienowoczesnym c++. Zarządzanie pamięcią w C++ to podstawowy wyróżnik języka i jedna z jego najmocniejszych stron, jeśli się umie ją stosować. Jak ktoś nie umie się tego nauczyć – niech sobie klika w różnych Visualnych VB. C# może jest wydajną platformą dla programistów, ale dla wolnego oprogramowania to śmiertelna pułapka i Stallman ma tu całkowitą rację. Znam wiele osób obeznanych w C# i Qt i większość z nich (acz nie wszyscy) do pisania aplikacji wybiera Qt. Co jest takiego nowoczesnego w C#, czego nie ma w C++?
> C# jest tak nowoczesny, że jego biblioteki muszą być pisane i kompilowane w nienowoczesnym c++.
Dziwne, z tego co pamiętam to Microsoft twierdzi, że C++/CLI i C#. C++/CLI służy głównie integracji kodu zarządzanego z natywnym, i to by było na tyle.
> Zarządzanie pamięcią w C++ to podstawowy wyróżnik języka i jedna z jego najmocniejszych stron, jeśli się umie ją stosować.
OK, oczywiście C++ bez cudowania ze specjalnymi alokatorami, wrapperami na pointery itd. jest bardzo mocny – memleaki, fragmentacja sterty, nieoptymalne z punktu widzenia cache'u procesora rozmieszeczenie elementów w pamięci…
> Co jest takiego nowoczesnego w C#, czego nie ma w C++?
Bezpieczeństwo chociażby… Spójność… Dynamiczna kompilacja kodu… Pełną obiektowość… Spójniejszy system typów… Prawdziwe delegaty… Mechanizm refleksji… Właściwości… Sensowne elementy funkcyjności… Dobrze zitegrowane automatyczne zarządzanie pamięcią (niemożliwe w takim stopniu dla C++)…
Znaczy się, oryginalny C++ jest nienowoczesny, bo bez znacznego rozszerzenia składni (jak w C++/CLI) nie można go stosować w programach przeznaczonych dla platformy .NET? Np. "prawdziwe delagaty" to przecież konstrukcja typowa dla .Net? Jeśli programujesz dla .Net, standardowy C++ jest straaaasznie nienowoczesny. Natomiast ja jestem numerykiem i z tej perspektywy C# to ślepa uliczka ewolucji
@mario: o przewagach C# pisałem w którymś komentarzu poniżej, więc nie będę przeklejał. I pisałem to z doświadczenia, bo w Javie pracuję.
Co do zajmowania pamięci — czasy 640kB pamięci już dawno minęły. Pamięć jest tania, w przeciwieństwie do czasu pracy programisty.
Optymalizować należy dopiero wtedy, kiedy pojawia się problem (czy to zbyt wolnego działania, czy zajętości pamięci).
Ufoludek – jezeli tak podchodzisz do programowania to wolałbym się nie natknąć na Twoje programy.
@MiL: zdziwiłbyś się, jak źle ludzie oceniają "na oko" co będzie, a co nie będzie problemem.
Dopóki nie zidentyfikujesz realnego problemu, dopóty jest to tylko i wyłącznie zgadywanka. Na dokładkę kosztująca pracodawcę kupę kasy.
Wiem dobrze jak to wygląda bo sam jestem programistą i na pewno tworzenie oprogramowania "na wyścigi" nie wpływa dobrze na jego jakość. Ale takim właśnie sposobem dzisiaj do napisania kilku stron tekstu na komputerze potrzeba gigahertzowego procesora i setek megabajtów ramu.
Jesteś programistą? Szczerze wątpię. Jakbyś miał trochę styczności z klientami i całym tym cyrkiem to inaczej byś śpiewał – to rynek wymusza szybkie dostarczenie produktu. Optymalizacja kodu zaś to sprawa drugorzędna, optymalizuje się głównie kluczowe algorytmy – jeżeli coś nie jest akceptowalne to właśnie złożoność… Prawda jest taka, że większości klientów zwisa, czy program zjada 100MB czy 120MB ramu, ale 100 a 120 dni już różnicę robi, przecież za każdy dzień musi zapłacić…
Tak się składa że mam kontakt z klientami którym zależy tylko na czasie i widzę jakiej jakości jest takie oprogramowanie. Poza tym tworzenie oprogramowania dla klientów instytucjonalnych to nie wyszystko, bo im faktycznie to zwisa. Tutaj liczy się tylko kasa i dotrzymanie terminu. Gorzej że taki typ tworzenia oprogramowania coraz częściej przenosi się na inne rejony.
Widząc takie podejście nie dziwią mnie te wszystkie krowiaste i ociężałe programy.
Wiesz, problem jest taki, że nawet graficyelektronicywtf narzekają na ceny Photoshopa, AutoCAD-a itd. Ludzie nie zdają sobie sprawy, że zrobienie funkcjonalnego programu jest proste, zrobienie i konserwacja funkcjonalnego i optymalnego programu jest kosztowne. Mocno zoptymalizowany kod bywa trudny w późniejszej modyfikacji, jest mniej elastyczny itd. Optymalizacja to też przecież nie taka sobie zabawa jak klepanie kodu – kod może nawet małpa klepać (byle czytelnie). W przypadku optymalizacji sprawdza się zasada 'w praktyce to teoria jest zgodna z praktyką wyłącznie w teorii'.
.
Po prostu branża informatyczna dorosła – ludzie otrzymują taką jakość, za jaką płacą. Mityczna optymalizacja przestała być jakimś ideałem…
.
Inna sprawa – jeżeli przez jakość rozumiesz wydajność… cóż. Program przede wszystkim powinien być stabilny, wolny od błędów (w miarę możliwości) i odpowiednio elastyczny – tego nie nadrobisz dokładając kostkę ramu za kilkadziesiąt złotych. Znaczenie pewności oprogramowania jest jeszcze większe u poważnych klientów, pisz powiedzmy oprogramowanie dla przemysłu. Dlatego znajomy matematyk (ogólnie sporo poważnego softu piszą ludzie po fizycematematyce) pisał dla elektrowni soft w OCamlu (ja bym raczej wybrał Haskella lub Erlanga)…
Z tego co pamietam, Mono nie bedzie nigdy w 100% zgodne z MS .NET, bo nie moze implementowac przestrzeni Microsoft i czesci System.Windows.Forms. Dlatego Mono kladzie nacisk na GTK#, w przestrzeni Microsoft znajduja sie zas takze publiczne klasy
) jak np.: Microsoft.Win32.Registry.
Moze sie to zmienilo, ale z tego co pamietam .NET ma standardowe haki licencyjne Microsoft, ktore "wyjad" na swiat w najodpowiedniejszym dla Microsoft momencie.
Moje zdanie: nie uzywac .NET do budowy popularnych i redystrybuowanych aplikacji, nie uzalezniac powloki od .NET CLI.
Prototypy, male projekty narzedzi, mozna w tym robic – jak sie lubi grzebac w lekko pokretnym MS API i lubi sie byc zdekoncentrowanym na n-technoogii, ale naprawde lepiej zapoznac sie z Java + SWT, albo Qt.
Ja mowie powaznie ! Sam ostatnio w .NET 1.1 + SharpDevelop zrobilem frontend GUI do narzedzia w MinGW/C++ i mam z tego powodu problemy (wydajnosciawe i z runtime CLI), nie wspominajac o forsowaniu sie do nomenklatury i wzorcow .NET i o dole moralnym (ze znowu w .NET grzebie) i koniecznosci przepisania tego GUI z powrotem na Qt lub U++.
Narzadko notabene trace'uje (sledzi) aplikacje gruboklienckie na styku OCI z Oracle Database, przechwytujac SQL'e i wartosci i niestety obecnie dziala tylko pod Windows.
No wlasnie ! OCAML musze wziac na warsztat jak i Scala.
Co do C# to jeszcze raz powtorze ze sa to popuczyny po Java, tylko takie udziwnione ze sie niemilo robi momentami. Im jezyk i biblioteka ma wiecej nieprzemyslanych bajerow, tym gorzej dla projektu i standardow implementacji !
A!, … te narzadko jest tu:
http://sourceforge.net/projects/ocimonitor/
@ufoludek: "Optymalizować należy dopiero wtedy, kiedy pojawia się problem (czy to zbyt wolnego działania, czy zajętości pamięci)."
Nie zgadzam się z tym, bo wybranie złej technologii może spowodować, że optymalizacja będzie musiała polegać na przepisaniu softu. Np. dlaczego nie pisze się gier w Javie czy C#? Bo programiści wolą przeznaczyć pamięć na zasoby, tak aby w grę mogło pograć więcej osób. Idąc Twoim tokiem myślenia to najpierw trzeba by napisać grę w C# a potem przepisać np. na C++. Czasu programisty nie optymalizujemy za wszelką cenę, bo to może kosztować znacznie więcej. Czasem jest taniej jak programista popracuje nad czymś dłużej.
@mario: gier się nie pisze w Javie i C#, bo one z założenia mają wykorzystywać całą moc procesora, a kasa, którą się na nich zarabia, jest wprost proporcjonalna do tego, ile się z tego procka da wycisnąć.
Zauważ, że nadal programiści idą na kompromis — nie piszą w czystym assemblerze, który pozwoliłby im wykorzystać procesor do ostatniego cyklu, tylko piszą w języku najwyższego poziomu, który jest "good enough" (mimo narzutu, który ma), czyli w C++.
A teraz sobie odpowiedz na pytanie, jaki odsetek programów, zwłaszcza na Linuksie, o którym tu mówimy, stanowią gry.
@mario: a ogólnie to przeczytaj sobie to. Zwłaszcza zdania dotyczące "portability" i "tune".
A zapomniałeś o C++? A może Python lub Perl? Ostatnio zauważyłem, że coraz więcej aplikacji zamkniętych na Windows korzysta z GObject.
Nie, nie zapomniałem. Jak już zaznaczyłem wyżej, nie uważam C++ za język nowoczesny. Pythona bardzo lubię, ale jednak jakoś mi on nie pasuje do pisania dużych aplikacji, a tym bardziej ich debuggowania (statyczna typizacja jednak czasem się przydaje…).
O Perlu wolę się nie wypowiadać, zwłaszcza w kontekście robienia czegokolwiek innego niż kilkusetlinijkowe skrypciki.
Możesz podać przykłady tych zamkniętych aplikacji na Windows korzystających z GObject?
Ano, C++ z Qt, boostem i paroma innymi rzeczami zaczyna przypominać cywilizowane rozwiązania. Niestety to nadal ten sam niespójny i chaotyczny moloch z paroma fajnymi dekoracjami. C++ się zestarzał, C++0x wiele nie wnosi…
.
Na co komu Perl skoro jest Ruby?
.
Windows i GObject, kolega chyba Gimpa i Nowe Gadu-Gadu zobaczył. Wymień te 'coraz więcej', proszę.
.
Wiesz dlaczego GObject się *czasem* na Windows używa? Bo nikt nie jest tak głupi żeby wszystko od zera pisać, używa się dostępne biblioteki tam, gdzie jest to tylko możliwe. Czasem się GUI zrobi w Gtk, bo generuje ww zależności, czasem użyje czegoś na LGPL co samo GO używa… GObject spotyka się wyłącznie tam, gdzie korzysta się z przenośnych rozwiązań, stworzonych pierwotnie w wiadomym środowisku.
@ufoludek: GG na pewno korzysta z GLIBC i GLIB-Threads. Co do GObject, to musiałbym jeszcze sprawdzić tę i parę innych aplikacji. Co do statycznej typizacji, to można zawsze ją zastąpić: a = int(b). Trzeba jednak pamiętać, że a jest typu int, jednak nie powinno być z tym problemu.
Zresztą, to wiele aplikacji sportowanych z Linuksa korzysta z GObject. Co do specjalnie pisanych pod Windows, to nie jestem teraz do końca pewien czy istnieją, ale sprawdzę jeszcze nowe GG i parę innych programów, co widziałem tam glib i inne na g.
Jeżeli na pewno nowe GG korzysta z GObject, to miałem rację. Zauważ jednak, że nie korzysta z GUI w Gtk+. Jest to typowo Windowsowa aplikacja. Może po prostu GG miało kod strukturalny, więc zastosowano GObject? Zastosowanie GObject chyba może zmniejszyć rozmiary aplikacji w porównaniu do wielkiego programu napisanego w C++. Fakt, że raczej będzie od niego wolniejszy. GObject dodatkowo pozwala na dobre śledzenie wykonania programu do znajdywania błędów. Wiesz dokładnie na czym polega błąd.
@Sławek: czyli na razie z tym "coraz więcej aplikacji windowsowych korzysta z GObject" bym nie przesadzał.
Co do śledzenia wykonania, to niestety nie wiem, bo nie miałem (nie)szczęścia debuggować takowych, ale sądząc po ilości komunikatów z failujących assertów po odpaleniu programów GTK+, to za bardzo nikt się w to śledzenie nie bawi.
> Zauważ jednak, że nie korzysta z GUI w Gtk+. Jest to typowo Windowsowa aplikacja.
Fakt, bo GUI jest w typowo Windowsowym Qt… ROTFL
> Może po prostu GG miało kod strukturalny, więc zastosowano GObject?
Może po prostu NGG korzysta z samych przenośnych bibliotek (poza ActiveQt do osadzenia kontrolki IE) aby dało się szybko przenieść na Linuksa? Część bibliotek na LGPL korzysta z GO, więc NGG dla samej interakcji z nimi *musi* używać libów GO. Tak się składa, że akurat NGG korzysta z przenośnego frameworka multimedialnego GStreamer, pisanego z użyciem GObject…
> Zastosowanie GObject chyba może zmniejszyć rozmiary aplikacji w porównaniu do wielkiego programu napisanego w C++.
Ciekawe, z której strony. GO to nakładka dająca C namiastkę obiektowości, dająca większy narzut niż natywne dla C++ mechanizmy. Do tego wymagana jest biblioteka GO.
> GObject dodatkowo pozwala na dobre śledzenie wykonania programu do znajdywania błędów.
Do znajdywania błędów używa się debuggera i stosuje asercje…
To, że GTK jest kiepskie nie znaczy, że trzeba używać sztucznego C#.
Jest jeszcze sprawdzone C++ wraz ze świetnymi bibliotekami (choćby Qt).
<a href="http://yosefk.com/c++fqa/defective.html" rel="nofollow">C++ wcale nie jest fajne, C# jest ogólnie dużo przyjemniejsze (poza nielicznymi niszami).
C++, owszem, jest sprawdzone, ale jaki sprawdzony jest w takim razie Algol albo Fortran? To jak, przepisujemy Tomboya w Fortranie, kto się pisze?
Spora część z tej listy jest: (a) nieprawdziwa, (b) do obejścia, (c) wynikająca z niezrozumienia. Nie chce mi się wyjaśniać które i dlaczego — odpowiedzi powinny być do znalezienia na pl.comp.lang.c.
ROTFL, ufoludek, człowieku o "mózgu" wypranym przez marketing MS, C# nie jest nowoczesnym językiem proramowania, to Java tylko jeszcze gorsze (o dziwo dało się).
Hm, mógłbyś kilka nowoczesnych (Twoim zdaniem) języków programowania wymienić, z uzasadnieniem?
@LV
Please do not feed the trolls
Dokladnie !
C# nie jest nowoczesnym językiem programowania !
C# i .NET nie wnosi niczego czego by nie bylo gdzie indziej – jest raczej asseblacja kilku dobrych rozwiazan, a najwiecej zzyna z Java, a Java niektore rozwiazania zzyna ostroznie takze z .NET.
Jest zasadnicza jednakze roznica: Java nie moze sobie pozwolic na eksperymenty, radykalne zmiany, zasmiecenie i zeszmacenie – Java to jezyk i runtime ktory ma wypisane stac twarto jak skala i przezyc kazdy inny, powoli ewoluujac w mozliwie najlepszym kierunku !
Koniec kropka !
@borizm: przed wykrzyknikiem nie stawia się spacji.
@ufoludek: odpowiedź jak zwykle pełna argumentów!
@mario: jaka wypowiedź, taka odpowiedź. Ale niech będzie bardziej merytorycznie:
1. praktycznie wszystkie języki powstałe po Lispie, Fortranie i Simuli to raczej "asemblacja kilku dobrych rozwiązań" ze swoich poprzedników.
Np cóż takiego nowatorskiego wniosła Java?
2. skoro Java z C# "ostrożnie zżyna", to chyba jednak jest w nim coś, co jest warte zżynania?
3. poproszę o przykłady powiedzmy 5 rzeczy, które w .net są technicznie złe (odpowiedzi "są z MS" nie uznam).
@self: oczywiście powinno być "zrzynać".
To co mi sie bardzo nie podoba w .NET (a co mam teraz na mysli):
- nazwy metod pisane UCC (Upper Camel Case czyli z duzych liter) -> mocno mylne z nazwami typow (w Qt i Java metody pisane sa LCC),
- brak wymuszenia: jedna klasa publiczna == jeden plik -> wbrew pozorom jest to bardzo duzy problem, szczegolnie w duzych projektach realizowanych przez podwykonawcow,
- brak sensownej konwencji rozroznienia nazwyania pol i wlasciwosci (calling property),
- przeladowane metodami klasy -> niska cohesion i bedzie to trudno utrzymac zachowujac 100% zgodnosc,
- brak oddzielnych i ustandaryzowanych API i mozliwoscy wyboru jednej z implementacji danego API -> zalozenie ze bedzie tylko jedna implementacja,
- nieprzemyslana reuzywalnosc, powodujaca dziwne zaleznosci miedzy klasami z roznych przestrzeni -> balagan i brak jednoznacznosci gorszy niz w 10 letnim Swing,
- zasmiecenie "nowczesnego" runtime'u typami legacy i obiektami z nich korzystajacych -> design .NET wyraznie pod potrzeby Windows,
- silny zwiazek z Windows i obwarowanie patentami -> trudnosc w implementacji alternatywnych rozwiazan,
- otwarcie tylko fragmentu biblioteki -> wymuszenie legalnej implementacji tylko czesci bibliotek/API na aternatywnych implementacjach, czyli silne i celowe ograniczenie zgodnosci,
- brak czegos na wzor JCP i ogolnie silnego community, ktore moglo by kontrolowac rozwoj .NET – robi to wylacznie MS udajac ze ma za soba organizacje standaryzujace.
Moglbym wymieniac i wymieniac …
Jak dla mnie .NET'owi duzo brakuje do Java w wielu aspektach, oczywisci niektore wady .NET moga byc zaletami.
.NET przypomina mi dokonane w pospiechu polaczenie Delphi/C++ Builder z Java i elementami C++ – jakos pokracznie to wyszlo.
@borizm: Przeważająca większość tego, co wymieniłeś, to nie są kwestie techniczne.
> – nazwy metod pisane UCC (Upper Camel Case czyli z duzych liter) -> mocno mylne z nazwami typow (w Qt i Java metody pisane sa LCC),
Nie techniczne. To tylko i wyłącznie Twoje preferencje. Równie dobrze ja mogę napisać, że Java jest do bani, bo nie nazywa metod oddzielając wyrazy podkreśleniem.
> – brak wymuszenia: jedna klasa publiczna == jeden plik -> wbrew pozorom jest to bardzo duzy problem, szczegolnie w duzych projektach realizowanych przez podwykonawcow,
Nie jest to problem techniczny. Poza tym jest łatwy do załatwienia przez przyjęcie odpowiedniej konwencji.
> – brak sensownej konwencji rozroznienia nazwyania pol i wlasciwosci (calling property),
Tylko i wyłącznie Twoja preferencja. Brak konwencji nazywania to nie jest problem techniczny. Co więcej, to pozwala dostosować się do panującej w danej firmie kultury.
> – przeladowane metodami klasy -> niska cohesion i bedzie to trudno utrzymac zachowujac 100% zgodnosc,
Puh-liz. Javowy java.lang.Object ma 11 metod. System.Object ma 7. To raz.
Dwa — pozornie nadmiarowe metody zazwyczaj ułatwiają pracę programiście.
> – brak oddzielnych i ustandaryzowanych API i mozliwoscy wyboru jednej z implementacji danego API -> zalozenie ze bedzie tylko jedna implementacja,
Bullshit. To, co opisuje MSDN to właśnie API. Podłożyć sobie pod nie możesz dokładnie dowolną implementację.
> – nieprzemyslana reuzywalnosc, powodujaca dziwne zaleznosci miedzy klasami z roznych przestrzeni -> balagan i brak jednoznacznosci gorszy niz w 10 letnim Swing,
Poproszę o konkretne przykłady.
> – zasmiecenie “nowczesnego” runtime’u typami legacy i obiektami z nich korzystajacych -> design .NET wyraznie pod potrzeby Windows,
Poproszę o konkretne przykłady.
> – silny zwiazek z Windows i obwarowanie patentami -> trudnosc w implementacji alternatywnych rozwiazan,
Obwarowanie patentami dotyczy wyłącznie System.Windows.Forms, ADO i czegoś tam jeszcze. Pierwsze nie jest używanie na Linuksie w ogóle. Reszta nie wiem.
> – otwarcie tylko fragmentu biblioteki -> wymuszenie legalnej implementacji tylko czesci bibliotek/API na aternatywnych implementacjach, czyli silne i celowe ograniczenie zgodnosci,
Masło maślane sprowadzające się do punktu poprzedniego.
- brak czegos na wzor JCP i ogolnie silnego community, ktore moglo by kontrolowac rozwoj .NET – robi to wylacznie MS udajac ze ma za soba organizacje standaryzujace.
Nie jest to problem techniczny. Poza tym generalnie "design by commitee" jest uznawany za wadę.
Evolution ma jakiś dodatek z C#. Paczka nazywa się evolution-server-sharp. Jednak takie zależności mogą zostać doinstalowane z zewnątrz. Na prawdę nie widzę powodu, by trzymać Mono.
Ten Pan jest "troszkę" nawiedzony wszędzie dostrzega teorie spiskowe. Sam przepisywał narzędzia BSD na GNU, opierawszy się na podobnej fobii – bo ktoś weźmie i zabierze. Swoją drogą zdecydowanie lepsze mono niż perlowe regexpy, nie wspominając o pamięciożernej vm pythona..
BTW ma ktoś link do artykułu o narkotycznych ekscesach rms podczas ery hipisów?
Perl i Python to akurat *zupełnie* inne zastosowanie niż C#. C# jest de facto taką *lepszą* Javą i jeśli cokolwiek ma zastępować to właśnie Javę lub też języki statycznie kompilowane ze względu na niewielki narzut na procesor. C# może dużo … ale niestety obawy Stallmana są częściowo poparte w rzeczywistości – Microsoftowi nie można ufać. BSD natomiast to zupełnie inna bajka.
Faktycznie porównanie z javą wydaje się być sensowniejsze. Nie mniej moim zdaniem wolność miedzy innymi polega na możliwości wyboru – niema się co oszukiwać C# jest bardzo fajnym i nowoczesnym językiem, java pod tym względem systematycznie się starzeje. Już pominę zupełnie kwestie narzucania poglądów (braku wolności) przez Stalmana, którą świetnie rozpracował Kupa Tatarkiewicz (mimo, że gościa strasznie nie lubię i większości poglądów i nie tylko filozoficznych nie podzielam) – http://flog.computerworld.pl/news/92327.html Oprócz tego nie wiem za bardzo na podstawie czego stwierdzasz, że MS nie można ufać – możesz rozwinąć myśl?
Główny problem Mono jest taki, że chociaż implementuje ono “standard” MS, robi to _niezależnie od MS_. Różnice między “platformą dotnet” a Javą są tu wyraźnie widoczne:
- Java jest dostarczana na wszystkie platformy (Solaris, Windows, Linux, co tam jeszcze) przez Suna i na tych wszystkich platformach wspierana. Referencyjna implementacja dotnetu jest tylko na Windows, a we wszystkich innych systemach jest jej “niepełna wersja”, przez co – z definicji – Windows zawsze będzie lepszą platformą dla dotneta.
- Java (środowisko uruchomieniowe, narzędzia etc) jest przez firmę, która Javę promuje, dostarczana open source, i każdy może korzystać z oryginalnej Javy pisząc jej własną wersję – w przypadku Microsoftu byłoby to naruszeniem tzw. praw autorskich.
- Do Javy istnieje zestaw testów i procedury certyfikacyjne zapewniające uznanie zgodności niezależnej impementacji Javy z implementacją referencyjną. w Dotnecie wszystko, co nie pochodzi od Microsoftu jest “dotnetem drugiej kategorii”
- Także narzędzia związane z dotnetem rozprowadzane przez Microsoft są tylko dla windows (mimo, że, rzekomo, dotnet jest przenośny).
Mono jest dostarczane przez Novella i przez niego wspierane.
Zresztą mniejsza o to. Uważasz, że Windows jest lepszą platformą do uruchamiania Tomboy'a?
Już sam fakt, że Mono dało się zaadaptować jako wygodne narzędzie do tworzenia aplikacji dla _Linuksa_ (bez wnikania w zgodność z MS) jest ważny.
.NET jest ustandaryzowane przez ECMA (standardy ECMA-334 oraz ECMA-335). Co do licencji, tak ECMA jak i ISO wymagają "reasonable and non-discriminatory terms" więc nie ma mowy o "naruszeniach tzw. praw autorskich".
Oczywiście, są części platformy .NET, które nie są ustandaryzowane przez ECMA, np. biblioteka GUI System.Windows.Forms – ale nie jest używana w Gnome, gdzie głównie jest używane Gtk#.
Nie wiem jak z samym Mono, ale w przypadku Moonlight (które jest związane z Mono) MS dostarczył Novellowi zestaw testów:
http://www.microsoft.com/interop/msnovellcollab/m…
sekcja "Moonlight 2 Test Suite"
Mamy lepsze;)
"Oczywiście, są części platformy .NET, które nie są ustandaryzowane przez ECMA, np. biblioteka GUI System.Windows.Forms"
Akurat z Windows Forms pod MONO nie większego problemu, gdyż zaimplementowana jest praktycznie całość.
Tu nie chodzi o jakość implementacji, tylko o to, że jest możliwość, że MS ma jakieś patenty na S.W.F. – co nie dotyczy reszty Mono.
Microsoft nie ustandaryzował całego .NET, a nawet ma patenty na jego fragmenty (zarówno mechanikę jak i API).
Microsoft nie daje referencyjnej implementacji na żaden *NIX (choć kiedyś oferował CLI na BDS).
Z wersji na wersje, .NET nie jest zgodny sam ze sobą.
W świetle powyższego MS .NET ani Mono nie jest bezpieczną biznesową platformą dla długotrwałego rozwoju czegoś większego niż Notatnik.
@Rsh: Python i C# się w dużej mierze pokrywają. Całkiem sporo aplikacji desktopowych powstaje w Pythonie (choćby meld).
IMO Python akurat nadaje się głównie do szybkiego tworzenia projektów i/lub rysowania GUI integrującego w bardziej użyteczny program klocki stworzone w innych językach. Powiedzmy, taki ulepszony bash. Chociaż byłby lepszy, gdyby nie próbował "domyślać się" co programista chce osiągnąć. "Program nie powinien wiedzieć, ani dbać o to, skąd pochodzą dane pobierane przez stdin i co dzieje się z danymi podawanymi na stdout"
> Powiedzmy, taki ulepszony bash.
Powiedz to chociażby Google czy NASA.
Google i NASA mają komputery, na których nawet viśta chodzi w czasie rzeczywistym.
W pythonie pisze się szybko i wygodnie (jeżeli interpreter nie zaczyna myśleć za programistę), ale jest językiem skryptowym i to jest jego podstawowa wada. Dlatego uważam, że jest dobry do "szkiców", ale nie nadaje się do samodzielnego tworzenia dużych programów: zawsze będą zbyt obciążające.
I nie, nie wymagam od programistów pisania w asemblerze. Po prostu osobiście stwierdzam, że podejście "nie optymalizuj" mnie wkurza. Podobnie jak programy, które uważają, że lepiej wiedzą, co JA chcę zrobić. Nie po to przesiadłem się z jednego windowsa z jądrem M$, żeby teraz mieć drugiego z jądrem linux.
> Po prostu osobiście stwierdzam, że podejście “nie optymalizuj” mnie wkurza.
Sugerujesz, że kodu w językach skryptowych się kodu nie optymalizuje?
Zawsze beda zbyt obciazajace? Poczekajmy na JIT i na to, jak bedzie sie on rozwijal.
JIT nie rozwiązuje wszystkich problemów, choćby z tego względu, że co jest dynamiczne to zawsze takim pozostanie. Mam tu na myśli głównie brak typizacji i konieczność na poziomie natywnym pobrania odpowiedniej struktury do odwoływanego obiektu. Najlepiej to można sobie uzmysłowić myśląc na poziomie kompilatora.
Nie. Sugeruję, że języki skryptowe są _Z_DEFINICJI_ wolne. Jak żółw.
Napisz dowolny algorytm. Zaimplementuj go w pythonie i dowolnym języku kompilowanym. Który program wykona się szybciej?
Który program lepiej wykorzystuje dostępne zasoby? → to lepiej nie znaczy ani, że zajmie mniej, ani że więcej (gdy jest nadmiar), ale oznacza np. że lepiej/w_ogóle sobie poradzi, gdy zasobów brakuje.
I tutaj cytat ze strony jakiegoś programu/biblioteki napisanego w pythonie: "bo czas procesora jest tani"
Prawie cała widoczna część internetu stoi na językach skryptowych…
Rzecz w tym, że "Prawie cała widoczna część internetu" to po prostu interfejs do bazy danych, i nie ma większego znaczenia jak długo się wykonuje kawałek PHP, skoro i tak większość czasu czeka na dane z DMBS.
Nie przesadzaj, nie zawsze to tylko generator dekoracji dla baz danych. Języki skryptowe są kilka razy wolniejsze niż natywne, fakt, ale do wielu zastosowań są wystarczająco szybkie.
.
W praktyce nie powinienem mówić w ten sposób – wydajność języka w praktyce nie istnieje… Powiedzmy, że obecne implementacje `skryptowych języków dynamicznie typowanych` są kilkukrotnie wolniejsze od aplikacji kompilowanych do kodu natywnego (taki CLOS jest mocno dynamiczny a do natywnego kompilowany).
@szatox
Python, w odróżneniu od PHP, dziala na własnej maszynie wirtualnej. Jest kompilowany do bytecode'u, tak jak Java. Tyle że VM ma tak lipną, że gorzej byc nie może, stąd próby portowania go na inne (CLR, JVM i to co niedawo Google zaczęło robić).
Ekhm… Java jest kompilowana do kodu pośredniego podczas kompilacji, podczas ładowaniawykonywania jest kompilowana do kodu natywnego. Python jest kompilowany dopiero podczas ładowania, do bytekodu. VM Pythona kiepskie? Może dlatego, że interpretuje bytekod, zaś CLR i JVM przekształcają go do kodu natywnego, wykonywanego bezpośrednio przez procesor?
.
PHP nie jest kompilowany i nie działa na VM? A Zend Engine to grzyb?
Ale wiele rzeczy dzieje się naprawdę. Masz przykład z systemem Fat. Tutaj to również może się wydarzyć. Jesteś "lekkim" ignorantem – nie dostrzegasz, co się dzieje dookoła.
FAT to zupełnie inna sytuacja, został wdrożony w Linuksa (i nie tylko) mimo, ze były procesy patentowe (miedzy wieloma firmami w tym MS, o to komu ten patent przysługuje), oraz nigdy nie był i nie miał być standardem ISO.
.NET ma docelowo być standardem ISO?
ISO/IEC 23270
Bycie standardem ISO w żaden sposób nie chroni autorów implementacji przed pozwami patentowymi. Standard ISO != otwarty standard.
Przykład? Kto mając na coś standard ISO kogoś pozwał? ISO zajmuje się normami, które są dobrowolne i możliwe do stosowania przez każdego – tak by dla jednego mm to nie było ziarenku piasku a dla drugiego ileś tam atomów.
Standaryzacja w ISO nie zapewnia, że możesz ten standard zaimplementować bez opłat patentowych. Dopiero "otwarty standard" na to pozwala.
_Teodorka_: mm nie ma nic wspolnego z ISO a z SI i nie mm a m
ISO/IEC 80000 doprawdy ?
TAK: mm nie jest jednostką miary (http://pl.wikipedia.org/wiki/Układ_SI), nie jest nawet jednostką pochodną :>
Ustosunkuj się lepiej do tego, co napisał oO.
pl .wikipedia . org/wiki/Milimetr jest dokładnie tym czym metr i w standardzie ISO metr jest ujęty jak i jego przedrostki (cm mm dm).
"The millimetre (American spelling: millimeter, symbol mm) is a unit of length in the metric system, equal to one thousandth of a metre, which is the current SI base unit of length."
@_Teodorka_:
"Milimetr jest dokładnie tym czym metr"
ROTFL
wypadaloby zainwestowac w lekcje angielskiego:
"equal to one thousandth of a metre" tlumaczy sie tak:
"rowny jednemu tysiacowi metrow"…
moze trzeba bylo skorzystac ze slownika
Inna sprawa iz jednosta mm faktycznie nie jest ustandaryzowana. Standaryzacji podlega jednostka mert. mm jest logicznym jej nastepstwem:
przedrostek mili- oznacza tysieczna czesc jednostki do ktorej sie do stosuje, i nie ma znaczenia jaka to jednostka
A ja uwazam ze Stallman ma racje. Przeraza mnie wizja w ktorej twory M$ staja sie integralna czescia wolnego oprogramowania. Nie chce ich. Sam uzywam KDE, w ktorym niniejszego problemu nie spotkamy.
Fanatyzm do granic mozliwosci? Czyli WSZYSTKO! co jest M$, jest zlem nawiedzonym!
Ale, jak owa firma udostepnia jakies dane i chce rozwijac kod to juz jest ok? No tak – nie jest ok bo rozwija kod i macza palce! a to juz zkrawa na ukamieniowanie.
@skiter: nietolerancja do granic możliwości: to co? Nie wolno mi nie lubić firmy X albo chociażby takiego MS i nie chcieć używać ich wytworów? Muszę je lubić czy co? Albo nie wolno mi wyrażać swojej opinii bo krytykuje jakieś oprogramowanie? Trochę przesadzasz.
Fanatyzm nie jest aż taki zły o ile nie idzie w parze z nietolerancją.
@Tomasz Woźniak: święte słowa. Zacytuję przy najbliższej dyskusji na temat "firmy nie chcą pisać driverów pod Linuksa".
Weźcie ludzie na wstrzymanie, kolejnym zaś proponuję doczytać czym jest tolerancja, czym zaś akceptacja. Tyle się ostatnio o tym mówi…
Dokładnie, ja sam właśnie z tego powodu zrezygnowałem z całkiem dobrego F-Spota. Na szczęście jest kphotoalbum (chyba młodszy, bo w tedy go nie znalazłem), który obecnie bije ówczesnego f-spota na głowę. Nie wiem jak się ma do aktualnego.
Jak już jesteśmy w tych klimatach, może ktoś ma ochotę przetestować różne managery zdjęć i napisać artykuł? Przydałoby się takie zestawienie możliwości, znalezienie managera dobrze dopasowanego do własnych potrzeb nie jest najprostrzym zadaniem.
xnview mp na qt4;] choc nie lubię qt4 to jest świetny tak jak wersja na Windowsa, a ze nie GPL jakoś mi nie przeszkadza, za to otwiera wszystkie możliwe formaty graficzne.
@skiter: Zauważ, że wszystko spod Microsoft jest skierowane na głęboką integrację/ingerencję w inne produkty tej firmy. To całe zło wynika wprost z tego faktu, choć jest coraz lepiej. Jeżeli coś musi być użyte wyłącznie z Windows, to niedociągnięcia Windows odbijają się na całości produktu. Dotyczy to wszystkich produktów korporacji. Może nie wpływa to bezpośrednio w tak wielkim stopniu na wizerunek produktu, ale firmy już tak.
@skiter: Microsoft udostępnił kod czego? Mono?
www . microsoft . com /opensource/
CODEPLEX . com
Sandbox
PowerSet
Pomijając oczywiście otwarcie źródeł kupy protokołów i formatów plików.
Na SourceForge też leży kilka projektów MS, np. Windows Installer XML (wix). Do tego dochodzi biblioteka kontrolek dla Silverlight na licencji MS-PL (coś a'la GPL).
Pewnie mógłbym podać tego więcej, ale jakoś MS to jedna z ostatnich rzeczy jaka mnie interesuje (rację ma Linus mówiąc że ludzie za bardzo się podniecają MS).
dziwne by było, gdyby nie udostępnili wszystkim podstawy do implementacji formatów, które chcą przeforsować. AFAIK kod stosu TCP/IP był wydany na licencji BSD ("Take my code") głównie dlatego, żeby inni go PO_PROSTU włączyli do swojego oprogramowania i zaczęli używać. Jak widać – skuteczne.
Typowy przykład kodu, którego wartość rośnie wraz z powszechnością.
@el.pescado: "ludzie za bardzo się podniecają Linusem.. ups Linuksem"
podniecać się to możesz płcią przeciwną… systemu zaś używać takiego jaki Ci odpowiada.
> podniecać się to możesz płcią przeciwną…
Jakiego gatunku? :>
Mnie też przerażają rozszerzenia plików. Ostatnio chciałem wypalić płytkę z KUbuntu. Efekt? Brasero mi nie pozwolił, bo nie miało .iso na końcu nazwy. Coraz bardziej mnie takie sprawy denerwują. Wie ktoś, gdzie to można wyłączyć?
Masz dostępne źródła, masz dostępne wszystkie narzędzia… korzystaj z wolności.
brasero w Kubuntu? To k3b nie ma? Tylko mi nie mów, że brasero jest lepsze.
Miałem na myśli wypalić obraz Kubuntu. Brasero na pewno nie jest lepsze od K3B. Ogólnie, to aplikacje pisane pod KDE zazwyczaj są z wyższej półki, lecz te pod GTK+ też nie są złe.
@mmm
Wiesz, kto wymyślił DHCP ?
No nie wiem, ale wiem kto przez tyle lat spowalniał rozwój www.
Mówisz tak bo nie rozumiesz jakim złem jest Microsoft, oraz każdy monopol/dominant w ogóle.
Tam gdzie w grę chodzi wielka kasa i władza oraz utrzymanie tych dwóch, wszelkie zasady i wszelka moralność przestają mieć znaczenie.
Doskonale opisują tą sytuację dwa powiedzonka rozpowszechnione w świecie biznesu:
- "Nie powinno łączyć się biznesu i moralności"
- "Firma jest po to żeby zarabiać pieniądze"
Gwarantuję ci że Microsoft posunie się do wszystkiego, żeby zdusić ruch wolnego oprogramowania. Dlaczego ? Bo tylko wolne oprogramowanie to broń które realnie ma szansę go zabić, z czego Microsoft doskonale zdaje sobie sprawę.
Dlaczego tylko wolne oprogramowanie może zabić Microsoft ? Proste. Wolne oprogramowanie jest oparte o idee, a nie o pieniądze. Idei nie można wykupić, przekupić, zgładzić. Idea nie jest oparta o żadną firmę, więc nie można jej przejąć. Finansowa i biznesowo-układowa potęga, monopol i dominacja Microsoftu nie są skuteczną bronią przeciwko Idei. Dlatego też Microsoft śmiertelnie boi się FOSS-owych idei tak samo jak diabeł boi się wody święconej.
Najostrzejszym przykładem tego, do czego mogą posunąć się korporacje w walce o pieniądze jest Coca-Cola:
killer-cola.info/dlaczego
Bojkotujmy bojkot! O taki serwis sobie postawie
Teraz, czemu jest taki biznes? Bo jest taki a nie inny, i fakt faktem zarabiac trzeba, ale sa pewne granice, nazywa sie to 'prawo' i jezli dana firma narusza prawo jest z automatu karana odpowiednimi przepisami w prawie zawartymi, dlatego np firmie nie wypada? mordowac pracownikow tylko ich zwalniac.
@skiter
[[[Teraz, czemu jest taki biznes? Bo jest taki a nie inny, i fakt faktem zarabiac trzeba, ale sa pewne granice, nazywa sie to ‘prawo’]]]
Och naiwności…
Może ten cytat ci rozjaśni sprawę:
"Prawo jest jak płot – żmija zawsze się prześliźnie, tygrys zawsze przeskoczy, a bydło przynajmniej się nie rozłazi, gdzie nie powinno"
Widzisz. Sęk w tym, że korporacje, po przekroczeniu pewnego pułapu kasy i władzy mają prawo w głębokim poważaniu. To one dyktują interpretacje prawa (tygrys) lub obchodzą prawo (żmija), lub też ewentualnie tworzą prawo pod siebie (budowniczy płotu
).
Microsoft jest dokładnie takim przykładem tego jak wykorzystywać luki w prawie. Choćby słynny skandal z MS-OOXML może być tutaj dobitnym przykładem.
Tak i IE bedzie forsowac w 7 … Widze pewne skrajnosci, jako taki ten M$ wielki ale KE jakos nie przekupil, za to chce pokazac wielkiego focha wywalajac IE, pokazac ze on tez ma pazurki – w tym miejscu ucinam dyskusje na temat prawa.
W porządku. Nie zawsze jednak kara jest adekwatna do wyrządzonej krzywdy. Przykład? Be Inc. Corporation (R.I.P).
Idea jest tylko pretekstem do dojścia do władzy.
"Fundacja wierzy, iż wolne oprogramowanie – to znaczy oprogramowanie, które może być dowolnie studiowane, kopiowane, modyfikowane, używane wielokrotnie i rozpowszechniane wśród zainteresowanych – jest JEDYNĄ ETYCZNIE SATYSFAKCJONUJĄCĄ formą rozwoju oprogramowania, podobnie jak wolne i otwarte badania naukowe są jedynym etycznie satysfakcjonującym sposobem uprawiania matematyki, fizyki lub biologii."
Wolne oprogramowanie według Stallmana nie ma związku wolnością wyboru. Faszyzmem zalatuje, jedna słuszna droga, jedyna słuszna etycznie forma.. WTF?!
"WTF?!" – to forma samokrytyki? Tak się składa że RMS do niczego Cię nie zmusza. Po prostu ma swoje poglądy, skrajne ale ma prawo je głosić. Czy to faszyzm?
Hitler, też miał poglądy i nie zmuszał nikogo do niczego. Od poglądów się zaczyna, potem się je głosi, otępia społeczeństwo.. a jak potem było doskonale wiesz;]
Jak wyobhrażasz sobie dojście do władzy za pomocą licencji GNU ?
Przecież te licencje z góry zakładają decentralizację. Projektu FOSS opartego o GNU GPL żadna jednostka ani firma nie może kontrolować z definicji…
@Teodorka
[[[Hitler, też miał poglądy i nie zmuszał nikogo do niczego. Od poglądów się zaczyna, potem się je głosi, otępia społeczeństwo.. a jak potem było doskonale wiesz;]]]]
O czym ty do mnie rozmawiasz ?
Idąc twoim tokiem myślenia, demokracji też należałoby zakazać bo to też idea, która przecież może prowadzic do faszyzmu…
Szkoda słów…
@Teodorka
Tak BTW, to za to przywołanie Hitlera to zgodnie z prawem Godwina powinniśmy właśnie zakończyć dyskusję wynikiem 1 [TheBlackMan] : 0[Teodorka]
pl.wikipedia.org/wiki/Prawo_Godwina
@TheBlackMan: jeśli przeczytasz sobie ostatni akapit z Wikipedii, to zauważysz, że Twoje przywołanie prawa Godwina to również rodzaj ad hominem, więc można by rzec "przyganiał kosioł garnkowi"
To prawo jest idiotyczne. Im dłuższa dyskusja tym większe prawdopodobieństwo wystąpienia dowolnego słowa. Ile jeszcze ludzie będą bezmyślnie przywoływać prawo tego pajaca, nim zrozumieją że jest bez sensu?
Znowu stosujesz sokratesową metodę elenktyczna.. dojście do władzy to nie to samo co władanie, a raczej obalenie ówczesnej władzy. Odrazu widać, że brak ci podstawowej wiedzy filozoficznej. Ale już tłumaczę – chodzi o to, że każda idea jest piękna i może tłumaczyć wszystkie zbrodnie – komunizm – wszystkim po równo, praca dla wszystkich, opiekujemy się każdym – a jak było wszyscy widzimy. To samo z Cudami Tuska – obniżyć podatki i inne szmery bajery – idea słuszna i co ludzie się słuchają. Każdy mord był tłumaczony wyższą koniecznością. Tak samo zachowuje się rms który nie rozumie, że ktoś może mieć inne poglądy – a według jego jest tylko jeden pogląd słuszny – ten który prezentuje, a inne (o zgrozo) są nieetyczne?!
* kocioł
Teodorka: Ja mogę Ci w ciągu kilku minut udowodnić podstawowe braki w innych dziedzinach. Tylko co z tego? Nie każdy musi być filozofem. Za to Twoje tłumaczenie nie ma nic wspólnego z rzekomym dojściem do władzy za pomocą GNU. Chyba, że masz na myśli zaprzęgnięcie stada antylop do czołgu w celu bezszelestnego dotransportowania go pod budynek parlamentu/siedzibę złej korporacji, albo coś tego typu. Ale to z kolei nie ma związku z projektem, o którym rozmawiamy.
Podatki akurat należy obniżyć. Najlepszy sposób pomagania gospodarce polega na nieprzeszkadzaniu jej.
A RMS akurat dość dobrze wie, że ludzie mają różne poglądy, co nie oznacza, że musi się z nimi zgadzać. Punkt widzenie zależy od punktu siedzenia. RMS mógłby całkowicie olać FS i zająć się wyłącznie koszeniem siana. Ale wygląda na to, że dla niego siano to za mało. Jego decyzja, uszanuj to.
M: to prawo nie jest idiotyczne. Ono jest prawdziwe. A isotnie hitler to taka starsza i łatwiejsza do użycia w
pyskówkachdyskusjach wersja współczesnego jockera o nazwie pedofil. Upowszechnienie tego prawa powinno skutkować podniesieniem poziomu dyskusji. Nie można użyć argumentów prymitywnych: trudno, trzeba się wysilić i znaleść racjonalne, merytoryczne.Zabawne słyszeć od kogoś przygany nt. filozofii i jednocześnie zgrozę spowodowaną istnieniem wielu etyk (w tym RMS). Widzę sprzeczność.
RMS nie całkiem zajmuje się ideologią, choć uznał potrzebę reprezentowania wolnego oprogramowania(w jego rozumieniu) przez jakiś twór polityczny. O ideologię możesz tak naprawdę posądzić wszystkich. Bill Gates też zaczynał od wygłaszania swoich ideologi na usenecie, typu: Pozamykajcie programy! On też jest faszystą? Pytanie tylko, kto wciska nam większy kicz. Bill czy RMS? Oprogramowanie było dystrybuowane przed jego zamknięciem. Model zamknięty jest jednak bardzo kruchy – umrze Bill lub Microsoft, to nie będzie Windowsa. Większa firma, która go kupi nie wyda kolejnej wersji, a źródła spali w piecu. Dodatkowo zakażą byłym partnerom MS na dalszą produkcję/redystrybucję. Oczywiście na tym przykładzie Wolne Oprogramowanie wydaje się być bardziej wyidealizowane. Jakie to ma jednak pokrycie z rzeczywistością?
W dodatku, to RMS próbuje m.in napisać wolną implementację Flash-a, choć to g*no. Prawdopodobnie za wiele lat nie będziemy z niego korzystać. W jego zachowaniu można się doszukiwać ideologii, jak i również bardzo praktycznego podejścia do pewnych spraw. Do swojej ideologi przekonał kumpli z Uniwersytetu, którzy poszli przeciwną droga. Właściwie, to nic w tym kierunku nie robił. Zresztą, to niektóre historie, jak problem z drukarką obrazuje problem. Nie chodzi tu o ideologię. Jeżeli już o niej mówić, to została ona wypracowana na drodze praktycznego rozwiązywania problemów. Zauważył, że z nadejściem nowego pojawiają się problemy nie do przeskoczenia. Zaczął więc je rozwiązywać dłubając i tworząc tę "ideologię". Czy jest to nadal ideologia, skoro została stworzona na podstawie praktycznych przesłanek, gdzie jej twórca sam się przekonał o najskuteczniejszej drodze do tworzenia dobrego oprogramowania?
Jakbyś rozumiał słowo tolerancja i odróżniał od akceptacja to by nie było problemu. Każdy współczesny filozof podkreśla, ze niema jednej etyki to co dla jednego jest etyczne dla drugie już nie (ad relatywizm sofistów). Problem nie w tym co rms wygłasza, ale w tym – że nie akceptuje istnienia innych potrzeb -> nazywając je nie etycznymi – czyli stwierdza, że to właśnie inny nie maja prawa inaczej myśleć, mieć innej hierarchii wartości, czy wyobrażenia dobra.
Nieetyczne (a propos, pisownia łączna) to po prostu sprzeczne z danej osoby (w tym przypadku RMS) etyką. Nie ma tam mowy o zabranianiu innego myślenia.
Pomyśl (wiem, wymagam wiele), nie nadymaj się słowami, ,,współczesnymi filozofami'' tylko pomyśl, sama: jeśli istnieje wiele etyk (co jako tako potwierdziłaś) to oznacza, że są ze sobą w pewnych miejscach różne. Co znowu oznacza, że w istnieją zachowania x będące nieetyczne w etyce A (a zupełnie etyczne w etyce B). Normalna sprawa — różni ludzie, różne zdania.
W tym problem, że on niczym innym się nie podpiera.. i odnosi się do etyki jak do ogółu. Uznając inne myślenie jako zło totalne. Tym bardziej, że on nie mówi o etyce jako takiej ale o fomie "jest JEDYNĄ ETYCZNIE SATYSFAKCJONUJĄCĄ formą rozwoju oprogramowania" i nie ma tam zaznaczenia, że jego zdaniem ani żadnego innego argumentu odnośnie wyższości GPL nad innymi licencjami czy formami rozwoju oprogramowania. RMS – mówi, ze tylko i wyłącznie rozwijanie oprogramowania za darmo i z otwartymi źródłami ma sens – jednak rynek to zweryfikował – OS to margines oprogramowania, to co mówi nie jak się ma do rzeczywistości – odwołuje się tylko do chwytliwych wartości jak wolność – ale o wolności wyboru produktu już zapomina.
Zmodyfikuj sterownik do zacinającej się drukarki tak, aby informował użytkowników o zaistniałym problemie. Aha, oczywiście nie masz dostępu do kodów źródłowych. Jak to zrobisz, będziemy mogli pogadać na temat
Można jeszcze dodać do tego licencję zabraniającą dekompilacji i modyfikacji, chociaż bez tego i tak zadanie jest perfidne.
RMS miał źródła. Ich dostarczenie zostało wymuszone na producencie, gdyż przyjęcie oprogramowania bez możliwości modyfikacji było niezgodne z polityką instytutu
> Gwarantuję ci że Microsoft posunie się do wszystkiego, żeby zdusić ruch wolnego oprogramowania.
To dlaczego Microsoft udostępnia sporo źródeł swoich klamotów na własnych otwartych licencjach? Dlaczego oddział badawczy Microsoftu angażuje się w projekty open-source? Singularity to ichni projekt, ale o IronRuby chyba złego słowa nie powiesz? Pracownicy Microsoftu (dwaj czy trzej) biorą udział w rozwoju Haskella i jednego z jego kompilatorów, GHC… Gdyby M$ był taki zły to zakazałby swoim ludziom udziału w projektach innych niż M$.
.
> Wolne oprogramowanie jest oparte o idee, a nie o pieniądze.
Wiesz, jest taka życiowa prawda – żyjąc samymi ideami szybko zdechniesz z głodu.
> Dlatego też Microsoft śmiertelnie boi się FOSS-owych idei tak samo jak diabeł boi się wody święconej.
To OSNews czy RMNews? Wiesz, kochanie, Microsoft nie musi się niczego bać. Póki zdecydowana większość developerów nie przejdzie na stronę RMS-a to Microsoft może spać spokojnie. Póki co nie widzę jakiegoś nowego trendu w branży.
No dobra dobra, to gdzie można znaleźć za źródła jądra NT na wolnej licencji? Toć już nawet to „zUe” i „zamknięte” Apple udostępnia źródła swego XNU w Darwinie…
Fakt, WRK na wolnej licencji nie jest…
To teraz powiedz mi po kiego grzyba Ci źródła NT na wolnej licencji, skoro to produkt ściśle komercyjny? Tak dla zasady?
Apple to generalnie jest gorsze niż MS
@LV: bo dla niektórych coś, do czego nie dają źródeł jest złe, tak dla zasady chociażby…
@Paweł Ciupak: załóż firmę, zacznij tworzyć jakieś poważne oprogramowanie (komercyjne) i udostępniaj je ze źródłem (niedaj boże za darmo) – a później się wypowiedz tutaj w komentarzach
w ogóle do wszystkiego niech dają źródła, wystosujcie taki apel to vmware, adobe, autodesk, oracle itd. itp.
zobaczymy co wtedy się stanie z tymi firmami i ich aplikacjami
@LV
Dlaczego oddział badawczy Microsoftu angażuje się w projekty open-source?
Bo nie byl w stanie osiagnac kontroli nad Java i stara sie tego typu prezentami oslabic Java ktorej glowna idee brzmi: "napisz raz, uruchom wszedzie", bo to "wszedzie" nie musi oznaczac Windows.
Jesli ktos dalej twierdzi ze Java jest gorsza od .NET, to niech sobie uzmyslowi ze moze to jest jednak cena przenosnosci oprogramowania pisanego pod Java.
@borizm:
Stary, dorośnij. Brak typów unsigned, brak absolutnie przenośnych mechanizmów takich jak properties, delegate'y czy indexery nie ma żadnego związku z przenośnością.
Zafiksowałeś się na poglądzie "przenośność == da się uruchomić na Linuksie" i gadasz głupoty.
"Bo nie byl w stanie osiagnac kontroli nad Java i stara sie tego typu prezentami oslabic Java".
Dokładnie tak.
Java jako całość (Java SE, Java EE, Java ME i jeszcze JavaFX) stanowi najbardziej kompletne rozwiązanie, jakie oferowane jest na rynku, które zakłada niezależność od systemu operacyjnego i dlatego jest tak groźne w sensie długofalowych skutków dla MS.
@mby7930: "kompletne" nie oznacza dobre. Brainfuck jest Turing-complete, co nie znaczy, że jest dobrym językiem.
W przypadku rynku korporacyjnego tylko rozwiązania kompletne (wsparte przez konkretny znany podmiot) mogą skutecznie rywalizować z produktami rodem z MS i taka właśnie jest Java.
Domyślam się, że traktujesz sam fakt bycia rodem z MS za czynnik w Twoich oczach dyskwalifikuący?
@ufoludek
Juz wczesniej napisalem ze Java to nie plastelina – nie da sie zrobic z niej czegos innego i powiedziec calemu swiatu "Alez nic sie nie stalo, tylko bedziecie musieli przerobic Wasz soft, bo nowa Java to nowy, pelen bajerow jezyk niezgodny w 10% ze stara Java." – jak to Microsoft robi z .NET miedzy 1.0 a 1.1, 1.1 a 2.0, 2.0 a nowszymi.
Java ma wszystkie potrzebne mechanizmy, tylko nie w tak skrotowej formie jak to ma miejsce w .NET i wcale to nie jest wada, bo wiecej widac co tak naprawde ma miejsce.
Java rozwija sie powloli, bo nikt nie chce zrobic z niej jezyka-szmate.
Krótko mówiąc. Idea, to nie borg!
@BlackMan: Proszę Cię
Dobrze wiesz, że wiele twoich poglądów podzielam, ale tutaj przesadzasz… jeżeli Microsoft = zło to i pan Richard powinien zostać odesłany do piekieł
Aplikacje oparte o Mono są wolne. Ba! Mono jest wolne. I na dodatek, dzięki Novellowi, który je rozwija z błogosławieństwem MS, Mono jest również wolne od patentów.
Im mniej ideologii, jaką prezentuje RS, która skreśla aplikacje często bardzo dobre (Banshee, Tomboy) tym lepiej dla dystrybucji, które nie mogą walczyć o użytkowników ideologią a właśnie funkcjonalnością. Normalny szaraczek nie patrzy się czy aplikacja ma dostępny kod źródłowy, czy też nie. Taka niestety jest prawda.
Mono jest chyba na GPL v.2. Microsoft zagwarantował ochronę patentową, lecz tylko firmie Novell i paru innym. W dodatku nie wiem czy może odnieść się to do przykładu z Mono. Ochrona dotyczy klientów tej firmy, a być może też wszystkich użytkowników jej produktów. Novell ma prawa autorskie do Mono?
http://www.mono-project.com/License
N GPL jest tylko kompilator i pozostałe narzędzia. Maszyna wirtualna jest na LGPL, natomiast biblioteka klas na licencji MIT.
Większość komponentów jest na GNU/GPLv2 oraz MIT/X11. Mono jest frameworkiem, którego celem jest implementacja funkcji, zawartych w .NET Framework. O ile część związana z linuksem (np. Gtk#) jest w 100% bezpieczna to część odpowiedzialna za konkretne technologie rodem z piekła (czyt. Microsoft) została przepisana tak, aby obejść patenty. Cytat z ich strony:
Wszystkie odpowiedzi są na ich stronie i nie ma potrzeby siać paniki wśród programistów/twórcą dystrybucji, że dodając/korzystając z Mono do swojego produktu mogą narazić się na pozwy patentowe. Wystarczy przeczytać.
widać Stallman ma z tym problemy
RMS nie miał dostępu(lub przynajmniej nie zawsze) do źródeł. W swoim klonowaniu obcych aplikacji nie opierał się na żadnej fobii. Po prostu Uniwersytet podpisał umowę, że Pan Stallman nie będzie mieć dostępu do źródeł aplikacji, które współtworzył, a współtowarzysze nie będą się do niego odzywać/spotykać z nim. Dlatego zaczął tworzyć wszystko od początku, nadganiając niejednokrotnie wielkie firmy swoimi poczynaniami. Nie zapominaj, że za jego czasów kod źródłowy był dystrybuowany z każdym programem(może prawie).
I Stallman na pewno opierał się na mniejszej fobii niż projekty BSD. Czuł jednak zagrożenie, że świat informatyki może przestać się rozwijać lub napotka stagnację. Odwalił on kawał dobrej roboty.
> Nie zapominaj, że za jego czasów kod źródłowy był dystrybuowany z każdym programem(może prawie).
Ciekawe, o tym nie słyszałem, jakieś dowody?
> I Stallman na pewno opierał się na mniejszej fobii niż projekty BSD.
LOL (sorry, musiałem). Tak, BSD pozwala innym korzystać dowolnie z kodu, bo to tylko kod. Stallman chce kastrować za skopiowanie jednej linijki z projektu na jego licencji do czegoś, czego źródeł na kompatybilnej licencji nie dasz… Może się mylę, ale RMS w przeciwieństwie do BSD boi się, że mu kod ukradną?
Dokładniej boi się, że mu zamkną. Zupełnie słusznie z resztą.
Przeczytaj sobie artykuł "Historia rozpowszechniania oprogramowania [1]" na jakilinux.pl:
"Chcąc w pełni zrozumieć dzisiejsze modele licencjonowania oprogramowania należy cofnąć się do lat 60-tych, kiedy pojawiły się pierwsze komputery dla rozwiązań biznesowych. Wtedy oprogramowanie stanowiło nieodłączną część produktu jakim był komputer i było dostarczane za darmo, razem z kodem źródłowym."
@bies: Boi się, że zamkną mu forki narzędzi z BSD czy wiecznie nieukończone jądro, które na dzień dzisiejszy nadaje się tylko i wyłącznie do przepisania?
Ja też uważam RMSa za fanatyka. I głównie z tego powodu z dużą rezerwą podchodzę do tego, co wypisuje…
Lecz w przypadku Twojej wypowiedzi jest jedno, za to ogromne ALE.
Co mają do rzeczy narkotyczne ekscesy RMSa w erze hippisów? (Osobiście o tym nie słyszałem; założę tutaj jednak, że to prawda.) Czy te ekscesy mają wpływ na słuszność jego OBECNYCH poglądów? A jeśli pewnego dnia RMS stwierdzi, że 2×2=4, to też mamy go wyśmiać, bo ćpał w latach 60-tych?
We wszystkim trzeba zachować umiar i zdrowy rozsądek, również w krytyce RMSa.
Nie to było BTW a nie jakikolwiek zabieg podważający jego wiarygodność (o ile taką może posiadać czlowiek z brodą i czapeczka ze smigiełkiem..) ehh
nie karmię trolli.
Teorie spiskowe występują zawsze tam gdzie liczy się gruby pieniądz. A na jego zdobycie są tylko dwie możliwości: albo zrobić dobry program, albo zrobić zły i uzyskać wyłączność. (Jest jeszcze trzecia droga, której MS chyba nie odkrył… zrobić dobry program, i uzyskać wyłączność).
Stallman w tym wypadku ma rację – nie warto pchać się w paszczę lwa, żeby wyjść ładnie na zdjęciu
widzę, że jesteś ekspertem, więc może uzasadnij swoją wypowiedź, bo piszesz coś nie poparte jakimkolwiek dowodem?
zresztą jak większość tutaj w stosunku do MS
jest złe bo zamknięte??
czy że ma błędy?
w Linuksie bugów jest tyle samo albo i więcej – więc też chyba jest zły… w ogóle to każdy program jest zły, bo właściwie w każdym wystąpił jakiś bug.
Stallmanowi to przeszkadza chyba to, że od nich nic zerżnąć nie może.
@greggz:
w wiadomości napisano przecież wyraźnie dlaczego Stallmanowi to przeszkadza. Może sobie uwaznie ją przeczytaj zamiast pisać pierdoły?
nie interesuje mnie to co się pisze pod publikę.
Stallman zamiast gadać głupoty z palca wyssane, niech się weźmie poważnie do roboty
On już napisał emacsa i gcc. Teraz Twoja kolej. Czym możesz się pochwalić?
Twoja teoria wyjaśniająca dlaczego RMS jest zakręcony jego przynależnością do subkultury hipisowskiej ma jedną wadę – koleś nigdy nie był hipisem, nawet nie specjalnie przepadał za hipisowskim ruchem.
Narkotyczne ekscesy Stallmana? Nic o nich nie słyszałem, za to wiem że Bill G miał zaciachy na przestępce od małego. Krąży po necie jego fota z kartoteki policyjnej. Teraz jest sprytniejszy i nagina prawo w inny sposób – jest sprytny nawet do tego stopnia że potrafi sprawić by prawo działało w sposób inny niż założony przez ustawodawcę – ot hakier.
Ale, ale … http://en.wikipedia.org/wiki/C_Sharp_(programming…
Tutaj male ciach:
"It was developed by Microsoft within the .NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO (ISO/IEC 23270)."
Czyli jak np Canonical stworzy wlasny jezyk to bedzie super fajnie, ale jak inna firma to juz zle?
Ale jaki jest dokładnie Twój argument? Bycie standardem ECMA czy ISO nie ma żadnego związku ze sprawą. Problem rozwiązałby się sam gdyby Microsoft zrobił .NET otwartym standardem. Ale na to się nie zanosi.
To ISO jest zamknięte?
Teodorka, nie każdy standard jest otwartym standardem, co chyba już tu zostało wyjaśnione.
Nie do końca – raczej nie każdy standard ISO, umożliwia proste wdrożenie. Jednak każda jego implementacja, jest wolna od roszczeń – i na tym polega normalizacja/standaryzacja ISO. Jeśli by to dotyczyło np uzyskiwania jakiegoś związku chemicznego o konkretnym wzorze, to możesz uzyskać identyczny związek jednak innymi "metodami/formami/proporcjami" niż zrobiła to XXX firma która ma na to patent. Tak wiec nie da się opatentować efektu końcowego, ani zabiegów potrzebnych do osiągnięcia celu. W przypadku mono jest to w 100% ok bo jest to wolna implementacja (tak samo zachowywujaca się jak wzorzec) jednak mająca inne źródło.
Teodorka, jak nic nie wiesz i nie rozumiesz, to nie zabieraj głosu.
"Otwarty standard" to standard, co do którego nie ma praw patentowych albo są one udostępnione do nieodpłatnego, powszechnego użytku.
.net jest standardem iso, ale implementując go naruszasz zapewne patenty MS. Zapewne, bo MS się na ten temat nie wypowiada tylko tajemniczo milczy.
Novell i jego klienci oczywiście maja ochronę patentową (czego dotyczyła słynna umowa Novell-MS), więc mają rzekomo wolne Mono.
A jak już połowa aplikacji OpenSource będzie używała Mono, to MS wszystkich pozwie i zakończy zabawę. Przepisanie tych wszystkich aplikacji z powrotem na normalne języki zajmie lata.
Programiści OpenSource nawet nie mogą zapłacić za patent, bo patent dotyczy tylko jednej aplikacji, a oprogramowanie na otwartej licencji można forkować.
Minusy za FAKTY? A mówicie że to Stallman jest nawiedzony
Bajki piszesz, (teksty ad persona daruj) C# nie narusza żadnego patentu jest wolne i otwarte na wszystkie możliwe sposoby, ba nawet bardziej niż ODF na który ma patent OASIS (wcześniej SUN). Umowa Novela, dotyczy tylko tego co w .net jest opatentowane – ale przecie nikt Ci nie każe tego stosować, bo i po co Ci kontrolki Windowsowe czy ASP na linuksie.. (przy zastosowaniach biznesowych i serwerowych novela może ok ale na zwykłym linuksie po co?!)
MS nie będzie mógł pozwać wszystkich bo niby jak i za co? Implementacja jest zupełnie inna niz MS (bo jak mieli przepisać jak MS nie dał źródeł), tylko schemat zachowania VM taki sam (zgodny z ISO a stosowanie wytycznych iso jest bezpłatne !). Ponadto sam sobie przeczysz patent dotyczy jednej aplikacji, to czemu przy C# MS ma pozywac wszystkich?!
Na razie mono-aplikacje używają tylko c#, ale zaraz zapewne zaczną używać czegoś z .NET. Moonlight będzie pewnie musiał używać własnościowych kodeków. Najpierw stopa w drzwi a potem będziemy mieli przechlapane.
Czemu Cannonical miałoby tworzyć własny język? Lepiej korzystać z dostępnych narzędzi.
Proponuję zrobić ściepę ogólnoświatową i kupić Panu RMS malutką wysepkę, dokupić dożywotni zapas sandałków. Bilet w jedną stronę.
I internet 56V.92 … za kare
E, rms internetu nie potrzebuje. Sam mówi, że nie browsuje, a maile i paczki ze ściągniętymi wgetem stronami to mu może raz na tydzień gołąb pocztowy na CD dostarczać.
Tylko czemu nie na odwrót? Niech przesyła paczki w drugą stronę. Człowiek w końcu zająłby się ponownie tworzeniem oprogramowania. Co do tematu, to też nie lubię Mono w Linuksie. Korzysta z niego na krzyż parę aplikacji, a zajmuje mnóstwo miejsca.
a zajmuje mnóstwo miejsca.
<code>$ du -sh /usr/lib/mono
39M /usr/lib/mono</code>
40MB w epoce terabajtowych dysków to doprawdy, kosmiczna wielkość;) Dla porównania:
<code>$ du -sh /usr/lib/python2.6/
54M /usr/lib/python2.6/</code>
Jednak płyta Live CD Ubuntu po dekompresji zajmuje tylko 900MB. 70MB to naprawdę jest mało
.
To ja też chcę bilet na tą wyspę
Poproszę ważny dowód tożsamości na nazwisko RMS, jak zobaczę to zacznę zbierać kasę na tĘ wyspę.
Po prostu wszyscy normalni ludzie ceniący swoją wolność wyjechali by na tę wyspę. W sumie to musiałbyś kupić jakiś archipelag albo pół kontynentu.
A ty, razem z resztą sobie zostańcie i dalej babrajcie się w tym bagnie. Aż was microsoft nie pozamyka w więzieniu za łamanie jego patentów.
oO: Ktoś Cię musiał bardzo skrzywdzić, skoro świat wydaje Ci się taki mroczny i groźny…
> Po prostu wszyscy normalni ludzie ceniący swoją wolność wyjechali by na tę wyspę. W sumie to musiałbyś kupić jakiś archipelag albo pół kontynentu.
Norma to większość, z tego co obserwuję projekt to większości ludzi Mono nie przeszkadza, RMS i koleżanki są w mniejszości… W takim układzie zapraszam po bilet i obowiązkowe RMS-owe sandałki.
Świat informatyki taki po prostu jest. Dzięki krzywdzącemu wszystkich microsoftowi.
Well, to może powinieneś wybrać jakąś bezpieczniejszą robotę? Żołnierza albo kaskadera? Po co się tak męczyć?
Ja do tej pory kryję się w Polsce. To obecnie ostoja normalności w świecie informatycznym, choć politycy też uchwalają nasze kwiatki.
Jak ta ostoja zniknie, to z chęciom też wyjechałbym na tę wyspę z RMS. Pewnie media okrzykną nas piratami, choć RMS będzie kastrować za niezapłacenie za wykorzystywany soft płatny. Trudno.
Cenię sobie wolność, ale nie wybieram się na wyspę gdzie jest zakaz używania komercyjnych programów, programów bez licencji gnu czy też programów na które Stallman krzywo patrzy. Bo tego typu chińska wolność mnie nie interesuje.
Najśmieszniejsze w tej całej sytuacji jest to, że dodają całe Mono dla aplikacji, której wielkość i funkcjonalność niewiele przewyższa "Hello World". W dodatku ma ona alternatywę w postaci Gnote.
Myślę, że autorzy GNOME zrezygnują z C#, więc całego Mono, gdy dopracują Vala. O ile Mono zajmuje miejsce, to w przypadku Vala zajmować miejsce będą tylko parser i kompilator. W dodatku GLIB jest bardzo przenośny i obecnie ma działający port, m.in na platformie Windows. Jedynie Microsoft może stwarzać problemy, ale zawsze GLIB można załączyć z aplikacją.
Obawy niewątpliwie są słuszne. ;/
A ja wątpię, przekonujących argumentów nie spotkałem. C# jest standardem ISO z tego co pamiętam, tak jak wiele języków, jakoś nikt nikogo nie ściga za własne implementacje i nie bawi się w patenty.
.
Bardziej obawiam się zakazu używania GCC i Emacs-a na niewolnych systemach.
Tylko że takie Mono czy DotGNU implementują także te części platformy .NET, które nie są ustandardyzowane w ECMA i są opatentowaną własnością Micro$oftu.
A takiego zakazu nigdy nie będzie, bo w przypadku wprowadzenia takiego zakazu przestałyby być wolnym oprogramowaniem.
@Paweł Ciupak: i pewno nie da się przygotować wersji "free", która te części będzie miała wycięte?
np które?
Ufoludek: a czy po wycięciu tych części mono nadal będzie w jakimkolwiek stopniu używalne?
Poza tym: poco komu jest potrzebne mono?
Są aplikacje przenośne. Jeżeli nie uwiązuje się programu do okreslonego systemu np. przez specyficzne API (które można odciąć warstwą abstrakcji, jeżeli używanie go jest konieczne), to jego kod może okazać się zaskakująco przenośny. Kod wykonywalny jest ten sam, różnice są chyba dopiero na etapie linkowania, jak tworzony jest sam plik zawierający kod skompilowany podzielony na odpowiednie sekcje, nagłówki itp potrzebne tylko do tego, aby system wiedział, gdzie się zaczyna i kończy kod, który trzeba wykonać.
Skoro jest mono to chyba komuś jednak jest potrzebne.. I mono jest dalej używalne.
@szatox: tak, nadal będzie używalne. Tym bardziej, że aplikacje w .net pod Linuksa pisze się raczej korzystając z gtk# i okolic, a nie z winforms.
I nie chodzi o przenośność, tylko o wydajność/wygodę pracy programisty, który by w końcu miał możliwość używania nowoczesnych narzędzi.
@ufoludek: Łamiąc kompatybilność z aplikacjami? To mamy jeść odsmażany kotlet lub chodzić w dziurawych butach tylko dlatego, że tak chce MS? Wiem, że programiści powinni trzymać się standardów, lecz MS, jak również jego dominacja na rynku potrafi wybić z głowy poszanowanie dla nich. Zauważ też, że obecnie najlepszą implementacje, jak również najlepsze środowiska programistyczne dla Mono ma MS. Gdyby choć raczyli oznaczyć, które części są niestandardowe lub wyświetlić komunikat w przypadku załadowania takowych. Programiści jednak będą korzystać niby ze standardowego .NET, a nie będą będą pisać w środowisku obsługującym ten standard.
@_Teodorka_: Ty chyba umyślnie udajesz, że nie zrozumiałeś o co chodzi? Nie ważne. Przeczytaj mój komentarz powyżej. Nie chodzi o to, że Linuksowe aplikacje korzystają z Mono. Chodzi o to, co będzie w przyszłości. Zresztą… Powoływanie się, że parę aplikacji na Linuksa korzysta z Mono jest nic nie warte. Przyjmijmy jednak, że masz słuszność. Nawet, jeśli te aplikacje będą działać na wersji Mono Free, to już aplikacje pisane pod MS .Net nie będą działać.
@Sławek: nie trzeba być 100% kompatybilnym z Windows. Nawet zrobienie "wolnego" forka .net pozbawionego rzeczy chronionych patentami (po jakimś researchu, które to są) byłoby korzystne.
Może by się nie dało odpalać wszystkich aplikacji stworzonych w .net na Windows, ale w tej chwili też się nie da, więc nawet jedna działająca to byłoby coś.
Poza tym programiści FOSS dostaliby do ręki narzędzie o niebo lepsze od tego, z czym się muszą męczyć w tej chwili, bo gcc + gdb to po prostu śmiech na sali.
@ufoludek
Przeciez nie musisz uzywac gcc + gdb i nie jestes skazany tylko na .NET.
Zauwaz ze MS prze do przodu jak oszlaly i zaciera po sobie slady patentami – nie ludz sie ze Mono lub cos innego dogoni MS .NET, a jesli dogoni to z pewnoscia MS .NET bedzie juz tak przestarzaly jak WinAPI a Mono tak jak Wine obecnie.
@borizm: o rly? mam do wyboru:
- C/C++ (czyli gcc + gdb)
- Javę ze wszystkimi jej wadami
- języki dynamiczne (Python, Ruby), które do tworzenia dużych aplikacji nadają się tak sobie
- …?
@ufoludek
Masz jeszcze LLVM dla C++.
Ze Java z jakim wadami, ze tak niesmialo zapytam ?
O rany, jak chcesz to uzyj se gcj i skompiluj kod Java do binarki, albo zainstaluj sobie komercyjny Excelsior JET (on robi to samo w locie).
Ludzie tu wypisuja, co mamy jeszcze, ale chyba to ignorujesz.
Na JVM dzialaja takie jezyki:
- Scala,
- Groovy,
- JPython
- JavaScript,
- RUBY,
- PHP,
- i kilka innych.
Konentruje sie na JVM bo jest prawie tak szybki jak C.
Masz jeszcze jezyk D i wiele innych – zalezy do czego.
.NET stanowi podstawe stosu produktow Microsoft. Microsoft musi propagowac .NET, aby bylo duzo fachowcow do oprogramowywania i kustomizacji tych produktow i pisania innych wspierajacych sam Windows.
Nie ludz sie ze Mono bedzie mialo cos znaczylo komercyjnie w stosunku do potegi MS .NET.
W mojej firmie na RHELinux i HP-UX dzialaja klastry serwerow aplikacyjnych J2EE/JEE, platform integracyjnych tez napisanych w Java. Slowo .NET jest tu przyjmowane z chlodem.
Ja nie mowie ze .NET jest do bani – ale ze jest taki, jaki ktos chce zeby byl i ten ktos, mowiac delikatnie, nie wspiera Linux'a i innych systemow. I po co to nam ?
@borizm: Wady Javy w porównaniu z C# wymieniłem w innym poście. Poszukaj sobie. I nie, nie chodzi o kompilowanie do binarki przy pomocy gcj.
C++ w LLVM — taki sam badziew jak g++.
Co do Scala i inne egzotyczne języki: gdybym miał wybierać, bo bym pewno wybrał Haskella (just for the fun of it), ale to nie zmienia faktu, że chyba lepiej, żeby Linux pozwalał na pracę w językach "mainstreamowych", bo dzięki temu może przyciągnąć "mainstreamowych" programistów, a nie tylko gości, którzy jeszcze są na etapie jarania się "co prawda nie umiem napisać dużej aplikacji, ale wycisnę w moim hello_world CPU do ostatniego cyklu!".
Jakos mi sie nie wydaje, a fakty naciagane, czemu? Skoro C# jest standardem, i to co jest tam zapisane nie moze stac sie nagle patentem!
To tak jak by teraz nasza ulubiona firma zaczela pozywac wszystkich autorow stron WWW, ze optymalizowali kod po IE, czy M$ opatentowal HTML?
Fakt pozostaje jeden, jak autorzy przegna lekko mowiac pale, i zaczna klepac cos co jest 'nie w standardzie' to faktycznie moze byc mniej wesolo.
Na pocieszenie, to jest OS, wiec alternatywa napewno sie znajdzie o ile juz nie istnieje, to w przypadku 'pozwu' ( o i tutaj dobre, kogo mamy pozwac?
), napewno sie takowa pojawi.
Zwłaszcza że 'przegięcie pały" może być naprawdę subtelne. C# nie stoi w miejscu, a nie jest powiedziane, że przyszłe dodatki też będą "patent-free". Developerzy raczej w nosie mają prawnicze przepychanki i może się okazać, że obudzą się z ręką w nocniku(vide TomTom).
Pytanie zasadnicze – mamy C# 3.0, jak w 6.9 wprowadzą coś patentowanego to od razu wszyscy programiści C# będą zmuszeni tego używać? Dziwna sprawa, chyba jestem jedynym programistą, który nie goni bezmyślnie za numerkami języków i kompilatorów…
@LV:Problem w tym, że MS niekoniecznie poinformuje, że to-i-siamto rozwiązanie jest przez nich opatentowane. Poza tym wielu developerów może po prostu ignorować te informacje (bo np. mieszkają w UE i amerykańskie patenty im zwisają). Może dojść do sytuacji jaka jest teraz z odtwarzaniem mp3 czy DVD-to znaczy braku legalnych łatwo dostępnych możliwości. I znów usłyszymy że Linux jest "be" bo to-i-tamto nie działa, a w Windows tak.
@Sparrow1: przeca MS nie wprowadza swoich rzeczy bezpośrednio do mono. Ktoś je musi przeportować. Chyba ten ktoś może sprawdzić, czy portowane przez niego rzeczy są chronione patentami czy nie?
Sytuacja będzie identyczna jak teraz.
Sugerujesz, że nikt nigdzie o tym nie napisze? W dokumentacjach Microsoftu wzmianki o patentach widziałem. Poza tym osoby trzecie na pewno coś takiego udokumentują, jak jakiś developer nie ma styczności ze środowiskiem i nie śledzi rozwoju języka to jego problem. Jeżeli coś nie jest robione na konkretny rynek to po prostu nie używa się niepewnych klamotów… Programista-ignorant zaś nadaje się co najwyżej do zamiatania ulic, to nie praca dla niego.
@ufoludek: Jesteś pewny? Akurat ja czytałem kilka różnych wniosków patentowych (przy okazji takich dyskusji jak ta) i nie zrozumiałem żadnego(może jestem idiotą,ale nie wydaje mi się). Wnioski patentowe są wyjątkowo zawiłe i nieprzystępne dla "zwykłego śmiertelnika" a proste wpisanie czegoś w google niekoniecznie musi wystarczyć.
Czyli burdel
@LV: czyli programista Mono musi być wykwalifikowanym prawnikiem z zakresu prawa patentowego, bo jak nie to może co najwyżej ulice zamiatać? To co piszesz nie jest nawet śmieszne, jest żałosne. Na prawnicze spory mogą sobie pozwolić korporacje, zwykli hobbyści dłubiący coś po godzinach nie mają w takich sporach szans. I to jest właśnie argument przeciw Mono-nie używajmy czegoś, czego nie jesteśmy pewni.
Burdel to będzie zawsze, chyba że wszelkie Stallmany, Jobsy, Balmery i insze takie nasienie wyginie raz a dobrze. To co, czekamy na 2012?
@Sparrow1: od tego EFF ma prawników, ze specami od patentów w OIN włącznie. Może i teraz jest lekki burdel, ale jakoś Linux z tym żyje.
> @LV: czyli programista Mono musi być wykwalifikowanym prawnikiem z zakresu prawa patentowego, bo jak nie to może co najwyżej ulice zamiatać?
Przeczytaj ze zrozumieniem, co napisałem? Programista ma tylko nie tracić kontaktu z rzeczywistością, ma po prostu *chociaż odrobinę interesować się językiem*. Jeżeli coś takiego wejdzie to na każdej stronie dotyczącej C#/Mono będą informacje o patentowanych klamotach… Czy trzeba być programistą żeby pisać o patentach? Nie sądzę.
> To co piszesz nie jest nawet śmieszne, jest żałosne.
Vice versa.
Może powiem jaśniej – podczas rozwoju biblioteki i języka stopniowo wycofuje się stare rzeczy, jasno w dokumentacji oznacza się je jako przestarzałe i zaleca używanie ich nowych zamienników. *Wszędzie*, gdzie się o tych klamotach wspomina, w tym w oficjalnej dokumentacji, widnieje odpowiednie zalecenie. Mam rozumieć, że w przypadku opatentowanych klamotów podobnych informacji nie będzie?
Ufoludek: Mono jest alternatywną implementację .NET, a .NET udaje alternatywę dla Javy – programy przenośne pomiędzy systemami. Co to oznacza? A no nie mniej, nie więcej, niż to, że Mono nie obsługujące części funkcji M$ .NET jest bezużyteczne.
Więc poco W OGÓLE go używać? Jest na prawdę przenośna java. .NET jest przenośny tylko między windowsem na PC i windowsem na XBOX – bosko, nie mam żadnego z nich, więc mnie to nie interesuje. Jak coś ma być przenośne, to można napisać z głową, aby nie wiązać kodu do systemu, albo napisać jakkolwiek w javie lub pythonie (chociaż tego zdecydowanie nie pochwalam) – bo i tak zadziała.
Do czego niby jest potrzebne mono przenośne pomiędzy linuxami? Pomiędzy różnymi linuxami wystarczy rekompilacja – aby dostosować wersje bibliotek. A często nawet i to nie jest konieczne, bo wystarczy alien.
@LV: czy masz w tej chwili kompletną jasność co do tego, które części .NET są opatentowane, a które nie? Bo ja nie mam.
No właśnie językiem a nie patentowym guanem otaczającym ten język. Gdyby wszystko było jasne i przejrzyste, tej dyskusji by nie było.
Gdzie ja coś takiego sugerowałem? Pisałem tylko że nowe "klamoty" które wejdą do języka mogą być objęte patentami, o których nikt nie będzie wiedział. I będą standardem "de facto", nie "de jure".
A jakie są problemy z dostępem do tych informacji poczytaj sobie tutaj.
@szatox: Chodzi o to, że nawet "Mono nie obsługujące części funkcji M$ .NET" jest bardzo dobrym środowiskiem do rozwijania aplikacji. Aplikacji, takich jak Tomboy, F-Spot, Banshee, Beagle czy MonoDevelop. Zupełnie abstrahując od przenośności.
może i dobre do rozwijania. Tylko czemu takie ciężkie?
Co rozumiesz przez "ciężkie". Mój komputer po instalacji Mono waży dokładnie tyle samo ile przed. Jak wcześniej napisałem, wiele miejsca na dysku nie zajmuje – około 40 MiB. Apetyt na pamięć operacyjną jest też umiarkowany (kiedyś robiłem testy, bo też się obawiałem że mono zeżre mi całą pamięć). Co do szybkości, to Mono jest w środku stawki – z C nie może się równać, ale wszelkie Pythony zostawia w tyle.
Za FAQ mono — patentami chronione są fragmenty ASP.NET, ADO.NET i Windows.Forms. Cała reszta jest częścią standardu.
Patenty potrzebne do implementacji wg standardu ISO zostały udostępnione (przez MS!, Intela i HP) za darmo wszystkim chętnym. źródło.
Ty patrz a ODF jest opatentowany i jest standardem ISO co to zmienia? Czemu nawet jakby C# opatentować miałoby się to źle skończyć? przecie jak coś jest standardem ISO to w połowie jest własnością ISO – przez co jak MS miałby pozywać? Standart ISO gwarantuje, że pozwów nie będzie, bo samu uznanie to jako standardu eliminuje taką możliwość.
Jest jednak możliwość, że z Mono będą musiały zostać wyłączone funkcje nie będące częściom standardu, które jednak obecnie są zaimplementowane. Z dnia na dzień pewne aplikacje mogą przestać działać pod Mono.
Nie ma takiej możliwości, bo poza ASP i Windows.Forms są standardami.
To po co implementować Mono, skoro nie będzie miało trzech najważniejszych moim zdaniem części .NET – dostępu do danych, interfejsów formsowych i aplikacji internetowych?
A po co Windows.Forms na linuksie O_o? Nie wspominając o ASP w programie na desktop..
Formsy? Po to, żeby zapewnić przenośność aplikacji (pomijając wspomnianą tu "łatwość" osadzania kodu natywnego dla platformy, która również to utrudnia).
ASP? Chcę postawić serwer na Linuksie. Albo Solarisie. I na nim aplikację w ASP. Nie mogę przez to.
Nie wspomniałaś o ADO, a do danych też bym się chciał dostać w jakiś sensowny i popularny sposób. No na przykład LINQ
Zresztą pogrzebałem nieco na stronie Mono – nie ma tam wcale rozdzielenia na fragmenty obciążone patentami (np. Winformsy o których wspominałem!) od tych zupełnie wolnych. To bardzo, bardzo złe podejście i kolejny argument aby w Mono nie wchodzić.
Bo tych nie wolnych niema w mono! powtórzę choć chyba już ktoś to cytował:
"For people who need full compatibility with the Windows platform, Mono’s strategy for dealing with any potential issues that might arise with ASP.NET, ADO.NET or Windows.Forms is: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless."
Czyli dostanę półprodukt, który _może_ nie działać, lub działa w oparciu o mechanizmy inne (w domyśle: na przykład mniej wydajne)? Dziękuję, postoję.
@_Teodorka_: Dla przykładu MPEG-4 też jest standardem ISO. Dokładnie to ISO/IEC 14496. Czy świadczy to o tym, że jest wolny od patentów i każdy może go używać do woli? To dlaczego wg Ciebie FFmpeg, który implementuje ten standard, nie można np. w USA rozprowadzać legalnie?
@http://kawos.openid.pl/: A teraz pokaz mi zrodlo informacji o tym, jakoby ffmpeg nie mozna bylo w USA rozprowadzac legalnie.
@trasz: Wg. http://ffmpeg.org/legal.html w celu zgodności ze specyfikacją ISO/IEC 14496 wymaga stosowania rozwiązań objętych patentami (tu lista patentów http://www.mpegla.com/m4s/m4s-patentlist.cfm). Jak wiadomo USA uznaje patenty na oprogramowanie (http://en.wikipedia.org/wiki/Software_patent#United_States), które mogą być wykożystane w tym projekcie.
@http://kawos.openid.pl/: Tyle, ze to sie nijak ma do mojego pytania. To, ze cos jest objete patentem, nijak nie oznacza, ze nie mozna tego pisac, uzywac czy rozprowadzac.
Z tymi programistami masz rację. Chodzi o rozszerzenia, które zostaną opatentowane w stylu próby opatentowania RSS czy ATOM. Całe szczęście ta próba MS się nie powiodła. Możemy spać chyba spokojnie
.
Za niedługo ujrzymy nagłówek: RMS mówi nie dla Wine
.
Tak poza tym, to pojęcia nie mam po co nam to całe Mono. Sam nie korzystam z żadnej aplikacji wykonanej przy użyciu(czyli wymagającej Mono) i jestem szczęśliwy. Nie wiem czemu większość dystrybucji zawiera Mono w skład swoich dystrybucji. Tak prostą aplikację, jak Tomboy można bardzo szybko napisać w C/C++, a bardziej hardcorowi pokusiliby się o AS86. Banshee jest natomiast jedną z najbardziej denerwujących aplikacji – wiem to jednak tylko z opinii innych osób. W dodatku jest bardzo ociężałe. Do czego jeszcze używa się Mono? Może jedynie F-Spot jest w tym napisany, lecz nie jestem pewien.
Jest jeden mankament. Microsoft-u nie zmienimy, a im bardziej będzie się naciskać, tym bardziej będzie stawiać opór, aż przestanie istnieć. Nawet w przypadku, gdyby w Pythonie były 100*"lepsze" (nie zmieści się w komentarzu) aplikacje niż w Mono, to Microsoft i tak nie doda odpowiednich pakietów do swojego systemu.
Wiesz to, że Tobie do szczęście jest nie potrzebne nie znaczy, że innym tez nie. Aż chcę się rzec, nie bądź Stallman daj używać każdemu to co chce.
> Tak prostą aplikację, jak Tomboy można bardzo szybko napisać w C/C++, a bardziej hardcorowi pokusiliby się o AS86.
Tja, tylko, że C/C++ to gołe języki, to `drobna` różnica w porównaniu z Mono. Zgadzę się, że C++ + Qt pozwala takie coś błyskawicznie wykonać. W asm? GObject i przyjaciele… tylko czas pisania ko(s)miczny i przenośność z Intela na AMD i z powrotem. Tak, wiem, ironia…
> Banshee jest natomiast jedną z najbardziej denerwujących aplikacji – wiem to jednak tylko z opinii innych osób. W dodatku jest bardzo ociężałe.
Skoro to wina Mono to Amarok czy Firefox na 100% też są pod Mono…
> Nawet w przypadku, gdyby w Pythonie były 100*”lepsze” (nie zmieści się w komentarzu) aplikacje niż w Mono, to Microsoft i tak nie doda odpowiednich pakietów do swojego systemu.
Jakich pakietów? Mono to przede wszystkim framework, Python to po prostu język… Dalej, Microsoft nie dodaje do systemu oprogramowania firm trzecich – własnej implementacji Pythona przecież nie mają. Poza tym Python nie podskoczy Ruby, zaś własną (.NET-ową) implementację Ruby Microsoft ma. I w czym niby Python jest lepszy od C#, biblioteka standardowa Pythona zaś od .NET?
Tym, że Python pozwala na wiele haków zależnych od platformy. .Net pozwala na wiele haków zależnych od MS(nie będących częściom standardu). Jednak w porządku. Też możemy dodać jakieś bonusy do Mono
.
W dodatku Python pozwala na świetną integrację z C/C++ czy innymi językami. .Net też, lecz pod warunkiem, że jest napisane w .Net.
> Tym, że Python pozwala na wiele haków zależnych od platformy.
Mógłbyś te hacki wymienić?
> W dodatku Python pozwala na świetną integrację z C/C++ czy innymi językami. .Net też, lecz pod warunkiem, że jest napisane w .Net.
Że co? .NET pozwala na integrację z dowolnym językiem natywnym, C++/CLI służy właśnie do tworzenia takich pomostów – można w tym samym module (ba, w tej samej funkcji) korzystać z kodu natywnego i zarządzanego jednocześnie. C# zaś ma chociażby coś takiego jak unsafe – czyste pointery itd. co też swoje daje… Zresztą tak .NET jak i Mono może używać bibliotek natywnych w wygodny sposób.
.
Sorry, ale w tych czasach praktycznie każdy językframework ma swój FFI.
Python pozwala na różne haki zależne od platformy. Chociażby funkcja walk czy jakieś funkcje typowo Posiksowe, co nie są dostępne na innych platformach. Jest to niekiedy przydatne – kiedy używamy Pythona jako powłoki lub dostarczamy rozwiązanie konkretnemu klientowi. Trzeba jednak unikać stosowania tego. Dzięki standardowej bibliotece Pythona raczej nigdy nie zostaniesz zmuszony do użycia takich rzeczy.
A popatrz, mnie ActivePython pozwala na Windows korzystać z WINAPI, i jak ja biedny mam pisać w Pythonie skrypty pod Linuksa? ;(
Wsparcie dla rzeczy zależnych od systemu to nie argument.
„Za niedługo ujrzymy nagłówek: RMS mówi nie dla Wine.”
Moment, moment. To od kiedy zaczęto pisać aplikacje linuksowe używając Wine?
Poza tym, ZTCW, chyba obecnie żadna dystrybucja nie ma Wine w swojej standardowej instalacji.
chyba ubu ma. Aplikacji linuxowych z wine nie znam, chociaż trafiają się kfiatki w postaci exe zintegrowanego z winem i podpisanego "wersja dla linux" :/
Nie ma. Ma w repo, musisz sobie doinstalować.
a jak ktoś nie korzysta z pythonowych itd. to znaczy że pythona też może nie być?
skoro można bardzo szybko napisać Tomboya w C/C++ to może tak napisz, i wyślij to im, może wtedy zrezygnują z mono
wszyscy mówią że coś można, ale żaden tego nie napisze? czemu?
przecież to takie proste!
Główny problem Mono jest taki, że chociaż implementuje ono "standard" MS, robi to _niezależnie od MS_. Różnice między "platformą dotnet" a Javą są tu wyraźnie widoczne:
- Java jest dostarczana na wszystkie platformy (Solaris, Windows, Linux, co tam jeszcze) przez Suna i na tych wszystkich platformach wspierana. Referencyjna implementacja dotnetu jest tylko na Windows, a we wszystkich innych systemach jest jej "niepełna wersja", przez co – z definicji – Windows zawsze będzie lepszą platformą dla dotneta.
- Java (środowisko uruchomieniowe, narzędzia etc) jest przez firmę, która Javę promuje, dostarczana open source, i każdy może korzystać z oryginalnej Javy pisząc jej własną wersję – w przypadku Microsoftu byłoby to naruszeniem tzw. praw autorskich.
- Do Javy istnieje zestaw testów i procedury certyfikacyjne zapewniające uznanie zgodności niezależnej impementacji Javy z implementacją referencyjną. w Dotnecie wszystko, co nie pochodzi od Microsoftu jest "dotnetem drugiej kategorii"
- Także narzędzia związane z dotnetem rozprowadzane przez Microsoft są tylko dla windows (mimo, że, rzekomo, dotnet jest przenośny).
Przypominam sprawe javy suna i androida.. Co co certyfikatów to przypominam sprawe z BSD i certyfikatem UNIX, którego FreeBSD tylko i wyłącznie nie ma, bo do szczęścia papierki im nie potrzebne (woleli zrezygnować z słowa unix w nazwie).
Tak, otwartość Javy… dobre piętnaście lat była zamknięta.
Nadal jest? To może opowiedzieć Ci bajkę o Tymi Tunie?
Już nie jest zamknięta. A "co było a nie jest nie pisze się w rejestr".
No dobra, windows jest wyjątkiem od tej reguły
No i co z tego? Taki Blender też przez większość czasu był zamknięty, co nie zmienia faktu, że obecnie jest to wolne oprogramowanie…
zastanawiam sie, czy ktos z wypowiadajacych sie tutaj faktycznie pracuje z Java, czy powtarza plotki…
Sam pracowalem z Java calkiem sporo (kilka lat temu programowalem w J2EE), uzywam kilku aplikacji Javy (SPSS, Azureus, SweetHome 3D) i nie mam do niej wiekszych zastrzezen.
Wydaje mi sie tez (choc nie testowalem i nie czytalem o tym), ze Java7 zapowiada sie bardzo ciekawie… Moze warto sprobowac?
A mowimy o wolnym i otwartym jezyku z wieloplatformowym wsparciem, wpelni obiektowym i nie noszacym tego ryzyka ktore wiaze sie z jezykiem kontrolowanym przez firme ktorej jednym z celow dzialania jest minimalizacja srodowiska Linuksa.
No i trzecia rzecz. Czy nie mozna rozwazyc wykorzystania QT4? Wiem, szalone. Ale czy nie jest to szalenstwo wywolane wylacznie syndromem NIH i emocjami? Jasne, to nie to samo co nowy jezyk, ale uzywajac QT pisanie w C++ staje sie dosc "nowoczesne".
Tak, ja pracuję w Javie (nie tylko — sporo kodu natywnego w C) od jakichś 7 lat.
C# jest od niej (oczywiście moim zdaniem) o wiele lepsze i lepiej przemyślane. Javę trochę za mocno na początku przycięto i albo jeszcze nie przywrócono przydatnych rzeczy (typy unsigned anyone?), albo przywrócono je (względnie) niedawno (np. enum).
Dodatkowo C# ma kilka innych miłych ficzerów, które znacząco ułatwiają pisanie programów, jak delegate'y (porządne przekazywanie pointera na funkcję, zamiast symulacji przy pomocy badziewnych javowych klas anonimowych), properties, indexery, typy nullable itd.
Javy też nie lubię. Chociażby dziwne porównywanie typów czy ogólnie typowanie w tym języku. .Net też ma jednak sporo swoich kwiatków, jak chociażby konieczność oznaczania bloków pamięci, by nie był inicjalizowany do zera.
Mógłbyś rozwinąć takie kwestie jak:
- dziwne porównywanie typów w Javie,
- dziwne typowanie w Javie,
- 'kwiatek z oznaczaniem bloku pamięci' w .NET?
@Sławek: automatyczne inicjowanie zmiennych/tablic to akurat zaleta, bo pomaga uniknąć mnóstwa trudnych do namierzenia bugów. W Javie też są inicjowane zerami/nullami. Jeżeli C# pozwala to (jawnie) wyłączyć (nie wiem, nigdy nawet nie potrzebowałem takiego ficzera), to tym lepiej dla C#.
@LV : Odpowiedź masz poniżej. W Javie występuje mnóstwo typów, które oznaczają to samo z punktu widzenia tego, co mogą przechowywać. Przykładem niech będzie obiekt dla liczb, jak również typ prosty. Porównywanie typów w Javie często musi sprowadzać się do wywoływania specjalnej funkcji. Wygląda do gorzej niż w C, gdzie dla porównania dwóch ciągów znaków stosuje się: if (!strcmp(a,b)) .
@ufoludek: Wiem, że jest to zaletą w wyszukiwaniu błędów, jednak zazwyczaj sam dobrze wiem, co robię. Nie potrzebuję więc tego, bo staram się zawsze przypisać wartości do zmiennych. Przypisanie do nich zera podczas rezerwacji pamięci nic mi nie daje, bo i tak zmienna nie ma wartości, jakiej oczekiwałem.
@Sławek… k..wa.
> W Javie występuje mnóstwo typów, które oznaczają to samo z punktu widzenia tego, co mogą przechowywać. Przykładem niech będzie obiekt dla liczb, jak również typ prosty.
Typ prosty int a klasa Integer to różnia jak pomiędzy koniem a koniakiem… Java nie ma w 100% czystej obiektowości, podejście względem prymitywów jest podobne do C++, a na C++ nie narzekasz…
> Porównywanie typów w Javie często musi sprowadzać się do wywoływania specjalnej funkcji. Wygląda do gorzej niż w C, gdzie dla porównania dwóch ciągów znaków stosuje się: if (!strcmp(a,b)) .
Chłopcze, porównywanie typów!? Porównywanie *wartości*, to raz. Dwa – masz na myśli brak przeciążania operatorów, więc tak samo dla własnych typów liczbowych nie zdefiniujesz operatora '+'.
> Wiem, że jest to zaletą w wyszukiwaniu błędów, jednak zazwyczaj sam dobrze wiem, co robię. Nie potrzebuję więc tego, bo staram się zawsze przypisać wartości do zmiennych.
Nie, Sławusiu, nie wiesz. W C# czy Javie nie alokuje się pamięci jako takiej, jako gołego ciągu bajtów, nie ma gołych wartości, Ty tworzysz obiekty, lub tablice referencji (które też są obiektami). Wszystko jest referencją, referencja może być albo zerowa albo na coś wskazywać…
/* Swoją drogą podobne kwestie słyszę od autorów sypiących się z tego powodu programów, oni dobrze wiedzą co robi, tylko potem program jedzie na wartościach osobliwych co krok i w losowych miejscach się sypie. */
.
A teraz, Sławusiu, pokaż mi jak w Twoim kochanym Pythonie stworzyć zmienną bez jej inicjalizacji.
@Sławek: być może w EE praktyka jest inna, ale w "normalnej" Javie wrappery do typów prostych stosuje się właściwie tylko w kontenerach, a i to już zanika, bo autoboxing skutecznie to ukrywa, czyli problemu z porównywaniem nie ma.
Co do automatycznej inicjalizacji zmiennych — tylko Ci się wydaje, że nie potrzebujesz
Zmienisz zdanie po pierwszej próbie namierzenia buga w sytuacji typu
int x;
while (x) { tu jakiś kod; }
gdzie na skutek losowej wartości x na początku _zazwyczaj_ kod w pętli się wykona i w środku przypisze do x wartość, która spowoduje poprawne zadziałanie, ale raz na kilkaset odpaleń x będzie miał początkowo wartość 0, i funkcja nie zadziała w ogóle.
Wbrew pozorom takie niedopatrzenia zdarzają się nawet bardzo dobrym programistom, a ich namierzenie trwa długo i kosztuje kupę kasy. Oczywiście na PC są narzędzia, które to ułatwiają (valgrind, bounds checker itp), ale już w embedded masz tydzień z głowy.
@LV: co masz na myśli pisząc o tym jak w Pythonie "stworzyć zmienną bez jej inicjalizacji"?
Masz na myśli stworzenie obiektu bez wywołania konstruktora czy też stworzenie zmiennej (obiektu) bez przypisania mu konkretnej wartości?
Stworzyć zmienną przypisania wartości, w ładny sposób. Pomijam różne haxy z mechaniką Pythona.
ech, *bez przypisania :/
"ładny sposób" – o gustach się nie dyskutuje.
Python jest językiem w zdecydowanym stopniu obiektowym. Ba! Jest zdecydowanie bardziej obiektowy od Javy i różnych .NET. Nie ma więc "zmiennych" – to tradycyjny bagaż myślenia, rodem z C. Każda "zmienna" jest obiektem jakiejś klasy. Zatem, aby stworzyć "zmienną bez przypisania jej wartości" należy stworzyć obiekt bez podawania argumentów konstruktorowi.
O to Ci chodziło?
Tak, tak… Nawiązując do Lispu, z którego nieco czerpie Python, aby mieć `zmienną` trzeba konkretnemu symbolowi konkretną wartość przypisać, czyli połączenie deklaracji z definicją. Chodzi tylko o to, że C# coś podobnego jest wymuszone – Sławuś zaś zachwala Pythona krytykując zaś C# za analogiczne z pythonowymi rozwiązaniami. Nazwij to obłudąhipokryzjąwtf…
.
Obiektowości Pythona nie trawię zbytnio, do CLOS-u mu (delikatnie mówiąc) trochę brakuje, zdecydowanie wolę Ruby pod względem OOP – to jest język obiektowy… Pythonowe słowniczki mnie nie przekonują za bardzo.
Bez typowej ostatnio na OSN złośliwości, ale czego brakuje Pythonowi?
Jak dla mnie to Python i Ruby są jak rodzeństwo. Może nie bliźnięta jednojajowe, ale jednak pokrewieństwo jest tak silne, że ich porównywanie mija się z celem. Kwestia gustu.
Mechanika OOP jest całkowicie inna…
W Pythonie za mixin robi inna klasa, w Ruby moduł (nie istnieje rozróżnienie). Ruby ma dynamicznie rozszerzane klasy (w czasie rzeczywistym można nawet bibliotekę standardową zmodyfikować, oczywiście o ile ma się prawa), mechanizm akcesorów (niby w Pythonie są metody do nadpisania, ale działa to zupełnie inaczej, mniej elastycznie i niewygodnie), Ruby ma prawdziwy mechanizm kontroli dostępu, nie tylko dodawanie kreseczek do nazw składowych, rozszerzanie klasobiektów w runtime wygląda zupełnie inaczej (klas środowiska Pythona nie ruszysz, a to czasem bardzo przydatne)… Hm, instance_eval, class_eval? Python dopiero niedawno dostał dekoratory i metaklasy pozwalające nadrobić sporo braków. Lambdy w Pythonie są jednowyrażeniowe (w Ruby pełna swoboda), mechanizm domknięć w Ruby funkcjonuje zdecydowanie lepiej, był od zawsze…
Generalnie Ruby to połączenie Common Lispu i Smalltalka z mniejszymi dodatkami innych języków, Python to Python.
.
Nie mówię, że Python jest zły, bo nie jest (inaczej bym w nim nie pisał), ale Ruby jest po prostu zdecydowanie bardziej skomplikowany i elastyczniejszy…
…i tak Common Lispu nic nie przebije.
Większość problemów z Javą rozwiązuje Groovy (i daje do tego dużo, dużo więcej
)
A Groovy pracuje na JVM
Python, Scala, Ruby, PHP tez moga pracowac na JVM (np.: JPython) i pracujac na JVM sa szybsze niz na ich oryginalnych runtime.
Ja tez pracuje w Java od prawie 9 lat ale pierwsze lata na przemian z C++ (b. duzo i pod rozne OS'y), VB i C#.
Bylem zafascynowany .NET 1.1 na rowni z Java, ale poznajac z czasem i Java i .NET z coraz wiekszym obrzydzieniem patrzylem na ten drugi.
Co do mozliwosci jezyka, to uwazam ze typowy i prostacki 4GL jest duzo lepszym jezykiem dla biznesu niz Java i C#.
A dlaczego ?
Bo male mozliwosci 4GL standaryzuja jego uzycie i nie powoduja samowolki i niejednoznacznosci. Latwiej po takim kodzie pojechac parserem i wygenerowac cos innego, latwiej zrozumiec logike aplikacji. Inna sprawa ze za 4GL zwykle stoi komercyjna implementacja.
Widzialem juz z 5 projektow robionych w 4GL (Sybase, Informix) i kazdy rozwijal sie harmonijnie od poczatku do chwili obecnej (7 i 11 lat).
http://linuxhaters.blogspot.com/2009/06/to-all-yo…
f-spot → kphotoalbum. Sprawdziłem mu zależności, nie używa mono.
Banshee → Amarok
Beagle → find – sorry, no szukać mi się nie chce.
Beagle → Tracker. Też bez Mono.
Ciekawe są statystyki z serwisu ohloh:
http://www.ohloh.net/p/beagle http://www.ohloh.net/p/4040
Wychodzi z nich, że o ile stworzenie Beagle kosztowało ~2 M$, to stworzenie mniej więcej odpowiadającego mu funkcjonalnie Trackera pochłonęło ponad 8 M$. I wydaje mi się, że to jest główna korzyść korzystania z Mono.
Nie zauważyłem różnic w prędkości działania obu aplikacji (używam obu na codzień), zużycie pamięci też mają podobne (~23 MB na mojej maszynie, Tracker kilka kB mniej). Wyniki Beagle wydają się trochę lepsze.
no to tu mnie zaskoczyłeś.
Wyp@#%$*Ć MONO!
Czy mono zapewnia możliwość przenoszenia programów między OSami? NIE! Ponadto swego czasu po kolejnym apgrejddzie Debiana SID zauważyłem działający u mnie na desktopie serwer http. Po krutkiejj panice (że zostałem zhaczony) i dochodzeniu znalazłemm, że do kawałka gówna w mono dla gnoma jest przyklejony serwer http, by ten serwował DOKUMENTECJĘ do mono – ochujeli całkowicie.
Po grzyba mi nieprzenośny język, który ciągnie ze sobą jakieś chore zależności?
w linuksie większość to chore zależności – więc po co linuks ?
chociażby takie ubuntu/debian
@Apage
Nic dodac nic ujac.
Dodam od siebie: powinnismy traktowac Mono niczym Wine – czyli cos na czym mozna uruchomic program .NET'owy pod *NIX'em (o ile sie da), ale pod zadnym pozorem nie powinnismy tego traktowac jako trwalej platformy do rozwijania oprogramowania dla Linux – moze taka Vala rozwiaze opisywane tu problemy braku tego "czegos" dla Linux'a.
Ja napisalem GUI do OciMonitor w .NET 1.1 C# dlatego ze narzedzie bylo "zamowione" przez firme, w ktorej pracuje: Java odpadla (bardzo stary runtime Java preinstalowany u Klienta, uczulenie co niektorych, brak dobrej integracji z Windows), z Qt rozstalem sie dawno temu i nie bylo ono LGPL wtedy, U++ okazalo sie za ubogie, mialem swoj stary szkielet podobnej aplikacji w .NET no i sila rzeczy wyszlo na .NET.
A teraz bede to przepisywal na kompilowana binarnie Java lub C++
Jak każdy rozsądny człowiek.
Żałosne. Dla durnego programiku dołączają całą tą projektowo i technicznie poronioną kobyłę. Pomijam już aspekty roszczeń patentowych.
Fakt, niech żyje `czystość rasowa`…
…a od kobył to się odstosunkuj, bo będę bił.
PS A teraz poproszę o dokładne omówienie błędów technicznych i projektowych projektu Mono.
Wystarczy, że przepiszesz sobie te z .net
A teraz poproszę o dokładne omówienie błędów technicznych i projektowych projektu .NET Framework.
ot fanatyka? który twierdzi że stallmann należy do rozsądnych ludzi? Masz poczucie humoru
Ja nie widzę problemu z mono, ta "platforma" sama zniknie, znam tylko 4 większe (ale nie duże) aplikacje napisane pod mono: Tomboy — portowany do C++ (gnote), Banshee — łatwo znaleźć alternatywę dla tej aplikacji, F-spot — to samo co z Banshee i MonoDevelop nie będzie mono to i ta aplikacja staje się bezużyteczna (IMHO).
Porównywanie z javą (JVM) nie ma sensu, dla każdego kto kiedykolwiek programował w javie lub innym języku na JVM coś większego. Java ma za sobą ogromną liczbę bibliotek "do wszystkiego" bardzo dobre środowiska programistyczne. Niewspominając ogromnej liczby programistów znających ten język. Porównywać C# do javy też nie ma sensu, języki są bardzo podobne (C# był wzorowany na javie), jak brakuje komuś "C#-owych ułatwień" to groovy pozwala na wszystko czego można chcieć ze statycznym typowaniem włącznie, plus można korzystać z wszystkich bibliotek javy. Do tego mamy scala, cloujure, jruby, jython etc.
Jak zależy komuś na produktywnośći to powinien skorzystać z dobrego IDE, dla mono nie ma niczego co można by porównywać z Eclipse, NetBeans czy IntelliJ IDEA i oczywiście nie wymyślać koła na nowo i skorzystać z dostępnych bibliotek, których w javie nie brakuje.
Jak kiedyś powstanie w mono coś tak dużego jak eclipse, to może będzie warto się temu przyjrzeć, na razie to tylko "pet project" Novell'a. Aplikacje pod mono wymienione powyżej są sponsorowane przez Novell'a, a ostatnio w ramach kryzysowego cięcia kosztów, kilku mono developerów Novell'a straciło pracę.
To tyle o jvm vs mono, a dla developerów Gnome, bardzo obiecująco wygląda vala (składnia bardzo zbliżona do C#), czy python. Google obiecał przyśpieszyć cpythona więc i z wydajnością nie powinno być problemów, vala – jest tłumaczona do C.
No i podsumowując jak ktoś lubi mono to niech używa, na tym polega między innym open source, na wolności wyboru, ja nie widzę sensu zagłębiać się w tą ciekawostkę.
Pozdrawiam
Niestety FSF i RMSa coraz mniej ludzi traktuje poważnie. Firmy używają usług googla, gnome pewnie dalej będzie brnął w mono, graficy będą robić grafiki w photoshopie, nie w gimpie, a unix zapewne jeszcze szybko nie zdechnie…
o rety.. tak to jest jak coś pisze po 12 godzinach roboty… Oczywiście żadne "niestety"… Miało być "na szczęście". Mam nadzieję, że ta intencja została właściwie odczytana.
RMS ma racje. Czasy sie zmieniaja, patenty na oprogramowanie komplikuja sytuacje. Mono to zuo. Co do debiana: genialna decyzja: jeden wsiocki program do robienia notatek z kosmicznymi wymaganiami wymusza dolaczenie wielkiego klona .net? Gdzie tu sens? Aaaa… Gnome! Zapomnialem!
a ludzie są idiotami i nie słuchają ekspertów, nie chcą stabilnego, bezpiecznego, wolnego i otwartego systemu tylko wybierają gówniany zamknięty, zły Windows… a co najgorsze mają gdzieś w czym są napisane programy, chcą ich po prostu używać nie interesując się tym czy jest otwarty czy zamknięty:) co za życie:)
zapomniałem o najważniejszym, nie chcą czytać dokumentacji, howto i manuali, nie chce im się szukać rozwiązania w necie, czytać grup dyskusyjnych i łazić za swoim lokalnym linuksowym guru jak im nie chce grać mp3!:) tępota…
Jakby użytkowników Windows jeszcze nie brali mnie za swojego guru, bo używam Linuksa
. Bardzo ułatwiłoby mi to życie.
statystyczny obywatel wydaje rocznie na alkohol 600 pln, na gry losowe 450 pln, nie wiem ile na narkotyki, czy inną ogłupiającą rozrywką, ale na pewno wydatki na windows są w takim zestawieniu nieistotne, tak samo jak wypowiedzi ekspertów na dowolny z tych tematów
Ktoś wyżej wspomniał, że pod Linuksem są lepsze narzędzia programistyczne do .Net'u (pomijam kwestię waszych sporów co do użyteczności tej platformy). Fanboyom darmowego oprogramowania polecam Visual Studio 2008 od M$ (darmowy w wersji Express). Linuksa znam i używam od dłuższego czasu i niestety muszę stwierdzić, że ludzie pokroju Stallmana tworzą dookoła niego niezdrową otoczkę, od której chce się rzygać. Ideały to piękna sprawa, szkoda, że zderzenie z rzeczywistością często bywa tak bolesne.
Visual Studio 2008 w wersji Express jest NIEROZSZERZALNY (odpowiednia korekta licencji miala miejsce) ! Taki kastrat to jest !
Jak juz .NET to proponuje IDE: SharpDevelop.
To straszne! Darmowy soft bijący na głowę pod każdym praktycznie względem wszystkie inne darmowe softy w danej kategorii (gdb + ddd/kgdb anyone?) ma jakieś ograniczenia licencyjne!
@ufoludek
Co Ty porownujesz? Open-source'owe narzedzia dla maniakow vi, z okrojona wersja komercyjnego produktu pod runtime nadzorowany?
Porownaj to z Eclipse, NetBeans, JDeveloper, Idea – chyba ich na oczy nie widziales.
Tak sie sklada ze jak meczylem sie takze w Visual Studio 2008 Express i wrocilem do SharpDevelop – a i tak daleko im do Eclipse.
1. Guru RMS ma rację.
2. Jeżeli RMS nie ma racji patrz punkt 1.
Stack overflow…
Przy prostych instrukcjach goto? ;]
Sprzeciwianie się Mono, tylko i wyłącznie z powodu powiązania z technologią Microsoftu jest fanatyzmem, ale niestety jest prawdą, że część bibliotek Mono jest objęta patentami i nie jest jasne, czy możne je komercyjnie stosować. IMHO Novell powinien to wyjaśnić, Stallman to dziwak, ale ma trochę racji w tej sprawie. A co do samego Mono, moim prywatnym zdaniem, może przyczynić się do popularyzacji Linuksa w biznesie (ASP).
Popatrz na moje powyższe komentarze, zanim się wypowiesz. Novell przyznał, że w celu ominięcia niektórych patentów kod został przepisany tak, aby nie było podstaw do tego. Nie siej demagogii.
Wszytkim którzy to wypisują epitety pod adresem RMS polecam zapoznać się z :
http://stallman.helion.pl/
Z poglądami można się nie zgadzać z decyzjami również, ale mimo wszystko RMS jest wielką osbistością, człowiekiem fakt ekscentrycznym, ale i kimś kto dla swoich poglądów był w stanie porzucić pracę, zarobek, przyjaciół itp. Mało na świecie jest ludzi, którzy nie idą za masami, a wytrwale trwają przy swoich poglądach mimo tego, że cały świat jest przeciwko nim.
Sam osobiście jestem pragmatyczny i bliżej mi z moimi poglądami do Linusa niż do RMS, ale mimo wszystko sądzę, że osoba o takim życiorysie jak RMS zasługuje na podziw i szacunek, a nie na "zesłanie na bezludną wyspę" czy wyzywanie od "faszystów". Można chyba kulturalniej powiedzieć, że się z kimś nie zgadza.
Czytałem. Straszliwie patetyczne. Momentami odnosi się wrażenie, że oglądamy "Defiladę" Fidyka.
Brakuje tylko złotych napisów na ścianie MIT głoszących "W tym miejscu, w mglisty poranek, Ukochany Przywódca Guru RMS usiadł, a w jego myślach zakiełkowała światła myśl o uwolnieniu programów".
Poza tym fakt, że nigdy nie pracował w przemyśle, pozwala mi traktować jego wypowiedzi o tym, jak to firmy powinny podchodzić do softu, tak samo, jak traktuję wypowiedzi księży o seksie.
Ciekawe, bo wzmiankowana firma kojarzy mi się właśnie z kościołem katolickim, oraz z imperium brytyjskim.
Teza jakoby abstynent nie powinien się wypowiadać w temacie alkoholizmu wydaje się ryzykowna.
@i: wypowiadać się oczywiście może. Od tego mamy wolność słowa. A ja mogę to, co mówi zlewać ciepłym parabolicznym, zwłaszcza jeśli nie zgadza się to z moim doświadczeniem.
Nie twierdzę, że mam jakieś wielgachne doświadczenie i że wiem wszystko, ale nie uznaję bezkrytycznie czyjegoś autorytetu tylko dlatego, że ktoś powiedział "bo ten gość to autorytet".
Nie mam pojęcia kto, ani nawet czy ktokolwiek coś takiego powiedział, ale jeśli tak było, to chyba zaznaczył w jakiej dziedzinie, a być może także ustosunkował się w jakiś sposób do konkurencyjnych autorytetów, nie sądzę bowiem, by ktoś mógł mieć monopol na autorytet w innej niż własna osoba obszarze.;)
Z doświadczeniami to jest tak, że każdy ma swoje racje, bo każdy ma swoje doświadczenia, ale to są zawsze racje subiektywne, niezależnie od tego jak często występują, a nawet czy są obiektywnie prawdziwe, poza tym chyba nie ma sposobu na stwierdzenie czy to właśnie te racje są źródłem czyjegoś stanowiska w jakiejś sprawie.
@i: z przyjemnością się z Tobą zgadzam
od czasu do czasu nie zawadzi się pozgadzać
Fakt, że pewien człowiek nigdy nie pracował w biznesie, ale jako ekonomista na Uniwersytecie nie powinna mu pozwolić na uwagę, że patentowania metod przemysłowych jest złe i pogwałceniem wolnego rynku
.
@Sławek: ależ oczywiście, że pozwala mu na taką uwagę. Każdy może sobie wyrażać właściwie dowolne uwagi i opinie na dowolnie wybrany temat. Ale ja, jako słuchacz rzeczonych uwag, przypisuję im wagę zależną od tego, jak oceniam znajomość tematu rzeczonego człowieka.
O ekonomistach mam akurat zdanie dość niskie, bo ekonomia nie jest moim zdaniem dyscypliną naukową (brak możliwości eksperymentalnego potwierdzenia/obalenia twierdzeń i teorii), ale przenieśmy sprawę na inne zawody:
- czy chirurg potrafiący przeprowadzić dowolnie skomplikowaną operację jest automatycznie autorytetem w dziedzinie prowadzenia szpitala?
- czy świetny chemik ma automatycznie kwalifikacje odnośnie prowadzenia fabryki nawozów sztucznych?
itd.
Nie o uwolnienie, ale o obronie ich wolności. Chciał móc nadal rozwijać programy, które tworzył, lecz firmy mu nagle odcieły taką możliwość. Nie wspominając, że każdemu zagrożono możliwością potraktowania, jak Stallman-a, gdyby ktoś z nim wymieniał informacje lub się przyjaźnił.
@val-gaav: Wiesz, mowic "dla swoich poglądów był w stanie porzucić pracę, zarobek, przyjaciół itp" w przypadku goscia, ktory od zawsze byl oderwanym od rzeczywistosci nerdem (porzucic prace? jaka prace?) bez zycia, jest lekkim naduzyciem. On niczego nie porzucil – on po prostu nigdy nie wyszedl poza pewien etap, ktory normalni ludzie koncza mniej wiecej w okolicach studiow.
Najlepiej skomentowana wypowiedź RMS:
http://tirania.org/shots/0906282246d4kCTRr5.png
Jestem pełen podziwu dla ludzi brnących w c#, w sumie to nie wiem skąd się bierze ich decyzja. Ani to język nowoczesny ani dobry, taka klaka javy z dodaniem kilku niepotrzebnych rzeczy. Uproszczona w stosunku do c++. Jednak lata świetlne za językami takimi jak python, ruby. W samym pythonie można pisać każdy rodzaj aplikacji i robi się to przyjemnie:)
Bardzo dobrze ujete.
ciekawe że się nie boi o Javę po przejęciu Suna przez Oracle
Ja również mówię nie dla Mono.
Mówię tak dla C++ i Qt
Ciekawe ilu z tych 'tak dla C++ i Qt' faktycznie napisało trochę oprogramowania z użyciem tego setu, a ilu zna wyłącznie z ideologicznie poprawnego KDE…
myślę że nie więcej jak 10-20%
Strasznie duzo komentarzy jak na technologie 'ktorej nikt nie potrzebuje'
odpowiedz Miguela De Icazay na antymonowy FUD:
http://groups.google.com/group/comp.os.linux.advo…
Kontrowersyjny temat, wiec i duzo dyskusji a chodzi tu o wolnosc oprogramowania, a nie o Mono.
Gdyby chodzilo o wolnosc to srodowisko zatanawialoby sie nad ewentualnymi patentami ktore groza samemu linuksowi a nie mono (ktorego nie trzeba przeciez uzywac) … a tak, to jest zwykla hipokryzja.
Ja nic nie mówiłem o KDE. Jestem zwolennikiem niezależnych aplikacji takich jak np. Arora a nie wymagających od groma bibliotek KDE jak np. Konqueror (wiem że Konqueror to nie tylko przeglądarka
.