• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LITTLELIScala, Clojure, Groovy... Polyglot development with JVM
    KKL2401
    KKL2401 --- ---
    SATAI: Aha, cekal jsem neco zaludnejsiho. Nicmene jakkoliv to asi nicemu nevadi takto to psat, mel bych namitky proti tomu, jak moc je to dulezite. foo == null clovek nejcasteji pouzije v podmince (dost vyjimecne kdekoliv jinde) a vzhledem k tomu, ze Java, pokud vim, nepretypovava implicitne null na false, tak ten kompilator zarve, pokud clovek to jedno rovnitko zapomene. Totez i v pripadech, ze tam misto null je cokoliv jineho, s vyjimkou true/false - tam sice ten problem nastava, ale zase if (foo == true) nebo if (foo == false) pise malokdo (nebo aspon ja urcite ne).
    Pokud jde o C, tak v tom uz, pravda, dlouho nedelam. Ale jakkoliv tam prekladac takovyhle veci sezere, tak clovek, ktery si nechce zbytecne koledovat, si u prekladu zapina i warningy a kouka na ne a pouziti jednoho rovnitka v podmince warningy, pokud vim, vyvolava, takze zase by si toho clovek vsimnout mel.
    SATAI
    SATAI --- ---
    KKL2401: Mimochodem, je to jedno ze zajimavych mist tohoto Joelova clanku: http://www.joelonsoftware.com/articles/fog0000000073.html (je o najimani programatoru do teamu a spravce diskuse jiste promine OT ;) )
    SATAI
    SATAI --- ---
    KKL2401: zvyk z C, kde je to pomalu nutnost a i v Jave se to hodi. Ochrana pred tim, ze zapomenes jedno rovnitko - null = foo je chyba, na kterou prijdes hned, foo = null je chyba, kterou nenajdes drive, nez v unittestech a i tam kdo-vi jestli (pokud nemas stesti, ze delas na projektu, kde je warningu jak safranu a jeoho noveho si vsimnes).
    KKL2401
    KKL2401 --- ---
    SATAI: Hele muzes rozvest to BTW, to mi prijde zajimave. :-)
    LITTLELI
    LITTLELI --- ---
    SATAI: dik za tu radu, zkusim si na to zvyknout. ty objekty kopiruji pravidla v db, pokud maji oba null tak jsou v nekonzistentnim stavu a nemely by se rovnat (= false).
    SATAI
    SATAI --- ---
    LITTLELI: Uz jsem utahany jako kote, ale co kdyz maji oba objekty name nastavene na null?
    (Btw: a je lepsi psat null == neco nez neco == null ;) )
    LITTLELI
    LITTLELI --- ---
    delam to spatne? :-(
    LITTLELI
    LITTLELI --- ---
    mam to ted v tomhle smyslu: http://www.pastebin.cz/3a2b6f55803d2b
    LITTLELI
    LITTLELI --- ---
    SATAI: no netbeans generujou rigidni test s getclass a ja pouzivam instanceof... a ano je to ten kontroverzni kus dle Effective Java, jenze ja mam ty classy pak enhancovany (sql mapper) takze si uplne rigidni test nemuzu dovolit.
    SATAI
    SATAI --- ---
    LITTLELI: mam dojem, ze se pouziva pattern z Effective java, ale ruku do ohne bych za to nedaval.
    SATAI
    SATAI --- ---
    LITTLELI: Ukazes z ceho na co?
    LITTLELI
    LITTLELI --- ---
    SHAGA: tos mi pripomnel neco. proc netbeans tak dementne generuji equals a hashCode, je musim psat sam :-( necham si akorat vygenerovat to prvocislo a pak to cele prepisuju :-(
    SHAGA
    SHAGA --- ---
    Refactoring, autocompletion, code templates, generování některých metod (equals, hashCode apod.), návaznost na build nástroje, to je takové ide minimum pro mě.
    LITTLELI
    LITTLELI --- ---
    to je tezke, ty moderni jazyky vetsinou tezi z toho ze maji ruzne varianty DSL napsane v nich, ktere se pak daji poustet pres ant tasky nebo podobne. btw scala asi expresivnejsi je. ale obecne ve vsech jazycich lze vyjadrit totez :) ono podle meho dost zalezi na vnitrni konzistenci daneho jazyka napr. Ruby > Python (nekamenovat). ale to zase nic nerika o tom jak je dana vec skutecne vykonna apod.

    od IDE chci urcite refaktoring v libovolnem jazyce, coz je skoro ultimatni, kdyz jde tohle tak uz jde i autocompletion nebo podobne veci.
    ESORIMMER
    ESORIMMER --- ---
    Jen takova otazka bokem... co byste ocekavali od IDE v jazycich, co jsou dynamictejsi/expresivnejsi nez Java? Mam pocit, ze jpopularita se hodne odviji prave od vyvojovych nastroju, na druhou stranu tzv. moderni jazyky IDE typicky vubec nemaji (anebo je na to plugin do nejakeho java ide). Je to dulezite/neni/co je killer feature/jaky volite zpusob prace?
    LITTLELI
    LITTLELI --- ---
    ESORIMMER: to je samozrejme pravda, ale da se tomu hodne pomoct prave trebas inferenci typu apod vecma. no holt ty dynamicky veci maji svoje opodstatneny kouzlo.
    ESORIMMER
    ESORIMMER --- ---
    LITTLELI: to jsou vsechno dynamicky typovane jazyky, u tech staticky typovanych to byva slozitejsi udelat
    LITTLELI
    LITTLELI --- ---
    no to je prave zvlastni, kdyz se podivam na to jak se pise ve smalltalku, ne ze bych ho teda nejak umel. tak mi prijde, ze to je velmi prirozene a ze vlastne ta jeho gramatika je velmi jednoducha. to same trebas lisp. jako mne se libi trebas factor, ale musim uznat, ze to je elegantni, ale neni to uplne prirozeny pro lidi. vlastne me napada, ze takovy smalltalk je naprosto idealni skriptovaci jazyk, povidat objektum jak si maji povidat naprosto jednoduchym zpusobem. co vic si prat?
    ESORIMMER
    ESORIMMER --- ---
    LITTLELI: kdyz takovou vec zacnes konstruovat, tak ti to najednou prijde prirozeny ;) ... potrebujes neco jednoznacnyho a nemit na vsecko klicovy slova + to chces ruzne kombinovat a vetsinou z toho vypadnou znaky z horni radky klavesnice ;)

    sam jsem uz par takovejch jazyku taky vyrobil a bylo to vetsinou write-only ;)) ... na druhou stranu to nebyla vec pri miliony uzivatelu ;)
    SATAI
    SATAI --- ---
    LITTLELI: APL na tebe ;)
    Kliknutím sem můžete změnit nastavení reklam