Když už softwarové patenty nejsou problém, bude konečně v Debianu normální mplayer?
Možná umí MPEG4 přehrávat, ale ne komprimovat, nevím, nepoužívám Debian (resp. jen na serverech). Ale v patchi je tohle:
+for codec in ‚h26.‘ mpeg2video mpeg4 ‚msmpeg4.‘; do
+ F=libavcodec/allcodecs.c
+ sed -i „/REGISTER_ENCODER.\\<$codec\\>/d“ $F
+ sed -i
„s/REGISTER_ENCDEC\\(.\\<$codec\\>\)/REGISTER_DECODER\\1/“
$F
+ F=libavcodec/.c
+ sed -i „/AVCodec *${codec}_encoder *=/,/^[[:space:]]}/d“ $F
+done
Každopádně se zdá že i tady se toho dost změnilo, kdysi neuměl Debian ani přehrávat MP3ky.
dobre, ale proc to zajima me? ja nemam ucet ani na flickru ani na picase a
fotky si nahravam uplne jinam pomoci jiny aplikace. musim kvuli tomu trpet tak,
ze kdyz si kliknu na fotku, tak se mi otevre aplikace, ktera zacne tahat do
pameti bordel, o kterej ani trochu nestojim?
dle meho nazoru je to velmi dobre reseno v archlinuxu, kde jsou sady balicku
GNOME a GNOME-EXTRA. v gnome je jen zakladni gnome bez vetsiny aplikaci a
v gnome-extra je komplet, jak ho zname z jinych distribuci, ale i tak
pochybuji o tom, ze v zavislostech nektereho balicku z gnome-extra bude na
archu mono.
Stejne jako instalace javy by mela byt i instalace mona otazkou svobodne volby
uzivatele a pri instalaci by mela byt moznost si zvolit minimalni system.
ja osobne nedavno odinstaloval vsechny knihovny z mona a nechal jsem si jen
uplne jadro toho prostredi, ktere nastesti nezabira tolik mista a jedina
aplikace, kvuli ktere ho mam je pomaly gnome-art-ng, ktery nastesti poustim
pouze jednou za rok, kdyz menim wallpaper.
Naprostý souhlas!!!
Vůbec nechápu proč je to řešeno tím způsobem, že když potřebuje Mono
jedna, jedna jediná, aplikace pro prostředí Gnome, tak jej
závislostně provážou s celým Gnome. to je přece pitomost! Co pak se tam
všichni už nadobro zbláznili?
Osobně používám jako desktop KDE, ale používám také spoustu Gnome
aplikací. A jako by nestačilo, že musím kvůli nim vydržovat, kompletní
knihovny GTK a Gnome, tak se k nim musí přidat ještě zbytečné a
nepoužívané Mono? A vlastně proč? Já žádnou aplikaci nad mono
nepotřebuji a na poznámky používám aplikaci napsanou v KDE.
A to nemluvím o licenčních závislostech. Nezakládá si snad Debian na
tom, že je sestaven ze svobodného software. A soft pod jinými licencemi si
uživatel nainstaluje až sám – bude-li chtít. Jak to jde tedy
dohromady, s filosofii Debianu?
Fakt, to už občas zůstává rozum stát…
Mono tam není kvůli jedné aplikaci, ale protože si lidé v Gnome myslí, že je to dobrá technologie. Stejně bych se tu mohl vztekat, že v Linuxu nechci Gimp (neupravuji fotky a nejsem grafik), nechci Perl, Python, Ruby, Tcl/Tk ani gcc a mraky dalšího. Už teď Linux moloch je, problém s pár GByte na disku a nějakým tím GB RAM nebude zásadní, ne?
Debian podle mě nikdy netvořil striktně svobodný systém. Stallman doporučoval gNewSense apod. divnosti. Mono je „GPLv2, LGPLv2 and MIT, or dual license.“
.NET je technologie od Microsoftu, Mono je odvozená věc od Novellu. Novell má zcela jistě právníky jako Gnome) a ti nevidí žádný licenční problém (GPL,LPGL,MIT) ani potenciální patentový problém. Proto se čekalo roky, aby byla právní jistota.
Problém je jako vždy pouze v hlavách pár desítek(stovek) Linuxáků. 99% lidí i včetně většiny Linuxáků .NET nebo MONO věci už používá.
Člověče, poradil jste se trochu s hlavou, než jste sem ty bludy napsal?
Např. Vámi zmiňovaný Gimp a stejně ani Perl, TCL, Python, a pod… není
provázán přímo s runtime knihovnami Gnome/GTK. Instalují se až tehdy kdy
je potřebuje nějaká aplikace. V případě GCC je situace trochu jiná.
Obsahuje totiž runtime knihovny, které jsou nutné pro chod většiny
dalších aplikaci které v systému jsou. Takže asi těžko můžete
vykládat, že je v systému nechcete.
Jinými slovy neexistuje žádný objektivní důvod, aby Mono, bylo vnucováno
závislostmi na Gnome (které jej samo k ničemu nevyužívá). Na takový
důvod jsem se ptal ve své předešlé reakci, takže kromě keců
o ničem, zkuste jeden takový důvod uvést. ty důvody, které jste
uvedl ve své původní reakci o něco níže jsou trochu o ničem – jak
už ukázalo spousta dalších čtenářů
Pokud nevíte co je Debian, doporučuji podívat se na stránky http://www.debian.org/intro/about ,
a pak se vyjadřujte k tomu co je či není Debian. Nehledě na, pokud vím,
tak Mono má být opensource implementace technologii .NET od MS a jak už to
někdo psal, problémy s licencemi tam jsou. A je absolutně jedno kdo jej
vyvíjí (Mono není projekt odvozený od Novellu, ten jej rovnou vyvíjí –
viz např. http://cs.wikipedia.org/wiki/Mono_(platforma)).
Mimo to Stallman Debian nevivýjí ani jej nezaložil, takže jediné co může
tak doporučovat. Jaký Debian skutečně bude, vůbec nezáleží na něm, ale
na jeho vývojářích a uživatelích.
Ten poslední odstavec opravdu stojí za to. Víte vy člověče co je Linux,
nebo open Source? To není Windows, kde jediný kdo rozhoduje o tom co bude
v systému, nebo ne. Ale mě nejvíc zaráží, že k problémům Linuxu mají
potřebu se vyjadřovat lidi, kteří jsou evidentními příznivci Windows a
MS.
"99% lidí i včetně většiny Linuxáků .NET nebo MONO věci už používá.
" LOL – mohl by jstwe věrohodně doložit to o Linuxářích?
Se nebavíme co závisí na čem. Člověk stáhne Ubuntu s Gnome a už tam
má bloatware jako Gimp apod. balíky vnucené. Něco závislost má, něco
nemá.
Vývojáři Gnome si prostě Mono (a asi i .NET) přejí. Mono tam
zjevně není kvůli 1 aplikaci, ale do budoucna bude Gnome
vystavěné na Mono (.NET) technologiích. Doteď bylo Mono na vedlejší
koleji, teď to bude klíčová technologie. Nikdo Vám Gnome nenutí.
A jako příznivec Microsoftu se nesmím vyjadřovat k opensource? Já ty
vývojáře chápu. Samozřejmě příjdou různé kecy, slovní útoky, petice
Stallmana proti Debianu, patentům, Íránu, Harry Potterovi,… :-).
Radujte se, máte klíčovou technologii od Microsoftu. Hodně článků a knih
uvádí .NET technologii jako nejvýznamnější pokrok v IT na
začátku 21.století.. Ona za chvíli bude i v KDE, Xfce. Pak to
budou chtít dát co možno nejblíž k jádru… To je pokrok :-).
„Se nebavíme co závisí na čem. Člověk stáhne Ubuntu s Gnome a
už tam má bloatware jako Gimp apod. balíky vnucené. Něco závislost má,
něco nemá.“ Človíčku, co to melete? :-D Jednak celý tohle vlákno
(a potažmo vlastně článek) je o tom, že od unstable bude knihovna libgnome
závislostmi propojena s Tomboy, který ke svému běhu nutně potřebuje Mono.
(Samotné Gnome však k ničemu Tomboye a ani Mono nepotřebuje) Jednak trochu
nechápu proč je špatně, že distro obsahuje Gimp. Jenom pro Váši
informaci, stable (a oldstable) Debian má mono v repu také – ale
není vnucena jeho instalace. Nainstaluje se až si to budu přát,
nebo jej bude vyžadovat balíček který jej opravdu potřebuje. A o tom to
celé je. Je mi jasné, že Windows jste zvyklí, že se Vám tam naštve kde
co – ať už to potřebujete, nebo ne, ale budete muset přijmout jako fakt,
že v Linuxu se to většinou řeší trochu jinak.
„Vývojáři Gnome si prostě Mono (a asi i .NET) přejí. Mono tam
zjevně není kvůli 1 aplikaci, ale do budoucna bude Gnome vystavěné na Mono
(.NET) technologiích. Doteď bylo Mono na vedlejší koleji, teď to bude
klíčová technologie. Nikdo Vám Gnome nenutí.“ Zase mimo. Co bude
v budoucnu, bude v budoucnu. teď tam prostě závislost na Monu nemá co
dělat. Každá zbytečná závislost je špatně. Až bude Gnome postaveno na
Monu, pak to bude v pořádku. Gnome mi nikdo nenutí, ale vnucují mi Tomboye
a Mono přes závislosti na knihovních balíčcích Gnome.
„A jako příznivec Microsoftu se nesmím vyjadřovat k opensource?
Já ty vývojáře chápu. Samozřejmě příjdou různé kecy, slovní útoky,
petice Stallmana proti Debianu, patentům, Íránu, Harry Potterovi,…
:-).“ Já sem nikde nepsal nic o tom co smíte, nebo ne. Pouze se
ptám jaká to vznešená potřeba vede widlaře k tomu, že tak s chutí
otravují na Linuxových fórech. Až bude Stallman demonstrovat a psát petici
proti špatným a nepotřebným závislostem v Debianu, klidně se k němu
přidám ;)
„Radujte se, máte klíčovou technologii od Microsoftu. Hodně
článků a knih uvádí .NET technologii jako nejvýznamnější pokrok v IT
na začátku 21.století.. Ona za chvíli bude i v KDE, Xfce. Pak to budou
chtít dát co možno nejblíž k jádru… To je pokrok :-).“ To už
skoro zní jak mormonské kázání. ;-) Klíčové technologie MS jsou mi
z vysoka ukradené, pro mě je důležité, zda mi k něčemu budou či ne.
Zatím mi nejsou na nic, takže to nechci ani v systému. Mimochodem, mrkněte
na tu statistiku u článku. Ukazuje, že nejsem zdaleka jediný kdo má
podobný názor…
Úžasné. 640 hlasů od malých českých uživatelů Linuxu na desktopu si
Mono nepřeje. Vsadím se, že drtivá většina z nich netuší, co to Mono
je. Mormoni? Linuxáři a ovocnáři. Typický Root. 90% návštěvníků si
řekne: „Vždyť já ten .NET nebo Mono už dávno používám. Co ti
šílenci plaší…“. Osobně na ankety pod alternativistickými články
nevěřím. Náctiletí si naklikají…
Typický obrázek českého internetu: Uživatelé Windows (z více než 90%
normální lidé), uživatelé Linuxu a Mac OS X (5% odborníci, 15% naivní
studentíci, 80% naprostá spodina řvoucí sprosté nadávky, co patřící na
psychiatrii).
Mono a .NET se prostě prosadí. Kolik lidí potřebuje v ČR systém a
technologie přesně na míru a bude ztrácet čas jeho lepením?
5 v republice…
Amen, Slyšeli jsme slovo boží… :-D
Človíčku, přestaňte s těmi fanatickými a vzteklími výlevy vůči
všem, kdo se neklanějí vaší modle a zkuste konstruktivně argumentovat,
jinak nemá smysl dál diskutovat.
Málem jsem se potrhal smíchy při vašem přehledu rozložení
„odbornosti“ v řadách uživatelů Linuxu a MacOs. Prosím vás, jak
můžete něco takového tvrdit zrovna vy, když sám nejste schopen odpovědět
na otázku „Proč si mám instalovat moloch který mi na nic není?“ jiným
způsobem než fanatickým papouškováním svých katastrofických vizí
budoucnosti a keců o tom jak je to super. No a za druhé, když se někomu
v mém okolí podělají widle na koho si vzpomenou? No na jednoho z tý
linuxácký zpodiny, který widle už pár let nemá vůbec, nechce o nich
slyšet a přesto jim to dá zas do použivatelnýho stavu…
Takže dokud se trochu nevzpamatujete, nemá smysl v této diskuzi
pokračovat…
1. Linuxáři a Jablečňáci jsou opravdu většinově takoví, jak píšu.
Je vidět, že nechcete znát sám sebe a svojí komunitu.
2. Mono není nanic. Mono je nanic pouze pro vás a vy
nejste komunita ani světonázor . Kde se bere ten dojem, že každý
vývojář bude skákat jak si malý český člověk myslí? Když mi řeknete,
že tam nesmí být TCP/IP, tak se nekouknu na internet?
3. Technologie .NET není katastrofická vize. Je vidět, že .NET neznáte.
4. Já s vámi nediskutuji. Já diskutuji u vašich komentářů. Vy
diskutovat nechcete. A já nechci diskutovat s vámi. V celém vlákně není
jediný logický argument ve váš prospěch ani nic na zamyšlení se. Máte
fóbii z Microsoftu, taková je pravda.
Kdo má pravdu? 98% Windowsářů, desítky IT odborníků uznávající
Microsoft napříč oborem, tisíce recenzentů významu .NETu (oproti
neřízenému kódu s mnoha problémy), celá unixová komunita okolo Novellu,
právníci a vývojáři Debianu, Gnome,.. nebo D.A.Tiger & company?
Takže diskuze končí, kromě argumetů typu neumíte Debian, neumíte Linux,
já-já-já, nesmíte napsat na Rootu svůj názor, další nemáte. Teď to
všichni vidí, já to viděl od začátku.
Používejte si co chcete, třeba Consul 2717. Ale vývoj se vašimi
extrémními názory řídit nebude. A komunita také ne jak vidno. Na vaše
další odpovědi k tomuto tématu nereaguji. Stejně nemáte k tématu co
říci.
jak jednou kdosi něco podobného napsal i o SELinux, život je příliš krátký na to jej používat.. Podle mě je to tak i s linuxem, takový kokotiny co tu řešíte, z toho už jsem vyléčen.. Dělám v netu a jave a jsem za to i placený.. Jsou to obě skvělé platformy, monu fandím, kdyby se dokázalo rozšířit tak jako java, tak je s javou ámen :)
Život není o tom sedět pořád u počítače a něco dolaďovat, život je krátký a nemá neomezenou délku.. net je skvělá platformu velmi dobře přispívající k produktivitě.. a to je to NEJDŮLEŽITĚJŠÍ ! používám windows 7 a jsem spokojen.. . Cokoliv co potřebuju udělat mám během chvilky, nemusím se učit žádné příkazy, které se učit nechci, když to všechno můžu pohodlně s podepřenou bradou a zavřeným jedním okem naklikat.. max. jsem fanda freebsd (pro servery) a ubuntu pro uživatele, které chtějí ušetřit za license windows.. Osobně si myslím, že takové ubuntu ve státní správě by ušetřilo spoustu peněz (windows, office).. Stačí když by na něm jela jen java a net a samozřejmě i aplikace pro net.. nebo v některých případech by mohl stačit i web prohlížeč a uživatel pracující v intranetu...
Pro desktop rozhodně widle ;)
a vy co sedíte doma a při každý změně konfiguráku v linuxu si vyhoníte, myslíte si jací ste mástři a stará se o vás maminka, si najděte holku, nebo jděte aspoň ven na pivko mezi lidi a tady držte pysk..
Nechapu proc pouzivat MS C# jazyk v linuxu. Sam jsem v C# byl nucen delat a tesim se az ted zase zacnu s Javou nebo C++. Vzdyt v linuxu je tolik jinych jazyku, pro ktere jsou napsana IDE prostredi, vse je opensource, kvalitni a zadarmo. Navic pokud jde nekomu o multiplatformnost, tak je tu treba jiz zminena Java. Muj nazor je tedy takovy, ze kdo to jo chce pouzivat, muze si to do systemu doinstalovat, ale neni to poteba v zakladni instalaci.
Zdravicko. Odpoved je prosta, kvuli rychlosti vyvoje… Ja treba mam maly tym a snazime se proniknout do herniho prumyslu. Diky nasemu malemu poctu lidi je treba aby kazdy programator napsal co nejvetsi kus te hry. C# je idealni cesta, jak si praci usnadnit a urychlit, protoze odpada spousta starosti okolo… To same v C++ je pro nas prace na nekolik let, zatimco v C# max na jeden rok s featurama profesionalnich enginu
Zdravím. Kdo nechce mono, ať si zprovozní třeba Gentoo, to je distro, které Vám přináší obrovskou svobodu ve výběru, bohužel chce i trochu zkušenosti.. Mono se pomalu začíná prorážet a to hlavně díky oblíbenosti u vývojářů, kteří třeba linux ani neznají. Bohužel je jich hodně, ale vemte si jak to začalo s Javou. Ovšem, je tu zase Microsoft, který .NET jako ECMA prosadil i když světe div se, existují odlišnosti… Já osobně jsem rád, že se objevilo něco co se dá krásně zprovoznit pod linuxem a bez problému provozovat na Windows. Ať si každý používá co je mu příjemné a ne co je mu vnuceno…
Nechcete mono? Nemusí být součástí základní sady distra. Čas ukáže, že je to logiský krok a rozhodně ne špatný. Pokud chcete linux opravdu použít odporoučím Gentoo, je to nejlepší platforma co se týče výkonu. Jinak mono stejně instaluji (zatím jen) na desktopu, takže mě osobně je to jedno, spíše jsem pro.
Gentoo ma vyhodu, ze je dobre nastavitelne, nakonfigurovatelne a jsou v nem nove veci, ALE nic neni zadarmo. Velmi dlouha doba kompilace (vyjde treba nove Wine a procesor se tak na hodinu az dve nezastavi) je bohuzel celkem velkou nevyhodou (chce to aspon ctyrjadro, jinak clovek stravi neunosne dlouhou dobu kompilaci)
Osobne jsem se po pokusech s Gentoo vratil zpet k Debianu a co neni v Debianu, nebo je tam stare, to si lze dokompilovat a pridat pres checkinstall, takze v tom neni takovy bordel :)
Pokud vám vadí že váš procesor jednou za čas běží na víc než na 2% výkonu, co vám brání používat v Gentoo binární balíčky?
Volitelnost je přeci jednou z klíčových (a mě příjemných) vlastností světa Open Source.
Pokud se vývojáři rozhodnou začít budovat Gnome aplikace na Mono, budu jejich výběr respektovat. Zatím mi však příjde že toho v Gnome na Mono moc nestojí, takže nevidím ani důvod, proč ho tam takhle zapasovat, přes jedinou aplikaci, která není ani klíčová, ani nenahraditelná jiným projektem.
BTW: Donedávna jsem neměl potřebu mít .NET ani na Windowsích strojích.
Za posledních 5 let jsem měl dočinění s > 350 PC a servery drobná statistika:
.NET / Mono < 15%
JRE / a jiné > 80%
Python > 60%
Ruby < 5%
Perl < 10%
paneboze, to nikdo neni schopnej napsat 3 trivialni aplikace bez nutnosti pribalit k tomu desitky megabytu knihoven navic?
chapal bych, kdyby bylo potreba nekam dat .NET, protoze bez toho nebude fungovat nejaka poradna aplikace s aspon tisicem featurek, kterou nikdo nechce portovat. ale jakej ma tohle smysl. at si microsoft dela vlastni system. takovej programovaci jazyk bude mit stejnej vliv jako dolary/eura, kterejma cizi vlady zaplavujou trhy zemi s prirodnim bohatstvim, aby je okradli. je to jako kdyz se jeden tonouci chyta druhyho, aby se sam dostal na breh a stahuje ho pritom zpatky pod vodu.
bojim se, ze vsichni si ted zacnou myslet, ze je normalni misto kazdyho 3-radkovyho skriptu hned pritahnout nejakej obrovskej, pomalej, polokompilovanej bordel s priponou .exe. Linux by mel brzdit tlaky ze strany vyrobcu hardwaru, protoze az na par vyjimek neni nove zelezo skutecne potreba a jsou to prave takovyhle manevry s kanonem na komara, ktery me nutej furt utracet tisice za novy kompy.
kdyz pride treba HD video, tak se to nemusi kazdymu libit, ale proste rychlejsi procesory to potrebuje, ale abych mel kalkulacku, nebo textovej editor na poznamky, kterej prakticky vubec nic neumi a pritom ho nerozchodim na CPU taktovany pod 1GHz a navic mi k tomu sezere veskerou ramku, tak co to ku*va je????
to neni jenom problem .NETu, znam vic podobnejch praktik, kdy vyvojari voli zbytecne moc komplexni nastroje, nez je treba. Zastavam nazor, ze .NET by na Linuxu mel bejt neco jako WINE. Chcete z GNU/Linuxu udelat EXE/Linux? Tak co? rovnou zakompilujem wine a .net do kernelu, vyjedname support od microsoftu (kterymu se to bude hodit, pac takovej system bude pri stejne funkcnosti pomalejsi a narocnejsi, nez Windows 7) a muzeme se jit rovnou vycpat.
Ten kdo prošel školou komerčního programování, ví své. Na co je mi softwarový produkt, který na trh dodám pozdě?
Mono a jiné podobné frameworky nabízejí vyšší rychlost vývoje. A jistá pravidla ze světa komerce jistě platí i pro open source svět.
Kdyby nebylo Mono, není tu třeba F-Spot – vynikající nástroj, který je jedinečný. Ano, existují alternativy, ale někomu třeba zrovna F-Spot chyběl. Kdyby to chlapci psali v C/C++ (možná byste chtěli i assembler – aby to bylo nejrychlejší, ne?), tak by F-Spot byl ještě ve verzi 0.8.2RC1…
Co hýbe Linuxem v posledních letech tak dopředu? Je to jistá forma komercializace.
Presne tak. Uzivatele nezajimaji nejake skvele technologie, oni chteji mit rychle k dispozici funkcni aplikace, nejlepe multiplatformni. Zkuste se podivat, jak rychle se vyviji Tomboy, Banshee, MonoDevelop… Vyvojari se muzou soustredit na vyvoj samotne aplikace a nemusi furt dokola resit banalni veci.
Navic Mono je pro Gnome nevyhnutelne, uz proto, ze na nem delaji hlavni vyvojari Gnome (Miguel de Icaza, Aaron Bockover …)
Patenty Microsoftu muzou byt trochu problem pro casti, ktere nejsou v ECMA standardu, tezko rict. Ale to se da vetsinou obejit (napr. GTK# misto Windows.Forms).
1] Ta poznámka o assembleru je straw man. Nic takového jsme nenavrhovali ani nepronesli.
2] Kvůli jedné aplikaci (F-spot), která _má_ alternativy, není důvod dávat Mono do základu. Když bude v repozitářích, proti čemuž vůbec nic nemám, může si každý fanda Mona/F-spotu svůj oblíbený program/jazyk doinstalovat.
3] Mono je patentové minové pole. Přístup „až nás nebo někoho jiného bude MS kvůli Monu žalovat, budeme to řešit“, mi přijde sice odvážný, ale také trošku hloupý, protože v tu chvíli už může být pozdě. Tohle je naopak pro komerční firmy podnikající v oblasti GNU/Linuxu podle mého spíše riziko.
4] Mono/.Net/C# _má_ konkurenci a alternativy. Takže to v žádném případě není jediná možná cesta.
Přijde mi, že u Mona je větší pravděpodobnost, že některou z těch min nechá MS odpálit. Java je alespoň jištěná patenty Sunu (teď i Oraclu), Mono je jištěné maximálně dohodou MS s Novellem, ale jejich dohoda se na Debian (a jiné distribuce) nevztahuje.
Ostatně, jako zaměstnanec Microsoftu byste nám mohl říci konkrétněji, jaké jsou plány MS do budoucna, abychom nemuseli tápat ve tmě…:-)
Jave je „jištěná“? Společnost Sun Microsystems něco prohlásila, a společnost Microsoft také něco prohlásila. Váhu to má obojí stejnou. Nejsem zaměstnanec MS. Kdysi jsem o tom uvažoval, ale nedohodli jsme se na ceně. Plány jsou zjevně takové, že v .NETu bude napsaný celý OS. Win32 aplikace poběží v sandboxu, a jejich volání budou převáděna. Linux může klidně provozovat .NET aplikace, jestli je to přání vývojářů. Ale nutně bude buď o krok pozadu (MS má nesrovnatelně více prostředků, a jen takový .NET 3.5 se bude na Linuxu implementovat velmi dlouho), nebo půjde úplně vlastní cestou (třeba GTK# místo WinForms). Plná multiplatformnost .NET aplikací je možná jen pokud jsou shodné použité části frameworku, což bude platit v lepším případě u aplikací na command line a u starších GUI aplikací.
Ahoj, :-) nechci být vtíravá, ale v EU softwarové patenty nejsou tak nechápu proč se tak ošíváte. Já sem příznivkyní mona :). Jako vývojové prostředí se mi líbí víc než psaní aplikací v c/c++ a navíc mohu pod linuxem psat aplikace běhající i na jiných platformách. Nás v EU MS žalovat nemůže za to že používáme MONO :P. Jinak – přepisování frameworků jsme si mohly jiš všimnout i u JAVA – od GOOGLU. osobně sem pro přidání MONO jako základ – stejně jako je u Windows .net windows též vytvářel svou vlastní instanci JAVA a pořád jí má J# – proč bychom mi nemohyl mít svůj GTK# narozdíl od MS psaný pod svobodnou licencí. Je to jen žabomiší pře o nesmrtelnosti chrousta. Proti monu jsou opravdu jen primitivní uživatelé kteří neumí napsat jednoduchou gtk aplikaci.
1] Můžete mít jiný názor, to respektuji. Ale to vám nedává právo vaše názorové oponenty urážet.
2] Ano, v EU zatím žalovat MS za používání Mona nemůže. Bohužel ty tendence zavést SW patenty jsou i v EU, takže do budoucna nelze vyloučit, že i nás tento problém potká.
3] Co je v USA, dopadá díky celosvětovému charakteru FOSS a GNU/Linuxu i na nás. Řada uživatelů, vývojářů i firem podnikající v této oblasti a přispívající do vývoje GNU/Linuxu sídlí v USA.
4] Pište programy, v čem programy psát chcete. To je vaše svoboda volby. Můj názor nicméně zůstává – Mono by nemělo být v základu Debianu – 40MB patentového minového pole kvůli dvěma aplikacím, z nichž obě mají alternativy. Až budou v Monu napsány nějaké killer aplikace, pak už asi nebude cesta zpět, tedy dokud MS nezačne kvůli Monu podávat žaloby. Jak jsem již uváděl, ať je Mono klidně v repositářích a ať si ho stáhne a nainstaluje, kdo chce, ale ať není v základu Debianu.
dobre, tak si di se skolou komercniho programovani psat pro windowsy.
ja nestojim o program na prohlizeni fotek, kterej mi na nekterejch kompech ani
nepude spustit a na tech ostatnich ho zas nespustim dohromady s firefoxem.
zasady linux/unixovyho programovani vypadaj uplne jinak.
osobne bych byl pro zrychelni a vylepseni javy v mistech, kde za monem
zaostava. taky je to moloch, ale je na tom mnohem lip s prenositelnosti a ve
spouste dalsich ohledu. ono java se da taky kompilovat do NATIVNIHO kodu pomoci
GCJ.
v praci sem v .NETu dost delal a musim rict, ze je to parodie na javu. nemluve
o ruznejch tridach jejich metodach, u kterejch sem si rikal, ze sem je predtim
uz videl v jave.
navic, kdyz pouzijes spravny knihovny v C++, tak muzes psat skoro s stejne
pohodlne jako v jave.
na veci jako tomboy bych se nebal vzit gtk-python nebo podobny jazyky a ten
f-spot bych naopak delal C++, protoze potrebuje rychle zpracovavat velke
mnozstvi dat (upravy fotek – uz jenom resizovani pred zobrazenim). Kdyz
takovej program napisete moc rychle, tak je moc pomalej. a o co mono zkratilo
vyvoj, o to musi uzivatel nekolikanasobne dyl cekat pri bezne praci s takovym
programem.
Nedávno jsem narazil na celkem pěknej graf. Srovnání rychlosti je tam pěkně vidět.
Vy máte přístup k aktuálním zdrojákům Paint.NET? Pokud vím, už se nejedná o open-source a já k nim tedy přístup nemám, takže můžu těžko soudit. Nicméně ve verzi 3.01 bylo C++ použito v podstatě jen u shell extensions. Všechny podstatné části byly a možná ještě jsou napsány v C# (nevím, třeba se něco změnilo). Proti rychlosti současných verzí nemám žádné výhrady, ale možná je to tím, že s grafikou příliš nedělám.
.NET FW je defaultní součástí Windows od XP SP2 (nebo až SP3, teď nevím jistě).
Paint.NET is primarily programmed in the C# programming language, with small amounts of C++ used for installation and shell-integration related functionality. http://en.wikipedia.org/wiki/Paint.NET
Počet .NET aplikací v čerstvé instalaci Visty neznám, a nepřijde mi důležitý. .NET Framework mám nainstalovaný všude, bez něj by mi nejela řada aplikací (včetně těch pár mých).
Hrubý výkon Javy a .Netu je stejný, protože to jsou velmi podobné technologie.
Co ale stejné není, je výkon v GUI. Pod Linuxem se GUI nad nativním Gtk, což se pozitivně projeví na rychlosti i vzhledu. I přes značné zlepšení Javovského Swingu je toto GUI pomalé a hnusné. (SWT se moc nepoužívá).
A že vyšší abstrakce je „podpora pro prasata“ je samozřejmě blábol. Piš si vše v assembleru, když chceš.
dotNet je v kazdem testovanem pripade rychlejsi nez Java. Sice ne o moc, ale je. Pro vetsinu aplikaci je to uplne fuk. Jsem zvedavej na JDK1.7. kolik to bude mit v JVM bugu. 1.6 je zabugovana strasne, proto vsichni pouzivaji 1.5.
Historie ukazala ze pokud se jednalo o Javu mel MS pravdu. Kdyby SUN souhlasil a spolupracoval meli bychom jiz davno v Jave veci jako kvalitni podpora multimedii, ikonky na systrayi atd.
Rychlosti swingu v jdk1.6.10 je hw akcelerovana, takze je vicemene ok, ale vypada to porad hnusne, ma to problemy s unicode fonty, nepouzitelne to tiskne, nepodporuje to native OS komponenty. SWT je vyrazne lepsi. Swing aplikace vypadaji tak hnusne ze by je nikdo nevzal; a zakaznici by taky radi ten tisk jinak nez pres pdf->acrobat reader.
Nechci se hádat, ale s rychlostí na tom bude python o mnoho hůř než mono nebo java(nechápu proč lidi, kteří nadávají na rychlost javy doporučují mnohokrát pomalejší python). Navíc si budou uživatelé muset dotáhnout celý python (uznávám, že ten python využije daleko víc aplikací, které se instalují s gnome než než javu nebo mono). Používat C++ na jednoduché desktopové programy mi připadá naprostá šílenost. Největší problém gnome vidím v programech napsaných v C/C++. Na pár z nich jsem se díval, když jsem si chtěl dodělat nějakou drobnost (gedit, bluefish …), ale vzdal jsem to, protože vývojáři těchto programů neví co to je dokumentace nebo komentáře zdrojových kódů. Kvůli jednoduché úpravě nehodlám měsíc louskat nedokumentované zdrojáky.
Proc kopii JAVY(.NET) kdyz mame JAVU a jeste ktomu opensource. JAVA je opravdu multiplatformni ne jenom sw ale i hw. Mame Eclipse , Netbeans – Monodevelop jim nesaha ani po kotniky takze se musi pouzivat VisualStudio navic pokud MS bude chtet tak bude laborovat s winformama tak jak to ukazuje tedka s radoby opendokumentem specifikace nespecifikace implementuje to jak chce – na zaver pouzivam napr Gnome-Do atd ale nechci MONO v default inst.GNOME
Nikdo vám nebrání tyto tři aplikace přepsat do C nebo na to někoho najmout. Vždyť všechny tři mají otevřený zdrojový kód. Mělo by to být (vašimi slovy) triviální, a tedy levné. Můžete také založit nadaci, která ty programátory zaplatí, až se sejdou peníze.
Pokud ne, tak si alespoň přečtěte něco o funkci, paměťových požadavcích a rychlosti Mono, nebo si alespoň kritizované aplikace jednou spusťte. Pokud byste si před tím nepřečetl tento článek, poznal byste, že jsou psané v C#?
Samozřejmě, můžete se rozhodnout, že na váš počítač Mono (Java, HAL, D-BUS, libstdc++) nesmí. Je to vaše právo výběru.
Je problemem jenom velikost nebo i neco jineho? Nevim jak je na tom napr. java, ale podle http://www.java.com/…d/manual.jsp to vypada ze na linuxu potrebuje asi 60M a na Win az 100M.
Já bych se Monu vyhýbal jako čert kříži. Jako vývojář mám .NET poměrně rád, píše se v něm rychle a efektivně, ale na Linuxu stejně preferuju C++. Všichni víme, jakých podrazů je Microsoft schopen a je IMHO otázkou času, kdy přijde s patenty apod.
„Pokud se problém opravdu objeví, budeme jej řešit. Taková je naše politika,“ uzavřel vedoucí projektu Debian.
Ano, jenže to může být pozdě. Pokud bude Mono v defaultní instalaci, dá se očekávat, že vzroste podpora .NETu u vývojářů a Linux bude zaplaven spoustou nových aplikací. Že to budou zejména pitomosti od rádobyvývojářů, pro které C/C++ příliš komplikované a jejich umění spočívá především ve schopnosti slepit už hotové komponenty a naklikat GUI, teď pominu. Ale pokud se stane, že se v .NETu pro Linux začnou dělat i důležitější, hodnotné věci, pak bych se opravdu hodně bál toho, až si MS vzpomene, že Mono porušuje ty a ty patenty a je třeba ho z Linuxu odstranit.
Otázku bych položil takto: je z dlouhodobého hlediska přínosné riskovat výše uvedené výměnou za to, že se objeví víc aplikací? A budou ty aplikace za to stát? Moje odpověď je ne. Ale samozřejmě se můžu plést, křišťálovou kouli nemám.
Samozřejmě, může se stát, že Linux získá nějaké výraznější postavení na desktopech a pak můžou s ohledem na MONO nastat dvě varianty. MS nebude Linux podporovat a nějakým způsobem zlikviduje MONO a tím vlastně i Moonlight, čímž zlikviduje šanci prosadit se na trhu webových RIA aplikací. MS začne své produkty dodávat také pro Linux, aby z tohoto trhu něco vytěžil a v tom případě ho nějaké MONO nemusí trápit, protože jak už bylo řečeno, MONO bude ještě dlouho (pokud ne vždy) minimálně o krok pozadu a když bude existovat oficiální .NET pro Linux, najde si více zájemců.
BTW: Jak je to s tou patentovou dohodou Novellu a MS, neměla by takové situaci předcházet? Přiznám se, že to nesleduju.
Nerozumím tomu, jaký je potenciální problém MONO a patentů. Je MONO nelegální? Nestraší se příliš Microsoftem? Ano, programování pod C++ je násobně těžší, než pod C# a delší. Výsledek C++ – dlouhý vývoj produktů, vysoká cena za vývoj, častěji padající aplikace co mají samé memory leaky. Ve Windows je C# jazyk číslo 1, navíc mám svobodu výběru jazyka. Musí splňovat snad akorát CTS. C# je jednodušší, moderní, má pěkný vzhled GUI (ne jako Java) a nějaké zpomalení v aplikaci není vidět. Lidé v Debianu prostě právní problém nevidí a asi to konzultovali s právníky, ne? Mě se zdá .NET dobrý a jeho výhody by určitě využily i jiné systémy. I když chápu, že Linux je na server a ne na desktop, i tak by předinstalované technologie pro vývoj snesl. Takže tady jde spíš o překonání Microsoftí fóbie a tedy svého vlastního strachu z neschopnosti, nic jiného.
Jaký je potenciální problém? Pořád stejný. Někdy se MS zachce a začne tvrdit, že se porušují jeho patenty. A že chce buď peníze a nebo odstranění kódu. Zažili jsme to mnohokrát, naposledy tuším s FAT32. A raději budu opatrný než abych se za pár let OPĚT spálil.
Zajímalo by mě, zda se živíte profesionálním vývojem aplikací nebo kde berete své zkušenosti. Mé konkrétní výhrady:
Hlášku „a nějaké zpomalení v aplikaci není vidět“ totiž může napsat jen někdo, kdo viděl .NET z dálky nebo dělá aplikace s náročností typu notepad. Například u nás jsme kritické kusy kódu museli ponechat v C++, protože pomalost C# byla neuvěřitelná (nemluvě o jiných problémech, např. obfuskace).
„V ++ častěji padající aplikace“ – není-li ošetřena výjimka, padají .NETové aplikace úplně stejně, akorát mají jiný dialog. Mohl bych uvést desítky .NETových aplikací, které padají. Narozdíl od memory leaků, které jsou pod .NETem skutečně vzácnější, je padavost aplikace pouze odrazem (ne)schopnosti autora. Nic víc.
„programování pod C++ je násobně těžší … tedy svého vlastního strachu z neschopnosti,“. Rozumím. Takže ten, kdo umí C++ a má proti na použití několikanásobně snazšímu C# výhrady, se bojí vlastní neschopnosti. Úžasné myšlenky.
Stejný patentový problém má Java, nebo nakonec i kernel Linuxu. Podobně jako MS neuplatňuje své patenty na .NET, neuplatňuje Sun patenty spojené s Javou, a další (IBM, HP) patenty spojené s kernelem Linuxu. Kritické kusy kódu jste museli nechat v C++? A umíte u vás používat unmanaged C#? .NET aplikace NEPADAJÍ stejně jako C/C++ aplikace. Když se něco podělá, dojde k výjimce. C/C++ aplikace nejčastěji tiše vyhnije, a začne se chovat podivně. Pak případně spadne na chybu přístupu k paměti na adrese 0:0×0e apod. Rozdíl je to větší než velký.
Ten zásadní rozdíl je v tom, že ani Sun, ani HP a ani IBM netvrdí, že Linux je pro ně hrozba a nesnaží se jej soustavně patenty vydírat.
Už vám někdo řekl, že unmanaged C# trpí stejnými problémy jako C++ a navíc ještě má problémy způsobené GC?
Linux je hrozba pro řadu společností. Třeba pro Sun, HP a IBM. Jejich HW na profi unixech lze v řadě případů nahradit Intelem, a jejich OS Linuxem. Vztah těch společností k Linuxu je tedy nutně podivným způsobem obojetný. Posílit Linux tak, aby to uškodilo MS, ale zároveň ne tak moc, aby to poškodilo nás :) Unmanaged C# má některé problémy společné se C++. Ovšem nikdo vás nenutí psát v unmanaged C# celou aplikaci. To se vyplatí nejvýš pro pár řádků toho kritického kódu. Ty si pak holt musíte dobře pohlídat.
Jak tu už padlo, opensource komunitě je ze všech zmíněných společností jedině Microsoft silně nepřátelský. A očekávám-li pro Linux komunitu od někoho problémy, tak v prvé řadě (spíš by bylo přesnější) výhradně od Microsoftu.
Samozřejmě, že umíme unmanaged C#. Ale také umíme počítat. Pokud je velký projekt v C++, přepisuje (zvláště v GUI části) do C# a ukazuje se, kde má C# slabiny, pak je logické to nechat funkční a odladěné v C++, než to přepisovat do unmanaged C# a doufat, že to bude rychlostně podobné C++.
.NET aplikace padají úplně stejně jako C/C++. Zhruba 90% pádu C aplikací je výjimka ACCESS_VIOLATION (typicky při dereferenci vadného ukazatele), u C++ je to o něco méně, protože tak 20% zabírají pády na Pure virtual function call. Jde o můj odhad z aplikací, které používám.
Ale hlavně – aplikace jde v takovém případě komplet na držku – prostě okamžitě končí. Co se děje u neodchycené výjimky u C#? Úplně to samé, aplikace jde na držku, okamžitě končí. Akorát ten chybový dialog je jiný, standardně obsahuje stacktrace. Je-li programátor prase, je opravdu úplně jedno, co za prostředí použije, protože neodchycená výjimka prostě vede k ukončení aplikace vždy. Rozdíl pro BFU je menší než malý. Aplikace se okamžitě nekorektně ukončila, chybové hlášce stejně nerozumí a stacktrace je mu k ničemu.
To by me zajimalo, ktere prase vytvori pure vf call..(dereferenci vadneho ukazatele vyrobim snaze) Toho lze afaik dosahnout jen volanim pure virtual funkce z konstruktoru tridy, kde jeste neni definovana.
Navic si nejsem jisty tim vasim tvrzenim o aplikaci jdouci na drzku, treba winform aplikace v urcitych pripadech (pravda, neprilis deterministickych) umi chybu odchytit, a dat moznost ‚ignore‘ .. coz mozna ale funguje jen s nainstalovanym vyvojovym prostredim, jinde jsem to nezkousel.
Které prase? Libovolné, který použije pointer ukazující na již zrušenou instanci třídy s PVF. A stane se to nejen praseti, bohatě stačí zaplést se trochu s COMem z vícevlákenné aplikace a nestačíte se divit. Ostatně ne nadarmo ty PVF call vídám i u software renomovaných firem.
S těmi výjimkami by to chtělo asi nějaký konkrétnější příklad. Dle mých zkušeností opravdu neodchycené výjimky vedou k ukončení aplikace bez ohledu na to, v jakém prostředí ty aplikace byly vytvořeny.
Pokud se nejedná o kritickou chybu, která by bránila další činnosti aplikace (např. při inicializaci, v konstruktoru hlavního formuláře, apod), tak lze výjimku ignorovat a případně pokračovat v práci(odzkoušeno pod .NET 2.0 bez vývojařských nástrojů). Pokud jde o MONO, tak tam jsem se k podobným výsledkům nedobral, ale možná je to moje chyba.
Ale taktéž si nejsem jistej, jak to přesně je.
Ale ale. ACCESS_VIOLATION je až NÁSLEDNÝ problém, když se C++ aplikace pokusí přistoupit mimo vlastní adresní prostor. Jenže ve spoustě případů se (úspěšně) pokusí o přístup někam do vlastního adresnímu prostoru, někde něco přepíše, a vy máte smůlu. V případě C# naopak nastane výjimka tam, kde dojde k chybě. Navíc odpadají problémy s pointery, hranicemi polí, neplatným přetypováním, buffer overflow, folklórem typu if (i=3), a řada dalších problémů. Programátoři dělají chyby, a tomu nelze nijak zabránit. Současný stav je SW průmyslu je havarijní. Aplikace psané v C/C++ mají hromady bugů, padají, a snad úplně všechno má bezpečnostní problémy (web servery, browsery, DB enginy, aplikační servery, kancelářské balíky, mailoví klienti, DNS servery, kernely, přehrávače multimédií, pluginy do browserů – vyberte si). Přitom jde typicky o buffer overflow/underflow, bound checking a další problémy, které v managed jazycích (C#, Java) prostě neexistují. Pro BFU je veliký rozdíl, jestli aplikace padá a je nebezpečná, nebo ne.
Nechcete doufám tvrdit, že aplikace v C# nebo Javě jsou bezpečné nebo nemají hromady bugů na rozdíl od aplikací v C++. Tyhle pohádky si nechte pro někoho, kdo nikdy neprogramoval. I ta slavná výjimka špatného přístupu do paměti většinou způsobí pád aplikace a je nebezpečná, stejně jako bugy v .NET.
Aplikace psané v managed prostředí (C#, Java a další) nemají problémy s pointery, hranicemi polí, neplatným přetypováním, buffer overflow a dalšími věcmi. Už jen tím jsou bezpečnější. Pochopitelně bugy existují i v managed prostředí. Do budoucna lze od managed prostředí očekávat další výrazné zvýšení spolehlivosti díky model checkingu a statické analýze kódu. V C/C++ takové radosti moc neužijete, protože řada konstrukcí má side effects (například strcpy v závislosti na parametrech může nejen zkopírovat string, ale také přepsat cokoliv jiného).
Buffer overflow? Hranice polí (až na off-by-one, který ale ani .NET nevyřeší)? Neplatné přetypování? strcpy? Člověče, vždyť vy do C++ strkáte problémy z C (ale musím uznat, že je tam často strkají i programátoři, kteří neumí v C++ programovat).
Statickou analýzu kódu a model checking pro C++ umí třeba moje oblíbené LLVM (které umí i další vychytávky často připisované jen pro .NET a Javu).
C++ je jak známo zpětně kompatibilní s C. V důsledku toho je v něm možné použít dlouhou řadu nebezpečných konstrukcí. Nakonec se podívejte, co jsem psal na začátku: „Aplikace psané v C/C++ mají hromady bugů, padají, a snad úplně všechno má bezpečnostní problémy (web servery, browsery, DB enginy, aplikační servery, kancelářské balíky, mailoví klienti, DNS servery, kernely, přehrávače multimédií, pluginy do browserů – vyberte si). Přitom jde typicky o buffer overflow/underflow, bound checking a další problémy, které v managed jazycích (C#, Java) prostě neexistují.“
Statická analýza kódu pod C/C++ těžko může vést k důkazu nějakých vlastností kódu. Je to spíš hraní na statickou analýzu. To právě proto, že velký počet konstrukcí má side effects. Příkladem budiž použití strcpy. V .NETu zkopírování stringu nemůže mít žádný side effect. Bu´d se zkopíruje string, nebo dojde k výjimce. Strcpy ale může v závislosti na parametrech vést k přepsání čehokoliv, a statická analýza se o tom vůbec nedozví. Obdobných konstrukcí lze vymyslet hromadu i v C++.
Nerozumím tomu, jaký je potenciální problém MONO a patentů.
Mono obsahuje patenty MS, které se MS rozhodl, že (momentálně) nebude uplatňovat. Otázkou je, jestli nebude chtít někdy svůj postoj změnit.
Výsledek C++ – dlouhý vývoj produktů, vysoká cena za vývoj, častěji padající aplikace co mají samé memory leaky
Vývoj produktů v C++ nemusí (a není) pomalejší než v C#, pokud se použije vhodný vývojový model (Scrum, test-driven development nebo jiný systém agilního programování), případně pro prototypování lze C++ kombinovat s Pythonem (opravdu dobré je pak využít Boost Python pro přechod z prototypu na samotnou aplikaci). Pomalejší je s neschopným (nezkušeným) senior programátorem nebo při zaučování programátorů-začátečníků, kteří jsou většinou zvyklí jen na C++ ze školy, kde se (ze mně nepochopitelných důvodů) naučí jen „klasický“ (C-like) přístup, anebo při znovuobjevování kola, kdy programátoři nejsou schopni (nebo spíš neumí) použít dostupné prostředky z běžných knihoven (STL, Boost). Padající aplikace a memory leaky jsou dány neschopností programátora, který není schopen ošetřit si práci s pointery, se kterými v C++ vůbec nemusí (a ani by neměl, pokud k tomu nemá extra důležitý důvod) přímo pracovat.
Vcelku s vámi souhlasím, nicméně budu velmi rád, když mi ukážete kus kódu (je jedno, zda pro Win či Lin), který využívá Win32 či POSIX API a nepracuje s pointery. To je utopie. Ohledně memory leaků má předřečník pravdu, v C/C++ se přihodí i zkušenějším, zatímco v C# díky garbage collectoru prakticky nemůže vzniknout.
http://www.ultimatepp.org/ Crossplatform, Win32 + X11, zkuste si najit pointry v examples a reference a spocitat je. U vetsiny GUI examplu je nenajdete vubec.
Neměl jsem na mysli, že se úplně vzdá pointerů, to je samozřejmě nesmysl (bez nich nefunguje polymorfismus), ale že je nějak vhodně zabalí (třeba do shared_ptr z Boostu), aby se o ně nemusel starat (vzdá se tedy práce přímo s pointery, používá proxy objekty). Tím se velice účinně vyhne segfaultům i memory leakům. S voláním Céčkových funkcí může být problém, ale opět to lze vyřešit vhodným obalením anebo prostým operátorem *. Bohužel i zkušenější programátoři na tyto základní věci často kašlou a potom může dojít k rare condition, kterou netestovali, s následným memory leakem.
GC má na druhou stranu zásadní nevýhodu v tom, že nezaručuje čas volání destruktoru. Zkuste vytvořit fungující třídu pro zamykání mutexů, která hned po opuštění kritické sekce ten mutex automaticky odemkne (v C++ při opuštění scope díky stack unwind). Pokud se vám GC líbí, pro C++ existuje spousta knihoven, které to umí (klidně můžete přetížit new a cpát do GC všechno). Výhoda je v tom, že GC nemusíte používat.
Máte samozřejmě pravdu. Rozdíl však vnímám v tom, že v defaultním C# ani prase memory leaky neudělá, zatímco v defaultním C++ se jim prakticky nevyhne ani zkušeňák. Že se dají použít knihovny, které funkce GC suplují, je sice pravda, ale jak jsem psal – nejsou default, takže zdaleka ne vždy jsou použít. Ať už z technických, licenčních či politických důvodů.
Trochu problém je v tom, že aplikace typu účetnictví, mzdy, evidence psích známek apod. píšou typicky autoři, kteří by například DB engine nebyli schopni napsat. Pro ty je C/C++ dost nevhodným nástrojem. Padající aplikace a resource leaks jsou přímým důsledkem toho, že C/C++ je náchylné na řadu chyb autorů. C# tyhle pasti nemá, a proto je výsledný kód lepší.
Resource leaks v C#? V čistém managed C# asi těžko. Totéž u buffer overflow. Protože programátoři chyby dělají a dělat budou (jsou to jen lidé), musíme jim dát takové nástroje, kde napáchají méně škod. A když už se něco podělá, tak by to mělo skončit výjimkou, a ne tichým vyhnitím aplikace a jejím následným „divokým“ chováním.
Přikláním se k tomuto názoru. Programoval jsem již v pár jazycích a i přes počáteční odpor k C# a NETu jsem velmi ocenil málo překážek vývoje a hlavně rychlost psaní kódu. Z praxe mi příjde, že si bere to nejlepší z C++ a Javy a některé šílenosti těchto jazyků ignoruje. Vůbec se nedivím, že Linux nemá na desktopu prozatím žádnou šanci.
Člověk chce hezké funkční programy. Jenže ty se samy nenapíší, a cesta přes C++ vede většinou do pekel dlouhého vývoje.
Snadnou cestu programátorům přinášejí frameworky, které jim poskytují takzvané již vyvinuté kolo. Pokud budou úžasní linuxovní Hardcore programátoři upřednostňovat náročný vývoj uživatelských aplikací v C++, C, či ještě lépe v asembleru :D tak než vyvinou kvalitní použitelný program, tak u konkurence mezitím vznikne o pár generací novější a lepší program, který sice bude o něco málo pomalejší, ale bude!
A vzpomeňte si na to co jste měli za počítač před 5 lety a vemte si jaký máte dnes. Výkon tak výrazně vzrostl, že se zabývat pomalým vývojem rychlých programů nemá cenu. Cena hardware jednoduše stále klesá, ale cena vývoje stále roste!
C, C++ jsou dobré, nutné jazyky, ALE ne na vývoj GUI aplikací! Uvědomte si kdy vznikly a k jakým účelům. C se hodí pro optimalizovaný zápis algoritmů, či na zpracování velmi náročných úkonů. C++ pro téměř to samé, ale spíše rozměrnější projekty. Psát v tom pak rozsáhle gui aplikace je zvrhlost, kvůli které je linux se softwarem, tam kde je!
jj, ted se zrovna snazim neco zmenit v jedny vicevlaknovy aplikaci v QT. A ono mi to pada. Autor ty aplikace to ladil tak dlouho, az to prestalo padat – tzn. nedostal to do stavu ze je ta aplikace logicky spravne, jen to nepada. Jakmile jsem do toho sahnul tak to zacalo padat, ale na uplne jinym miste nez kde jsem to zmenil. V tom je prave nestesti aplikaci napsanych v C/C++. Program vam spadne treba i nekolik vterin po tom co nastala logicka chyba. Dohledat a vyresit tu chybu se snazim uz asi mesic. Za tu dobu bych moh udelat spoustu jinych uzitecnych veci. I kdyz jsem patriot a v praci porad pouzivam nas projekt, tak musim uznat, ze konkurencni open-source projekty napsane v JAVE nas rychle dohaneji a nekde dokonce predhaneji.
Psát v tom pak rozsáhle gui aplikace je zvrhlost, kvůli které je linux se softwarem, tam kde je!
Když se podívám na KDE 4.3 Beta, tak je tak na stejno (možná trochu před) Windows 7 a několik let za MacOS X, to při minimálních nákladech ve srovnáni s MS, takže díky bohu za C++ :)
Kdyby jenom to. MONO kopíruje vývoj .NETu ⇒ všichni, kdo Mono propagují, vlastně propagují závislost určování dalšího vývoje na firmě s velkým M. A jak známo, tato firma nemá nejmenší zájem, aby další vývoj určoval někdo jiný než ona sama. Jejím cílem je naopak infiltrovat co nejvíce koncového software na jiných platformách než na Windows tak, aby co nejvíce vývojářů bylo závislých na jejich plánech a technologiích, a ne obráceně. Zkrátka: překlopit vývojáře opensource na jejich vlastní platformu a udělat z nich závislé. Je to jenom a jenom o penězích pro M. Dále mě to nutí být závislý na .NET dokumentaci od MS a na způsobech, jakými tuto dokumentaci distribuuje. A také – sice to bude asi znít směšně, ale není to tak dávno, kdy byl Linux a jeho ekosystém označován touto firmou ústy Ballmera za rakovinu, na to se nesmí zapomínat. Tato firma není ani náhodou dobrotivý strýček, který by jakkoliv přál nezávislému vývoji. Jsem tedy za to, aby Mono bylo výhradně VOLITELNOU součástí. Kdo chce, ať jej má, je to svobodné rozhodnutí každého správce.
PS: Pan Miguel de Icaza si může říkat o MONU co chce, může s Microsoftem spolupracovat a chválit jej jak chce, ale to nic nezmění na faktu, že tímto se Debian dostává do vleku komerčních zájmů největší SW firmy. Pro mě přínos tohoto člověka bohužel zatím končí jeho původní prací na Midnight Commanderu. Pochybuji, že by se MONO mohlo nějak výrazněji platformně odchýlit v koncepci např. rozšiřování jazyka samotného od toho, co diktuje MS. Koncepci jazyka si přes ECMA protlačil MS sám, takže s tím nejde stejně hnout a i kdyby šlo, MS nedopustí, aby to udělal někdo jiný než zase a jen on sám. Někdy je prostě lepší se nenechat zlákat něčí výkladní skříní, byť „by to blikalo sebelákavěji“, a raději zatnout zuby a pracovat na svém řešení s nástroji, které nemusejí být tak „hyper-advanced“ a pohodlné, ale jsou otevřené, šířené jako Svobodný software, takže pokud nejsem líný, mohu je kdykoliv ohnout tak, aby dělaly to, co potřebuji. Nakonec, je to jen otázka zvyku a kvalitních nástrojů vč. těch, které jsou uživatelsky přívětivé, je dost. A navíc mám výhody, které mi komerční systém nikdy přinést nemůže: dostupnost zdarma, navždy právo distribuovat zdarma dál, navždy právo upravovat zdrojový kód a šířit jeho mutace, právo ochrany před komerčním zneužitím formou uzavření a následného šíření modifikované verze.
Jedinou alternativou k Mono/.NET je dnes Java. Ovšem .NET na rozdíl od Javy stojí na ECMA a ISO standardech. A standardy jsou přece dobré. Tak kde je problém? Mono máte zdarma, a můžete ho upravovat a šířit.
„Komerční zneužití“ je naprostá blbost – když je něco zdarma, nemůžete to uzavřít a prodávat, protože to každý může mít zdarma. Když něco doděláte navíc k tomu zdarma, tak to samozřejmě neprodáte dráž, než jaká je tržní cena takové dodělávky (tedy vaší práce). Protože tu neupravenou verzi může mít každý zdarma.
Panove, copak nikomu z Vas nedoslo, ze cilem je dostat vice aplikaci z win prostredi do linuxu a naopak? A kde jinde zacit nez u neceho spolecneho – v tomto pripade vrstvy, ktera umozni spoustet dalsi aplikace? Zacalo se jednou utilitou, ale co kdyz se objevi i „vetsi“ aplikace jako je ucetnictvi atd. To vam to tak vadi? Ze vam nekdo sahl na prikazovou radku a narusil pocit vasi vylucnosti? Mam pocit, ze rada diskutujicich ma vice problemy se svym egem. Vzdyt samotne mono vzniklo s cilem umoznit prenos aplikaci mezi platformami. Osobne moznost prenest aplikaci pod .NETem do linuxu vitam, i kdyz to v praxi casto nejde. Nicmene mili „chlapci z kommand lajny“ nebojte se. MS si dokaze najit vzdy cestu jak zablokovat nebo zpomalit vyvoj mona na linuxu pokud by to ohrozovalo jeho pozici windows.
Pokud jde o interkompatibilitu aplikaci, pak by nemela by zavislost primo na gnome, ale melo by jit o balik vyzadovany az temito aplikacemi. Skutecne nechapu proc se dostat do situace kdy bude Mono soucasti „holeho“ debu. Uz takhle mi leze na nervy balik Java a dalsi, nevim proc molochovatet. Toto je cesta jak se dostat k hranici molochotovisti ktera system zcela pretizi, zamezi jeho pouziti pro jednoducha nasazeni a povede k narustani poctu specializovanych distribuci misto stabilizace osvedcenych a jejich skalovani pro konkretni ucely, kudy by se dle meho distra ubirat mela. Potrebuje snad Gnome pro svuj zivot Mono? Nikoli, potrebuje ho ta aplikace. Melo by tudiz dojit k zavislostem mezi aplikacemi a jejich interpretrem a ne window manazerem a pripadnymi interpretry. To je drbani se na uchu pres hlavu a to jeste sousedova psa…
To IMHO záleží jen na vývojářích. Pokud už sáhnu po technologii, která funguje jen na jedné „straně“, měl bych vědět proč.
U aplikací, které jsou v .NETu běžně vyvíjeny, nebývá přenositelnost zrovna cílem. V zásadě proto, že to zákazník obvykle nepožaduje a nemá to tedy význam. Vývojář by si tím pouze mohl znepříjemnit život a vývoj by mohl zabrat více času, protože by se mohl dostat do situace, kdy nebude moci využít komponenty, s kterými je spokojený a nemůže za ně najít funkční náhradu. Musel by tedy vše psát od začátku (zmínka o znovuvynalézání kola je častá).
Brzdou v tomto ohledu jsou, podle mě, vývojáři oněch komponent, protože se chovaj naprosto stejně. Tj. neznepříjemňují si život vývojem pro MONO a občas se dokonce vážou na WinAPI. I když si to někteří už uvědomili, situace se výrazně nezmění, dokud MONO na linuxu nezaujme nějaké výraznější postavení (např. dokud se nestane součástí důležitějších distribucí). Se samotným vytvořením kompatibilních komponent už by takový problém být neměl (i když některé drobnosti stále nejsou doladěné a jiné ještě chvíli budou chybět).
BTW: Stejně tak aplikace napsaná pod MONem nemusí fungovat pod .NETem.
Ano doslo, ale ak citate pozorne, nik tu nekritizuje fakt, ze je mono projekt aj na linuxovej platforme. Kritizuju jeho defaultne zaradenie (aj ked ako zavislosti) do distribucie debian. Cize co tu pisete mi postrada zmysel. Nik totiz nebrani napisat uctovnictvo s vyuzitim mono a distribuovat ho na linuxy aj winy. Mono sa automaticky nainstaluje ako jeho zavislost. Ale mat ho v default instalacii, je podla mna prinajmensom zbytocnost. Alôe ved tych chlapcov z debianu nechajme. Ked maju malo roboty, nech si ju pridavaju. A verim tomu, ze este dojde k vyradeniu mono. Velmi rad by som sa v tomto mylil, no nik nemoze na sto percent tvrdit ze k tomu nedojde. A s tou poslednou vetou plne suhlasim. A mam z toho strach.
U toho openSUSE ale pozor, abyste si vybrali jako desktop KDE. Problémů v tom vidím několik:
asi i proto, že zákazníci se SLEDem téměř nepoužívají KDE (ne, žádnou
statistiku po ruce nemám, je to jen můj dojem).
to přesně myslíš s tím „dá se bránit“. ;-)
Je ovšem naprostá pravda, že s openSUSE se lze Monu vyhnout:
ptesarik@nathan:~> cat /etc/SuSE-release openSUSE 11.1 (x86_64) VERSION = 11.1 ptesarik@nathan:~> rpm -q mono-core balíček mono-core není nainstalován
Josselin Mouette je on, alespoň podle fotky v profilu. :) Tahle kontroverzní osoba již v minulosti proslula různými excesy, i jeho reakce na zmíněných blogpostech jsou vesměs útočné a bez argumentů.
Celou aféru považuji za nešťastnou, neboť zařadit do instalace balík takové velikosti kvůli relativně bezvýznamné aplikaci, kterou je navíc možné nahradit ekvivalentem v C++… Abych se přiznal, zatím jsem nenarazil na „must have“ nebo „killer“ aplikaci, která by byla napsaná v Mono. Nepřijde mi perspektivní něco vyvíjet na platformě, která bude vždy o krok (nebo spíš o dva) pozadu za svým „vzorem“.
Naštěstí ta závislost Gnome na Mono v Debianu Sid je prostřednictvím metabalíku, který lze odinstalovat a Mono se zbavit.
Spravne. Lide by meli misto Tomboye pouzivat Org-mod Emacsu. Sice by se instalace take zvetsila o 40 MB, ale bylo by to uzitecnejsi. :-)
(Momentalne pouzivam Tomboy i Org-mod, ale budu se do budoucna snazit prejit jen na Org-mod, protoze je to nezavisly format a Emacs je i pro Windows.)
Taky pro mě už existuje killer aplikace.
supertux-editor. pod mono byla založena právě kvůli kompatibilitě (ikdyž je stejně build pod MSVS po většinu času rozbitý)
ANO. uznávám, že existují dva typy programů (a taky jazyků):
Je to jeden z cílů, kterého se Mono _snaží_ dosáhnout, nebo je to jeden z cílu, kterého již _bylo_ dosaženo? Já měl za to, že tohoto ušlechtilého cíle dosaženo zatím nebylo a ještě k tomu Monu lecos zbývá. Ale tu situaci nesleduji (v Monu/.Netu skutečně nevyvíjím), takže se rád nechám vyvést z omylu.
To v podstatě záleží jen na tom, na kolik je API kompletní. .NET 2.0 by měl bejt komplet, z vyšších verzí jen nějaký části. Více zde.
Let's push applications made by poor pussyass wind0z3 (l)users into Debian. THIS increases its popularity and breaks the score, no matter how hard you experienced person want to keep your last particle of quality.
Debian is intended for clueless (l)users, not for you. You know, apt-get this, apt-get that, and you're done. How's that feel, when Debian gets even more fucked up than it already is?
Osobne mi Mono/Java nijak nevadi, stejne tak mi nevadi jine framworky jako Qt, gtk. Naopak, v monu a jave vidim budoucnost desktopovych aplikaci.
Jaky je vlastne problem mona a patentu? Mel jsem za to, ze C# je ECMA standard, takze problem asi budou knihovny? Ty ale prece mono tym implementoval po svem.. vidi do toho nekdo vic?
Ano, problémem by mohly být některé části .NETu (ASP.NET, WinForms, apod.), které nejsou součástí ECMA a ISO standardu. Tyto části jsou v MONu implementovány odlišně (někdy lépe, někdy hůře) a já osobně si nemyslím, že to v budoucnu bude problém.
Faktem je, že Mono a Gtk# je výborné prostředí pro vývoj desktopových aplikací. Mají skutečně nativní vzhled (ne jako v Javě), jsou o něco rychlejší než Python, vývoj jde mnohem rychleji od ruky než v C, o něco rychleji než v C++.
No a pokud jsou nad Monem postavené aplikace které uživatele chtějí, tak nezbývá, než Mono používat a instalovat.
Používám Tomboy a GnomeDo. Není to nic světoborného, kdyby bylo obojí v C/++, tak by to snědlo méně paměti, jako uživatele mě to moc netrápí. Fspot nepoužívám, ale řadě lidí se líbí.
Co se týče patentů, tak patentované je dneska úplně všechno. .Net je ECMA standard a Mono je jeho implementace. Navíc MS Mono oficiálně podporuje (Moonlight), existence Mona ho nijak neohrožuje, protože skoro všechny aplikace nad MS.Netem ve Windows používají nějaké to nativní volání :-).
Když jsem naposledy dělal projekt v Javě a používal swing, tak když si člověk založí projekt desktop application, tak vzhled je nativní. Ale nezkoušel jsem to pod linuxem, nějak ho na kompu již delší dobu nemám – nějak na něm není dost softu, které používám a nemají zatím moc ekvivalentní náhradu (miranda, pořádný DC klient, firewal s blokací podle aplikace, VS). Mimochodem, když už jsme u toho mona a .NETu někde jsem před nějakou dobou četl, že se uvažuje o portování části Visual Studia na Linux přímo Microsoftem. Něco to do sebe i má, protože se blíží doba velké expanze Linuxu do školství, úřadů apod. – např. v Rusku. A na Macu je např. MS Office.
Nic proti Monu, ale desktop by se měli snažit udělat co nejlehčí (v rámci stanovené funkčnosti) a tomu Mono nepřispívá. Poznámkovač nepoužívám a 40MB engine navíc mi připadá nesmyslný.
V distru jeho balíček je (v mém a předpokládám ve většině ostatních) a pokud ho bude nějaká aplikace vyžadovat, tak se doinstaluje. Vývojáři jeho zařazením do základu Gnome nic nezískají, nebo ano?
Je to slepovac panoramat hugin a ten inteligentni srovnavac obrazku, co se
musi k huginu doinstalovat. Je to bohuzel smutne, nic jineho (srovnatelne
kvalitniho) pod linuxem neni. klidne me opravte, jestli se mylim.
Druha vec je, ze MS udela behem 2–3 let nejaky obvykly obchodni trik a vsechno
bude razem nekompatibilni. A v tu chvili se povezou i linuxaci, co vsadili
na mono.
Cili za me – mono ano, existuje nekolik aplikaci, ktere stoji za to. Ale nikdy bych v mono nic nedelal, znam ty stare triky.
Jak tak koukam na ten hugin a enblend, tak nic v C# nebo Mono nevidim. Ani http://wiki.panotools.org/…iling_Fedora nic takoveho nezminuje. Nasel jsem akorat normalni C++ zdrojaky.
hugin je napsan pod WxWidgets a mono nepotrebuje.
Na svem notebooku mam debian unstable, mam tam nainstalovany hugin a mono nepotrebuje (ani zadna z jeho zavislosti jako treba enblend nebo enfuse mono nepotrebuje).
Takze pokud v nektere jine distribuci instalace huginu do systemu dotlaci mono, tak tam maji blbe udelany zavislosti → reportoval bych to do bugtrackeru te distribuce.
V zásadě si myslím, že je Mono (obecně i .NET) dobrý počin. Asi bych neodsuzoval Mono jen proto, že je Mrchosoftí.
Dám vždycky přednost programům v C, ale když se nenajde nikdo, kdo by přepsal některé věci z C#, tak se nedá svítit.
V základní instalaci by asi podle mě být nemuselo (o 40MB se hádat nebudu, to je to nejmenší), ale prostě to není nezbytné.
Myslím, že chlapci z GNOME to už dávno majú premyslené.
Žiadne mono, ale vala !
Odporúčam pozrieť. Myslím že uspokojí priaznivcov HLL aj odporcov mono.
The syntax of Vala is similar to C#, modified to better fit the GObject type system. Vala supports modern language features as the following:
* Interfaces
* Properties
* Signals
* Foreach
* Lambda expressions
* Type inference for local variables
* Generics
* Non-null types
* Assisted memory management
* Exception handling
* Type modules (Plugins)
Ano, Vala uspokojí všechny programátory na platformě GNOME, ale až za hodně dlouho. Sám přepisuju projekt z C# do Valy (čistě z toho důvodu, že je to knihovna a chci možnost používat ji ve všech jazycích) a pro velké seriozní projekty je prozatím zcela nevhodná. Po stránce jazyka je skvělá, ale je tam příliš bugů v kompilaci (máme rádi segfaultyyy, segfaultyyy, segfaultyyy…) a taky zatím chybí pár důležitých věcí (např. absence closures).
Ta „nenucena momentka“ pana Krcmare me vzdy skvele pobavi. Pripomene mi tohle: http://www.youtube.com/watch?…
Jo a k tematu – mono je sracka a dokonala ukazka plytvani silami. Projekt je od pocatku odsouzeny k nezdaru. Jen par blaznu to nechce videt.
.NET je odpoved Microsoftu na Javu.
Mono je napodobenina odpovedi Microsoftu na Javu.
Proc mit v systemu defaultne instalovanu napodobeninu odpovedi Microsoftu na Javu?
Jiste, pokud ma nekdo zvracene preference a chce provozovat patenty svazane C# na svobodnem systemu, at to dela. Ale komunita, ktera si je vedoma, co je „kosher“ a co ne, by tyto zvracene choutky mela drzet „za hradbami“. Cili Mono jako volba, ne jako default. Pokud se tak nedeje, je to dukaz rostouci naivity komunity. A tato rostouci naivita komunity je nebezpecna. Howgh.
.NET != C#
S tim souhlasim, C# je nicmene jazyk vyvynuty Microsoftem v ramci iniciativy .NET. Iniciativa .NET jest odpovedi Microsoftu na existenci Javy (jde o podobnou abstrakci nad HW pomoci virtual machine). Nevyhodou (a predevsim autorskym zamerem) .NETu je to, ze funguje pouze na platforme Microsoft Windows.
Skupina lidi, ktera asi dostatecne nepochopila, ze svazanost s touto platformou je predevsim autorskym zamerem, nikoli jen technickou nevyhodou, naivne rozsirila svet .NETu na ostatni platformy pomoci Mono. Jako kdyz Trojane zatahli Reckeho kone za svoje hradby. Tot muj sice subjektivni, nicmene pevny nazor.
Pokud uz nekdo citi tu potrebu pouzivat .NET na svobodnych systemech, prosim, at tu moznost ma, je to jeho volba. Existuji n asvete ostatne i potrhlejsi napady. Ale at je tato technologie, vcetne jeji „svobodne“ ci spise lehce pololegalni implementace Mono, jasne oznacena jako „cizoroda“ a neintegruje se prilis tesne, napr. jako default soucast desktopu.
Ano, stitim se .NETu na Linuxu.
Nebezpečí je pořád stejné – je vydán nový produkt/platforma, počká se, až na ní bude postaveno nezanedbatelné množství nezištné lidské práce, nebo až si získá podobně nezanedbatelné množství závislých fanoušků a pak se ukážou zoubky.
.NET si rychle získává oblibu, sám si s ním rád hraju a možnost neopouštět qůli tomu Linux jen vítám. To ale do našeho scénáře zapadá, protože na nepřítulné platformě by se zmíněná infiltrace uskutečňovala nesnadno:-)
Nezbývá než doufat ve zodpovědnost velkých vývojářů. Dokud odložení Mona bude znamenat odložení pár utilitek, dotnetovské zuby Microsoftu neuvidíme.
Ludia zobudte sa a nebudujte si dalsiu zavislost na Microshite. Naco je komu mono? Java zvlada to iste a na linuxe ja vykonnejsia. Rovnako tak python. Naco sa prebera nejaka technologia od znameho protivnika linuxu? Nechce sa mi verit, ze v sa budu dat spustit vsetky .NET aplikacie v mono. Iba sa to bude dotahovat za klasickou win .NET platformou. Stop zavislosti stop monu.
Linux nepoužívám, a případná (ne)integrace Mono mě nijak netrápí. Problém je v tom, že pro Linux chcete hromady aplikací typu účetnictví, mzdy, SW pro project management atd. Psát tyhle věci v C/C++ je dlouhé, náročné, a výsledek je relativně dost děravý a padavý. Mono dává vývojářům možnost psát GTK# aplikace s nativním vzhledem a chováním. Java je pomalejší, aplikace se nechovají nativně, není založená na standardech, a neumí řadu věcí potřebných pro vývoj na desktopu. Představte si bitmapový editor v Javě. V .NETu se podívejte na Paint.NET. Autoři Gimpu by si z Paint.NET měli vzít inspiraci ohledně interface.
hromady aplikací typu účetnictví, mzdy, SW pro project management atd. Psát tyhle věci v C/C++ je dlouhé, náročné, a výsledek je relativně dost děravý a padavý.
Ano, proto je 90% těchto aplikací pod Windows v psaných v C#. Vlastně, ještě jsem neviděl účetnictví, které by bylo psáno v něčem jiném než C#. Ono to dává smysl, takový vývoj v C/C++ je náročný, výsledky děravé a padavé. Ostatně i Office 2007 jsou přece v C#, jinak by takový složitý projekt nemohl být uveden dříve než za pět let. Pán se vyzná.
Spousta aplikací stojí na velmi starém kódu. Třeba MS Word pro Windows byl psaný v letech 1989–1991 v C++. Od té doby se kód postupně rozšiřuje a předělává. Přepis takového kolosu do .NETu je veliká hromada práce. MS se k tomu jistě nakonec dostane, ale bude to trvat.
Viděl jste nějaké účetnictví pro Windows psané v C? Asi ne. Něco možná bude psané v C++/MFC, nebo v C++ Builderu. Ovšem už ten C++ Builder je RAD prostředí. Spousta ekonomických aplikací je psaná ve VB, Delphi, a ty nové se píší prakticky výhradně v .NETu.