Ja osobne som fanusik linuxu a stale ho pouzivam a preferujem pred MS Win, pracujem vsak ako vyvojar pre platformu .NET v C#-pe. Napisal som pre linux dost vela kodu v C/C++ a mozem teda relativne objektivne porovnavat. A moj nazor je taky, ze ASP.NET + C# je velmi silny nastroj, kod je maximalne prehladny a vyvoj aplikacie trva extremne kratky cas. Skeptikom, ktori budu argumentovat tym, ze je to urcite na ukor vykonu, by som odporucal precitat si tento clanok na zive.cz:
http://www.zive.cz/h/Programovani/AR.asp?ARI=104162&CAI=2037
Autor testuje rychlost a spolahlivost platformy asp.net. Urcite sa najdu ludia, ktori budu spochybnovat objektivitu tohoto testu, ja vsak musim potvrdit aj z vlastnych skusenosti, ze tato platforma je spolahliva a velmi zivotaschopna. Na zaver by som rad ukradol zo spominaneho clanku tento citat, s ktorym v plnej miere suhlasim:
"Kéž by jenom všechno, co Microsoft kdy vypustí, fungovalo alespoň z poloviny tak dobře jako ASP.NET."
ach jo, historie se opakuje :o)
kdysi:fuj pascal a C ... jen asm je to prave !
argumenty: rychly, cisty, prehledny kod!
dnes: fuj C# ... jen C++ !
argumenty: rychly, cisty, prehledny kod!
za 10 let: fuj "???" ...jen C# !
argumenty: rychly, cisty, prehledny kod!
:o)))
To se tak bojite zmeny nebo toho ze se budete muset zase neco naucit?(nebo taky nemusite :o)
Jsem rad, ze jsem konecne narazil na odbornika pres C#. Podle toho jak "se chystate" nadavat na programy v C# predpokladam, ze mate prostudovanou alespon specifikaci jazyka a odpovite mi, proc by mnely byt programy v C# spatne ? Nebo nadavate jen proto, ze tato platforma vznikla na Windows, ale jinak o tom moc nevite ?
Ja si myslim, ze podobne veci jako .NET, MONO atd... jen prispivaji k zneprehledneni vyslednych produktu, k jejich male eleganci, k tcorbe softwaru stylem pejska a kocicky kdyz delali dort. A je uplne jedno zda na Windows ci na Linuxu. Proc vytvaret treba Weby v podobnych silenostech ? Proc bezvyhradne akceptovat jakysi modni trend ?
Jenom doufam, ze je jeste mezi nami dostatek zdraveho rozumu a ze velka cast projektu bude vznikat za pomoci klasickych pruhlednych prostredku...
A v cem by si proboha chtel psat web aplikace? V prasarnach jako PHP co nema poradne ani objekty? Natoz aby se nejak oddelila business logic od prezentace (coz je u web aplikaci nezbytnost, s vyjimkou osobnich home pagi na ktery **** bilej tesak). MVC zadny modni trend neni a dneska existuje par poradnych implementaci v Jave a par neporadnych v .Netu (ale casy se meni).
A co muze byt vic pruhlednyho nez open source projekt postaveny na standardech (od ECMA u .Netu)?
PHP je nahodou dobry, ale ne na vsechno. Je to stejne jako s kapesnim nozem, ten take muze byt dobry, ale neni na vsechno, treba s nim nejde nahradit maceta.<br><br>
PHP je urcene a vhodne na lehke projekty a osobni pouziti. Na tvorbu dynamickych stranek na free hostinzich a podobne. A takovych stranek je naprosta vetsina, rozsireni PHP tomu odpovida. V PHP se vyviji snadno a rychle, je spolehlive a bezpecne.<br><br>
Ale samo ze v nem nebudu delat internet banking, zde je potreba mnohem robustnejsi reseni. Na takove veci je potreba aplikacni server a ma mono neco takoveho? Python nabizi treba Zope, znate ho? Co na nej rikate?
Aaaa, uz se ozyvaji... Dnesni programatori, kteri nic jineho nez modu objektu nikdy nepoznali.
Vazeni. Da se skutecne delat i bez objektu. Pokud clovek neni prase, poradek si v tom udrzi a vysledny kod bude o neco efektivnejsi nez vase objektova slepovanka.
Vytvorila se zde v poslednich letech iluze, ze jinak nez objektove se programovat neda... JE TO LEZ JAKO VEZ. Nevim, kdo na tom mel zajem, aby spousta lidi takto "zblbla"...Mozna spolecnosti, pro ktere neni dulezita kvalita, ale rychle chrleni alespontrochufunkcniho softwaru - ano, tam objektovy pristup pomaha - pro rychle lepeni, kdy autor ani vlastne nevi co dela.
A k tomu PHP. Na velkych projektech se zatim prilis neprosadilo, rozhodne to neni z duvodu jeho nizke kvality a neschopnosti. Od verze 4 vyse se jedna o pomerne mocny nastroj (ma pochopitelne sve limity), lec trh vyzaduje modni trendy a rychle lepeni...Samozrejme, ze se to v PHP da delat i tak, ze do urcite miry oddelite logiku od prezentace. Pokud to nedelaji prasata.
---
Pred MONO durazne varuji a plne souhlasim s nazorem, ktery se jiz objevil - jde o trojskeho kone a neni rozumne na nem v Linuxu stavet dulezite veci.
No neviem, ja som zacinal s klasickym strukturovanym programovanim este na PMD, presiel som cez Sinclaira, potom Delphi a C-cko. A nakoniec som objavil silu a krasu C++ a neskor C#. Neodsudzujem strukturovane programovanie, ale urcite by som nechcel pisat rozsiahly projekt s GUI v C-cku, ved to by bol priznak masochizmu! Z vasho prispevku mam pocit, ze ste nikdy neskusal programovat objektovo, pripadne skusal ale vam to neslo. Inak si neviem vysvetlit vas zaryty postoj odporcu OOP.
k programovani v monu me dohnala skola (protoze jeden hnup trva na tom, ze projekt musi byt delany v c-kanalu a zadna java ani c, neexistuje! :-))
vsechna cest autorum mona, je fakt dobre napsane, ale pripada me ze jejich snaha o moznost prenaset programy z windows na linux vyzniva doztracena, protoze nikdo se neobtezuje psat prenositelne programy a nejedna se o jenom windows.forms a podobne vazby na windows, proste si tam naflakaji veci, ktere nejsou standardizovane a je to. neco takoveho v jave neexistuje.
zrovna dneska jsem zkousel projekt tao (implementace opengl, llut) a nesel zkompilovat protoze pouzival nejaky drsny hack nevim do ceho, autor sice jako jeden z mala bral v potaz i existenci mona, nicmene k tomu aby to upravil se nema)
btw. monodevelop vypada hodne slusne a asi ho vymenim za ViM.
jo, jeste by nekdo mohl dohackovat generovani inline dokumentace a mel bych dusu v peri
... UPOL? :)
ale k věci: " neco takoveho v jave neexistuje. "
a to jsi vyčetl kde? :) samozřejmě, že to v Javě je. pokud někdo bude psát prasácky, tak ani Java tě nespasí, typickým příkladem může být nekompatibilita souborových systémů. taková Java aplikace pak hází výjimku za výjimkou. ladil jsi někdy Java program třeba na Pantheru?
takže nemohu souhlasit. jinak - pokud jsi z UPOL, tak já vše dělám v Javě a nikdy mi nic na to neřekli, stačí zatlačit na ta správná místa :D
ps - monu fandím a jestli to má být hlavní jazyk v GNOME, tak proč ne. nechápu, co by se nemělo Javákům líbit, já jsem naopak nadšen. pořád lepší než přihlouplé C (které se opravdu nehodí na tvorbu GUI tak jako Java/Mono). Mono a Java se přece mohou skvěle doplňovat! nevadilo by mi, kdyby se udělala Java implementace nad Mono-VM :D
jasne, upol. :-)) ale prosadit si vsude javu se me nepodarilo. kudelka trval na c# s argumentem, ze u sekretarky si mozu pucit instalacky :-) tento postup sice dle me odporuje zakonu, ale budiz. vilem me navadel at dam stiznost sefovi, ale pak jsem si radsi vybral mono, jako mensi zlo. a dokonce ted je mono uz aj na phoenixu. :-))
samozrejme ze prasacke programy existuji i v jave, ale v nesrovnatelne mensi mire. pocet knihoven a aplikaci, ktera jsou prenositelne na 100% vyhrava java nad c# tak 99:1. tady jde hlavne o programatory, spousta z nich si neuvedomuje, ze jednou z vlastnosti c# by mela byt prenositelnost, a ze neexistuji jenom pocitace x86 s windowsama, ale to je vic chyba (vlastnost) vychovy ze strany MS.
btw. co si budem nalhavat c# (2.0) a java (1.5) se sobe zacinaji podobat vic a vic, takze uz ani nehraje vyraznou roli v cem kdo programuje. jinac taky monu fandim jeho binding do cecka je naprosta spica.
Zákonu neodporuje, prostuduj licence MS SELECT. Když jsem je čet v 98, tak to teda šlo... :D
mono na phoenixu, lolec, to muselo dat zabrat ho premluvit, cokoliv neni scheme je na nic :D
jinak ... dneska jsem ukazoval jeden starsi DB projekt do INF SYSu (v Pythonu/ZOPE), ucitel se podival, rika, dobry, tak spustte .NET a udelejte mi v ASPcku tabulku z databaze, ja na to, ok poslu, on na to, nenene, udelejte to hned, a koukal mi pres rameno
zacal jsem se potit, VS .NET jsem spustil podruhe v zivote, udelal jsem ASP projekt (poprve :) a zacal jsem na vsechno zmatene klikat. nastesti si odzkocil a kamos mi to "naklikal", kdyz jsem to pustil, nejaky db connection exception to furt vyhazovalo, no hustota, chvili na to kukal, pak konstatoval, ze to je neznama chyba a dal mi zapocet ROFL
nesrovnatelne mensi mire... to je protiargument to by se clovek potento, ja myslim, ze to vyjde nastejno, ackoliv se muze zdat, ze win-programatori jsou nachylni na tzv. MS-programovani, je bez debat, ze ma Java naskok, ale MS ma prostredky ho zrusit, takze uvidime
ackoliv jsem v .NETu delal jen skolni projekt (nastesti Geometrie uz mohla byt v Jave -- dokonce i BC projekt delam v Jave :), vim, ze to maji celkem fajn navrzeny, az na ty konvence psani kodu, hruza, zlata Java
k licenci bych dodal, ze kdyz me dojde kontrola tak bez faktury su v pr* jak bata s drevakama, protoze nemam zadny kus papiru, ktery by me predaval uzivaci prava, btw. a navic je to bez xpecek, takze ani operacni system na kterem by to jelo nemam :-/
premluvit vilema aby dal mono na phoenix bylo tezce v poho. zeptal se me, jakym zpusobem resim projekt v c-kanalku, rekl sem ze monem, ze bezi slusne a jeste ze jsou k dispozici debiani balicky a jeste vecer to tam bylo. :-)) i kdyz v jednom ma pravdu - na vsechno vystaci scheme, zbytek jde v nem doprogramovat - kdyz jsem si v nem psal implementaci xquery, musel sem mu dat za pravdu)
tu nesrovnatelne mensi miru ber tak, ze jsem nechtel uvadet nejake konretni cisla (ani to nejde)- vezmi si takove knihovny od apache foundation a spol., zatim sem nemel jediny problem rozjet je na ruznych JDK a JRE, vzdy bez problemu na win i lin.... to se mi u dotnetu zatim nestalo vetsinou je tam pouzita nejaka zasadni vychytavka, ktera bezi jenom u MS
viz treba ta knihovna Tao - slusna implementace OpenGl, Glut atd. bezi jenom na win, protoze pouziva brutalni hack na nejake volani. a protoze do geometrie mame odevzdavat nejake analyzy ploch a vzhledem k tomu, ze delame projekt ve dvou skupinach a vsichni chteli C# musel jsem se podridit, i presto ze to vykreslovani mam na starost ja... tak to budu muset zbastlit se spolubydlicim na jeho pocitaci. :-/
osobne davam taky prednost jave kde to jde, protoze tam odpadaji silene klikaci prostredi se "super enterprise ultra global solution wizardam" a na sestaveni staci "blby" ant :-) a navic je java opravdu prenositelna a to je pro me rozhodujici, bo jako spravny extremista mam vsude jenom linux. :-]
No ukončeme to, to přirovnání k ASF projektu se mi zdá pokřivené, je jasné, ža chlapci z ASF to nebudou psát špatně (tzn. nepřenositelně), žejo :D tady bych teda neviděl rozdíl, jak říkám, vychází to nastejno, to, že nějací chlapíci udělali nějaké OpenGL bindy co jedou jen na Widlich nic neznamená, co měli taky dělat, žejo...
je fakt, že to s Javou Sun dost pohnojil, Java1 byla špatný vtip, Swing taky žádná sláva, hodně tříd je v X verzích. uvidíme, jak se to vyvrbí, jdu Mono každopádně zkusit, škoda že Csharp není tak "čistý" jako Java
ty OpenGL bindy si snad nakóduješ ne? fuj, dělat ve VS .NET studiu, že se nestydíš! musel jsem ve firmě dělat ve VS 6.0 - tam ještě existoval VIM plugin, pro .NET tuším už není :DDD
jo ukonceme to, ale pro ujasneni, ten opengl sem bral jenom jako priklad, protoze jsem nasel uz spoustu veci, ktere fungovali (teda nefungovali) stejnym zpusobem a musel jsem si je dokodovat sam vetsinou od zacatku.
jinak to vypada, ze mame stejne nazory akurat je jinak interpretujeme. btw. nahore sem uvadel, ze VS opravdu nemusim. ...prece existuje ViM!? :-))
GUI v jave? Fuj, dakujem, neprosim. Mate pravdu, ze c sa velmi na vyvoj GUI nehodi, zato c++ je na to ako stvorene. Pisem GUI v c++ nad qt a je to uplna pohoda. Hlavne ze mi nevznika nejaky polointerpretovany humus v jave. Zatial sa mi v zivote podarilo s bozou pomocou spustit az 1 program v jave a to gui bolo fakt 'r r r y y ch ch ch l l e e'.
C++ jako stvorene jo? a proc teda museli u QT udelat vlastni makrosystem a rozsirit jazyk C++, aby to vubec slo (signaly, sloty), he? to se OPRAVDU povedlo... :)))
jste zaslepen, neakceptujete Javu (pripadne .NET), bohuzel (pro Vas), jsou to (take) skvela reseni, programy jsou pomale ve vsech jazycych, mohl jste take narazit na zastaraly program ve stare VM a podobne, JRE 1.5 startuje temer stejne rychle, jako .NET...
a posledni "humus" z vaseho "prispevku": existuji i interprety na C++, takze jste malinko mlm0, howk
> proc teda museli u QT udelat vlastni makrosystem a
> rozsirit jazyk C++
Rozsirit jazyk C++ ? Oni si snad modifikovali gcc ? Nebo si, o hruzo, proste napsali nejakou knihovnu ?
> existuji i interprety na C++
No a ? On vas nekdo nuti pouzivat pro C++ interpret ?
O humusoidnich prispevcich a zaslepenosti bych se byt vami radsi nezminoval.
Moc do .net nevidim, ale z toho, co jsem tady vycetl mi prijde, ze prenositelnost je do znacne casti sverena i programatorovi. Platforma samotna ho k tomu nenuti. Jestli je to tak, pak jakekoliv srovnani s Javou je zbytecne a prenositelnost .net dopadne stejne jako "prenositelnost" C++ nebo C -- naprosto katastrofalne.
Programatori nejenze nemaji sklony vytvaret prenositelne aplikace, ale navic maji sklony zamerne vytvaret aplikace neprenotelne. :-) Ruku na srdce, kolikrat jste videli (ti slabsi i napsali) ve zdrojaku javove tridy napsano "c:\..."?
Duvody jsou jasne: "Kdyz to jde udelat jednoduse, tak co bych si to komplikoval? Stejne to vsichni pojedou na oknech."
No ja nevim, mne se to moc nezda. Jeste to vlastne ani poradne neni hotovy. Jako klad bych videl podobnost s .NET, diky cemuz by toto prostredi mohlo teoreticky lakat velke mnozstvi programatoru pro .NET, pokud by si meli zacit neco s Linuxem. Jako druhy klad potom intgraci do GNOME, bude-li. A co konkurence? To je zrejme Java a Python. Jave moc nadeji uz nedavam, kdyby se mela prosadit, uz by se tak imho stalo. Ale Python je podle me vcelku trhak. Jednoduchy, robustni a velmi pouzitelny. Zacina byt vseobecne prijimany jako skriptovaci jazyk pro ruzne uspesne projekty (Gimp, OpenOffice.org, snad i Mozilla). Radsi bych v GNOME videl jej, imho by to bylo prospesnejsi a umoznilo by to systemove propojit tyto ruzne projekty.
:)))
mno ten vas prispevek Wraithe je krapet k zasmani - projedete si enterprise systemy a na cem jsou stavene . Projdete si nejvetsi databaze. Projdete si sitarinu - vetsina z techto veci je dneska postavena na jave. Pokud je treba neco jako python ,tak se pouzije perl ,protoze je rozsirenejsi... Delam se spoustou ruznych systemu ,ale Python jsem nasel max u malych instalatorku. Ma sice krasne provedeni a myslenku ,ale to dneska moc nestaci.
No prave. Vsak o to prave jde. V oblastech o kterych mluvite se Java
prosadila. Oblast kde se neprosadila je desktop. A protoze se
neprosadila v dobe, kdy k tomu mela nejlepsi prilezitost, tak uz
se myslim ani neprosadi. A zamereni .NET i Mona je prave desktop,
stejne jako u Pythonu.
Python je pro tuto oblast vhodny a dobry. Ze se nepouziva vic je
dano, jak jsem psal jinde, jeho nedostatecnym marketingem. Nicmene
si nelze nevsimnout, jak pomalu ale jiste nahrazuje Perl, protoze
se pouziva stejne snadno jako on, ale pritom je pouzitelny i na vetsi
projekty, pronika jako (skriptovaci) jazyk do zakladnich linuxovych
aplikaci jako je Gimp, OpenOffice.org ci Mozilla. Diky tomu je jeho
potencial na obsazeni pozice zakladni high level jezyk pro linuxovy
desktop velmi vysoky. Imho vyssi nez ma Mono nebo Java.
Mno to je otazka nazoru. Ty oblasti o kterych jsem mluvil potrebuji samozrejme i frontend. Z tech znamejsich trebas lotus od ibm bude mit klienta psaneho v jave. Znate jednodussi zpusob instalace ( a pritom bezpecny) nez je prez webstart ??? Ja vam nechci brat idealy . Nicmene nechme se prekvapit :)
Pouhých dvanáct vývojářů (tedy úzká, relativně snadno ovlivnitelná skupina)?
Microsoftí API (finančně vymahatelná revanž od jakéhokoli Mono vývojáře/uživatele)?!
Gnome ("kdysi" ještě součást GNU, které se tvrdě staví proti i částečné nesvobodě - viz. předchozí bod) najednou předělávané pomocí Mona???
Budoucí implementace technologií Longhornu?!?!
Zjednodušení ala "programovat může nyní i vaše uklízečka nebo _firemní manažer_ či __právník__" (kde já už tuhle politiku viděl...)???!!!
Potenciál nahradit ostatní způsoby vývoje aplikací pro Linux??!!??!!
Tohle není jenom paranoia. IMO sledujeme právě rozhodný krok jisté firmy k převzetí moci nad (dříve) nezávislými vývojáři.
"O Dablech se říká, že když s nimi uděláte obchod, měli byste si potom přepočítat prsty. Pak ruce, pak svoje příbuzné..."
Tleskejme Monu. Free-Software-killer přichází.
Hmm, to uz budem tri...nicmene doufam, ze linuxovi vyvojari budou jednat na zaklade zkusenosti a nedaji se oblbnout. M$ sice ted jedna zdanlive proti sobe, ovsem jak vime, je to dobry strateg a manipulator, vubec bych se nedivil, ze vsechny opije rohlikem aby mel linuxove vyvojare tam, kde je chce mit. Vypada to dobre, ale neverim tomu ani za mak. Kdyby se uz nedalo delat nic lepsiho, tak je treba aspon udrzet pomer sil mezi Java platformou a .NETem uz kvuli konkurenci. Za sebe muzi smele prohlasit, ze v tom delat nebudu. Tak nakonec se rozloucim s pranim, necht si nenakalime do vlastniho hnizda.
Otazka na Fenu, ale odpovim za sebe.
V Linuxu mi totiz na mem 6 let starem notebooku porad "jeste" nejede 3D akcelerace, ackoliv XFree deklaruje uz hoodne dlouho, ze Trident CyberBlade i1 umi 3D, dva roky stary BlueTooth USB dongle taky nechodi (ani v jadre 6.5.x). Blbe je, ze ve Windows oboji jede. Bez problemu. Asi to proste neumim nastavit. Jenze venoval jsem tomu asi mesic (!!!) casu - cteni dokumentaci, howto, diskusni fora a nic. Vzhledem k tomu, ze jinym majitelum stejneho notesu, ktere jsem nasel na netu to taky nejede, myslim, ze chyba nebude ve me... Staci?
No to je přesně ta nesoudnost některých linuxáků. Pokud je schopen jen velmi malé procento adminů, neřkuli uživatelů pochopit takové nastavení, tak to asi není chyba toho uživatele. Cílem je přece zjednodušovat, i když ne za každou cenu, protože čas jsou peníze. Rozdíl od MS by měl být ten, že by se neměla ztrácet logická konzistentnost a že systém by neměl z člověka dělat debila, jak je to někdy u MS. Pokud budete souhlasit s tím, že čas jsou peníze (u nás ano, na Kamčatce ne), tak kolik si mohl vidělat za ten měsíc, co s tím strávil, (nebo kolik holek mohl sbalit, ...)
No mozna to neni znamkou kvality OS, ale rozhodne to ovlivnuje pouzitelnost, ze ktere pak plyne i rozsirenost a zpetne pak ochota firem k investicim a uvolnovani specifikaci.
BTW, linux uz pouzivam hodne dlouho, ale musim priznat, ze WXP uz jsou na slusne a pro me uspokojive stabilni urovni. Pruser je v aplikacich, v cemz ovsem neni proti Linuxu podstatnejsiho rozdilu.
Problem je, ze Linuxu dost chybi jasna vize a plan, kam se ubirat, proste design a architektura ve smyslu planovani featur. Z toho pak plynou i veci jako trikrat prepsany filtrovaci mechanismus kernelu ve trech verzich, dosti kostrbaty prechod OSS -> ALSA a podobne veci. Proste vyvoj je dost chaoticky. Mozna i proto na produkcni veci pouzivam *BSD a OpenVMS, na destopu v praci Linux (tam mi vyhovuje, ale taky mi trvalo temer mesic, nez jsem ho vyladil) a na desktopu doma pro zenu WXP...
Už je tu dobrá odpověď od Eerine, já jen doplním, že existuje spousta hardware, který pro změnu nejde zprovoznit pod Wokny. Z toho co vlastním např. videokarta Fast FPS60 pod XP nejede a k W 3.1 se opravdu vracet nehodlám. (Pravda, nejde ani pod Linuxem, ale na driverech pro karty s chipy Zoran se alespoň pracuje...)
Jinak domnívám se, že množství hardware zprovoznitelného pod Linuxem je daleko vyšší, než u Window$ - na kolika platformách jedou Window$, na kolika Linux? Svět není jenom x86 ...
p.s. a k té paranoie si za mě taky udělejte čárku :-(
Není tak rozšířený jako MS nebo Apple systémy, ale přesto je brán jako jeden z mála potenciálních konkurentů těchto "většinových OS".
Většina těch běžných uživatelů, kteří se zajímají o to, jestli jim Linux něco přinese, většinou odradí to, že na něm moc nejsou hry. Linux také není herní platforma a nikdy asi nebude, pro nasazení ve firmách se však stává čím dál vhodnější(sekretářkám nakonec stačí kancelářský balík, webový prohlížeč a solitaire;)).
PRESNE TAK - uz se tesim na ty tuny (prevazne klikacich) aplikaci, vyzadujicich instalaci frameworku, napsanych prevazne lidmi bez hlubsi znalosti systemu (zkusenost s VB "programatory") ...
Jak tak pozoruju .NET na jeho materske platforme (rozumej M$ Windows) tak mam pocit, ze zakladni prednosti Linuxu (kvuli kterym jej jako uzivatel pouzivam a doporucuji svemu okoli) budou irelevantni:
1) s _rychlosti_ a _nizkymi_naroky_na_zdroje_ se muzeme rozloucit rovnou, nebot ty budou dany minimalnimi pozadavky ze strany .NET
2) o nejake _flexibilite_ asi take nebude rec, nebot takoveto aplikace budou vazany na sluzby frameworku a troufam si rict ze budou napsany prevezne takovym zpusobem, kdy nebude mozna jejich jednoducha interakce s okolim (male programky zvladajici perfekne jednu konkretni vec, propojene standartnimi unix-ovymi mechanizmy jako jsou napr roury apod)
Muj zaver (ktery samozrejme nikomu nenutim) tedy zni: NENI O CO STAT
Ona je totiz otazka z jakeho uhlu pohledu se na to divate.
"kdy nebude mozna jejich jednoducha interakce s okolim (male programky zvladajici perfekne jednu konkretni vec, propojene standartnimi unix-ovymi mechanizmy jako jsou napr roury apod)"
Tento model je krasny, ale ne pri psani vetsich systemu, na ktere je .NET predevsim vyvijen. Diky CIL je zajistena binarni kompatibilita a tudiz je zajistena napr. dedicnost, coz za jistych okolnosti muze byt lepsi nez napr. roura ...
Zkuste se na to divat timto zpusobem a mozna tomu prijdete na chut.
Myslim si, ze Mono udela akorat dobrou sluzbu Microsoftu. .Netu udela reklamu, Linuxove vyvojare nenasilne nauci .Net a da se ocekavat, ze Microsofti implementace bude robustnejsi a tak nakonec vsichni skonci u Windows. Taky asi nikdo nebude nadsenej, kdyz bude mit "vsude" poznamku, ze featura je dostupna pouze na Windows.
Tenhle projekt nemel nikdy vzniknout...
Nemel nikdy vzniknout ... to zni jako strach z MS. Pokud je linuxova komunita opravdu tak silna, tak se to urcite nestane.
Mono ma vlastni rozsireni, ktere .NET nema. Je to zatim cele v plenkach, ale pokud se to podari dokoncit, nemyslim si, ze to zpusobi presun na Windows, ba prave naopak. Myslenky .NET jsou dobre, tak proc je zavrhovat jenom proto, ze pochazi od MS (ona je to otazka, zda-li jsou od MS ;-)).
Je jen otazka, jak se k tomu komunita zachova ...
No prave. .Net je dobra platforma, ale bohuzel kontrolovana Microsoftem.
Kdyz nekdo bude mit zalozeny projekt na .Netu, tak skutecne realny provoz skonci na Windows. Vybudovat robustni a vykonne reseni bude open-source komunite trvat hodne dlouho. Vemte si, jak dlouho trval open-source vyvoj JRE pro Javu. A tady nejde jenom o JRE resp. CLR (je to spravne?)
Take nestandardni rozsireni budou hrat ve prospech Microsoftu.
Ja bych videl jako nejvhodnejsi reseni, kdyz uz se to zaclo, vzit pouze runtime+C# a cele API vyvinout bez jakekoliv vazby na Microsoft. A cele reseni se pokusit standardizovat... to pak zase moc nepomuze Jave/J2EE, ale ta si s tim poradi ;)
PS.: To ze Microsoft platformu zkopiroval a mirne upravil neni pochyb :)
Rozdil mezi Javou a .Net je zasadni. Java je proprietarni vec, naprosto pod kontrolou Sunu. Proto trval vyvoj open source JRE tak dlouho a dodneska se snad nesmi distribuovat defaultne s distribuci Linuxu. Narozdil od Javy je .Net standardizovanej, u ECMA, a open source implementace (Mono) nema zadny omezeni jako Java. A vzhledem ke kvalite Vs.Net bych rek ze Mono spis pomuze k odlivu .Net kodu od Win, ne naopak.
> Java je proprietarni vec, naprosto pod kontrolou Sunu.
Urcite jde proti tomu najit plno vyhrad. Na druhou stranu zde alespon nehrozi to roztristeni platformy, ktere clovek vidi u C a C++ (a vlastne i u Pascalu a kdo vi u kolika dalsich), kde plati, ze pomalu kazdy subjekt na trhu ma vlastni "standard".
V nejmenovane pocitacove firme rekli, ze Linux je neco jako MSDOS, ale ze ma vice prikazu. Ja myslim, ze Mono tohle zmeni. Spousta firem ted dela pod .NET a tohle je nejjednodussi a nejlevnejsi cesta, jak prejit na Linux. S tempem jake Mono ma, bude jejich implementace hodne brzo stejne dobra jako od MS a nez vyjdou novy Windowsy tak uz budou podle me o rok dva ve predu. O tom ze C# a .NET jsou vyborne navrzeny nema cenu debatovat a kdyz se to da dohromady s Linuxem, tak myslim ze neni nic lepsiho :) Jinak nic proti ostatnim jazykum (oni jdou stejne vsechny prepsat pod .NET) Vsem kritikum a rypalum bych doporucoval si Mono aspon nainstalovat a vyzkouset. Taky by bylo dobre nezapominat na Portable .NET, ktere je GNU projektem a je taky moc hezke.
"Jinak nic proti ostatnim jazykum (oni jdou stejne vsechny prepsat pod .NET) " nejdou - je to jen marketingova vejicka.
"S tempem jake Mono ma, bude jejich implementace hodne brzo stejne dobra jako od MS" bohuzel tento clanek je krajne zavadejici - Mono nema v umyslu implementovat cely .NET framework. Nektere velmi dulezite casti nejsou v planu.Jeste jsem se nezminil o knihovnach ,ktere v prvnim stab buildu nebudou
". O tom ze C# a .NET jsou vyborne navrzeny nema cenu debatovat" to je blbost - to vam potvrdi kazdy ,kdo s .NETem pracoval trosku vice. .NET je sice dobre ,ale jsou tam takove zaseky ,ktere zpusobuji nekompatibilitu mezi jednotlivymi frameworky... ( ne kazdy program psany v .NET 1.0 si spustite v .NET 1.1)
Nekompatibilni mezi verzema je snad uplne vsechno. .Net ma zmeny hezky vylistovany - http://www.gotdotnet.com/team/changeinfo/default.aspx (sou tam zmeny obouma smerama, jak 1.0 na 1.1 tak naopak). Chtel bych videt cokoli co je na 100% kompatibilni.
Jaky jazyky nejdou prepsat? Co vim tak zatim existuje C++, C#, Java, VB, Perl, Prolog, Ruby, Python, Pascal, Eiffel, Cobol a dalsi. Docela siroky vyber.
Ahoj
trosku jsem tu nakoukl -mala poznamka k tomu co jste napsal:
"Nekompatibilni mezi verzema je snad uplne vsechno. .Net ma zmeny hezky vylistovany -" kdyz napisu program v jave pro jre 1.3 ,tak mi pojede i v 14 a vyssim (pokud se nebude jednat o bugy). V .NET jsou principialni rozdily ,kdy program vytvoreny v .NET 1.0 musi byt upraven pro fungovani v .NET 1.1 ( nebo musi mit nastavene spec prostredi)
"
Jaky jazyky nejdou prepsat? Co vim tak zatim existuje C++, C#, Java, VB, Perl, Prolog, Ruby, Python, Pascal, Eiffel, Cobol a dalsi. Docela siroky vyber.
"
znam jen C , javu ,perl ,pascal. C ma ansi normu ,nicmene MS si udelal vlastni rozsireni - tudiz pokud budete pouzivat ansi C ,tak muzou byt problemy. Perl je znacne vyvyjejici se jazyk a neni v moci MS ,aby pokryla vyvoj implementace perl.Net podle stavajiciho stavu v perlu. Pascal ma spousty verzi ( od turbopascalu po delphi pascal) - kteroupak asi MS implementoval. Java je v java.NET implementovana podle MS JVM. MS JVM nema s javou mnoho spolecneho.
PS ja se neznazim o flame - jen napravuji vase tvrzeni(byt ho znam z reklamnich letaku taky. Jedna se ale ciste o reklamni trik.)
http://java.sun.com/j2se/1.4/compatibility.html - co na to rict, nez to ze treba sockety se ani nezkompilujou. A drtiva vetsina tech zmen v .Net 1.0 na 1.1 sou opravy chyb, pokud ses nenamahal ten seznam cist.
Co se tyce implementaci ostatnich jazyku - zdaleka je nedela Microsoft, nevim proc by melo byt v moci Microsoftu udrzovat implementaci Perlu kdyz ji vubec nedelaj. Diky tomu ze je CLR standardizovany to muzou delat jiny firmy (a treba Perl je delanej vice firmama). Microsoft implementoval pouze C++, C#, VB, Javu a JScript (rozsirenej JavaScript, kterej je ovsem s JavaScriptem zpetne kompatibilni). Zbytek je prace jinych firem, ne Microsoftu. Mozna by sis mel o .Net platforme neco zjistit nez ji zacnes pomlouvat. To taky neni snaha o flame, jen zjistuju ze lidem co nemaj radi Microsoft fakta nic nerikaj.
mno java je dost zabugovana ,ale o tech socketech jste si to precetl spatne. Kompatibilita stavajicich programu je zachovana!
". A drtiva vetsina tech zmen v .Net 1.0 na 1.1 sou opravy chyb, pokud ses nenamahal ten seznam cist." ja fakt nechcu flamovat. - mluvil jsem o nekompatibilite mezi .NET 1.0 a 1.1 Jedna se o remoting ,kdy je security pro serializaci v 1.1 nastavena restriktivneji ,nez v 1.0. Tudiz musite stavajici projekt upravit ,nebo uzpusobit klientskou stanici (degradovat security)
"Mozna by sis mel o .Net platforme neco zjistit nez ji zacnes pomlouvat." to co pisu je na zaklade zkusenosti s .NET - nevymyslim si a nepomlouvam.
Jen na okraj, nejsem zadny expert. Takze ciste uzivatelsky: zkousel jsem tak asi 10 programku v jave, fungoval 1. Ostatni vyhodily nejake vyjimky, v dokumentaci bylo napriklad napsano ze to funguje jen ve verzi (priklad) JRE 1.3.1b a ja mel 1.3.1a. Co si pak muzu myslet o nejake kompatibilite?
CITE
Jaky jazyky nejdou prepsat? Co vim tak zatim existuje C++, C#, Java, VB, Perl, Prolog, Ruby, Python, Pascal, Eiffel, Cobol a dalsi. Docela siroky vyber.
/CITE
To je ale vcelku demagogie. To totiz neznamena, ze muzu program napsany v Pythonu spustit pod .NET. Je preportovany jen samotny jazyk, nejsou dostupne ani zakladni knihovny techto jazyku. A treab Ruby je velmi lehky jazyk, ktery ma spoustu svych funkcnich prvku, treba iteratory, az v knihovne. Jestli se teda neco nezmenilo. Ja .NET nesleduji, le myslim si, ze ne. Tudiz Python pod .NET je mi celkem k nicemu. Jde treba v Pythonu pod .NET odvodit vlastni tridy od slovniku nebo seznamu?
Nemohu si pomoci, ale v článku mi chybí jakákoli odvolávka na javu/j2ee: mono, resp. .net není jedinný (ani historicky první) "pořádný" framework a zrovna pro evropu je j2ee dlouhodobě vwlmi významný a perspektivní. Monodevelop sice vypadá hezky, ale když si stáhnete aktuální netbeans (3.6, www.netbeans.org), nestačíte se divit :-) Monodoc jim začíná fungovat, ale javadoc je na světě už pár let a své kvality osvědčil na velkých projektech. .NETím aplikacím těžko najdu vhodný aplikační server pro Linux, u Javy naprosto s klidem šáhnu po IBMovkých WebSphere nebo třeba po Bea. Co tím vším chci říct: import .NET není jedinou variantou moderního vývoje na *nixech. Think more java
mno souhlasim s prvnim pisatelem. Nicmene si prisadim. Clovek ,ktery psal clanek je Monem natolik uneseny ( ani se mu nedivim - ja byl taky) ,ze pomiji zakladni a podstatne informace o skutecnem stavu projektu a o jeho vyvoji. Ja jim sice drzim palce ,ale podle informaci co mam skutecne nema MS zajem na portaci .NET jinam a bere tyto aktivity jako moznost natahnout developery do MS win. Je fain mit optimisticky nazory ,ale co je moc ,to je moc.
Z tohoto clanku mam pomerne ambivalentni pocity.S monem si pohravam asi tak rok. Je fakt, ze si myslim, ze mono ma pomerne znacny potencial, ale nektera ocekavani, ktere cisi z tohoto clanku se mi zdaji prinejmensim prepjata. Mono vzdy a vsude brr, to rozhodne ne ! Navic, jsem zvedav na uverejnene terminy, ktere nesouhlasi s dosavadnim tempem projektu. Take jeste poznamku k VB, tento jazyk je v ramci projektu mono uz obsazen. Take poznamka k Pythonu - nejake pokusy o portovani probehli, ale je to zatim nic moc.
Účastnil jsem se vývojářské konference Delphi, kde jedno z hlavních témat bylo .NET v nové verzi(ale to je teď vedlejší). Jedno z témat byla i přenositelnost kódu v .NETu na projekty MONO a podobné. Mělo by to fungovat, ALE!!! po přímé otázce na zástupce firmy Microsoft - jaká je podpora ostatních "cizích" vývojářů při vývoji .NETu, jsme dostali zhruba následující odpověď: "Necháváme ostatní vývojáře nahlédnout předs rameno - obrazně řečeno. Vzhledem k tomu, že držíme a financujeme vývoj. Pokud, se ale ukáže, že jiné projekty ohrožují prodejnost nových Windows, bude .NET uzavřen a změněn."
To jo, jenze dobry hospodar neceka, az mu barak spadne na hlavu, ale dela "preventivni kroky". A M$ je zatracene dobry hospodar, takze napr. staci, kdyz se vyvojari budou prilis vyptavat na nejakou specifickou, mene dokumentovanou vec a M$ provede nenapadnou zmenu. A dost bych se divil, kdyby tato "nenapadna zmena" neexistovala uz ted.
jiz to delsi dobu u nas ve firme pozorujeme a rozhodli jsme se, ze nas dalsi vyvoj bude v .net/mono. I v tomto clanku jsou opet popsany ty vyhody, ktere nas k tomu vedly:
compiler je ohrome rychly, a navic jak zde nekdo pise, si ho muze kazdy podle libosti napsat
navrh toho celeho je proste dobry
vsichni to budou delat, bude mnozstvi specialistu
budeme pouzivat C# , protoze ten navrh toho jazyka je proste dobry
jak poukazal Icaza, v Mnichove bude linux
Jedine co nas trochu zarazi je, ze jedina firma, ktera zatim po 3 letech vyvoje nabizi alespon zcasti komplexni system napsany v .net ( IS, firma ap-ag.de) ma stejne problemy, jako vsichni ostatni, kteri sve systemy maji jeste v tom zastaralem stylu. Zde by bylo dobre vedet, jakych chyb je treba se vyvarovat.
JIT prekladac neni standardni soucasti JRE od Sunu a musi byt stahnuty zvlast. Docela problem, protoze kolik lidi se po instalaci JRE zacne shanet po tom jestli maji JIT prekladac?
Takze se trochu opravim - Java sice JIT teoreticky podporuje ale v praxi to nikdo nepouziva.
k rychlosti podle http://www.neo.cz/~tomas/java.net/2003-10.html#170000 to nebude zas tak žhavé a je to i osobní zkušenost
"navrh toho celeho je proste dobry" netuším k čemu se tohle vztahuje, jestli ke kompilaci do mezikódu a následné interpretaci pomocí VM tak to opravdu někdo "objevil ameriku" :O))), pokud k C# tak ten si taky jenom vybral od ostatních to nejlepší, nezavrhuji to jenom konstatuju, takže k čemu že to ???
"vsichni to budou delat, bude mnozstvi specialistu" asi jako ve VB nebo ASP ??? všichni to dělají ale nikdo to neumí, všichni to jenom "nějak" naklikají a ejhle ono to funguje :O((
"budeme pouzivat C# , protoze ten navrh toho jazyka je proste dobry" jsem JAVA programátor "přinucený" psát v C# a nesdílím váš optimizmus, JAVA je mnohem robusnější, např. vynucené ošetřování vyjímek, celý framework je náchylný k podivným chybám typu "Compilation error" což mu na bodech také opravdu nepřidává, možná až bude mít za sebou tolik let vývoje co JAVA .....
"jak poukazal Icaza, v Mnichove bude linux" co je světu do Mnichova ??? Myslím že svět Linuxu nebude moc nakloněn technologii pocházející od MS.
k poslednímu bodu jen to že je logickým vyústěním mých připomínek
Ja sem se ucastnil vyvoje informacniho system v C#, kterej mel pres milion radek kodu a s touhle chybou sem se nesetkal ani jednou ;).
Predstava, ze bych ten projekt psal v cemkoliv jinym me naprosto desi. Jedinou vytku, kterou k C# mam, je to, ze nelze dedit z vice trid :(. Jinak je to silny jazyk se silnou podporou na strane .NET platformy, ktera je urcena pro bussines aplikace a svuj ucel plni imho velmi dobre.
Jako fanda GNU/Linuxu Vam drzim palec ale pokud vychladnu a zacnu uvazovat....
Kdyz se programatori nudi a zkousi tu ono, tu tamto (treba python :) ), tak to chapu, ze se i mono muze zalibit, ale pokud se firma rozhodne pouzivat pro vyvoj mono .... ugh .... to muze byt technologicka sebevrazda. A tuplem pokud je to firma komercni. Co takovy support? Dokumentace k monu je teda nic moc. Jak je mono otestovane? Paneboze, dyt ho dela 12 lidi a honej MS a az MS vyda dalsi verzi, tak zase bude hon pokracovat. Rozhodne bych byl opatrny vybrat si takovyhle mlady framework s nejasnou budoucnosti jako zaklad pro vyvoj v komercni firme.
To ani nemluvim o tom, co se bude dit, az si mrkvaci nasazeji patenty na jednotliva API apod. (jestli uz je tam nemaj a jen nespinkaj). A az zacne mono byt plnohodnotnou alternativou a par vetsich zakazniku utece z widli na GNU/Linux, tak se patentici probudi a dej se vule bozi ..... :)
Buhehe, neco, co je verejne pristupne, ze nemuze byt chraneno patentem? V USA muze byt VSECHNO chraneno patentem. Vzdyt i blbej status bar je patentovana technologie, nakup na internetu pres jeden click mysi na odkaz na webovych strankach taky. A ze si mam dohledat co je vse patentovano? Tak na to mam fakt malo casu, mam jen jeden zivot. :)
Dlouho hledam multiplatformni framework, ktery nebude znamenat tahnout s sebou 20MB zip runtime knihoven. Potom jsem si zkusil nainstalovat ClamWin a ejhle. Ma to 4MB, je to cele v wxPythonu, a bezi to v Linuxu i ve Windows. A co vic, pri instalaci a behu si to vubec neuvedomite. Takze, moje nova nadej je wxPython.
Presne moje rec :) slozene zavorky by bodly, nebo aspon ten strednik. Preci jen, kdyz mam kratky podmineny prikaz, nebo jeden kratky prikaz v cyklu, nevidim duvod, proc to psat na dva radky.
Me jeste nesedi to, ze prvnim z parametru metody musi byt instance tridy... To je jako kvuli tomu, ze neni povine se na ni odkazovat pres self, ale clovek si ji muze pojmenovat jak chce???
To self v Pythonu je jako argv, argc v C. Lze jej prejmenovat, ale nikdo to nedela. Ale jednou ze zakladnich zasad Pythonu je "explicitni je lepsi nez implicitni". Kdyz v nem clovek delsi dobu dela, tak mu prijde velice prijemne, ze okamzite vidi, ze self.attr je atributem instance a neni to lokalni (nebo, nedejboze, globalni) promenna. Klicove slovo *this* zavadi do C++ a spol. nesystemovost (kde se to tu, sakra vzalo?), zatimco Python se od zacatku snazil o co nejvetsi jednoduchost a pochopitelnost.
A zrovna tak zjisti, ze jednoradkove prikazy v cyklu a v podmince je lepe psat na samostatny radek, protoze je to citelnejsi a navic clovek nikdy nevi, jestli jich nebude nekdy vic. Perl pro podobne ucely zavedl obracenou syntaxi *if* a *unless*, v Pythonu se chybam celi semanticky vyznamnym odsazenim, C a jeho odvozeniny to neresi vubec. Zkratka a dobre, spousta veci v Pythonu pripada lidem nezvykla (ja jsem delal taky hlavne v C/C++), ale casem si vetsina pythonistu na ne nejenom zvykne, ale dokonce se jim i zalibi.
Jenže Miguel de Icaza má v jedné věci pravdu. Céčko je skutečně (pro aplikační programování) mrtvé! A vlastně pro ně nikdy nebylo určeno. Zálibu v (leckdy úmyslně) nečitelném, (proto taky) neudržovatelném a na chyby náchylném kódu vážně nechápu.
Ale ten Visual Basic je vážně zrůda, s tím musím souhlasit :)
Na prvni pohled se mi CLI a vubec .NET (a Mono na Linuxu) dost zalibilo, ale jak jsem se do toho zacal vrtat, nadseni me znacne odpoustelo...
Myslenka autoru CLI je pekna - proste stejna jako Java, ale proc to proboha sprasili takovejma vecma jako moznosti vkladani nativniho kodu? Nebo typicke M$ technologie typu "It Just Works", ktere jsou pouzitelne jen pod win? Ono kdyz se na jednu stranu hlasa jak je .NET a CLI prenosne, ale na druho stranu v ECMA standardech najdete na kazdem rohu slovo jako Microsoft, Widnows nebo NT, tak to opravdu nedela dobry dojem...
Nebo to, jak vyvojari mona chteli nejprve implementovat Windows.Forms pres GTK a po mnohamesicnim usili zjistili, ze to proste nejde a udelali to pres Wine!
Muj nazor je takovy, ze C# je velmi pekny jazyk (ve vetsine veci lepsi nez Java), ale samotna .NET paltforma je napikacu...
A navic se mi dela spatne z predstavy, ze budu prochazet svuj filesystem a vsude uvidim soubory s priponamy exe a dll - a kdyz se do nich kouknu editorem, tak tam uvidim na zacatku MZ a kousek za tim "This program cannot be run in DOS mode." (to tam bude, nebot je tak psano primo v ECMA standardu)!
Bendis
presne tak, jazyk i napad je to slusny (obslahnute z javy :-)) ale prenositelnost knihoven je prakticky nulova a v tom je ta chyba
navic dotNetu zatim chybi neco takovahe jako ja apache foundation, ktere produkuje tolik uzitecnych knihoven a nastroju s velice benevolentni otevrenou licenci.
Uz dlhsi cas sledujem vyvoj v oblasti high level programovacich jazykoch, hlavne C# (Mono) a Python. Je velmi dobre, ze sa Mono rozvija a zacina sa dat pouzivat na seriozne veci. V praci vediem projekt, ktoreho castou je graficke rozhranie. Zacinali sme pred 3 rokmi, volba padla na Gtk+ a C. Z vlastnej skusenosti mozem povedat, ze vyvoj ide v tejto kombinacii pomaly a tympadom je strasne drahy (programatorov treba platit, alebo sa hlasi niekto zdarma?). Jednym z dolezitych faktorov je prenositelnost (aspon na Windows). Z tohto hladiska ostava Java, Python a Mono. Mono sa mi zda najperspektivnejsie. Dufam, ze nova verzia GUI uz bude ficat pod Mono. Toto su prakticke potreby. Verim, ze Mono prinesie vela novych dobrych aplikacii na *nixy, pretoze programovanie bude jednoduchsie.
Pakliže přestane Microsoft vyrábět "operační systémy", mohla by být platforma .NET docela vhodná pro přenositelné aplikace.
V implementaci .NET pro Linux nevidím způsob, jak přetáhnout programátory z Windows na Linux a umožnit jim psát aplikace .NET, ale spíš způsob, jak co nejvíce lidí naučit .NET a potom je nějakým donucovacím způsobem přetáhnout na platformu Windows.
Přijde mi, že většina lidí vidí situaci příliš krátkozrace.
to je znacne kratkozrake. Tento clanek obsahuje par nesmyslu. V dnesni dobe je implementovano mene nez polovina .NET. Bohuzel autor krapet podlehl nadseni . Mono je krasna vec ,ale bez takovych banalit jako je remoting(ktery se neplanuje) bude na pytel. A to nemluvim o vecech ala security
.NET Remorting funguje ;)
WinForms jsou take implementovany ;)
Kdyz si clovek da trosku pozor, a vyhne se pouzivani ciste Win32 veci (coz neni v .NET takovej problem), tak vytvori aplikaci, kterou pusti jak pod .NET frameworkem, tak i pod monem.
Klidne to muze napsat ve VS.NET (lepsi vyvojovy prostredi pro .NET neexistuje) a pak to poustet v linuxu jak se mu zlibi.
Prestante uz nadavat na MS ... u .NETu odvedli fakt velkej kus kvalitni prace.
Co se tyce prenositelnosti gui, existuje napriklad projekt wxWidgets (puvodne wxWindows). Jde o knihovnu v C++ vyvijenou jiz 11 let, existuji i rozhrani na ostatni jazyky z nichz nejznamejsi je asi wxPython. Pri implementaci pouziva grafiku platformy.
jinak bych tyto jazyky nepovazoval zrovna za high-level. to jsou spis jazyky jako lisp.
Tak sem si precet tuhle diskuzi a fakt me dostava jak se lidi, co tomu nerozumnej chvastaj, jak to je na ***. Sice castecne chapu nenavist linuxaku proti MS, ale nekteri by se meli skutecne nejdriv zamyslet. A kdyz se uz vyjadrujou k tomu, ze je neco prasacky, tak by to nejdriv meli poznat, a pak se vyjadrovat.
Grrrr ... to se mi zase jednou vari krev.
Klid, tuhle fázi jsem si prošel už před časem a dospěl jsem k názoru, že nemá cenu se rozčilovat. Přiznávám taky mě tu párkrát svrběly prsty nad klávesnicí, ale dřívější chyby už nehodlám opakovat: výsledkem je vždy pouze flamewar a člověk se obvykle hádá s lidmi, které stejně nemá šanci nepřesvědčit.
Nechte je ať se vykecají a věnujte čas rozumnějším činnostem, tohle nemá cenu. ;-)
K tomuto nazoru bych se rad prida. Pri procteni vsech prispevku az dolu jsem dospel k nazoru, ze naprosta vetsina prispivajicich nemaju vubec predstavu o tom, co Mono/.NET vlastne je. Nekteri ziji najivni predstavou ze se jedna o nejaky scriptovaci engine, jini zase ze se jedna o vyvojove prostredi pro GUI atd., atd. Vsem bych doporucoval jednu dulezitou vec. Pokud se chteji s nekym hadat na tema MONO/.NET dobry/spatny JAVA/.NET porovnavat a hodnotit, tak at se nejdrivm informuji o co vlastne jde. Zdroju je na netu tuny a ten kdo umi cist a ma to v hlave v poradku, je take schopen si udelat sve vlastni zavery nad timto tematem bez emoci a slepoty, kterou bohuzel vetsina "uzivatelu" Posix systemu ma. Vse ostatni je hazeni hrachu na zed.
Tos nam toho povedel :-)) Zkus byt trochu konkretni a napis neco k tematu z pohledu vyvojare. Pro mne z pohledu vyvojare je .NET, Mono jen dalsi Javou. Radoby multiplatformni, pro multiplatformni desktop nepouzitelne. Ano, muzeme se bavit o .NET i na jine urovni. Jenze a to je dulezite. Dobry programator si vystaci s malem a nedostatky vyvojove platformy muze nahradit vlastni invenci, bohuzel principalni omezeni neprekona. Takze, chybi zde kompaktni, nenarocna, vyvojova platforma pro vyvoj multiplatformnich aplikaci pro desktop. Je vicemene jedno o jaky jazyk se jedna, jak osetruje vyjimky, dedicnost, jak uklizi pamet. Jde o to jak se popere s GUI na Windows a Unixu, jak sjednoti instalacni procedury, tiskovy system aj. a kolik MB knihoven si sebou tahne. V tomto dle meho vede wxPython.
C# je sice hezky jazyk, ale nevim proc by mel byt "hlavnim programovacim nastrojem" linuxu - je to
1) Microsofti technologie
- problem s pravama k C#, api a buhvi co si casem microsoft vymysli
- urcite povede k prelivu programatoru z linuxu na windows a ne naopak
2) ZBYTECNY
- mame Javu na narocnejsi veci
- mame python na min narocny veci ktery maj bejt hotovy rychle (kam se hrabe C# na python co se rapid prototypingu tyce)
- a HLAVNE - mame UNIX-like system, ve kterym se veci daj snadno propojovat, bez ohledu na jazyk, tohle MS nema a i kdyz se snazi porad s novymi 'technologiemi' (DDE, COM, DCOM, .NET) tak porad nema na jednoduchou rouru at co se tyce snadnosti pouziti, tak vykonu
3) Pouzitelne kompatibilni to pro vetsinu aplikaci NIKDY NEBUDE
a zaverem k jiste obdivuhodne snaze pana de Icazy a lidi kolem MONO: CESTA DO PEKLA JE DLAZDENA DOBRYMI UMYSLY
Ono je spis legracni, jak nekdo opakovane chodi s kanonem na vrabce a podela se z marketingovych kecu dodavatelu "perfektnich reseni pro kazdeho". Na neco je nejvhodnejsi roura, na neco sockety, na neco XML-RPC (nebo SOAP) a na neco treba CORBA. S bagrem taky nikdo neora pole, neokopava zeleninu a neskrabe se na zadech...
Ahoj,
pokud dnes chci vyvijet nejaky SW aplikacni system, tak asi budu volit mezi C#/.NET a Java/JVM, ktere maji velmi podobne vlastnosti. Z ostatnich produktu ma C++ vysoke naklady na vyvoj, Delphi problematickou budoucnost, dalsi (wxPython) nejsou prilis rozsirene a tim padem jsou dost riskantni.
Pokud chci zachovat multiplatformost, vychazi mi bezpecnejsi Java, jejiz aplikace funguji uz dnes pod Linuxem, Win a MacOSX,...
Na druhou stranu .NET bude mit vetsi moznosti na platforme Windows (coz u aplikacniho software bude nosna platforma) a zrejme bude i rychlejsi nez Java/Swing ( mate konkretni zkusenost? ).
Mono je projekt jiste zajimavy, ale nejsem si jist ze je bezpecne na jeho kompatibilitu vsadit - moje posledni testy napr. s serializaci DataGridu proti MS.NET nedopadly dobre - je to uz ale par mesicu.
Mono pod Linuxem mi nevadi - nemyslim ze jej jako system jakkoliv ohrozi. Pokud bude rozumne kompatibilni, tak firmy budou zvazovat nasazeni pod Linuxem, ktery by jinak ignorovaly a tim zajisti jeho dalsi rozsireni.
Pretahovani programatoru na Windows podle mne nehrozi-ten, kdo dneska programuje obdobne aplikace, tezko prejde (z Javy, C++, ...) na Mono jen kvuli .Net platforme. Kompatibilitu s Windows bud nepotrebuje nebo ji uz ted ma nejak zajistenou.
L.
Za oběma technologiemi stojí velké firmy a jazyky jako takové (Java - CSharp) jsou téměř totožné. Všechno se tam akorát jmenuje jinak, CSharp má několik "vychytávek", které Java nemá, Java je zase taková "čistější" (nejdou zahodit výjimky, nejsou zde namespaces.
Při rozhodování bych zohlednil tyto věci:
- náskok Javy (je poměrně velký, stačí se podívat na obrovské množství komponent a knihoven na Internetu)
- poněkud komplikovanější API Javy (reduntandní třídy z verze Java 1.x)
- výborně navržená knihovna Swing pro tvorbu oken u Javy (skvělá MVC architektura, musí ji ale nejdříve člověk důkladně prostudovat, začátečníky spíše odpozuje)
- Java na serveru je na tom výrazně lépe (Struts, J2EE, JSP atd)
- J2ME na mobilech se skutečně chytla (ačkoliv to je podle mého názoru nepovedený vtip -- zejména API pro hry, které si však s MIDP 2.0 zlepšilo, byla strašlivá a hlavní výhoda přenositelnosti byla tatam)
- .NET je (obecně) rychlejší
- velmi slušná architektura, skvělá a dostupná dokumentace (MSDN)
- .NET SDK je stejně jako JDK také zdarma (někteří si myslně myslí že není)
- již jsou dostupné slušné vývojové nástroje zdarma (v ranných dobách tu bylo jen MS Visual Studio .NET)
- ASP.NET je skvělá architetura s výbornými myšlenkami, chvíli byla technologicky před Javou, ale s příhodem JSF se to zase obrátilo na stranu Javy
- poněkud "úzká" vazba na MS Windows / IIS
- podpora PocketPC (možno dělat aplikace pro PDA - Java má v tomto slabinu, neexistuje standard)
Podle mě, pokud hodláte dělat web, asi je vhodnější v tuto chvíli Java, pokud desktop, pak zřejmě .NET (funguje svěle na Windows a ruku na srdce -- dělat desktopové aplikace pro Linux je zatím zbytečné, a pak je tu Mono).
V čem jsou podle Vás JSF technologicky před ASP.NET ? Pokud možno osvětlit na konkrétním příkladu, prosím.
A proč si myslíte, že pro web jsou výhodnější JSP, než ASP.NET ?
Existuje už nejaké vývojové prostředí pro tvorbu Web aplikací ala VS.NET s podporou tvorby serverových prvků, debuggingem, podporou visuálního návrhu (inheritance) apod. ?
Jen se ptám - ale hlavně mi prosím netvrďte, že zrovna tohle vy pro vývoj web aplikací vůbec nepotřebujete. Mě to pochopitelně pro změnu vůbec nezajímá.