Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Mirek Prýmek

Stran: 1 ... 261 262 [263] 264 265 ... 618
3931
Server / Re:Problém s naslouchaním portu na VPS
« kdy: 23. 07. 2015, 17:06:15 »
Čili vlastně říkáš: mám nějaký program a ten program nefunguje. Nevíte, čím by to mohlo být?

Možná by pomohlo, kdybys pro začátek třeba poslal zdrojáky toho programu a ukázal výpis po jeho spuštění?

3932
Vývoj / Re:Logické programovací jazyky?
« kdy: 23. 07. 2015, 09:25:59 »
V SecuritEase si napsali CQL.
Jo, generovat SQL z Prologu si umím představit v pohodě. Ještě lepší by to bylo z Datalogu. Mně šlo spíš o to, že Prolog je podobně deklarativní jako SQL, takže není od věci ho obalit něčím víc imperativním (popř. funkcionálním) stejně jako se to dělá s SQL.

3933
Vývoj / Re:Logické programovací jazyky?
« kdy: 23. 07. 2015, 08:21:20 »
Jsem někde viděl implementaci Prologu (nebo jeho části) v CL. Jak jsi to měl řešené v Elixíru?
Implementací Prologu v Erlangu: https://github.com/rvirding/erlog a můj trapný wrapper pro něj: https://github.com/mprymek/exlog

Ten můj pokus, který ho využívá, je tady: https://github.com/mprymek/symconfig ale je tam zatím nahraná jenom starší verze, která toho moc neumí :)

V PostgreSQL je to naopak. Základní engine je jakože logické, a ty rutiny můžeš psát v široké paletě jazyků. Java, Python, Lua,...
Jj, vím. Ale ty SQL dotazy tam ještě taky sypeš nějakým "normálním" jazykem - Javou, PHP, ... Určitě je to praktický mít imperativní jazyk "zvenku", protože si v něm bez problémů uděláš IO apod. a to vlastní logický chroustání necháš na ten logický jazyk. Do Prologu se sice dají celkem pohodlně dávat callbacky třeba na céčko (v Prologu nepotřebuješ referenční trasparentnost apod.), ale opačně je to imho pohodlnější...

3934
Vývoj / Re:Logické programovací jazyky?
« kdy: 23. 07. 2015, 00:16:27 »
A není lepší v takových případech udělat úkrok stranou, a takový imperativní výpočet vytknout do nějaké rutiny... V SQL na to jsou uložené procedury, a přijde mi ta provázanost logického a imperativního celkem fajn.
Taky si myslím, nedávno jsem přesně tohle použil: Elixir na výkonnou část, Prolog na dotazování nad daty. Akorát to někdy asi může být trochu problém technickej - interoperabilita různých jazyků nebývá procházka růžovou zahradou :)

3935
Vývoj / Re:Logické programovací jazyky?
« kdy: 22. 07. 2015, 16:19:54 »
Můžete pak počítat  MÁLO + MÁLO = MÁLO, MÁLO + MÁLO + MÁLO = HODNĚ :-)
No a?

3936
Odkladiště / Re:Prodej mého software bez souhlasu
« kdy: 22. 07. 2015, 15:31:54 »
Zlatej Drupal s obycejnou GPL bez dalsich sracek kolem.
Autoři OSL tvrdí, že to je právě jednodušší a tímpádem jasnější licence, která nezabíhá do technických detailů typu "co je to vlastně linování?"

3937
Vývoj / Re:Logické programovací jazyky?
« kdy: 22. 07. 2015, 15:29:45 »
Ve Forthu díky jeho konstrukci je to to o kapánek přímočařejší, protože si můžete de facto předefinovat i "klíčová slova". Proto jsem ho uvedl, třeba autor dotazu spíše potřebuje toto, než sensu stricto logické programování.
Ale tazateli přece nejde o to, jestli se nějaké symboly v jazyce dají předefinovat, nota bene tak uchylně, aby symbol "3" měl význam "5". Ptá se na to, jestli existují jazyky, které primárně nejsou určeny k manipulaci s čísly, ale s nějakými (symbolickými?) logickými fakty. A to jsou prostě logické programovací jazyky, mezi které Forth rozhodně nepatří ani náznakem.

Když už jsme u toho, možná by sem mohly spadat i jazyky, které jsou určené k nějakým jiným symbolickým operacím, třeba k nějakým úpravám matematických výrazů nebo tak něco. Určitě něco existuje, ale tady už nemůžu sloužit, nikdy jsem nic takovýho nepoužíval.

3938
Odkladiště / Re:Prodej mého software bez souhlasu
« kdy: 22. 07. 2015, 15:25:19 »
A pokud vím, tak v licenci poměrně přesně stojí, že Magento, konkrétně comunity edition, prodávat nesmíš, pokud nejsi partner  ;D [...] Pokud jim neplatíš partnerský poplatek, nesmíš za úplatu magento nasazovat.
No tak kdyby ses místo svých dojmů podíval aspoň na jejich licensing FAQ, tak bys neuváděl lidi v omyl:

Citace
I'm a merchant. What does "open source" mean to me?
You may download, modify, use, and distribute the open source Software.

I'm a developer. What does the OSL 3.0 license mean to me?
[...] Developers can modify and customize the software and distribute their own derivative works under the OSL 3.0 license.
http://magento.com/legal/licensing

3939
Vývoj / Re:Logické programovací jazyky?
« kdy: 22. 07. 2015, 14:29:29 »
No ve Forthu je číslo slovo, takže zase jednoduše můžete čísla nahradit slovy (tedy procedurami) a pracovat se zásobníkem, i operace je slovo, tak můžete definovat například  slova pro výraz MNOHO BEZ NĚKOLIKRÁT MÉNĚ = TROCHU, když aplikujete nějakou fuzzy logiku.
To ale pořád nemá nic společného s logickým programováním. Logické programování je založeno na tom, že mám množinu nějaký faktů a pravidel, a dotazuju se, co za takové situace lze dokázat. Forth je AFAIK čistokrevný imperativní jazyk, tak nemaťme zbytečně pojmy (už tak dost zmatené :) ).

3940
Odkladiště / Re:Prodej mého software bez souhlasu
« kdy: 22. 07. 2015, 11:41:04 »
Pokud výzva ke stažení kopie nepomůže, tak by bylo hodně zajímavý sledovat, jak české soudy rozhodují o tom, jestli PHP plugin vytváří odvozené dílo nebo ne :) Očekával bych tak aspoň pět let tahanic...

3941
Vývoj / Re:Logické programovací jazyky?
« kdy: 22. 07. 2015, 09:30:19 »
Nakonec i Forth.
Co má Forth společného s logickým programováním?

3942
Vývoj / Re:Logické programovací jazyky?
« kdy: 22. 07. 2015, 08:23:07 »
Ono se hlavně cokoliv implementované v prologu zvrhne na rekurzi se seznamem, což začně být velmi brzo hrozně otravné, protože člověk nedělá nic jiného, než že rozděluje seznamy a postupně je rekurzivně zpracovává.
To bych neviděl jako zásadní problém, to se stává i ve funkcionálním programování :) Horší je, že logické programování dává logiku :) hlavně tam, kde máš čistě deklarativní problém. Pokud začneš deklarativní programování znásilňovat k tomu, abys z něj vydupal de facto procedurální (což se v praxi u obecných problémů stane skoro vždycky), přestává ta jednoznačně deklarativní orientace jazyka dávat smysl a je to jenom vopruz...

Ale jinak nic proto prologu, je to pěkný jazyk a myslím, že každý by si v něm měl zkusit něco udělat, získá trochu jiný náhled na problém, než z imperativních jazyků.
Jj. Když už pro nic jinýho, tak je to dobrý pro to, že si člověk líp uvědomí, jak (predikátová) logika (hlavně prvního řádu) funguje. A může si vyzkoušet, že některé problémy se dají elegantně řešit převedením na zjišťování dokazatelnosti, protože to má člověk v inferenčním enginu tak nějak zadarmo ;)

3943
Vývoj / Re:Logické programovací jazyky?
« kdy: 22. 07. 2015, 07:47:35 »
Existují jazyky, které jsou zaměřeny primárně na logiku než na čísla apod.?
Ano. Akorát teda datové typy mají víceméně stejné, na těch až tak nesejde. Spíš je tam ta logika jako hlavní nástroj pro popis struktury algoritmu a dat. Pro programování obecných věcí se to moc neujalo, nejspíš proto, že to je takové... trochu specifické a ne úplně intuitivní, takže si s tím asi moc programátorů nechce lámat hlavu :)  V podstatě jde o to, že abys v logickém programovacím jazyku provedl nějaký výpočet o předem daných krocích, musíš mu předhodit nějaká fakta a odvozovací pravidla a svým způsobem odvozovací engine donutit, aby postupoval přesně tou cestou, kterou chceš, aby postupoval, takže je to trochu přes ruku...

Výborně se to ale hodí na problémy, kde primárně nechceš nějaký výpočet s nějakými konkrétními kroky, ale chceš se opravdu ptát, co plyne z nějakých faktů. Takže typicky nějaké znalostní databáze, na ty je to prima věc. Podle mě by k tomu aspoň trochu přičichnout měl každý programátor, čistě proto, aby věděl, že tahle se problémy dají řešit taky.

Asi nejznámější jazyk je Prolog a jeho jednodušší (a tímpádem i "předvídatelnější") varianta Datalog. Ale v podstatě je logickým programovacím jazykem i SQL (bez procedur). Jinak viz https://en.wikipedia.org/wiki/Logic_programming

3944
A že vzniká milión nástrojů? To je důkaz, že se ekosystém vyvíjí, protože JS už není pouze záležitost prohlížečů, ale i serverů.
Problém je v tom, že vznikne jeden nástroj, pak se zjistí, že je naprd, tak vznikne jiný nástroj s úplně jinou filosofií atd. pořád dokolečka a s neuvěřitelně rychlou obrátkou. Dobrý ekosystém, který přitahuje dobré programátory, se pozná mj. podle toho, že když se něco navrhne, tak se to pak používá dlouho, protože to je prostě udělané dobře.

Nejsem do JS nijak zanořenej, snažím se mu vyhýbat seč to jde, ale třeba když vidím deset vnořených callbacků v kódu pro node a lidi, kteří to adorují, jak je to bezva věc, tak nevím, jestli brečet nebo se jít živit opravovávním ledniček. Teď teda s velkou pompou přišli s async/await a co jsem tak koutkem oka zahlídl, už jsou diskuse o tom, jestli je to udělaný dobře.

JS je prostě jedna velká marnost. Vezme se jabloň, na ni se naroubuje švestka, ale protože je momentálně v módě meruňkovej džem, narve se tam syntetický meruňkový aroma, který se musí vyrobit v obrovitánské továrně, o které nikdo neví, jak funguje.

3945
A ještě jsem v původním příspěvku zapomněl dodat, že pokud směřuješ k systémovým věcem, tak určitě nevynechat go. Je neuvěřitelné kolik top systémových věcí v tom za poslední dobu vzniklo.
Taky bych se za Go přimlouval, jeden z mála zajímavých jazyků, které v posledních deseti letech vznikly. Akorát pro freelancing to moc není - bude chvilku trvat, než v tom nějaké kšefty budou a je nemalá šance, že nikdy nebudou... (v ČR)

Dokumentace ano. Bohužel s abstrakcí je to slabší a s modularitou naprosto zoufalé (to platí i pro .NET). Charakterizoval bych to spíše jako antimodulární - především kvůli tomu, že podtypový polymorfismus je nominální a nikoliv strukturální.
No jo, jenže jaké jazyky strukturální podtypy mají? Vím jenom o Go a aspoň v jistým smyslu to jsou Elixir a Haskell. Čili pro freelancera nic moc výběr ;)

Stran: 1 ... 261 262 [263] 264 265 ... 618