Jaký programovací jazyk zvolit?

Re:Jaký programovací jazyk zvolit?
« Odpověď #270 kdy: 29. 08. 2016, 23:52:30 »
Prostě každý má svoje zábavy, tak nevím, co chceš komu zakazovat.
Pointa byla velmi jednoduchá: popularita není dobrým měřítkem kvality. Jak si z toho vydedukoval zakazování, matkopřírodo suď.

Je to snad nějaký smysl života, abys byl vylepšený?
Pro mnoho lidí je rozvoj a vývoj skutečně jednou z hlavních priorit. Pro někoho osobní, pro někoho i společenský.

Někdo chce zůstat tam, kde je a nevadí mu to.
Však to je jeho věc, nikdo mu to nebere.

Prostě každý má rád něco jiného a pokud má nejvíc lidí rádo Blesk, tak to je fajn, ale to je tak všechno.
Pokud má X lidí rádo Blesk, tak to neznamená nic jiného než že X lidem se Blesk trefil do vkusu. Nic víc z toho neplyne.

...jo vlastně ještě jedna věc: pokud se redaktoři chtěli trefit právě do tohoto vkusu a podařilo se jim to, tak jsou profesionálové, kteří dobře umí svoji práci. Což si zasluhuje respekt, pokud to není za cenu nějakých morálních kompromisů.

O kvalitě obsahu to neříká vůbec nic.


JSH

Re:Jaký programovací jazyk zvolit?
« Odpověď #271 kdy: 30. 08. 2016, 08:01:11 »
... tak nevím, co chceš komu zakazovat.
Kdo tady chce komu co zakazovat?

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Jaký programovací jazyk zvolit?
« Odpověď #272 kdy: 30. 08. 2016, 11:58:38 »
Znova... obsah blesku JE kvalitní, protože jeho smyslem není vylepšovat lidi, jeho smyslem je vydělávat peníze a to se mu daří. Nemusí obsahovat fakta, věděcko-teologická pojednání o životě plžů na Marsu, rozbor možností OOP programování v Brainfucku, ani podobné zajímavosti. Prostě je v něm to, co spousta lidí chce, co je na jejich úrovni a za co jsou ochotní tu pětikačku zaplatit (nebo kolik ta sranda stojí).
Zkuste vzít nějakou odbornou literaturu, třeba něco o programování a předložit to nějaké kadeřnici. Až to přečte (jestli vůbec), tak se jí zeptejte, jak se jí to líbilo, jak moc ji to vylepšilo a jestli to považuje za kvalitní knihu.
Je to o základním nepochopení podstaty - Blesk nemá za cíl věnovat se seriózní žurnalistice, jak mnozí od novin očekávají, ale je to prostě bulvár, jeho kvalitu lze posoudit pouze v porovnání s jiným bulvárem a určitě u toho nebude prioritním kritériem etika. Párek taky není méně kvalitní než kladivo, protože s ním nejde zatlouct hřebík.

Re:Jaký programovací jazyk zvolit?
« Odpověď #273 kdy: 30. 08. 2016, 12:07:35 »
Znova... obsah blesku JE kvalitní, protože jeho smyslem není vylepšovat lidi, jeho smyslem je vydělávat peníze a to se mu daří.
Vydelavat se muze darit i na uplnem nesmyslu. Kdyz budu prodavat krabicku s ledkou pripojenou na baterku, budu to vydavat za "energeticky zaric" a lidi to budou kupovat za pet tisic, cili na jednom kusu vydelam asi tak 4950Kc, tak z toho plyne, ze to je "kvalitni energeticky zaric"?!

Je to o základním nepochopení podstaty - Blesk nemá za cíl věnovat se seriózní žurnalistice, jak mnozí od novin očekávají, ale je to prostě bulvár, jeho kvalitu lze posoudit pouze v porovnání s jiným bulvárem a určitě u toho nebude prioritním kritériem etika. Párek taky není méně kvalitní než kladivo, protože s ním nejde zatlouct hřebík.
Parek je mene kvalitni jidlo nez steak. I kdyby ho pul planety jedlo obden a Kostelecke uzeniny na nem mely marzi 95%.

Zakladni nepochopeni je u tebe: vsichni chapame a uznavame, ze na (pod)prumerne kvalitnim produktu se daji vydelat nadprumerne penize. A uznavame, ze je to dobry (kvalitni) business model. Jenze kvalita business modelu a kvalita produktu jsou dve zcela odlisne veci.

A stejne tak dve zcela odlisne veci jsou kvalita produktu a "vhodnost produktu danemu ucelu". Blesk je jiste vhodny pro masy ctenaru, Java je jiste vhodna pro masy programatoru. To z nich ale NEDELA kvalitni denik a kvalitni programovaci jazyk.

JSH

Re:Jaký programovací jazyk zvolit?
« Odpověď #274 kdy: 30. 08. 2016, 12:16:25 »
Znova... obsah blesku JE kvalitní, protože jeho smyslem není vylepšovat lidi, jeho smyslem je vydělávat peníze a to se mu daří.
Buřty z pilin jsou kvalitní, protože jejich smylem je vydělávat prachy a to se jim daří?


v

Re:Jaký programovací jazyk zvolit?
« Odpověď #275 kdy: 30. 08. 2016, 12:26:58 »
pokud se bavíte o kvalitě, tak je nutné mluvit i o kritériích, jinak se moc nedomluvíte

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Jaký programovací jazyk zvolit?
« Odpověď #276 kdy: 30. 08. 2016, 12:51:53 »
Ano, párek, nebo třeba buřt z pilin může být kvalitní produkt, protože si ho spousta lidí může dovolit každý den a každý den je kvalitně zasytí za řádově méně peněz, než steak, který by si spousta lidí každý den dovolit nemohla, takže by měli hlad. Dokonce se dají nacpat éčkama tak, až jim bude slupka praskat a budou mít úžasnou glutamátovou chuť, takže pro spousty lidí je i požitek z jídla kvalitní. Pokud jako měřítko kvality vezmeme zdravotní aspekty, pak už na tom bude pravděpodobně s kvalitou hůř.
U věcí nemateriálních je to s kvalitou složitější. Týká se to novin, knih, hudby, umění obecně... tam je to o vkusu a kvalitu může posoudit pouze někdo, kdo je cílovou skupinou daného produktu. Pro mě je Blesk něco, co si nekupuji, protože mě bulvár nezajímá, preferuji "čisté" informace, ve kterých mi nejsou podsouvány cizí názory a představy, protože ty si raději tvořím sám. Na druhou stranu, tchýně si Blesk kupuje a jakožto přečtený odpad se pro mě stává kvalitním materiálem na podpal.

Radek Miček

Re:Jaký programovací jazyk zvolit?
« Odpověď #277 kdy: 30. 08. 2016, 13:07:46 »
Teď třeba něco trochu dělám ve Scale a jsem tím jazykem dost zklamaný. Kdyby byl čistěji funkcionální, mohl být hezký, jednoduchý, příjemný.

Co konkrétně myslíte tím čistěji funkcionální? Narážíte na klasické stížnosti např. z We're Doing It All Wrong by Paul Phillips?

Citace
Ale tím, že chce dodržet interoperabilitu s Javou (viz předchozí odstavec), je to takový dost moloch se spoustou různých těžko pochopitelných pravidel, výjimek

Myslím, že interoperabilita s Javou není ten hlavní důvod (řekl bych, že důvodem byla absence teoretických základů a fakt, že chování některých vlastností jazyka nebylo dostatečně prozkoumáno v době, kdy se do jazyka dostaly). Třeba Dotty (v podstatě nová verze Scaly) je v některých ohledech čistší než Scala.

Citace
Třeba s čistotou Elixiru (o Elmu a Haskellu nemluvě)

Jenže Elm je výrazně jednodušší jazyk, který má v mnoha ohledech o dost horší vyjadřovací schopnosti (např. nemá higher-kinded typy, nemá makra, nemá typové třídy, nemá podtypový polymorfismus).

Hlavní problém Haskellu je seq, který řadu věcí komplikuje a jehož důsledkem je, že řada teoretických výsledků pro Haskell neplatí. GHC Haskell mi jako ideál čistoty nepřijde - obsahuje řadu netriviálních rozšíření, jejichž funkcionalita se všelijak překrývá a pro některé kombinace rozšíření nikdo nikdy nezkoumal, jak se chovají dohromady.

Re:Jaký programovací jazyk zvolit?
« Odpověď #278 kdy: 30. 08. 2016, 13:30:18 »
Co konkrétně myslíte tím čistěji funkcionální? Narážíte na klasické stížnosti např. z We're Doing It All Wrong by Paul Phillips?
Tuhle prednasku jsem nevidel, snad najdu cas na ni v brzke dobe kouknout a dam vedet.

Ted momentalne jsem myslel to, ze se ve Scale (z meho pohledu) uplne zbytecne resi nejake tridy. A z toho plyne spousta vyjimek. Napr. mezi sebou nemuzou dedit case classes. Zadnou logiku to (z pohledu novacka) nedava, je potreba si to zapamatovat.

Myslím, že interoperabilita s Javou není ten hlavní důvod (řekl bych, že důvodem byla absence teoretických základů a fakt, že chování některých vlastností jazyka nebylo dostatečně prozkoumáno v době, kdy se do jazyka dostaly). Třeba Dotty (v podstatě nová verze Scaly) je v některých ohledech čistší než Scala.
To je mozne, fakt se s tim jazykem teprve seznamuju, takze pisu o prvnich dojmech, ne o nejakem hlubokem vhledu. Zatim se z meho pohledu jazyk zbytecne komplikuje tim, co jsem psal vys: ze vubec obsahuje tridy, ktere jsou z pohledu "klasickeho funkcionalniho programovani" dost zbytecne.

Jenže Elm je výrazně jednodušší jazyk, který má v mnoha ohledech o dost horší vyjadřovací schopnosti (např. nemá higher-kinded typy, nemá makra, nemá typové třídy, nemá podtypový polymorfismus).
Ano, to je urcite pravda. Elm je cisty a jednoduchy za cenu mensi sily. Scala je silna a interoperabilni za cenu komplikovanosti.

Napr. obcas mi prekladac pise neco v tom stylu, ze u nejake lambdy potrebuje plne otypovani (omlouvam se, priklad ted narychlo nevymyslim) - proc, to nedokazu odhalit. Nepochybne je to jenom moje neznalost, ale to je prave spatne, ze je jazyk tak komplikovany, ze nejsem schopny predvidat, co prelozi a co ne.

Dalsi vec, kterou vubec nechapu, je nemoznost destrukturovat slozene typy primo v hlavicce fce. Napr. tohle (kod pro http://flink.apache.org/) je proste zhovadilost:

Kód: [Vybrat]
  stream
    .map((x) => x match { case (t,v) =>
      s"${t}: ${v}"
    })
    .print

za naprostou samozrejmost bych povazoval zapis
Kód: [Vybrat]
  stream
    .map( (t,v) => s"${t}: ${v}" )
    .print

...to jenom tak pro priklad, je toho daleko vic... prakticky na kazdem kroku narazim na neco, u ceho vubec nechapu, proc je to tak, jak to je... A to proste neni dobre.

Radek Miček

Re:Jaký programovací jazyk zvolit?
« Odpověď #279 kdy: 30. 08. 2016, 13:46:00 »
Dalsi vec, kterou vubec nechapu, je nemoznost destrukturovat slozene typy primo v hlavicce fce. Napr. tohle (kod pro http://flink.apache.org/) je proste zhovadilost:

Kód: [Vybrat]
  stream
    .map((x) => x match { case (t,v) =>
      s"${t}: ${v}"
    })
    .print

Nešlo by napsat následující?

Kód: [Vybrat]
  stream
    .map { case (t,v) => s"$t: $v" }
    .print

Re:Jaký programovací jazyk zvolit?
« Odpověď #280 kdy: 30. 08. 2016, 13:52:17 »
Nešlo by napsat následující?

Kód: [Vybrat]
  stream
    .map { case (t,v) => s"$t: $v" }
    .print
Neslo. To je prave ten pripad, co jsem psal, ze me ted nenapada priklad. Kompiler mi rekne:

Kód: [Vybrat]
Error:(150, 12) missing parameter type for expanded function
The argument types of an anonymous function must be fully known. (SLS 8.5)
Expected type was: ?
      .map { case (t,v) => s"$t: $v" }

...a pritom kdyz tam pridam to "(x) => x match", tak mu taky zadny typ nerikam a prelozi to. Je to pro me naprosto nepochopitelny chovani.

Radek Miček

Re:Jaký programovací jazyk zvolit?
« Odpověď #281 kdy: 30. 08. 2016, 14:06:15 »
Neslo. To je prave ten pripad, co jsem psal, ze me ted nenapada priklad. Kompiler mi rekne:

Kód: [Vybrat]
Error:(150, 12) missing parameter type for expanded function
The argument types of an anonymous function must be fully known. (SLS 8.5)
Expected type was: ?
      .map { case (t,v) => s"$t: $v" }

...a pritom kdyz tam pridam to "(x) => x match", tak mu taky zadny typ nerikam a prelozi to. Je to pro me naprosto nepochopitelny chovani.

Flink neznám, ale nepomůže https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/scala_api_extensions.html#accept-partial-functions ?

Re:Jaký programovací jazyk zvolit?
« Odpověď #282 kdy: 30. 08. 2016, 14:18:51 »
Flink neznám, ale nepomůže https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/scala_api_extensions.html#accept-partial-functions ?
To uz jsem taky zkousel a nefunguje mi to. Kdyz pridam
Kód: [Vybrat]
import org.apache.flink.streaming.api.scala.extensions._
tak ta chyba nezmizi a ten import radek se v Idea zobrazuje sede (nevyuzity import). Pritom mam Fink 1.1.1, u ktereho by to melo fungovat. Tak nevim.

Ale spis mi slo o princip: prekladac si stezuje na to, ze nezna typ. Kdyz pred ten vyraz dam nejakou obalku, ktera mu typ taky nesdeluje, tak je najednou v pohode. A spravit by se to melo nejakym importem nevim ceho. To se mi fakt nelibi, kdyz vubec netusim, co prekladac dela... A na tyhle veci proste narazim porad :(

Radek Miček

Re:Jaký programovací jazyk zvolit?
« Odpověď #283 kdy: 30. 08. 2016, 14:36:52 »
Ale spis mi slo o princip: prekladac si stezuje na to, ze nezna typ. Kdyz pred ten vyraz dam nejakou obalku, ktera mu typ taky nesdeluje, tak je najednou v pohode.

Chápu. Potíž je v tom, že obě konstrukce se trochu liší (jsou popsány i v různých částech specifikace - jedna v 6.23, druhá v 8.5).

Citace
A spravit by se to melo nejakym importem nevim ceho.

Ten import přidá novou funkci mapWith, která nemá různé overloady (původní map má minimálně 2), tj. kompilátor snáze uhodne typ.

Re:Jaký programovací jazyk zvolit?
« Odpověď #284 kdy: 30. 08. 2016, 14:40:03 »
Chápu. Potíž je v tom, že obě konstrukce se trochu liší (jsou popsány i v různých částech specifikace - jedna v 6.23, druhá v 8.5).
No a jsme u toho... Vyjimky, speciality, vyjimky z vyjimek a specialni vyjimky ze specialit... :)

Ten import přidá novou funkci mapWith, která nemá různé overloady (původní map má minimálně 2), tj. kompilátor snáze uhodne typ.
Aha. Takze hnusny hack na neco, co bych ocekaval, ze bude fungovat samo od sebe...