Valentínska akcia je tu! Získaj až 80 % extra kreditov ZADARMO na náš interaktívny e-learning. ZISTIŤ VIAC:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:
Avatar
matesax
Tvůrce
Avatar
matesax:17.9.2012 21:05

Dobrý den,
již delší dobu se hrabu v F#. Nyní jsem se dočetl, že je o něj zájem, tak by mě zajímaly nějaké podobné informace - používanost, žádanost... A zároveň přemýšlím, jestli sem něco nepříspět...

 
Odpovedať
17.9.2012 21:05
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:18.9.2012 12:11

Trochu mi to připadá jako nepovedený kříženec Pythonu a Lispu. Z příkladů, které jsem viděl, jsem nebyl zrovna nadšen. Připadly mi zbytečně komplikované.

Možná mám jen averzi k produktům Microsoftu, tak to neber moc vážně.

Hore Odpovedať
18.9.2012 12:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
matesax:18.9.2012 14:47

Mě se naopak líbí hodně a alespoň pro mě je přehlednější, jedoduší... Zatím jsem tedy s tímto jazykem spokojen - ovšem studuji jej teprve něco přes měsíc. Hlavně se mi líbí syntaxe (Připadá mi, že má malou ukecanost.) a vůbec mi nevadí přísnost zápisu. Ale je to jako se vším - v něčem má výhody, v něčem nevýhody... (Něco je v něm složitější, něco jednoduší...)

Editované
 
Hore Odpovedať
18.9.2012 14:47
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Kit
David Hartinger:18.9.2012 14:58

F# je takový experiment, návrhem se oddaluje objektovému paradigmatu, jedná se o jazyk funkcinální. Více funkcionální, něž třeba JavaScript. Ještě jsem se k němu nedostal, ale určitě to jednou přijde.

Hore Odpovedať
18.9.2012 14:58
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:18.9.2012 16:02

Pokud hledáš co nejméně ukecaný jazyk, zkus Python. Výhodou je u něho, že pojede skoro na všem a najdeš k němu hromadu návodů a hotových skriptů, což ce o F# říct nedá.

Hore Odpovedať
18.9.2012 16:02
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:18.9.2012 16:15

Spíš jsem narazil na J# - nemám možnost si jej vyzkoušet - ale pracuji na jeho zprovoznění ve VS - každopádně ten by měl být jako Java multisystémový, syntaxe podobná C# - tedy prostě velice se mi zalíbil...

cs.wikipedia.or­g/wiki/J_Sharp

http://ithil.ujep.cz/…e/fsharp.pdf

Editované
 
Hore Odpovedať
18.9.2012 16:15
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:18.9.2012 16:18

Našel jsem v několika zdrojích, že F# umí pracovat s "dot pairs", což je asi nejdokonalejší datová struktura, použitelná na cokoliv. Jenže jsem k tomu už nenašel příslušné funkce CAR a CDR, jak je znám z Lispu. Předpokládám, že tam jsou, protože bez nich by to bylo k ničemu.

Hore Odpovedať
18.9.2012 16:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:18.9.2012 18:02

Nemůžu si pomoct, ale C#, F#, J# a možná i další ?# považuji spíš za pokus Microsoftu o vlastní řešení již zavedených jazyků Java, Python, Javascript, Lisp a kdoví čeho ještě. Zdá se, že nejúspěšnější z nich bude C# a po ostatních se časem slehne zem.

Ten návod na F# jsem si přečetl, ale podle mne obsahuje příliš mnoho syntaktických elementů a málo vlastností. Nebyla v něm ani zmínka o výjimkách, bez kterých si moderní jazyk nedokážu představit. Určitě tam jsou.

Hore Odpovedať
18.9.2012 18:02
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:18.9.2012 18:20

Nesouhlasím s tím, že nejsou návody - google - první odkaz:

http://techiethings.blogspot.cz/…eptions.html

 
Hore Odpovedať
18.9.2012 18:20
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:18.9.2012 20:12

No tak tohle je fakt úlet. Místo běžného try ... catch udělali try ... with, přitom se slovo with v jiných jazycích používá k jiným účelům. Takové hnusné chování k programátorům je pro mne jasným znamením, že se od takového jazyka mám držet co nejdál. Proč ten Microsoft nemůže dodržovat nějaký standard?

Navíc jsem F# na svých instalačkách nenašel, takže to stejně nemusím řešit. Raději zůstanu u Pythonu. Ten má sice zase pro změnu try ... except, ale na to si zvyknu snáze. Python mi připadá přehlednější, než F#.

Hore Odpovedať
18.9.2012 20:12
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovedá na David Hartinger
matesax:18.9.2012 21:04

Já myslel, že bych se do toho pustil já - mám již pár projektů - a velice rád bych napsal vlastní články - minimálně syntaxe, základní informace atd...

 
Hore Odpovedať
18.9.2012 21:04
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:18.9.2012 21:45

Myslím si, že nikomu nebude vadit, pokud se do toho pustíš. Začni psát.

Hore Odpovedať
18.9.2012 21:45
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:18.9.2012 21:49

Však - psal bych - ale kam? Pokud tu je sekce ostatní jazyky, či tak, tak se omlouvám - jdu to zkouknout...

Editované
 
Hore Odpovedať
18.9.2012 21:49
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Kit
David Hartinger:18.9.2012 21:55

Na to se schválně podívám, try... with zní opravdu divně :) Na druhou stranu, nevím, jak je to na tom Python, ale Ruby z něj vlastně vychází a prostě jsem to nezkousl. Metody se deklarují jako def, for cyklus je times, a výpis, pozor, je puts. To si opravdu museli říkat, že tam dají něco, co ještě nikde není. Tam nemohli dát write nebo print nebo tak něco 8| Potom se tam nedeklarovaly atributy tříd, ale používal se tzv. attr_reader a attr_writer, kde se vypsaly za sebe. Bylo to hrozně ufounské. V polích byly v indexech ASCII hodnoty místo charů, muselo se to převádět, to bylo velké WTF, naštěstí to potom změnili. Jasně, že se na to dá zvyknout, ale otázka je proč. A největší vtip byl v tom, že ten jazyk byl vlastně na houby, protože v tom nešly formy, nešlo to distribuovat, nic. Jen s ROR to mělo smysl na webu. Python zde často referuješ, zajímal by mě.

K těm jazykům od MS bych nebyl tak kritický, mají neskutečnou výhodu ve standardizaci a návrhu, C# je prostě vzorově navržený jazyk a .NET je dokonalý balík kvalitních knihoven na vše potřebné. To se u opensource jazyků prostě nevidí, např. Java a PHP jsou průměrné jazyky s velmi nekvalitními knihovnami. Asi proto C# Javu tolik válcuje, Javu chtějí firmy (protože nic nestojí), programátoři chtějí C#.

Hore Odpovedať
18.9.2012 21:55
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:18.9.2012 21:57

Jakmile budeš mít několik článků, David Hartinger ti pro ně založí vhodnou sekci a články přesune.

Hore Odpovedať
18.9.2012 21:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na David Hartinger
David Hartinger:18.9.2012 21:59

Ve stringách v indexeru byly ASCII hodnoty, ne v polích :)

Hore Odpovedať
18.9.2012 21:59
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:18.9.2012 22:09

Pythonu se budu věnovat víc. Nejen mě zaujal, ale také jsem dostal za úkol v něm něco zpracovat. Tak sem také občas něco pustím.

Jsem proti MS produktům zaujatý, to veřejně přiznávám. Berte mě v tom s rezervou.

O (ne)kvalitě Javy a PHP bychom spolu mohli polemizovat. Podle mne značně záleží na programátorovi, co z toho jazyka dokáže vyždímat. Tyto jazyky hlavně válcuje to, že v nich programuje hodně neprogramátorů, kteří to prostě neumí a nikdy umět nebudou.

Hore Odpovedať
18.9.2012 22:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:18.9.2012 22:27

Znám hodně programovacích jazyků. Nejvíc mě asi rozhodí, když jedno klíčové slovo se v různých jazycích používá k různým účelům. To bývá zdrojem mnoha chyb. Na druhé straně chápu, že autoři jazyka mají jisté právo na jejich výběr.

O Ruby jsem četl pár nepěkných mínění, ale sám jsem v něm napsal jen pár řádek, takže moc soudit nemohu. Mám ho stále nainstalováno, ale nepoužívám. Nejvíc mě asi děsí globálnost objektů, která může být (podobně jako v Perlu) u větších projektů smrtící. Python má tuto záležitost vyřešenu velmi elegantně: Povolí čtení globální proměnné, ale při prvním pokusu o její modifikaci se tvrdě postaví na odpor.

Hore Odpovedať
18.9.2012 22:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar

Tvůrce
Avatar
:19.9.2012 10:17

Mě F-ko docela zaujalo, vypadá to dobře...

 
Hore Odpovedať
19.9.2012 10:17
Avatar
Kit
Tvůrce
Avatar
Odpovedá na
Kit:19.9.2012 12:46

Funkcionální jazyky vypadají dobře. Jen ta syntaxe F# mi připadá dost složitá.

Hore Odpovedať
19.9.2012 12:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:19.9.2012 14:38

Názvy klíčových slov se často odvozují od některých starších jazyků. Klíčové slovo def je zřejmě částečně odvozeno od Lispu (defun, defvar, defmacro, defclass, defconstant, ...) a zkráceno. times možná při deklaraci vypadá divně, ale při použití už vypadá lépe. Ovšem také moc nechápu, proč udělali puts místo běžnějšího print, resp. println s novým řádkem. print můžeš použít také, ale neodřádkuje.

Moc se mi nelíbí end na konci bloku, Python ho nepotřebuje.

Hore Odpovedať
19.9.2012 14:38
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:19.9.2012 16:30

Ale tady také není třeba.

 
Hore Odpovedať
19.9.2012 16:30
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:19.9.2012 16:40

Jasně, protože F# používá také syntaxi YAML podobně jako Python. Psal jsem o jazyku Ruby a asi to nebylo z kontextu patrné.

Hore Odpovedať
19.9.2012 16:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:21.9.2012 5:49

Tak to s tím Pythonem zkouším. Nejlepší pro mě je, že nemusím opuštět VS - díky IronPythonu. Mám ale problém s češtinou - encoding (ve stringu...). Kde bych to měl nastavit? Děkuji.

Editované
 
Hore Odpovedať
21.9.2012 5:49
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:21.9.2012 7:10

Co?? - Zkoušel jsem datový potenciál - faktoriál - a bez problému mi to spočítalo faktoriál 2000 - sice nepřesně (zaokrouhlení - avšak na prvních cca 120 míst), ale to se mi v C# vůbec nedařilo - docházelo ke zkreslení již velice brzy.

Editované
 
Hore Odpovedať
21.9.2012 7:10
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:21.9.2012 7:18

Takové menší číslo... :)

 
Hore Odpovedať
21.9.2012 7:18
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:21.9.2012 8:03

Tomu říkáš nepřesné číslo? Tak v něm najdi chybu.

Zkus na začátek souboru napsat speciální řádek

# -*- coding: utf-8 -*-

Také se před český string píše "u".

string=u'Příšerně žluťoučký kůň'
Hore Odpovedať
21.9.2012 8:03
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovedá na Kit
matesax:21.9.2012 13:38

No přišlo mi, že je zaokrouhlené. Ale to jsem přeci neřešil - naopak udivilo mě, jak velké číslo si je schopen uchovat. C# mi již po 50tce začne blbnout - navíc zkracuje - X E +/- Y...

Problém je, že vím, jak to udělat, ale VS to prostě nebere - program se nespustí - s chybou to nejde. A definoce encodingu nic neřeší...

Editované
 
Hore Odpovedať
21.9.2012 13:38
Avatar
Kit
Tvůrce
Avatar
Odpovedá na matesax
Kit:21.9.2012 13:45

Není zaokrouhlené. Nuly na konci jsou v pořádku. Zkusil jsem i 2**1000000 a tu hromadu číslic to normálně vypsalo.

Python zvládá i komplexní čísla.

Hore Odpovedať
21.9.2012 13:45
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 29 správy z 29.