abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 13:44 | Zajímavý článek

Glenn 'devalias' Grant publikoval na svém blogu příspěvek věnovaný reverznímu inženýrství USB. Příspěvek obsahuje celu řadu odkazů na potřebný software a hardware, jakož i odkazy na hackery věnující se reverznímu inženýrství a odkazy na další zajímavé články.

Ladislav Hagara | Komentářů: 0
dnes 12:11 | Nová verze

Byla vydána verze 10.8 a krátce na to opravná verze 10.8.1 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností i s náhledy v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
včera 10:44 | Komunita

Společně s openSUSE Conference 2018 probíhá dnes v Praze na Fakultě informačních technologií ČVUT jednodenní seminář CryptoFest 2018 (Twitter). Přednášky lze sledovat online na YouTube nebo na CCC.

Ladislav Hagara | Komentářů: 2
včera 02:22 | Komunita

Barton George, zakladatel a vedoucí projektu Sputnik, představil na svém blogu čtyři nové mobilní pracovní stanice Dell Precision s předinstalovaným Ubuntu. Jedná se o modely 3530, 5530, 7530 a 7730. Mobilní pracovní stanice budou certifikovány pro RHEL 7.5.

Ladislav Hagara | Komentářů: 10
včera 01:11 | Nová verze

Vyšla verze 5.12 prohlížeče map a GPS logů GPXSee. Nová verze přidává podporu Garmin JNX map a přináší mírné zlepšení výkonu/UX.

Martin Tůma | Komentářů: 0
25.5. 12:11 | Komunita

V Praze na Fakultě informačních technologií ČVUT probíhá openSUSE Conference 2018. Přednášky lze sledovat také online. Aktuální dění lze sledovat na Twitteru. Stisknutím zeleného tlačítka bylo dnes dopoledne vydáno openSUSE Leap 15.0.

Ladislav Hagara | Komentářů: 9
25.5. 11:44 | Komunita

Na Steamu probíhá do 28. května akce s názvem Spring Cleaning (Jarní úklid). V rámci akce lze hrát hry Don't Starve Together, Cities: Skylines, Tyranny, Borderlands 2, Middle-earth: Shadow of Mordor a Left 4 Dead 2 běžící na Linuxu zdarma [GamingOnLinux].

Ladislav Hagara | Komentářů: 2
24.5. 23:23 | Humor

Nová služba České pošty nazvaná Bezpečné úložiště nabízí až 100GB kapacitu pro "bezpečnou správu Vašich dat pod patronací důvěryhodného partnera Česká pošta".

… více »
Lol Phirae | Komentářů: 56
24.5. 22:14 | Bezpečnostní upozornění

Nova kritická hrozba VPNfilter bola zistená po dlhšiej spolupráce Talos s verejnými i súkromnými bezpečnostnými agentúrami. VPNfilter ohrozuje približne 500 000 zariadení v približne 54 krajinach. Zasiahnutí výrobcovia sú Linksys, MikroTik, NETGEAR, TP-Link (SOHO), QNAP (NAS). Správanie malwaru je nebezpečnej povahy, čo môže v určitých prípadoch spôsobiť škody veľkého rozsahu. Často tieto zariadenia sú na perimetri sieťe bez ochrany.

ewew | Komentářů: 5
24.5. 21:55 | Pozvánky

CSNOG (Czech and Slovak Network Operators Group), první československé setkání síťových operátorů, se uskuteční 11. a 12. června v Brně. Akce je určena poskytovatelům internetového připojení, síťovým operátorům, provozovatelům registrů, internetovým odborníkům a všem zájemcům o internetové a síťové technologie. Program je zaměřený na odborná, technická témata jako například síťová architektura, bezpečnost sítí, zpracování dat, DNS a další. Nutná je registrace.

Ladislav Hagara | Komentářů: 0
Používáte pro některé služby inetd?
 (35%)
 (23%)
 (42%)
Celkem 156 hlasů
 Komentářů: 5, poslední 22.5. 16:46
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Vložit další komentář
    1.8.2012 00:14 anon
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Valu bych nepouzival na nic jinyho nez aplikace nad gobject.

    Na druhou stranu vala misto gobject sadomasochismu v C je paradni a hrozne se mi libi jak nad gobject dokazali postavit takovy hezky jazyk ktery se do C gobjectu krasne prekompiluje.
    pavlix avatar 5.8.2012 13:33 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Valu bych nepouzival na nic jinyho nez aplikace nad gobject.
    Tak nad GObject se dá postavit cokoli a spousta věcí je na tom reálně postaveno. Má to spoustu (většinu?) vlastností, které jinak nabízí objektové modely jazyků typu Python, je to podstatně rychlejší (pokud se využívá možností, prasit se dá všude), je to dobře ovladatelné i z C, ale i z těch dynamických jazyků jako Python a Javascript.

    Já tím, že dělám na NetworkManageru, tak tam píšem všechno nad GObjectem v C. Dá se to, nevidím v tom problém, ale fakt je, že mnohým by pomohlo psát (a hlavně číst!) tyhle věci v jazyce, který má syntaktický cukr na OOP.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Jardík avatar 1.8.2012 00:51 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Já jsem valu odmítl proto, že pro velikost polí používá int místo size_t. Pokud chcete u pole použít size_t, musíte k tom přidávat hnusný věci, navíc pak sice vala generuje v C kódu size_t, ale vnitřně se k tomu chová stejně jako k intu, nebo alespoň to tak dělávala. Když jsem kvůli tomu prudil vývojáře, tak mě poslali do řiti, že size_t používat nebudou, s totálním blábolem typu "v každé knihovně se používá něco jiného, my jsme zvolili int a budeme tedy ignorovat typy fcí jako malloc, realloc, operátoru sizeof a budeme to tajně přetypovávat na inty a modlit se, aby nám nepřetekl".
    Věřím v jednoho Boha.
    little.owl avatar 1.8.2012 16:06 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Ta diskuze se odehrala pred dvema roky, hnulo se to kupredu?
    In my opinion, sir, any officer who goes into action without his sword is improperly dressed. ("Mad" Jack Churchill)
    Jardík avatar 1.8.2012 22:18 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Já to od té doby nepoužil, netuším.
    Věřím v jednoho Boha.
    1.8.2012 02:20 Ondra
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Genie -- totez co Vala, jen hodne jako Python
    pavlix avatar 5.8.2012 13:34 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Na ten mám teda mnohem větší chuť se podívat ještě než na Valu, ale samotná společná myšlenka se mi dost líbí.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    1.8.2012 08:19 qwertz
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    public int age { get; set; }

    Toto je inspirovano z delphi, ze ?

    property age:integer read get write set
    Luboš Doležel (Doli) avatar 1.8.2012 09:29 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Spíš C#.
    1.8.2012 13:17 .
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    alebo lisp
    1.8.2012 13:31 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Pomocí tranzitivity i Delphi :-)
    pavlix avatar 5.8.2012 13:42 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    To bys musel hodně zkoumat, jestli je to tranzitivně z Delphi, já bych sázel spíš na Javu.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.8.2012 20:24 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Object Pascal ovlivnil C# (na prvních verzích jazyka Object Pascal pracoval Anders Hejlsberg, než odešel do MS, kde se podílí na návrhu C#) a C# ovlivnil Valu.
    já bych sázel spíš na Javu
    AFAIK Java nemá speciální syntaktickou podporu pro vlastnosti.
    pavlix avatar 6.8.2012 00:08 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Nebudu se o tom přít. Vím o tom příliš málo a byl to můj upřímný odhad.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    1.8.2012 08:26 neron
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Jenom technická, v Javě by se ty metody jmenovali getAge() a setAge(). Není to jenom coding standart, využává se to pak třeba u Java Beanů a ty metody se přesně takhle musí jmenovat. Že je to opruz ovšem souhlasím.
    1.8.2012 08:26 neron
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Nekomentovat hrubky, prosím, už teď se stydím.
    1.8.2012 12:49 JS
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Vala se inspirovala C#, ne Javou, a tam se to (gettery a settery) takto dela.
    1.8.2012 13:05 neron
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Já ale reagoval na Pokud z Javy znáte „nádhery“ typu person.set_age(person.get_age() + 1); což předpokládám měl být kód v Javě.
    xkucf03 avatar 5.8.2012 00:43 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    +1

    Tohle by chtělo v článku opravit, protože takhle se v Javě opravdu nepíše (podtržítkový fujtajbl).
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    5.8.2012 08:19 v.podzimek | skóre: 17
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    +1

    Tohle by chtělo v článku opravit, protože takhle se v Javě opravdu nepíše (podtržítkový fujtajbl).
    Uznávám, solidní programátor by to v Javě napsal jinak, ale mám pocit, že pro ukázku možností *Valy* tohle opravdu není kritické. :-)
    McBig avatar 1.8.2012 09:46 McBig | skóre: 6 | Kolín
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Děkuji moc za článek. Poslal sem si ho na čtečku a moc se těším až si ho přečtu. Mě osobně Vala zaujala a naprosto pohltila. Naprogramoval sem v něm zatím jen jeden projekt, ale protože jde o GTK+ ve kterém sem už něco udělal, byla to taková testovací aplikace.

    GObject se někomu může zdát obskurní, ale dle mého je lepší než Garbitch collector, který čistí paměť tak nějak až uzná z vhodné. Mimochodem, refcount používá i python.

    Javu moc neznám, v Delphi sem programoval už hoooodně dávno, a C# sem v konečném důsledku vlastně zavrhl. Mě osobně Vala připomíná C++ s tím, že některé věci jsou shodné, nebo minimálně velmi podobné novému C++0x.

    Co se GTK+ týče, kdo zkoušel C++ binding (gtkmm), nebo Python binding, tak Vala mě přijde naprosto snadná, lehká a velmi dobře použitelná. A i když má své mouchy, například při kompilaci nutné generování všech .c souborů, nebo neošetřené stavy, kdy až vygenerovaný .c kód nejde kompilovat, další desktopovou aplikaci zřejmě opět budu psát ve Vale.

    Doplním ještě můj benchmark, který sem si udělal pro představu, kolik toho na CPU s použitím Valy ztratím.
    2.8.2012 23:10 v.podzimek | skóre: 17
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Děkuji moc za článek.
    Není zač, já děkuji za nějaká ta pozitivní slova. :-)
    Co se GTK+ týče, kdo zkoušel C++ binding (gtkmm), nebo Python binding, tak Vala mě přijde naprosto snadná, lehká a velmi dobře použitelná.
    Teď budu možná trochu sám proti sobě, ale s Gtk3, a tím pádem GObject introspekcí, je použití Gtk z Pythonu v podstatě totožné s psaním programu ve Vale. Plus s jednou velkou výhodou -- TAB TAB doplňováním v ipythonu. :-)
    pavlix avatar 3.8.2012 01:19 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    +1
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    3.8.2012 19:57 aubi
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Bohuzel se obavam, ze ten priklad ma dost hrubou chybu. Pokud melo jit o testovani tvorby a mazani objektu, tak si myslim, ze nemely byt vytvarene na stacku jako lokalni promenne, protoze pak jsou vytvareny a mazany sice rychleji, ale mimo funkci se nedaji pouzit. Tudiz naprosto nerealistiky scenar.

    Zkuste pouzit new/delete (a treba ne hned za sebou).
    1.8.2012 11:05 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Dekuji za hezky clanek.

    Jenom bych chtel doplnit, ze se lze vyhnout pouziti GLib knihoven prepinacem
    --profile=posix
    Avsak za cenu ztraty nektere funkcionality (casto te podstatne :-().

    OT: Byla by moznost zahrnout do serialu i porovnani s jazykem NULLC? Chapu, ze by zde mohl mit kazdy takove prani pro kazdy existujici jazyk, ale NULLC povazuji za jeden z nejpovedenejsich vyssich jazyku dneska a snad i budoucnosti (je dost novy a neznamy, ale to se doufam zmeni :-)).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    1.8.2012 11:26 Pindal
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Hm NULLC. Dva roky mrtvé na webu a rok v hg repozitáři. To nevypadá na šťastnou budoucnost.
    1.8.2012 11:30 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Cesta open-source byva trnita, plna zvratu apod.
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    1.8.2012 11:53 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Mimochodem kde ma NULLC vami zminovany "web"? To, ze dva roky nebyla vydana major verze imho neznamena, ze je projekt nejaky mrtvy.

    Posledni commit do default vetve repozitare je z Mar 25, 2012 primo od autora NULLC (ano, kazdym commitem, i kdyz to je "pouze" bug fix, projekt oziva). Krome toho tech commitu bylo v tomto roce vice :-).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    2.8.2012 22:48 v.podzimek | skóre: 17
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    OT: Byla by moznost zahrnout do serialu i porovnani s jazykem NULLC? Chapu, ze by zde mohl mit kazdy takove prani pro kazdy existujici jazyk, ale NULLC povazuji za jeden z nejpovedenejsich vyssich jazyku dneska a snad i budoucnosti (je dost novy a neznamy, ale to se doufam zmeni :-)).
    Bohužel už teď můžu s klidným svědomím odhadnout, že na tohle nebudu mít čas. Samozřejmě ale budu rád, pokud někdo článek na tohle téma napíše. :-)
    1.8.2012 23:10 Duff
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    No nevím. Po prohlédnutí ukázek mi to přijde jako když pejsek s kočičkou vzali svoje oblíbené syntaktické konstrukce z různých jazyků a nacpali je do jazyku jednoho, čímz skombinovali nevíhody všech jazyků z kterých brali. Napríklad využití nedefinonané proměnné není v zásadě problém ve skriptovacím jazyce, kde jsou skripty krátké a přiřazení lze jednoduše dohledat. Na druhou stranu v jazyce pro psaní rozsáhlých projektů je to opruz, protože se nenaincluduje nějaký soubor a proměnná není nastavena a pak to dohledávej. Její nastavení lze potom zjistit jen za běhu. Příklad setNeco(getNeco()+1) je špatný případ zapouzdření. Pokud chci promennou něco jen inkrementovat, tak bych si měl napsat metodu incrementNeco(), která to provede. Pokudmse ďelá něco sožiťejšího tak by to zase měka provést nějaká metoda. Netvrdím, že psaní getrů a setrů není opruz, ale ide to umí automatizovat. Pokud se jedná o deklaraci var, tak v jave by se to mohlo řešit obráceně. Deklarací se specifikací generik a inicializaví bez nich.

    Map<String, List<Integer>> var = new HashMap(); kompilátor bude sice prskat, ale bez problému to projde. Zase nechci tvrdit, že někdy není java zbytečne ukecaná nebo používá návrhy jen pro návrhy ne pro použití. Deklarovaná proměnná var, ale přináší problémy při automatickém přetypování a přetěžování operátorů, které není schopen potom odhalit kompilátor/preprocesor. Co když tu inicializaci někdo přepíse, třeba s čísla na řetězec, to potom bude radost tu chybu hledat. Jediný příklad, krerý je k něčemu, je že logický výraz musí mít oba operandy typu bool a if, for a while musí obshovat podmínku typu bool. Potom je jednoduché odhalit chyby typu if(i=1) a je to schopný zjistit už kompilátor/preprocesor. Samozřejmě tohle je můj prvotní pocit a realita může být jiná. Ty příklady mi ale příjdou jako příklady k ruby on rails (nebo komponent k .NETu), kde vytvoří blog za půl hodiny a pak se plácají po zádech jak jeto super. Bohužel ale už nezmíní, že pokud je třeba uďekat trochu něco jiného tak to jde stuha nebo vůbec.
    2.8.2012 10:38 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Tyjo, no teď budu za strašného nacistu, ale po perlách typu
    nevíhody, ďelá, sožiťejšího
    jsem už dál nečetl. Odkdy je čeština složitější než Java?

    Ale jo, četl. Příklad z hash mapou je podle mě špatně. V Javě sice nedělám, ale předpokládám že něco jako typedef má. Jinak souhlasím se shodnocením blogu. Ukazuje pár detailů a prohlašuje to za "úvod". Já jsem se o tom jazyku nedozvěděl vůbec nic.

    Jinak kdybych v kódu, který mám udržovat, našel
     
    if (/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.match(email))
    {
    ....
    
    tak si autora najdu a uškrtím ho ve spánku. Co ten kód dělá? Validuje mail? Vybírá maily s číslem na začátku? Já netuším, ale hlavně že ušetřil jeden řádek kódu:
    
    bool valid_email_rfc822 = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.match(email);
    if (valid_email_rfc822)
    {
    ....
    
    Není toto o dost čitelnější?
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
    2.8.2012 11:43 Duff
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Jo na češtinu jsem lama a taky jsem to psal na tabletu a měl nél něco popito. Jave je holt nejaky pravopis uplne jedno. Ten přiklad v jave projde, protože generiky jen rozšiřují definici typu a vubec by se nemuseli pouzit (muselo by se pretypovavat). Prekladac bude nadavat na unchecked conversion nebo tak neco.
    2.8.2012 12:41 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Netvrdím že je to syntakticky špatně, tvrdím že je špatně místo jednoduchého řešení typedefem vymýšlet nějaké vyfikundace v jazyku. Ale zrovna se dívám, že Java typedef nemá, wtf?
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
    2.8.2012 14:13 Duff
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Typedef nemá. Cokoli se definuje nového musí být interface nebo class.

    dalo by se to řešit vytvořením podtřídy, která nastavuje ty generiky.
    interface MyMap extends Map<String, List<Integer>> {
    }
    
    Je to ale celkem zbytečné, protože podle definice proměnné je potom IDE schopno doplnit generiky do inicializace proměnné. A taky je otázka, jestli to nezhorší čitelnost. Po takové definici potom musí člověk dohledávat co tím myslel a pro to Map rozhraní potom musí dohledat jednotlivé implementace s java knihovny.
    3.8.2012 17:25 aaaaaaaaaaaaaaa
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod

    Ja toto riesim v Jave tak, ze mam v kode nieco ako

    public class Maps {
      public static <K, V> HashMap <K, V> newHashMap () {
          return new HashMap <K, V> ();
      }
      // atd pre ostatne mapy
    }
    
    a potom volam len
    Map<String, String> map = Maps.newHashMap();
    
    Podobne mam aj triedy Sets a Lists.

    2.8.2012 23:06 v.podzimek | skóre: 17
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Tyjo, no teď budu za strašného nacistu, ale po perlách typu
    nevíhody, ďelá, sožiťejšího
    jsem už dál nečetl. Odkdy je čeština složitější než Java?

    Ale jo, četl. Příklad z hash mapou je podle mě špatně. V Javě sice nedělám, ale předpokládám že něco jako typedef má. Jinak souhlasím se shodnocením blogu. Ukazuje pár detailů a prohlašuje to za "úvod". Já jsem se o tom jazyku nedozvěděl vůbec nic.
    Pevně věřím, že alespoň někdo se dozvěděl, jaké zajímavé vlastnosti a syntaktické zkratky Vala přináší. Tento článek je určen jen jako motivační ukázka možností Valy. Nebudeme se snad přít o tom, že programovací jazyky jsou o něčem jiném než o syntaktických zkratkách. Pokud vím, tak vyjadřovací sílu mají všechny stejnou, od (turingovsky úplných) konfiguráků sendmailu až po Javu.

    Jinak kdybych v kódu, který mám udržovat, našel
     
    if (/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.match(email))
    {
    ....
    
    tak si autora najdu a uškrtím ho ve spánku.
    Myslím, že přidání komentáře by bylo naprosto dostačující. Nicméně tento článek není o psaní "pěkného, čitelného a dobře udržovatelného" kódu a pevně věřím, že pro ukázku jednoduchosti používání regulárních výrazů není třeba zbytečných řádků navíc.
    Co ten kód dělá? Validuje mail? Vybírá maily s číslem na začátku? Já netuším, ale hlavně že ušetřil jeden řádek kódu:
    
    bool valid_email_rfc822 = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.match(email);
    if (valid_email_rfc822)
    {
    ....
    
    Není toto o dost čitelnější?
    Vzhledem k části, ve které se tato ukázka nachází, bych rád podotknul, že z této podoby by možná vstávaly vlasy na hlavě některým "Perlistům". A ať si taky trochu rýpnu -- uvádět v názvu proměnné číslo RFC mi připadá trochu overkill; když už, tak možná uložit reg. výraz jako konstantu.
    3.8.2012 11:17 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Nebudeme se snad přít o tom, že programovací jazyky jsou o něčem jiném než o syntaktických zkratkách.
    A snad se nebudeme přít ani o tom, že že syntaktické zkratky mají pomoct čitelnosti a udržovatelnosti kódu. Pravda je že coby člověku odchovaném na c++ mi takové
    open(FILE, "file.txt") || die ("Cannot open file file.txt, exitting.");
    mimo Bash nahání husí kůži, zatímco pro programátora v Perlu se jedná o používaný idiom. "Co je pro jednoho idiom..." :-)
    když už, tak možná uložit reg. výraz jako konstantu.
    Pravda.
    A ať si taky trochu rýpnu
    Nerýpu, kritizuju.
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
    14.8.2012 11:41 srott
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod

    Samozrejme, že ten regex je zlý, ale ten druhý zápis nie je o nič lepší. Veľa ľudí totiž nemá tušenia aké to je komplikované.

    Jediný správny regex podľa RFC je:

    http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html  

    a tuším ani ten nie je 100% korektný :)

    14.8.2012 18:30 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    O správnost regulárního výrazu tu zrovna nejde. Jde o to, abych při letmém pohledu na kód odhadl, co zhruba dělá.
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
    xkucf03 avatar 5.8.2012 10:46 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Map<String, List<Integer>> var = new HashMap(); kompilátor bude sice prskat, ale bez problému to projde. Zase nechci tvrdit, že někdy není java zbytečne ukecaná nebo používá návrhy jen pro návrhy ne pro použití.

    V Javě (7) můžeš napsat:
    List<String> list = new LinkedList<>();
    U toho var = … mi přijde jako hlavní nevýhoda, že se používá příliš konkrétní typ. Např. vím, že někde chci mít obecnou mapu (Map) a v aktuální verzi použiji HashMapu – kvůli var bych pak ve zbytku kódu pracoval s konkrétní implementací místo s obecným rozhraním, což komplikuje budoucí změny (např. budu chtít použít jinou mapu).

    Ale jinak nic proti této funkci – on to člověk používat nemusí a deklarovat si typy přesně, jak chce.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    7.8.2012 15:42 Brouček
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    var je asi vzato ze C#, objevilo se to tam společně (a kvůli) LINQ ve verzi 3.0
    3.8.2012 00:38 Ferdinand
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Preklad do C by se mi libil u vsech jazyku. Mozna i u C.
    3.8.2012 20:46 zxtlpn | skóre: 8 | blog: zxtlpn
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    LLVM má céčkovej bekend, ale lezou z toho strašný sra...
    3.8.2012 20:47 zxtlpn | skóre: 8 | blog: zxtlpn
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Asi jsem chtěl napsat výstup, ne backend.
    3.8.2012 16:01 Ditys
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    Zásadní problém, společný všem jazykům je, kolik práce (a kódu) je třeba na vytvoření formuláře, dvou políček - jméno, příjmení, a následně tlačítko pro uložení do SQL databáze. Doufám, že ukázka bude :-)
    pavlix avatar 5.8.2012 13:40 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Programování v jazyce Vala – úvod
    To není problém jazyka, ale knihoven či frameworků.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.