Doporučte programovací jazyk pro Windows

Re:Doporučte programovací jazyk pro Windows
« Odpověď #210 kdy: 13. 03. 2020, 04:10:12 »
Jeste pro srovnani, Python a zapis do SNS:

Kód: [Vybrat]
import boto3

# Write to SNS
sns = boto3.resource('sns')
sns.publish(TopicArn='myTopic123', Message='Hello world')

Programator nevi co mu srajdovni knihovna vraci za datovy typ a cumet musi do bidne dokumntace.

To same v Jave pro SNS:

Kód: [Vybrat]
AmazonSNS snsClient = AmazonSNSClient().standard().build();
PublishRequest publishRequest = new PublishRequest().withMessage("Hello world").withTopic("myTopic1234);
PublishResult publishResult = snsClient.publish(publishRequest);     

A jestli mi nekdo rekne, jak je Java ukecana, tak to potom fakt nevim co mam dotycnemu cloveku rict :-)
« Poslední změna: 13. 03. 2020, 04:14:27 od PetrK »


Ink

  • *****
  • 667
    • Zobrazit profil
    • E-mail
Re:Doporučte programovací jazyk pro Windows
« Odpověď #211 kdy: 13. 03. 2020, 05:58:07 »
Kód: [Vybrat]
PublishRequest publishRequest = new PublishRequest().withMessage("Hello world").withTopic("myTopic1234);

A jestli mi nekdo rekne, jak je Java ukecana, tak to potom fakt nevim co mam dotycnemu cloveku rict :-)

Prave se Ti podarilo ukazat, ze Java neni ukecana. ;-)

Re:Doporučte programovací jazyk pro Windows
« Odpověď #212 kdy: 13. 03. 2020, 06:23:32 »
Posledni 2 prispevky predstavuji shrnuti Java vs Python. Javista ukazuje, ze toho napsal vic, ale kuwa nemusi cumet do dokumentace na webu, protoze knihovna Java obsahuje veskera informace a datove typy, a Pythonista na to reaguje, ze ma delsi kod. Jsi hloupa cvicena copy-paste pyjthonisticka vopice.

Re:Doporučte programovací jazyk pro Windows
« Odpověď #213 kdy: 13. 03. 2020, 07:17:21 »

Dost z těch odkazů nefunguje (hlavně ty na wikipedii, zřejmě chyba paste na root.cz), některé jsou dost staré (https://dl.acm.org/doi/10.1145/97946.97964 z roku 1990 je už skutečně rarita),  ale ať se někam dostaneme, vybral jsem z ANGLICKE Wikipedie (přeci jen českou považuji za méně relevantní) pár populárních dynamických jazyků a vykopíroval z nich Typing discipline:

Python: Typing discipline   Duck, dynamic, gradual (since 3.5)
Perl: Typing discipline   Dynamic
PHP: Typing discipline   Dynamic, weak
Javascript: Typing discipline   Dynamic, duck
Ruby: Typing discipline   Duck, dynamic, strong

U dvou z pěti je uvedené  Weak/Strong. U žádného z těch dvou se už to slovo nevyskytuje kdekoliv jinde v textu, chybí vysvětlení "Proč".
 
Ale OK, podle tvých odkazů to skutečně vypadá, že se pojmy Strong/Weak stále ještě leckde používají, přes veškerou jejich nejednoznačnost (viz https://en.wikipedia.org/wiki/Strong_and_weak_typing). Já se od dynamicky typovaných jazyků přesunul časem spíš ke staticky typovaným jazykům, a v té komunitě se tyhle pojmy prakticky nevyskytují právě pro jejich nepřesnost.

Za sebe doufám, že jejich používání bude postupně opadat, když máme k dispozici slovník přesně popisující konkrétní vlastnosti typových systémů jednotlivých jazyků. Protože když mi teď někdo řekne "X je silně typovaný", tak to pro mě nemá žádnou vypovídací hodnotu vzhledem k tomu, že "strongly" má spoustu různých významů.

Ink

  • *****
  • 667
    • Zobrazit profil
    • E-mail
Re:Doporučte programovací jazyk pro Windows
« Odpověď #214 kdy: 13. 03. 2020, 07:22:10 »
Posledni 2 prispevky predstavuji shrnuti Java vs Python. Javista ukazuje, ze toho napsal vic, ale kuwa nemusi cumet do dokumentace na webu, protoze knihovna Java obsahuje veskera informace a datove typy, a Pythonista na to reaguje, ze ma delsi kod. Jsi hloupa cvicena copy-paste pyjthonisticka vopice.

Jako spravnemu clenu sekty Ti ani neprijde zbytecne porad dokola psat MyjTyp promenna = new MujTyp(). K dokonalosti uz chybi to jeste zduraznit v komentari (ano, fakt je to MujTyp) a udelat pro to podporu v IDE, aby to tam doplnovalo samo.

Ale jinak mas pravdu - staticke typovani ma svoje vyhody, jenze jsou jazyky, ktere to udelaly dobre a poradne (treba muj oblibeny Rust) a jsou jazyky, ktere z toho udelaly frasku (zde nebudu jmenovat, schvalne, ktery jazyk Te napadne jako prvni)...


Re:Doporučte programovací jazyk pro Windows
« Odpověď #215 kdy: 13. 03. 2020, 08:28:10 »
Jako spravnemu clenu sekty Ti ani neprijde zbytecne porad dokola psat MyjTyp promenna = new MujTyp(). K dokonalosti uz chybi to jeste zduraznit v komentari (ano, fakt je to MujTyp) a udelat pro to podporu v IDE, aby to tam doplnovalo samo.
Aha, o věci nic nevíte, takže vám nezbývá, než „argumentovat“ ad hominem.

Pokud někomu přijde zbytečné v Javě při deklaraci lokální proměnné uvádět typ, když je stejný, jako typ odvozený z inicializace, může použít klíčové slovo var.

Navíc předpokládám, že jste nechtěl napsat „psát“, ale „číst“ – protože tu deklaraci typu programátor opravdu nepíše, ani když chce typ deklarovat, napíše to za něj IDE.

Re:Doporučte programovací jazyk pro Windows
« Odpověď #216 kdy: 13. 03. 2020, 08:36:29 »
Dyt ten Ink ani neni programator, to psal. Je ty typicky cmrndala co dela jednou v tom, a potom zase v onom, a nikdy nic neudela poradne, a nikdy nic neumi poradne. Je to jen dalsi clen fanklubu "zkousime si ruzne programovaci jazyky", nic vic.

Nejvic me bavi, jak tady temhletem prijda Java komplikovana, pritom oni pak musi umet cmrdat na X ruznych platformach aby dali neco dohromady. Tomu ja rikam lopata. Normalni clovek co to ma v hlave srovnane se nauci jednu poradnou platformu, a zbyvajici volnou kapacitu pouzije na pekny design, diagramy, architektonicke dovednosti, optimalizace sq dotazu atp. Tihleti cmrndalove pe pekne stvou, jednou dlubou do toho, potom zase dlubou do onoho. Vecni dlubaci a zkouseci.

Pritom duvod proc je python jaky je, je ten, ze to nezastituje zadna velka firma. Tyhlety fanouskovske iniciativy nikdy nedokazi slepit dohromady nejakou poradnou vyvojovou platformu jako je Java nebo .NET.

Hlavne jde typickeho dlubace poznat podle toho, ze mluvis o Jave, a oni veskerou diskuze okamzite staci k Jave jakozto k Jazyku. Kdyz pritom to je jen jazyk.
« Poslední změna: 13. 03. 2020, 08:42:43 od PetrK »

Ink

  • *****
  • 667
    • Zobrazit profil
    • E-mail
Re:Doporučte programovací jazyk pro Windows
« Odpověď #217 kdy: 13. 03. 2020, 08:46:22 »
Jako spravnemu clenu sekty Ti ani neprijde zbytecne porad dokola psat MyjTyp promenna = new MujTyp(). K dokonalosti uz chybi to jeste zduraznit v komentari (ano, fakt je to MujTyp) a udelat pro to podporu v IDE, aby to tam doplnovalo samo.
Aha, o věci nic nevíte, takže vám nezbývá, než „argumentovat“ ad hominem.

Pokud někomu přijde zbytečné v Javě při deklaraci lokální proměnné uvádět typ, když je stejný, jako typ odvozený z inicializace, může použít klíčové slovo var.

Navíc předpokládám, že jste nechtěl napsat „psát“, ale „číst“ – protože tu deklaraci typu programátor opravdu nepíše, ani když chce typ deklarovat, napíše to za něj IDE.

Proc mi vysvetlujes, co vim? Samozrejme, ze ukecany kod je podstatne vetsi problem pro toho, kdo ho musi cist, protoze ma horsi pomer signal/sum.

Ink

  • *****
  • 667
    • Zobrazit profil
    • E-mail
Re:Doporučte programovací jazyk pro Windows
« Odpověď #218 kdy: 13. 03. 2020, 08:47:03 »
Dyt ten Ink ani neni programator, to psal. Je ty typicky cmrndala co dela jednou v tom, a potom zase v onom, a nikdy nic neudela poradne, a nikdy nic neumi poradne. Je to jen dalsi clen fanklubu "zkousime si ruzne programovaci jazyky", nic vic.

Jasne, brepto.

Re:Doporučte programovací jazyk pro Windows
« Odpověď #219 kdy: 13. 03. 2020, 08:48:48 »
Jako spravnemu clenu sekty Ti ani neprijde zbytecne porad dokola psat MyjTyp promenna = new MujTyp(). K dokonalosti uz chybi to jeste zduraznit v komentari (ano, fakt je to MujTyp) a udelat pro to podporu v IDE, aby to tam doplnovalo samo.
Aha, o věci nic nevíte, takže vám nezbývá, než „argumentovat“ ad hominem.

Pokud někomu přijde zbytečné v Javě při deklaraci lokální proměnné uvádět typ, když je stejný, jako typ odvozený z inicializace, může použít klíčové slovo var.

Navíc předpokládám, že jste nechtěl napsat „psát“, ale „číst“ – protože tu deklaraci typu programátor opravdu nepíše, ani když chce typ deklarovat, napíše to za něj IDE.

Proc mi vysvetlujes, co vim? Samozrejme, ze ukecany kod je podstatne vetsi problem pro toho, kdo ho musi cist, protoze ma horsi pomer signal/sum.

Horsi pomer signal/sum ma tak leda vecny zkousec a dlubala, co dela jednou v tom a jednou v onom a nikdy na nic nema specializaci. Normalni Javista ma praxi se ctenim Javovskeho kodu a vi, jake veci ma odfiltrovat a na jake se ma zamerit.

Ink

  • *****
  • 667
    • Zobrazit profil
    • E-mail
Re:Doporučte programovací jazyk pro Windows
« Odpověď #220 kdy: 13. 03. 2020, 08:53:36 »
Horsi pomer signal/sum ma tak leda vecny zkousec a dlubala, co dela jednou v tom a jednou v onom a nikdy na nic nema specializaci. Normalni Javista ma praxi se ctenim Javovskeho kodu a vi, jake veci ma odfiltrovat a na jake se ma zamerit.

Mas recht, roky jsem programoval v C, potom dalsi roky v C++ a pak spoustu let (profesionalne) vyhradne v Pythonu, tudiz moje znalosti jsou povrchni a s celozivotnimi javisty se tudiz nemohu merit. Delas cest sve bubline.

Re:Doporučte programovací jazyk pro Windows
« Odpověď #221 kdy: 13. 03. 2020, 09:23:27 »
Posledni 2 prispevky predstavuji shrnuti Java vs Python. Javista ukazuje, ze toho napsal vic, ale kuwa nemusi cumet do dokumentace na webu, protoze knihovna Java obsahuje veskera informace a datove typy, a Pythonista na to reaguje, ze ma delsi kod. Jsi hloupa cvicena copy-paste pyjthonisticka vopice.

Jako spravnemu clenu sekty Ti ani neprijde zbytecne porad dokola psat MyjTyp promenna = new MujTyp(). K dokonalosti uz chybi to jeste zduraznit v komentari (ano, fakt je to MujTyp) a udelat pro to podporu v IDE, aby to tam doplnovalo samo.

Ale jinak mas pravdu - staticke typovani ma svoje vyhody, jenze jsou jazyky, ktere to udelaly dobre a poradne (treba muj oblibeny Rust) a jsou jazyky, ktere z toho udelaly frasku (zde nebudu jmenovat, schvalne, ktery jazyk Te napadne jako prvni)...

Heh, kdybys v jave v rozumnem IDE opravdu neco delal, tak te zapis MujTyp promenna = new MujTyp() ale ani trochu nerozhazi.
Definujme ~ jako CTRL+SPACE ENTER - tedy vyber z naseptavace

Potom je zapis na pocet uhozu klavesnice:

Mu~=ne~ -  pricemz stejny typ je v naseptavaci prvni, pripadne inherited dale v poradi.

To je cele, tedy jeste kratsi, nez zapsat zkraceny krypticky zapis perlu nebo pythonu. Po par dnech kodovani je "~" ve svalove pameti a koder to meta rychlosti stovek milisekund.
A zrovna tato jednoducha zalezitost funguje i v pythonu pri pouziti PyCharm.

Cteni kodu dtto, IDE zvyraznuje text barevne, tucne, kurzivou, podtrzene, podtrzene vlnovkou a vykricnikama na okraji.
Staci par dni s IDE a pri cteni kodu oko samo hleda puze slova danem kontextu zvyraznena.
Kdzy se mu neco nelibi, rovnou nabidne nekolik variant, jak to opravit.

IDE neustale po kazdem uderu klavesy kompiluje kod specialnim rychlym kompilatorem, co jenom hlida syntaxi a linkuje. Takze kdyz metode pridam dalsi parametr. IDE mi na stovkach mist pouziti oznaci v ve stromu zdrojaku postizene zdrojaky. A rovnou nabidne refaktoring.
Muj drivejsi priklad z chybou pythonu, co zpusobi, ze program zbuchne v utery a v dubnu je zde roznou oznacen cerveny krizkem a IDE to odmitne zbuildovat.

Pri vytvoreni metody IDE rovnou vyrovi kosrtu JAVADOC komentaru (PyCharm dtto), obsahuje generatory na typicke konstrukty. Napr na public static void main(String[] args) je tam rovnou checkbox pri vyrabeni nove class.

Koder vubec neresi odsazovani ci formatovani (v pythonu nutnost kvuli blokum), obcas zmackne CTRL+ALT+F a vsecko se to krasne zformatuje podle definovanych pravidel.

Vysledkem je krasne citelny samopopisny kod, jehoz business logice rozumi defacto kazdy, kdo umi anglicky, kde koder REALNE NAPISE MENE ZNAKU, nez v pripade pythonu, kde nemusi lezt do dokumentace atributu funkci, protoze ide mu rovnou vyjede skeleton volani a hover mouse rovnou zobrazi typ kazdeho parametru a popis z javadocu.

A to vsechno proto jen, protoze staticke typovani umoznuje IDE vsechny tyto veci provadet.


Ink

  • *****
  • 667
    • Zobrazit profil
    • E-mail
Re:Doporučte programovací jazyk pro Windows
« Odpověď #222 kdy: 13. 03. 2020, 09:44:44 »
...

A to vsechno proto jen, protoze staticke typovani umoznuje IDE vsechny tyto veci provadet.

No a vidis, ja sice z IDE pravidelne pouzivam jenom CLion a roky jsem jel na zaostalem Visual Studiu (jeste predtim jsem zazil Borlandi IDE apod.), ale tyhle veci a) vim nebo b) tusim a hlavne se o ne c) nehadam.

Nepsal jsem, ze nikdo nema pouzivat Javu, ze Java nema svoje vyhody nebo ze se jeji nevyhody nedaji z casti vykompenzovat nejakym IDE nebo jinym nastrojem nebo prezit. Fakt nevim, jestli v mych prispevcich ctete neco, co tam neni nebo jsem neco v podobnem smyslu napsal a nepamatuju si to, ale tipuju tu prvni moznost.

Re:Doporučte programovací jazyk pro Windows
« Odpověď #223 kdy: 13. 03. 2020, 09:53:09 »
Ono sice   mujTyp promenna = new mujTyp()  vypadá ukecaně, pokud ty syntaxi použiju např ve stylu:
var promenna = new mujTyp(inicializacniParametry) , tak už tam žádnou zbytečnou omáčku nevidím.
Konstruktor bez vstupních parametrů je jen jedna z mnoha možných situací (i když možná v praxi nejčastější).

Re:Doporučte programovací jazyk pro Windows
« Odpověď #224 kdy: 13. 03. 2020, 10:23:51 »
Proc mi vysvetlujes, co vim?
Pokud to víte, tak proč píšete, jako byste to nevěděl?

Samozrejme, ze ukecany kod je podstatne vetsi problem pro toho, kdo ho musi cist, protoze ma horsi pomer signal/sum.
Jenže on to není šum. To jste jenom absolutně nepochopil, jak funguje přenos informací. Podívejte se na přirozené jazyky. Ty v sobě také mají spoustu redundance, kterou vy mylně nazýváte šumem. Jenže to není jejich chyba, je to výhoda. Podívejte se na historii přenosových kódování – také byla nejprve snaha to vylepšit a přenášet co nejúsporněji jedničky, ale nuly, a pak se ukázalo, že to nefunguje a přidáním samoopravných kódů se komunikace sice nafoukne, ale ve výsledku je efektivnější.

Stejně jako u přirozeného jazyka i u těch programovacích platí, že jejich efektivita při čtení není dána tím, aby byl program zakódován do co nejmenšího počtu bitů (to bychom psali ve strojovém kódu), ale aby byl co nejsrozumitelnější. Opakování i dlouhé popisné názvy přispívají srozumitelnosti.