Téma 36. týdne: Jak vnímáte Mono?
Téma 36. týdne: Jak vnímáte Mono?
Ne!
celé vláknoRe: Ne!
celé vláknomam rad C#
celé vláknoTakze ja vidim v Mono nadeji, ze budu moci v C# programovat dale pod Linuxem. Zatim me to dost vaze na Windows a je to jedna z prekazek, proc Windowsy nevyhodim z okna.
nevím
celé vláknoPolyMorpheus
celé vláknoAle. Co se tyce multiplatformity, tak tam Java jednoznacne vede, a jelikoz to vypada, ze se Java take zase znovu zacala vyvijet (asi pod tlakem konkurence), tak jsem nakonec uprednostil Javu. A vzhledem k vyse uvedenym faktum a dojmum mi Java sedi k Unixovym systemum vic, nez C#/Mono a mam dojem, ze takto to jeste nejakou dobu pretrva.
Jinak, k Jave prechazim od PHP5 a muzu rict, ze chcochtam blahem nad nadhernou cistotou a prehlednosti Javy.
Re: PolyMorpheus
celé vláknoNo a v tej istej nemenovanej firme bol clovek, co checky Javy na nechytane exceptiony riesil prazdnym catchom. Nehovorim, aj ja som bol nepouceny programator, ale log4j aspon. Alebo std::out, std::err, no rozhodne skusenost.
Nejde o Java vs C# vs C++, su to jazyky si zhruba rovnako silnymi vyjadrovacimi schopnostami (taky viz JNI).
Re: PolyMorpheus
celé vláknoProperties a struktury by se někdy v budoucnu objevit mohly (i když se strukturami je trochu problém jak je napasovat do JVM).
Jinak co se týče ostatních přídavků C# oproti Javě... Mně vždy v Javě nejvíc chyběly plnohodnotné metody tříd (a vůbec metatřídy, jako ve Smalltalku) a to nepřidali.
Re: PolyMorpheus
celé vláknoStrasne by se mi libil jazyk, ktery by nejak zkombinoval Python s Javou, tedy byl by urcite strongly typed, ale byl "dynamictejsi" nez je ted Java.
Re: PolyMorpheus
celé vláknoRe: PolyMorpheus
celé vláknoVypada super, jako skriptovaci jazyk hodne dobry, a nevim, nevim, ale PHPku asi do budoucna velke nadeje nedavam, kdyz jsou k dispoci takoveto super jazyky, s pristupem k Java knihovnam.
Re: PolyMorpheus
celé vlákno* dokumentace vesmes miziva
* pri behu a kompilaci hlasky, ktere nedavaly smysl
* velmi necitelny (pravda, kompaktni) kod
tak jsem jej zavrhl (puvodne jsem planoval jeho vyuziti misto BASHovych skriptu, ale neslo to ...)
Re: PolyMorpheus
celé vláknoAle na psani systemovych skriptiku snad Perl, ne? Nebo i Python? Ale je fakt, ze me na chvili taky napadlo, ze ten groovy by vlastne takto slo vyuzit...
Re: PolyMorpheus
celé vláknoPHP zije z toho, ze ho pouziva v prvom rade mnozstvom lamerov. Nehovorim ze nie su dobri phpckari alebo ze sa v tom neda spravit slusny kod, ale pre vela vela ludi je to prvy kontakt s 'programovanim'.
Ako sme sa kedysi opovrzlivo divali na tych, co nikdy od basicu nepokrocili dalej, tak sa dnes pozerame na phpckarov :)
Re: PolyMorpheus
celé vlákno-vsetky premenne musia byt typovane, ako v jave (nieco ako perl -w, alebo 'use strict')
-classy/reflexia ako v Jave, PERL ma nieco podobne (nepamatam si uz podrobnosti, ale v Jave mi to pride cistejsie), v PERLe mi hrozne vadi $struktura{"atr1"}{"atr2"}, strasne lahko sa tam da spravit preklep, tipnem si, ze nejake riesenie na to existuje, ale Java sa mi v tomto paci viac
-moznost napisat 'someString =~ s/lalala/pack('C', int(rand(10)))/ge;', tie Javove regexpy mi vobec nesadli (v jave: "lala" je perlovsky ekvivalent "^lala$")
-explicitne typy skalar, pole, hashmap (jak je to v perle, v Jave by sa to urcite dalo implementovat, ale nebolo by to uz take elegantne)
-pascalovske 'with', to mi v C/C++/Jave dost chybalo, trocha to porusuje encapsulaciu, ale obcas by sa kvoli prehladnosti hodilo
By som si tipol, ze toto vsetko uz v PERLe je, len neviem presne kde :-) Minimalne stoji za zmienku: http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html
Re: PolyMorpheus
celé vláknodomus Specimen. # package Specimen;
newere # sub new
sic # {
meis datibus. # my %data;
counto intra Specimen
postincresce. # $Specimen::count++;
datibus nullum horum benedictum. # bless \%data, $_[0];
cis # }
printere # sub print
sic # {
modus tum indefinitus inquementum mori. # die 'method undefined';
cis # }
domus princeps. # package main;
meo objecto da # my $object =
newementum apud Specimen. # Specimen->new;
printe apud objectum; # $object->print;
Proste nadhera...Jeste umet poradne latinsky a jde se na to.
Re: PolyMorpheus
celé vlákno
domus Specimen. # package Specimen;
newere # sub new
sic # {
meis datibus. # my %data;
counto intra Specimen
postincresce. # $Specimen::count++;
datibus nullum horum benedictum. # bless \%data, $_[0];
cis # }
printere # sub print
sic # {
modus tum indefinitus inquementum mori. # die 'method undefined';
cis # }
domus princeps. # package main;
meo objecto da # my $object =
newementum apud Specimen. # Specimen->new;
printe apud objectum; # $object->print;
Re: PolyMorpheus
celé vlákno-uz hrozne dlho sa chcem naucit latinu
-ludia budu cumet
-ked sa mi niekto nabura do kompu, bude cumet dvojnasobne :-)
Este by to chcelo polatincit LWP a system:
rm bude "Tabula rasa"
kill bude "Tabula daemoni invocandi luxum Dei"
exec bude "Tabula daemoni invocandi"
fork bude "Villicka" aby bola sranda ;-)
Re: PolyMorpheus
celé vlákno„Absence této feature je naprosto úmyslná a je jedním z hlavních znaků Javy. A jedním z hlavních příčin úspěchu.“
Nemohu se ubránit pocitu, že člověk, který se dokáže vyrovnat s faktem, že operátor bývá poměrně abstraktní záležitost, se nesníží k použití jazyka úmyslně zmrzačeného kvůli marketingu namířenému na 90 % jeho uživatelů. Jenom to potvrzuje moje přesvědčení, že Java je vítězstvím marketingu nad výzkumem. (Kdyby tomu tak nebylo, tak děláme všichni v Selfu, v jiném to produktu od Sunu.)
S takovýmhle přístupem Java těžko nekdy bude pokročilý jazyk. Dokonce i z Pythonu, který na mě kdysi působil dost primitivním dojmem, se klube pěkný vyjadřovací prostředek. Zarytí javisté mi ale budou ještě léta tvrdit, že a.tenzor().plus(b.tenzor()).plus(c.tenzor()) je lepší než a.tenzor + b.tenzor + c.tenzor a že s (+ (tenzor a) (tenzor b) (tenzor c)) se můžu jít taky zahrabat. No, já jim to vymlouvat nebudu. ;-)
Re: PolyMorpheus
celé vláknoPokud nahradíte pojem "marketing" pojmem "business", tak to je celkem pravda.
Co se týče operátorů, tak tam šlo o zkušenosti z předchozího "business" jazyka, C++. Sčítání tenzorů nikoho nepáli, pokud někdo bude něco takového psát v Javě tak je to jeho chyba :-)
Co ale pálí je sčítání okna a řetězce (výsledkem je změna titulku okna). A to je reálný příklad.
A v neposlední řadě:
Java nemá být "pokročilý" jazyk! Pokud ale někdo chce mermomocí porovnávat Javu a LISP...
Re: PolyMorpheus
celé vláknoMožná měli vylepšit COBOL o moderní prvky a ořezat ty nesmysly, ty informační systémy se v tom s největší pravděpodobností nedělaly špatně. To by byl „biznis lengvidž“. :-) :-)
Re: PolyMorpheus
celé vláknoRe: PolyMorpheus
celé vláknoRe: PolyMorpheus
celé vláknoC++ properties nema.
Libi se mi ale urcite pokusy o zaneseni prvku funkcionalniho programovani do Javy, viz napr. closures, jazyk Nice, a mozna i dalsi. Obdobny pocin na .NET je jazyk Nemerle.
Re: PolyMorpheus
celé vláknoRe: PolyMorpheus
celé vláknoKazdy nazor NEMA titulek
celé vláknoAle jo.
celé vláknopokud bych mel hlasovat ...
celé vláknoJak vidim Mono ja?
celé vláknoV soucasne dobe jsem tenkeho klienta me aplikace naprogramoval v NET (VS 2003)pomoci NETBasicu (pozor neni to ten Basic co drive - Microsoft z neho udelal docela moderni jazyk) a tuto aplikaci v Monu bez problemu spustim a funguje (az na jednu drobnou chybicku) - Aplikace samozdrejme pouziva Winforms - planuji prevod do GTK#. Aplikace je to velmi jednoducha - zapisuje zadavana data do databaze (MS SQL server) - jedina odlisnost od beznych aplikaci je pozadavek na absolutni "blbovzdornost" (kontrola zadavanych udaju, numericke editboxy, automaticke nastavovani focusu, ovladani jen klavesnici bez mysi) - aplikaci pouzivaji ve vyrobe lide kterym PC nic nerika.
Kdyz jsem tuto aplikaci zadal naprogramovat v Jave profesionalni firmou - zadna "garaz". Tak to stalo dost penez a naprosto neskutecne se projevily tyto nedostatky Javy.
1 - pametova narocnost
2 - pomalost
3 - nedokonalost grafickeho prostredi - neverili by jste jake "berlicky" museli programatori pouzit aby aplikace fungovala spravne - napriklad na udalost aplikace reagovala vicekrat (v souvislosti s neskutecne pomalym graf. prostredim) a vysledkem byly zapsane data nekolikrat po sobe v databazi - hledali jsme chybu v kodu 14 dni nez to nekoho tuklo. O vzhledu ani nemluvim.
Je to sice specificky pripad - nestandartni aplikace, nonstop provoz, vyuziti starych PC, ale myslim ze pro udelani nazoru to staci.
Takze ja jsem pro Mono - prinasi kompatibilitu Win/Linux - dostupnost pro "amaterske" programatory (kazdy neumi C#, Javu, atd.)- funkcnost - a ve spolupraci s GTK i pekny vzhled aplikaci.
PS: nejrychleji tato aplikace pracovala naprogramovana v Delphi a bezela na Win98SE - klidne i 1/2 roku nonstop - ty W98 to vydrzely :-)
Re: Jak vidim Mono ja?
celé vláknovravis, ze ide o jednoduchu aplikaciu v C#, ale ked si ju zadal prof. firme, tak s javou sa vytrapila a zaberala viacej pamate, bola pomala, a graf. prostredie nedokonale.
takze, ja som vyvijal "jednoduche" app. vo swingu a:
1. mali vacsiu pam. narocnost ako delfi programy - samozrejme
2. boli rovnako ak nie rychlejsie ako delfi programy - na poc. s dostatkom pamate
3. nepotrehol som nedokonalost graf. prostredia. swing mi prisiel ako jeden z najprepracovanejsich frameworkov s akym som pracoval a daval mi mnozstvo moznosti a vuobec nebol pomaly a vuobec mi netrebalo barlicky a aby app. fungovala spravne
skor mam pocit, ze si ty zrobil chybu v zadavani projektu, pretoze na stare pocitace, clovek nedava javu a specialne nie gui programy, kuoli ich pam. narocnosti(mozno to bola starsia verzia javy), alebo si si vybral zlu firmu, ktora chcela za kazdu cenu nasadit javu a velke riesenie, ale to je len tvoja chyba, ze si konkurz odflakol
a ked sa jednalo v nasej firme o stare pocitace, tak sme mali jednoznacne linuxy a gui napisane v turbo vision (c++), to bolo to najrychlejsie a najspolahlivejsie ;)
ludia, uz prestante s tym, ze java je pomala : nie je, mam to otestovane, java je naozaj rychla, ale ak clovek flaka kod, potom nech sa nedivi, ale to je len hlupost kodera
ano je pamatova narocna, ale neverim, ze ak by bol .NET multiplatformny, ze by nebol pamatovo narocny a z mojej skusenosti je aj .NET pekny moloch a nepostrehol signifikantny rozdiel vo vykonnosti medzi .NET a java aplikaciami - hlavne webovymi
ANO gui je trochu - heavy weight - je trochu pomalsie, ako native aplikacie, ale je moznosti, ktore dava, su naozaj nepreberave
Re: Jak vidim Mono ja?
celé vláknoIBM celkem prosazuje Javu. Ja osobne IBM fandim a dovolil bych si tvrdit, ze vi co dela;-)
Javu s radosti pouzivam pro DB zalezitosti, pro GUI aplikace (souhlas s kvalitami swingu). Pro vypocetne narocne aplikace a servery sahnu po C++ (take s radosti;-).
Javu mam rad, protoze za relativne kratkou dobu dostanu kvalitni, platforme nezavislou aplikaci, u ktere mam jistotu, ze bude "kdekoliv" pracovat. Od C++ dostanu super vykon, sic vykoupeny trosku delsim vyvojem. Ale to mozna bude ovlivneno tim, ze Javu pouzivam dele.
Mono necht existuje a poskytuje alternativu jak rozchodit .NET veci na Linuxu. Ja osobne ho nevyhledavam a jsem moc rad, ze me do toho nikdo nenuti;-) Takze Linux, C++, Java mi k programatorske spokojenosti zatim abs. staci:-)
PS: A merit rychlost u GUI klikatek mi pripada jako trosku zbytecny
Re: Jak vidim Mono ja?
celé vláknoNa co jsem chtel hlavne upozornit - ze Mono zpristupnuje programovani i amaterskym programatorum. Neumim C# - nevadi pouziji Basic.NET, neumim Basic - pouziji PythonNet, atd. - a to vse v Monu - proste na jazyku nezalezi. A toto je treba vyhoda Mona nad Javou.
Moje aplikace zadava data na MS SQL server - zkuste jednoduse pristupovat na MS SQL server z Linuxu mimo Javu, nebo Mono. Na co je mi Python, PHP, Lazaerus, Gambas - kdyz si oproti MS SQL serveru ani "neskrknu". To jsou hlavni vyhody Javy a Mona.
Jak Java, tak i Mono ma sve prednosti, tak i nedostatky - a prave stav grafickeho prostredi je znamy problem (i ta pomalost). A na Mono by se urcite taky neco naslo - napr. nevyzralost ( ne NETu - ten je OK, ale Mono je prece jen mlady projekt)
Re: Jak vidim Mono ja?
celé vláknoludia, uz prestante s tym, ze java je pomala : nie je, mam to otestovane, java je naozaj rychla, ale ak clovek flaka kod, potom nech sa nedivi, ale to je len hlupost kodera
"
Java je jeden z jazykov 'v ktorom mozu programovat aj vasi stari rodicia'. a potom to takto vyzera...
nie kazdy, kto vie spravit for cyklus je programator
Re: Jak vidim Mono ja?
celé vláknoJe sice pravda, že javové programy déle starují (protože se spouští JVM), ale běh aplikací je potom srovnatelný s jinými programy - hlavně u desktopových aplikací, pár formulářů a tlačítek.
Pokud ta aplikace nefungovala dobře, přestože měla jen zobrazovat formuláře a číst a ukládat z/do databáze, pak to ta firma nehorázně zprasila, nebo jsi to pouštěl na třiosmšestkách :-) Ono ani ten nejlepší jazyk nic nezachrání, když někdo neumí programovat.
A k tomu vzhledu: ten výchozí javový se sice nemusí každému líbit, ale java (resp. swing) podporuje LookAndFeely, takže si můžeš aplikaci naskinovat dle libosti.
Re: Jak vidim Mono ja?
celé vláknoKdyz jsem tuto aplikaci zadal naprogramovat v Jave profesionalni firmou - zadna "garaz".
"
Podla toho co tam dole citam tak su to asi daki curaci s dobrym marketingom co zamestnavaju prvakov studentov aby mali lacnejsiu pracovnu silu...
nazor
celé vláknoMono moc neznam, ale dost programuju v Jave. Na Monu se mi nelibi navazanost na M$. Udajne ma nektere veci lip nez Java, ale to bych u novejsiho jazyka cekal. Na Jave nesnasim mnozstvi trid, knihoven a metod, ktere si neni mozne zapamatovat. Uzivatelske rozhrani je taky vopruz. Ale je rozsirena a multiplatformni. Mono je pokud vim taky obrovska obluda, ale min rozsirena, a M$ only, proto se ji vyhybam.
Nejradsi mam minimalisticke jazyky, kde se clovek zakladni veci nauci, a pak nemusi pri programovani normalnich veci porad prohledavat manualy. Nejlip se mi asi delalo kdysi v assembleru na Spectru - ten assembler na PC se k tomu neda ani prirovnat. Pak bylo skvele C, pokud clovek delal veci, na ktere vystacil s POSIX knihovnami. Ted je mi nejblizsi asi Perl.
Uvital bych nejaky jednoduchy a logicky standard na zakladni veci jako pristup k databazi, uzivatelske rozhrani, prace s retezci a soubory apod., a aby se to ustalilo a vicemene dodrzovalo ve vsech programovacich jazycich. Tedy napr. kdyz je nejake POSIX API pro pristup k souborum, tak by i v Jave napr. melo byt neco jako stat() apod. At programator netravi tolik casu ucenim se, jak je to v te ktere konkretni knihovne udelano, a muze vubec pracovat.
Mono
celé vláknojá si myslím že Mono je skvělé, ale postrádám kvalitní vývojové prostředí. Znám sice mono-develop (ci jak se to jmenuje) ale to je skoro nepouzitelne pro seriozni praci.
Pracuji jako programator C# a musim rict, ze se hrozne tesim na dobu az budu moc psat aplikace pro Linux ve svem oblibenem jazyku.
Osobne nemam rad MS produkty a doma mam vyhradne Linux, ale musim rict ze ASP.NET, C# a VisualStudio jsou svetla vyjimka.
Absence kvalitniho vyvojoveho prostredi pro Mono me donutili k tomu ze se doma snazim naucit Javu, protoze ta je C# velice podobna a ma uzasne IDE.
Re: Mono
celé vláknoNazor bez titulku
celé vláknonavrh
celé vláknoa ak sa nam to nepodari, otazke znie, preco potom tlacit .NET tam, kde ho nechcu a ani nebudu podporovat?
Re: navrh
celé vlákno1) na truc Mrakosoftu
2) "aby sme si zaprogramovali"
3) .net app nebudu zavisle na inom MS softe, tj. narusenie "monopolu", v EULA sice maju urcite nejaku klauzulu o klauzule... ale nam je to sumak.
4) goto 1 ;-)
Každý názor musí mít titulek.
celé vlákno.net alebo java, prast jak uhod :) naucte sa ruby radsej...
Re: Každý názor musí mít titulek.
celé vláknoRe: Každý názor musí mít titulek.
celé vláknoPHP na Monu
celé vlákno1) podstatne rychlejsi
2) podstatne bezpecnejsi (PHPcko je deravy jak cednik)
3) pristup ke vsem .NET knihovnam
K nalezeni zde (mimochodem cely tenhle projekt vzniknul v tehle zemi, tedy v Cesku):
http://www.codeplex.com/Wiki/View.aspx?ProjectName=Phalanger
Pokud jde o Mono, tak Phalanger na nem nejak beha. Bohuzel to jeste neni 100%, protoze Mono ma jeste dost much. Kdyz na Monu spustite neco tak velkeho a komplexniho, cekejte spis problemy.
Školení: Linux – Firemní server
Na třídenním školení se naučíte nainstalovat a spravovat kompletní linuxový server do Vaší firmy se všemi základními službami, které potřebujete pro provoz Vaší sítě, firemních emailů a webových stránek.
Podrobnější informace a přihláška

