Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Programiranje

Programiranje Za programere i one koji to žele postati ...

Odgovor
 
Tematski alati Opcije prikaza
Old 04.08.2015., 11:24   #61
Isprobao sam ClojureScript par puta. Leiningen povuče 500 dependencyja, build traje užasno sporo etc.

Pogledao sam Quick Start jučer, i u novom setupu (Java 8, Clojure 1.7) stvari dosta brže funkcioniraju: https://github.com/clojure/clojuresc...ki/Quick-Start - fokus na rad bez leiningena.

S druge strane, funkcijsko programiranje browsera dosta dobro je napravljeno u Elm-u: http://elm-lang.org/ Samo to nisam uspio instalirati na stroj
Refulgent_Splendour is offline  
Odgovori s citatom
Old 05.08.2015., 09:04   #62
Quote:
Refulgent_Splendour kaže: Pogledaj post
S druge strane, funkcijsko programiranje browsera dosta dobro je napravljeno u Elm-u: http://elm-lang.org/ Samo to nisam uspio instalirati na stroj
Kak je onda "dosta dobro napravljeno", ak osnovnu stvar poput instalacije nisi uspjel izvesti?!?

Inače, ne znam za tebe, ali na primjer
Kod:
profile : User -> Html
profile user =
    div [ class "profile" ]
      [ img [ src user.picture ] []
      , span [] [ text user.name ]
      ]
bi mogel biti i hrpa naslaganih mrtvih pilića, kaj se mene tiče. Gdi je tu sad opisano kaj je kaj, na primjer, gdi je referenca kakvih vse profila ima, jel' to ključna riječ, ma gdi je uopće lista ključnih riječi? I kak je ovo bolje od HTML-a, samo je jedan format zamijenl drugim, imaš skoro 1:1 odnos između ovog primjera i HTML-a?

Išel sem pogledati full API and documentation, ak je to dokumentacija, Sinclair Spectrum 48K je superračunalo. Kao primjer, ovo je dokumentacija!

Meni je jednostavno nevjerojatno da vsake jebene godine, ali baš vsake, neki mamlaz svoju kolekciju sklepanih hackova pokušava prodati drugim telcima kao "framework", ili, v slučaju ambicioznijih / arogantnijih mamlaza, kao "programski jezik".

Zakaj se to tolerira? Mislim, ovo je već prevršilo svaku mjeru!

V vsemu temu ima jedna dobra stvar: ti mamlazi su otkrili unified diff(1), odnosno `diff -u | gpatch -uNp0`. A čekaj samo kad otkriju GNU/Linux, a nakon toga možda i UNIX, uuu...
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 05.08.2015., 14:16   #63
Ako znaš malo Haskella onda ti je definicija funkcije i sig poznat a div [...] [...] je div([...]) ([...]) ili ti ga div([...], [...]) - istu stvar u clojure dobiješ sa :

Kod:
(defn profile [user]
  (html 
     [:div {:class "profile"} 
       [:img {:src (:picture user)}]
       [:span (:name user)]]))
Samo Elm ima type checking - kolko ti je to bitno za ovakav kod

Inače to nije poanta Elma nego reactive programming - ali mislim da na kraju kad spojiš sve to više posla nego koristi a i sve to možeš sa tradicionalnim jezicima samo je malo više koda. Ako pokažem random programeru takav kod dobit će šok automatski ko i ti a iskreno ne vidim puno prednosti - pre velik skok od standarda za upitnu dobit.

Clojure ima ogromnu prednost što je lisp (metaprogramiranje ubije hrpu gluposti koju moraš radit za SPA) i spoji immutable programiranje sa imperativnim na poprilično jednostavan način. U praksi super moćno kad moraš ljepit različite servise skupa - REPL odličan za prototyping a funkcije koje barataju sa vrijednostima umijesto objektima pa te nije briga dal ti funkcija zove server, vrti SQL query ili samo vrati neš iz memorije - sve funkcije uzimaju vrijednost -> vrate vrijednost - i jezik ima odlične alate za baratat s njima - ostalo je transparentno više manje. Najviše me podsjeća na Unix samo što Clojure radi sa strukturiranim podatcima umjesto sa stringovima.

Elm je igračka bez nekih konkretnih prednosti, Clojure je moćna stvarčica - vidim da su puno napredovali i sa ClojureScript implementacijom, napravili su veliku grešku kad su krenuli radi ClojureScript što su po defaultu tražili da sve kompiliraš na serveru da bi smanjio veličinu JavaScripta (sa Closure compajlerom) - da su od početka imali kvalitetan REPL garantiram da bi taj jezik bio popularniji al sad su to sredili koliko vidim.
__________________
Gotta' love the bank run; Bringing people together.
wiseen is offline  
Odgovori s citatom
Old 06.08.2015., 13:20   #64
Quote:
Annatar kaže: Pogledaj post
Kak je onda "dosta dobro napravljeno", ak osnovnu stvar poput instalacije nisi uspjel izvesti?!?
Možda bi bilo preciznije reći da je dosta dobro osmišljeno. A osmišljeno je tak da pišeš jedan kod, koji kompajler onda razlomi na potrebne dijelove: HTML, CSS i JavaScript. Dakle, jedan kod, a kompajler odradi ostalo. Što je po meni super stvar.

Instalaciju nisam uspio izvesti zbog klasničnog problema na Linuxu danas: svaki novi projekt se radi na neki svoj način, a za ovo autor daje samo 64-tni build, koji se naravno na 32-tnu mašinu ne može instalirati. Taj build je iz nekog razloga završio i na repozitoriju za 32-tne platforme. E sad, zakaj ja vrtim 32-tni Ubuntu? Zato kaj sam bedast i ne čitam kaj instaliram
Refulgent_Splendour is offline  
Odgovori s citatom
Old 07.08.2015., 10:17   #65
Quote:
Refulgent_Splendour kaže: Pogledaj post
Možda bi bilo preciznije reći da je dosta dobro osmišljeno. A osmišljeno je tak da pišeš jedan kod, koji kompajler onda razlomi na potrebne dijelove: HTML, CSS i JavaScript. Dakle, jedan kod, a kompajler odradi ostalo. Što je po meni super stvar.
Sumnjam da se ovdje radi o compileru, v klasičnom smislu, jer je generirani kod JavaScript, CSS i HTML, a to su sve prevođeni jezici, ali dobro, rekli bume kak se radi o kompiliranju iz jednog izvora v više meta (ili formata, kak ti drago).

Na prvi pogled je koncept pisanja programa v jednom jeziku, te prevođenja v više različitih (CSS, HTML, JavaScript) super stvar. Međutim:

CSS? Statičan. Kulike CSS-ova ti za enu aplikaciju treba? Napišeš jednom, i gotovo; uostalom poanta CSS-a je da vse HTML stranice i elementi zgledaju isto.

HTML? OK, ovo je jedina stvar koja je bol v riti, jer je suhoparan i nije lagan za post-procesiranje, ali sigurno jedan programer z čak i polovicom mozga može složiti nekakav predložak, a ostalo odraditi v JavaScriptu, ili kombinaciji PHP-a i JavaScripta? Jasno kak može!

JavaScript. E, ovo je razlog zakaj cijeli taj koncept pada v vodu. Pa kak? Pa lepe, ti vjeruješ nekom mamlazu na internetu da je v stanju dizajnirati tak super jezik i tak super compiler, koji generira super JavaScript kod? Ja ne. Rijetki su ti, kojima fakat vjerujem da znaju kaj rade; na prste obje ruke se mogu nabrojati. Ali nije to, nego kaj kad trebam dodatni, vlastiti JavaScript kod, ili kad trebam optimizaciju? To vse automatski gubiš z ovim konceptom prevođenja iz jednog jezika v više njih. Ne samo da gubiš, nego si z tim popušil do übera.

Čim gubiš kontrolu nad nečim, gotovo ti je. To ti prije ili kasnije dojde na naplatu, a račun onda bude papren. Nema zamjene za korištenje vlastitog mozga.

Postavlja se pitanje: kaj si zaprav na kraju vsega tega uštedil, te kulike, ak uopće? Se da to izračunati, kvantificirati?
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?

Zadnje uređivanje Annatar : 07.08.2015. at 10:29.
Annatar is offline  
Odgovori s citatom
Old 07.08.2015., 15:38   #66
Da bih nešto koristio u produkciji mora proći neke kriterije koje imam glede ovakve stvari. Zato sam do sada jedino usvojio Google Closure Compiler za "obradu" JavaScritpa. Da je Elm production-ready u punom smislu, bez problema bih ga nekako progurao u development priču. Nebitno je li ga smislio mulac s neta, ili doktori s Kembriđa

Po meni, Elm ima obećavajuću budućnost, a i skup svojstava koji ga stavljaju u jedinstvenu poziciju. Da ga mogu instalirati na stroj, već danas bih šarafio novu nabrijanu verziju multi-user tetrisa il kaj već
Refulgent_Splendour is offline  
Odgovori s citatom
Old 07.08.2015., 18:59   #67
Quote:
Refulgent_Splendour kaže: Pogledaj post
Nebitno je li ga smislio mulac s neta, ili doktori s Kembriđa
Ja još nis vidl kak je neki mulac na netu zmislil nekaj kaj valja; zato i jesu mulci, inače to ne bi bili.

Inače, ne kužim zakaj nemreš drito iz JavaScripta pomoću document object modela drito kreirati elemente on the fly, nego ti treba prevoditelj iz jednog v drugo, ali dobro...
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 11.08.2015., 23:23   #68
Jel napravio itko nekakav Restful servis sa clojurom od vas sto pisete ovdje ?
__________________
Ako krades, kradi pomalo i sigurno.
Ministar obrane Seva, 2012
logit is offline  
Odgovori s citatom
Old 12.08.2015., 20:02   #69
Bio sam blizu toga, ali na žalost ne. Sve kaj sam radio u Clojureu je bilo za hobi, ništa od toga nije završilo u nekoj ozbiljnoj produkciji. Složio sam nekakvi jednostavni API server koji se vrtio na vert.x platformi i to mi je bilo cool. Doduše, nisam se mogao uvjeriti da Clojure koristim na poslu za ozbiljno zbog svih tih dependencyja, build latencije, etc. Lakše je radit u Go-u i deployat single binary
Refulgent_Splendour is offline  
Odgovori s citatom
Old 13.08.2015., 09:16   #70
Quote:
http://clojure.org/compilation kaže:

Clojure compiles all code you load on-the-fly into JVM bytecode, but sometimes it is advantageous to compile ahead-of-time (AOT).
Ima to čudo compiler koji kompilira direktno v strojni kod, točnije ELF izvršni binarni kod, umjesto JVM token ("bytecode") bullshita?

Meni još uvije nije jasno koja je prednost Clojurea v odnosu na LISP?
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 13.08.2015., 09:23   #71
Quote:
wiseen kaže: Pogledaj post
Ako znaš malo Haskella
Ali ne znam "malo Haskella", jer je Haskell bil jezik koji sem proučaval morti dva dana i to sem samo pročital "Learn you Haskell for great good!" Programiral v njemu nis niš, a to je zato, jer se funkcionalno programirati može v bilo kojem jeziku, čak i BASIC-u, ak ima GOSUB, pod uvjetom da funkcija ne mijenja podatke direktno v memoriji (ne uzrokuje nuspojave odnosno ne ide mimo poziva koji ju poziva).

To znači da se bez problema može funkcionalno programirati v na primjer PHP-u, ili kak ja to vrlo često delam, v AWK-u (koji nema pokazivače i ovak i onak nemre direktno manipulirati memoriju).

Stoga, budući da ne bi rekel da imam pojma o Haskellu, taj Elm bi kaj se mene tiče mogli biti i kineski znakovi, a dokumentacija je toliko loša da iz nje nemreš, bez masivne investicije vremena i napora, skužiti kaj je kaj.

A ako ikaj mrzim delati na računalima, onda je to reverse engineering. Ide mi ta aktivnost, ali ju svejedno duboko mrzim, jer me boli glava od nje i jer me to nevjerojatno brzo i jako umori, a imam i psihičke traume od iste jer sem to nekad delal profesionalno.

Ali skrećem z toka misli; ono kaj sem zapravo štel napisati je da je užasno destruktivno stalno skakati z jezika na jezik, jer onda niti jedan jezik ne navčiš kak spada: zemi jedan, dva, najviše tri (i to je već skoro preveč!) I FAKAT OVLADAJ NJIMA, a ne skakati "z jezika na jezik", vsaki onda navčiti površno, te onda programirati povračotine.

Primjer: kad sem prvo počel z SQL-om, napisal sem TRI PL/SQL funkcije za ono, kaj se moglo napisati z jednostavnim UPDATE records SET content = REGEXP_REPLACE(...); nemreš napisati kod kak spada dok fakat ne ovladaš jezikom. Stalno skakanje z jezika na jezik je odlika "zanatlija".
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?

Zadnje uređivanje Annatar : 13.08.2015. at 09:53.
Annatar is offline  
Odgovori s citatom
Old 13.08.2015., 16:42   #72
Quote:
Annatar kaže: Pogledaj post
Meni još uvije nije jasno koja je prednost Clojurea v odnosu na LISP?
Clojure *je* Lisp. Dijalekt Lispa, novi Lisp, kak hoćeš.

Prednost nad nekim dijalektima je po tome kaj se vrti na Javi. Sve ono kaj je kod Jave prednost je onda prednost i kod Clojurea.
Refulgent_Splendour is offline  
Odgovori s citatom
Old 13.08.2015., 19:33   #73
Quote:
Refulgent_Splendour kaže: Pogledaj post
Clojure *je* Lisp. Dijalekt Lispa, novi Lisp, kak hoćeš.

Prednost nad nekim dijalektima je po tome kaj se vrti na Javi. Sve ono kaj je kod Jave prednost je onda prednost i kod Clojurea.
Java nema apsolutno ikakvih prednosti. Nula. To je jedna od najgorih izmišljotina ikad: objektno orijentirana paradigma programiranja, nema low-level pristupa hardwareu, gabrage collector je sam smeće, pa ne oslobađa memoriju, pa aplikacije troše po 20 - 300 GB, spora do boli, nije kompatibilna sama sa sobom. Brže su aplikacije v BASIC-u (koji je funkcionira na istom principu kao i Java, z tim da ima low-level pristup memoriji) na Commodoreu 64 iz 1982. neg na Javi iz 2015. I kaj je najgore, Java je puno, puuunnnooo kompliciranija od BASIC-a.

Radije onda idem koristiti Commodore 64 za produkciju. Pametnije mi je, a i ekonomičnije.
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 13.08.2015., 19:38   #74
Quote:
Annatar kaže: Pogledaj post
Ima to čudo compiler koji kompilira direktno v strojni kod, točnije ELF izvršni binarni kod, umjesto JVM token ("bytecode") bullshita?
Ne, najbliže tome je projekt koji koristi PyPy-ev JIT compiler za generiranje strojnog koda. Projekt je nedovrsen.

Ideja iza koristenja JVM-a je bila u direktnom napadu na domene u kojima se koristi Java, sto mogu razumjeti kao ciljeve developera, ali...

Quote:
Annatar kaže: Pogledaj post
Meni još uvije nije jasno koja je prednost Clojurea v odnosu na LISP?
(Pretpostavljam da mislis na Common Lisp.)

Strukture podataka prilagodjene paralelizmu u programu, primarno (nije da Common Lisp ne moze to tako odraditi, samo nije defaultno i standardizirano).

Opcenito bi osobno radije odabrao Common Lisp. Ovu temu sam otvorio jer se na Clojureu konkretno nesto vise radi, i povremeno izadju novi koncepti ispred ostatka programerskog svijeta, kako to obicno ide u svijetu Lispa. Clojure ima tu dosta manjkavosti.

Quote:
Annatar kaže: Pogledaj post
Ali ne znam "malo Haskella", jer je Haskell bil jezik koji sem proučaval morti dva dana i to sem samo pročital "Learn you Haskell for great good!"
Stvarno ocajan izvor. Ima drugih, ali su uglavnom zastarjeli zbog promjena u programskom jeziku (slican problem kao Python, zna se mijenjati i specifikacija, i glavna implementacjia (GHC je de facto standard), a uz to ima jos promjenjiviji integrirani ekosustav libraryja i sl.).

Quote:
Annatar kaže: Pogledaj post
Stoga, budući da ne bi rekel da imam pojma o Haskellu, taj Elm bi kaj se mene tiče mogli biti i kineski znakovi, a dokumentacija je toliko loša da iz nje nemreš, bez masivne investicije vremena i napora, skužiti kaj je kaj.
Sakupila se ekipa Haskellasa koji se slazu s ovim misljenjem, i ovo je bio njihov zakljucak:
https://github.com/bitemyapp/learnhaskell

Trenutno najbolji izvor je jedan kolegij iz 2013. Taj kolegij je u kasnijim verzijama izmjenjen u gori i neupotrebljiviji, ali je ostala arhiva.
__________________
Our imagination is stretched to the utmost, not, as in fiction, to imagine things which are not really there, but just to comprehend those things which are there.
--Richard P. Feynman
UrchinStar47 is offline  
Odgovori s citatom
Old 13.08.2015., 19:56   #75
Quote:
Annatar kaže: Pogledaj post
Java nema apsolutno ikakvih prednosti.
Sad si već apsurdan

Java je dosta dobar proizvod bez sumnje. Po meni, jedina mana joj je Oracle, moneygrabbing vlasnik.
A ovo sve ostalo je relativno.

Nisam imao nekih problema s memorijom Java aplikacija. A kaj se tiče brzine, Java serveri su jedni od najbržih po nekim benchmarcima (pogledaj na: https://www.techempower.com/benchmarks/). HotSpot kompajlira kod po potrebi u native, zato se mogu dobiti odlične performanse. Nisam ziher da bi ti tvoji komodorci pomogli danas kad ti rulja navali na sajt jer si spustio cijenu trapericama na webshopu
Refulgent_Splendour is offline  
Odgovori s citatom
Old 14.08.2015., 03:08   #76
Quote:
Annatar kaže: Pogledaj post
Meni još uvije nije jasno koja je prednost Clojurea v odnosu na LISP?

LISP radi sa mutable strukturama - jbg. teško je opisat koje su prednosti dok ne vidiš u praksi ali pojednostave se stvari - par stvari koje mi padaju napamet :

* uopće ti nije problem koristit globalne varijable jer ima jako dobro definirane načine mutacije (+ module/namespacing) - nema potrebe za glupostima iz OOP-a tipa singletoni i štatijaznam - a nije prljavo ko u skriptnim jezicima di kad jednom počneš mijenjat globalne variable
* jako lako pisat kod koji se oporavlja od grešaka - ne mijenjaš vrijednosti direktno ili ih mijenjaš kroz izolirane primitive koji mogi imat i ugrađeno praćenje promjena pa imaš transakcijsku logiku unutar programskog jezika
* puno je lakše razmišljat o kodu jer su stvari lokalne - ne moraš pogađat gdje se koja varijable može promijenit unutar koda - mutabilne varijable one su posebno definirane i imaju eksplicitne operatore za mutaciju
* strukture su ti aciklične/serializiraju se po defaultu ako ne dodaješ mutable reference

Kad sve to skombiniraš imaš super jezik za spajat servise i transformaciju podataka - npr. kad ti funkcija barata sa podatcima skroz ti je isto dal zove bazu, neki servis ili ga generira rezultat - šalješ podatke i dobiješ podatke nazad - ne objekte - nego podatke - nema ORM-a, distributed objekata i pizda materina - samo podatci - i jezik ima odlične librarije za baratat podatcima.
__________________
Gotta' love the bank run; Bringing people together.
wiseen is offline  
Odgovori s citatom
Old 14.08.2015., 08:59   #77
Quote:
Refulgent_Splendour kaže: Pogledaj post
Sad si već apsurdan
Nisem apsurdan, neg realan. Znam ja da su developeri fufe - lako se njima zajebavat' i onanirat' pa onda reć' da je nekaj cool kad ne moraju v dva ujutro delati troubleshooting jer imaju prioritet 1 incident.

Z vremenom navčiš da developeri većinom prodaju maglu i izdrkavaju se, i da je jedini način da to složiš i napraviš da dela kak spada je da počneš programirati sam. I onda više nema bullshita.
Quote:
Nisam imao nekih problema s memorijom Java aplikacija.
A to si ti; kulike servera imaš? Klijent ih ima na desetke tisuća, i vsako malo rikavaju jer im Java šrot ima memory leaks, a kulike je sporo, o tome ni ne bumo jer poželim odmah nekoga brutalno namlatit'. Ovdje je PROSJEČNA potrošnja jedne jedine aplikacije 300 GB, a ima ih koje troše i po terabyte kulike hoćeš, na bacanje, i to za najjednostavnije stvari za koje mojim programima treba po parsto KILOBYTE-a. Hoću popizdit'!
Quote:
A kaj se tiče brzine, Java serveri su jedni od najbržih po nekim benchmarcima (pogledaj na: https://www.techempower.com/benchmarks/). HotSpot kompajlira kod po potrebi u native, zato se mogu dobiti odlične performanse. Nisam ziher da bi ti tvoji komodorci pomogli danas kad ti rulja navali na sajt jer si spustio cijenu trapericama na webshopu
Benchmarke i sranja možeš zaboraviti, jedino kaj se računa je kulike ti je brza aplikacija v produkciji, tvoja aplikacija, v tvojoj produkciji. Ostalo je izdrkavanje i laži. Puno, puno laži. Z umjetnim testovima si moreš rit obrisati.

I kdo normalan ide prvo kompilirati aplikaciju, vsaki put kad se opet pokrene? Za to postoji compiler i prevodi se v izvršni binarni kod, jednom za tu verziju programa i gotovo. Ta paradigma se jednostavno kosi z zdravom pameti!

A najgore od vsega: Java je prekomplicirana.
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?

Zadnje uređivanje Annatar : 14.08.2015. at 09:17.
Annatar is offline  
Odgovori s citatom
Old 14.08.2015., 09:15   #78
Quote:
UrchinStar47 kaže: Pogledaj post
Ne, najbliže tome je projekt koji koristi PyPy-ev JIT compiler za generiranje strojnog koda. Projekt je nedovrsen.

Ideja iza koristenja JVM-a je bila u direktnom napadu na domene u kojima se koristi Java, sto mogu razumjeti kao ciljeve developera, ali...
Aha. Sad to ima smisla, politički, ne tehnički. Bez konteksta se isto kosi z zdravom pameti. A inače, našli su si target publiku... Java developeri su izgubljeni slučaj
Quote:
(Pretpostavljam da mislis na Common Lisp.)
A valjda mislim, ne znam ni ja kulike ih vse ima
Quote:
Opcenito bi osobno radije odabrao Common Lisp. Ovu temu sam otvorio jer se na Clojureu konkretno nesto vise radi, i povremeno izadju novi koncepti ispred ostatka programerskog svijeta, kako to obicno ide u svijetu Lispa.
Zanimljiva tema, recimo ono z kokošinjcem i automatskim otvaranjem i zatvaranjem vrata je bilo zanimljivo, ali teško za pratiti ako ne programiraš v tome.
Quote:
Stvarno ocajan izvor. Ima drugih, ali su uglavnom zastarjeli zbog promjena u programskom jeziku (slican problem kao Python, zna se mijenjati i specifikacija, i glavna implementacjia (GHC je de facto standard), a uz to ima jos promjenjiviji integrirani ekosustav libraryja i sl.).
Mislim da je najveći problem sve te dokumentacije da rade na umjetnim primjerima, umjesto stvarnim zadacima, kao na primjer pisanje web aplikacija v tome.

Umjesto toga, imaš milion primjera kak se manipuliraju liste i kaj se vse može z njima, a trebaju ti "howto" primjeri za povezivanje na bazu podataka, obradu teksta, regularne izraze, i generiranje HTML-a i CSS-a... po mojem, totalni mismatch između autora dokumentacije i ciljne publike. Poslije kad imaš aplikaciju implementiranu i treba ti više, potreban je reference manual.
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 14.08.2015., 09:45   #79
Quote:
wiseen kaže: Pogledaj post
* uopće ti nije problem koristit globalne varijable jer ima jako dobro definirane načine mutacije (+ module/namespacing) - nema potrebe za glupostima iz OOP-a tipa singletoni i štatijaznam - a nije prljavo ko u skriptnim jezicima di kad jednom počneš mijenjat globalne variable
* jako lako pisat kod koji se oporavlja od grešaka - ne mijenjaš vrijednosti direktno ili ih mijenjaš kroz izolirane primitive koji mogi imat i ugrađeno praćenje promjena pa imaš transakcijsku logiku unutar programskog jezika
* puno je lakše razmišljat o kodu jer su stvari lokalne - ne moraš pogađat gdje se koja varijable može promijenit unutar koda - mutabilne varijable one su posebno definirane i imaju eksplicitne operatore za mutaciju
* strukture su ti aciklične/serializiraju se po defaultu ako ne dodaješ mutable reference
Osupnul sem se kad sem ovo pročital. "Serijalizirane strukture"? "Acikličnost"? WTF? Lokalne/globalne varijable? WHAT. THE. FUCK!

Razmišljanje tipičnog developera i nekoga tko dolazi iz infrastrukture su kao nebo i zemlja! To je sraz svjetova!

Programiram v C-u već desetljećima i serijalizacija struktura mi nikada nije pala na pamet: kada želim snimiti stanje, otvorim filehandle i zapišem ono kaj hoću kao običan ASCII tekst, ili ako hoću biti fancy-schmancy, ispišem strukture na stdout, gdje ih neki drugi program onda može dalje putem pipe mehanizma procesirati. I to radi kao pjesma!

Ako poslije hoću vratiti stanje izvršenja nazad v program, učitam tu ASCII datoteku z onim kaj mi treba i vozim dalje. Čemu komplikacije?

Ja definitvno ne razmem takav mentalitet. Nepojmljiv mi je.

Apropos lokalnih/globalnih varijabli: skoro 30 godina programiram v shellu, i nikada, ali baš nikada nisem još naletl na grešku v programu izazvanu promjenom globalnih varijabli. I ne samo to, nego shell programi delaju to kaj delaju, učinkovito i jednostavno, upravo iskorištavanjem svojstva da su po defaultu varijable globalne! Opet, ne razumijem kakav mentalitet uzrokuje takve greške? Često čitam da je to kamen spoticanja kod programera, ali još nikad nis naletil na tak nekaj v praksi. Računalima i programiranjem se bavim prek 30 let.

Mislim da svi oni koji imaju takve probleme trebaju odguliti jedno deset godina v sistem administraciji, jer izgleda da jednostavno fali dodir z rješavanjem stvarnih problema i dizajniranjem učinkovitih aplikacija. Nemreš nigdi tak učinkovito navčiti programirati, nego kad imaš masivnu infrastrukturu i onda treba napisati aplikacije koje to automatiziraju, ili masivno-distribuirane aplikacije koje reagiraju na događaje v stvarnom vremenu, rasprostranjene po mreži od par tisuća ili nekoliko desetaka tisuća računala.

Današnji programeri izgleda nisu svjesni da je računanje i obrada podataka niš drugo nego njihov unos, obrada, te ispis. Pogotovo kod na primjer modernih web aplikacija. Imamo jednostavno ogroman jaz v načinu razmišljanja. Meni su problemi koje navodiš jednostavno znanstvena fantastika, jer način na koji razmišljam o problemu v aplikaciji nikada ne dovodi ni približno do takvih situacija ili komplikacija.

Možda je to bolje ilustrirati poredbom: automobil vozim tak, da mi jedino treba servo upravljanje, a ABS je lijep bonus; apsolutno mi ne trebaju traction i stability control, i ne samo da mi ne trebaju, nego mi još i smetaju pri vožnji!
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 14.08.2015., 16:10   #80
Quote:
UrchinStar47 kaže: Pogledaj post
Ne, najbliže tome je projekt koji koristi PyPy-ev JIT compiler za generiranje strojnog koda. Projekt je nedovrsen.
Kako se zove projekt? E da kako vidim da si spomenuo PyPy ako netko želi kompajlirati Python, predložio bih Nuitka kompajler.

http://nuitka.net/pages/overview.html

Što se tiče JVM kompilacije u strojno jel netko probao www.excelsiorjet.com/?
__________________
Information wants to be free
R00t-Sec is offline  
Odgovori s citatom
Odgovor


Tematski alati
Opcije prikaza

Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 13:03.