Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: petr_bures 20. 02. 2020, 14:15:59

Název: Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 20. 02. 2020, 14:15:59
Ahoj, chtěl jsem začít programovat v C++ ale dneska jsem zjistil, že je to jeden z nejtěžších jazyků vůbec a pokud nechci vyvíjet aplikace, které potřebují vysoký výkon, je zcela zbyteční.

Požadavky na programovací jazyk
- pro windows
- běží v konzole
- umí spouštět příkazy a batch soubory pro windows
- umí rozpoznat stisknuté klávesy
- umí pracovat se soubory

Díky za tipy.
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: 8B3CE273 20. 02. 2020, 14:38:41
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: Tomas-T 20. 02. 2020, 14:40:30
Já bych doporučil c#, .NET Core a Visual Studio.
Je jednodušší než c++ ale se stejnou základní syntaxí, kterou už asi znáš.
Bez problémů splní vše tebou výše požadované.
Vývojové prostředí je pro nekomerční použití (Community verze) je zdarma.
Má dostatečně širokou komunitu, takže na běžné problémy najdeš rychle hotové řešení.
S .NET Core si nezavíráš dveře k Linuxu.

Snad jen pro někoho nevýznamná pro jiného významná nevýhoda - k běhu potřebuješ nainstalovaný framework - neuděláš jediný zcela na ničem nezávislý exe soubor.

EDIT:
- Visual Basic bych moc nedoporučil - nic navíc oproti c# jeho použitím nezískáš, komunita je menší a jeho syntaxe je občas taková divná, jinde tu znalost nevyužiješ. Starám se o jeden projekt, kde je polovina ve VB a polovina v c#, vím o čem mluvím.
- Powershell je určením spíš skriptovací jazyk na různé podpůrné utility, není určený pro tvorbu běžných okenních aplikací - ale pro konkrétní věc může být OK.
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 20. 02. 2020, 15:12:43
javascript/typescript
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 20. 02. 2020, 15:26:02
Ahoj, chtěl jsem začít programovat v C++ ale dneska jsem zjistil, že je to jeden z nejtěžších jazyků vůbec a pokud nechci vyvíjet aplikace, které potřebují vysoký výkon, je zcela zbyteční.

To není úplně pravda. C++ do začátku není zas tak hrozné.

Nicméně do začátku bych zkusil něco z


Naopak nedoporučuji Javu.

Ono ale záleží, co s tím chce člověk dělat... na úplné základy programování je to celkem jedno (byť bych preferoval něco s C-like syntaxí, což ze seznamu splňuje vše krom Pythonu), spíš bych se řídil tím, jaké materiály má člověk k dispozici.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 20. 02. 2020, 15:41:54
Ahoj, chtěl jsem začít programovat v C++ ale dneska jsem zjistil, že je to jeden z nejtěžších jazyků vůbec a pokud nechci vyvíjet aplikace, které potřebují vysoký výkon, je zcela zbyteční.

To není úplně pravda. C++ do začátku není zas tak hrozné.

Nicméně do začátku bych zkusil něco z

  • JavaScript
  • Python nebo Perl
  • C, ale s velkým ALE... a jelikož chceš na Windows, tak vlastně ani nedoporučuji

Naopak nedoporučuji Javu.

Ono ale záleží, co s tím chce člověk dělat... na úplné základy programování je to celkem jedno (byť bych preferoval něco s C-like syntaxí, což ze seznamu splňuje vše krom Pythonu), spíš bych se řídil tím, jaké materiály má člověk k dispozici.

javascript je asi lepší na GUI aplikace, jinak je python dobrá volba.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 20. 02. 2020, 15:53:28
Díky za tipy
V JavaScriptu něco málo dělám, ale že by uměl to co jsem poptával tomu fakt neumí. Práce se soubory je nulová - nemá přístup k souborům.
Python znám, je to super jazyk ale měl jsem neustálé problémy s tím odsazením kódu místo složených závorek, tak jsem se na to vykašlal :-(
V Perlu a v C jsem nikdy nedělal, absolutně neznám.
Myslel jsem. že to C++ dám, ale hledat třeba to, jak se vypíná kurzor v terminále a aby to bylo funkční je běh na dlouhou trať. Primitivní věc a za 6 hodin jsem to nedokázal úspěšně vyřešit. Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Michal Šiman 20. 02. 2020, 15:55:47
Python jednoznacne z toho co pises v uvodu. Hlavne je to univerzal, takze se ti to pozdeji bude hodit i v linuxu a prakticky vsude jinde ... ale jak uz tu nekdo psal, zalezi co s tim chces psat ... na programovani her to urcite neni, na male ulohy pro admina urcite ano ...
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: petr_bures 20. 02. 2020, 15:56:36
Já bych doporučil c#, .NET Core a Visual Studio.
Hele to jsou dva rozdílné programy C# a .NET Core ? Který je i pro linux?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Daniel Novotný 20. 02. 2020, 16:01:32
Pokud se ti líbil Python, ale nemáš rád to vynucené odsazení, zkus Ruby: https://www.ruby-lang.org/en/ (https://www.ruby-lang.org/en/) - taky skriptovací a objektově orientovaný jazyk, ale nevynucuje odsazování.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 20. 02. 2020, 16:13:42
V JavaScriptu něco málo dělám, ale že by uměl to co jsem poptával tomu fakt neumí. Práce se soubory je nulová - nemá přístup k souborům.

Node.js

Python znám, je to super jazyk ale měl jsem neustálé problémy s tím odsazením kódu místo složených závorek, tak jsem se na to vykašlal :-(

Chce to mezery a víc trpělivosti.

V Perlu a v C jsem nikdy nedělal, absolutně neznám.

Oba jazyky jsou dost uzrálé, o Perlu onehdá vyšlo 4. vydání Perl pro zelenáče od p. Satrapy (najdeš to v knihách tady na rootu nebo na cz.nic).

Myslel jsem. že to C++ dám, ale hledat třeba to, jak se vypíná kurzor v terminále a aby to bylo funkční je běh na dlouhou trať. Primitivní věc a za 6 hodin jsem to nedokázal úspěšně vyřešit.

To je to tak moc potřeba?

Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Vždyť jsem ti to psal v tom vedlejším vlákně - metoda size.
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: xyz 20. 02. 2020, 16:14:56
javascript/typescript

https://dorey.github.io/JavaScript-Equality-Table/
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: kaaja3 20. 02. 2020, 16:16:04
Já bych doporučil c#, .NET Core a Visual Studio.
Hele to jsou dva rozdílné programy C# a .NET Core ? Který je i pro linux?
C# je programovací jazyk
.NET Core je framework, ve kterém se dá mimo jiné programovat v C#. Program ti to zkompiluje pro spuštění a obsahuje sadu knihoven. Navíc je i multiplatformní - program jde zkompilovat i pro linux. Respektive s jistými výhradami - např gui věci nejdou.
Visual Studio je IDE - prostředí, kde se vyvíjí. Jinak v .net core jde vyvíjet i např ve visual studio code.

Jinak asi na spouštění batch příkazů bych asi nedoporučil. Jde to, ale už musí člověk rozumět tomu, co dělá.

A ad spuštění bez nainstalovaného frameworku není úplně pravda. Dá se udělat sestavení, které si framework vezme sebou, ale pak je i malý projekt je docela dost velký.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Daniel Novotný 20. 02. 2020, 16:32:34
Python jednoznacne z toho co pises v uvodu. Hlavne je to univerzal, takze se ti to pozdeji bude hodit i v linuxu a prakticky vsude jinde ... ale jak uz tu nekdo psal, zalezi co s tim chces psat ... na programovani her to urcite neni, na male ulohy pro admina urcite ano ...
tak na programování her je v Pythonu knihovna PyGame, která je sama napsaná v C a assembleru, takže nízkoúrovňové věci jsou optimalizované a člověk se o ně nemusí starat a může se soustředit na vysokoúrovňové aspekty svojí hry
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: Jakub Pařez 20. 02. 2020, 16:59:18
Snad jen pro někoho nevýznamná pro jiného významná nevýhoda - k běhu potřebuješ nainstalovaný framework - neuděláš jediný zcela na ničem nezávislý exe soubor.
Dovolil bych si nesouhlasit. .NET Core 3.0 umožňuje vytvořit jediný exáč, bez jakékoliv závislosti na OS a nainstalovaném frameworku...
dotnet publish -r win-x64 --self-contained
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 20. 02. 2020, 17:05:44
C#, bez debaty. Z toho co tu padlo je nejuniverzálnější a nejvýkonnější.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 20. 02. 2020, 17:13:36
Za mě Python, Groovy, Java. Vše je multiplatformní.
Pro výuku a testování drobných nástrojů a skriptů se dost hodí interaktivní konzole, tu má python, groovy i java (od verze 11 má jshell. Zabalit aplikaci jako exe umí všechny tři varianty (tedy nevím jak Groovy). C# Net nepoužívám, ale je to taky dobrá varianta srovnatelná s javou, akorát je tam menší multiplatformnost (pokud se omezíte na Core tak by to mělo být lepší).

Doporučení pro javascript nesdílím, i když s nodejs můžete i v javascriptu přistupovat k systému. Osobně bych si tuto variantu ale nevybral.
Název: Re:Doporučte programový jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 20. 02. 2020, 17:50:54
javascript/typescript

https://dorey.github.io/JavaScript-Equality-Table/

vetsina z toho se v typescriptu nezkompiluje.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tecka 20. 02. 2020, 17:53:49
Tak když ho C++ zklamalo obtížností vypnutí kurozoru v terminálu, tak je v první řadě potřeba říct, že takové věci neřeší žádný programovací jazyk.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 20. 02. 2020, 17:56:09
Javu prosím ne. To je strašně ukecaný jazyk. Také dost svádí k používání těžkotonážních IDE, což také není do začátků nejšťastnější...

Tak když ho C++ zklamalo obtížností vypnutí kurozoru v terminálu, tak je v první řadě potřeba říct, že takové věci neřeší žádný programovací jazyk.

+1
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 20. 02. 2020, 18:41:21
Tak když ho C++ zklamalo obtížností vypnutí kurozoru v terminálu, tak je v první řadě potřeba říct, že takové věci neřeší žádný programovací jazyk.
Aha - tak to je ale velmi důležitá informace..
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 20. 02. 2020, 18:49:21
Zatím se mi tedy nejvíc líbí C#, sice nevím ani jak se to čte (asi cékřížek?)  8) ale asi to zkusím.
Když něco hledám a dám k tomu C# vždy to najde nějaký .NET Framevork, jaký je mezi nimi rozdíl?
.NET Framework vs .NET Core. Dá se to popsat jednou větou? Díky
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 20. 02. 2020, 19:18:30
Bez schopnosti si dané informace dohledat se budete libovolný jazyk učit těžko.

Jinak v ukecanosti C# a javy nebude podstatný rozdíl. Rozdíl je spíš v tom, že java má košatější ekosystém okolo, tj. i složitější na orientaci.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Tomas-T 20. 02. 2020, 19:36:09
čte se to C sharp (sí-šarp).

Jakub Pařez: Za tip s kompilací dík, nevěděl jsem, že to jde (i když výsledek stejně není srovnatelný s tím co dostanu z C/C++ kompilátoru), dělám v práci většinou webové aplikace, konzolové a okenní věci málo.

Mezi klasickým .NET Frameworkem a .NET Core Frameworkem je v používání malý rozdíl, velká část věcí je shodná, lze je i kombinovat v jednom projektu (nedoporučuju  ;D) - ale dle Microsoftu patří budoucnost .NET Core - nejspíš kvůli jeho multiplatfomnosti. Některé nové věci už přidává jen do Core.
https://docs.microsoft.com/cs-cz/dotnet/standard/choosing-core-framework-server   (https://docs.microsoft.com/cs-cz/dotnet/standard/choosing-core-framework-server)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Radovan . 20. 02. 2020, 20:23:43
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku.
"The more you sweat in training, the less you bleed in combat."

Podívej se znovu na ten Python, to odsazování má smysl v každém jazyce, nejde přitom jenom o samotnou přehlednost programu, a je to věc tvé vlastní disciplíny. Python tě k tomu prostě donutí, protože bez něj nefunguje.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 20. 02. 2020, 20:26:46
To C# bude asi nejlepší volba, základy jsou jednoduché, jde to ve VS a v případě potřeby to je do značné míry multiplatformní.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zdeno Sekerák 20. 02. 2020, 21:13:01

Podívej se znovu na ten Python, to odsazování má smysl v každém jazyce.
[/quote]

Tohle je nejvetsi pitomost co jsem kdy v nejakem jazyku potkal. Odsazeni zalezi na tabulatoru, mezerach a pod.
Pocitat mezeri jestli ten kod patri do jednoho bloku odsazeni nebo ne je zdrojem "super chyb".
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: panpanika 20. 02. 2020, 21:19:37
kdezto pri pocitane nahodne umistenych zavorek se clovek spleazt nemuze...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: neregistrovany 20. 02. 2020, 22:01:55
hledat třeba to, jak se vypíná kurzor v terminále a aby to bylo funkční je běh na dlouhou trať. Primitivní věc a za 6 hodin jsem to nedokázal úspěšně vyřešit.

ANSI sekvence ESC25l vam nefunguje?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: alex6bbc 20. 02. 2020, 22:35:48
ja jsem ted nadsen Go (golang).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 20. 02. 2020, 22:43:25
ANSI sekvence ESC25l vam nefunguje?
Asi nefunguje :(

Tak jsem to všechno stáhl a nainstaloval, vytvořil jsem nový projekt ve Visual Studio 2019 a v Test.cs mám

using System;

Kód: [Vybrat]
namespace Test
{
          class Program
          {
                    private static void Main()
                    {
                              Console.WriteLine("Hello World!");
                    }
          }
}

Nikde nevidím, že bych volal tu třídu, jak to, že to funguje?

PS: C# funkce neumí? Nemůžu to najít. Díky
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 20. 02. 2020, 23:02:49
Nebylo by opravdu lepší začít s něčím lehčím a menším?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 20. 02. 2020, 23:19:34
Nebylo by opravdu lepší začít s něčím lehčím a menším?
Zkusím pokračovat s tím C++, tam aspoň dokážu něco napsat. Tohle má sice doku česky ale žádné základy co je co tam nepopisují.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 20. 02. 2020, 23:24:14
Nebylo by opravdu lepší začít s něčím lehčím a menším?
Zkusím pokračovat s tím C++, tam aspoň dokážu něco napsat. Tohle má sice doku česky ale žádné základy co je co tam nepopisují.

To je rozumná volba. cppreference je vynikající zdroj a angličtina je dnes důležitá.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 21. 02. 2020, 00:19:19
Nebylo by opravdu lepší začít s něčím lehčím a menším?
Zkusím pokračovat s tím C++, tam aspoň dokážu něco napsat. Tohle má sice doku česky ale žádné základy co je co tam nepopisují.
Nebo, jak tu někdo zmiňoval, Go.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 21. 02. 2020, 06:15:55
Já doporučuji Python, jednoduchý, efektivní, všude dostupný.

Nevím co máš za problém s odsazováním, standard jsou 4 mezery. Můj oblíbený zlozvyk je psát celý program prakticky do jednoho souboru, takže mé python soubory běžně dosahují desítek tisíc řádek. Umožňuje mi to folding ve vimu a je pro mě pohodlnější otvírat foldy a pohybovat se mezi nimi, než mezi soubory. Ani u těchto obřích souborů nemám sebemenší problém s orientací v kódu a odsazení.

Ale umím si představit, že někdo má. Přičítal bych to špatně strukturovanému kódu - délka řádku, velikost/granulita funkcí, počet parametrů, počet zanořených bloků atd. A o tom to přesně je. Povinné odsazování v Pythonu má edukativní charakter. Má člověka naučit odsazovat a správně strukturovat kód. Ony ty pravidla formátování kódu jsou mezi různými jazyky dost podobné, ale Python si je víc vynucuje. Takže pro začátečníka je užitečné se s tím poprat, nasměruje ho to správným směrem. Výsledkem bude přehlednější a snáze pochopitelnější kód, což velmi silně koreluje s jeho kvalitou a počtem chyb.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 21. 02. 2020, 06:35:08

Podívej se znovu na ten Python, to odsazování má smysl v každém jazyce.

Tohle je nejvetsi pitomost co jsem kdy v nejakem jazyku potkal. Odsazeni zalezi na tabulatoru, mezerach a pod.
Pocitat mezeri jestli ten kod patri do jednoho bloku odsazeni nebo ne je zdrojem "super chyb".

Michani mezer a tabelatoru = prasacky kod.

Nutnost pocitani mezer a preference pocitani zavorek = prasacky kod.

Vymezovani bloku kodu pomoci zavorek je pro cloveka neprehledne, proto se pouziva odsazovani i u jazyku, ktere ho k vymezeni bloku nepotrebuji. Pokud je kod dobre napsany, je to videt na prvni pohled bez nutnosti cokoliv pocitat. Zdrojem superchyb neni odsazovani, ale neprehledny kod, jde to za autorem kodu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Karmelos 21. 02. 2020, 07:13:38
Tak jsem to všechno stáhl a nainstaloval, vytvořil jsem nový projekt ve Visual Studio 2019 a v Test.cs mám

using System;

Kód: [Vybrat]
namespace Test
{
          class Program
          {
                    private static void Main()
                    {
                              Console.WriteLine("Hello World!");
                    }
          }
}

Nikde nevidím, že bych volal tu třídu, jak to, že to funguje?

PS: C# funkce neumí? Nemůžu to najít. Díky

Takhle vypada "Hello World" v Pythonu:

Kód: [Vybrat]
print ("Hello World")
Kdyz si nainstalujete nejake inteligentni IDE, tak vam tabelator v kodu vlozi patricny pocet mezer.
Doporucuji spyder anebo pycharm.

Velmi davno bych doporucil Pascal, pak mozna ciste C - jsou na to pekne knizky od p. Herouta. Ale ted s internetem je asi nejjednodussi ten Python. Na internetu lze najit priklady snad skoro na vsechno....
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondra Satai Nekola 21. 02. 2020, 07:26:57
F#

Funkcionální, ale stále pragmatický.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 21. 02. 2020, 08:55:04
Takhle vypada "Hello World" v Pythonu:
Kód: [Vybrat]
print ("Hello World")
Kdyz si nainstalujete nejake inteligentni IDE, tak vam tabelator v kodu vlozi patricny pocet mezer.
Doporucuji spyder anebo pycharm.
Inteligentní ide i samo odsazuje a některé ide dokonce i ukazují odsazení kódu pomocí vertikálních tečkovaných čar. Mně to tedy ruší a vypínám to, ale někomu by to mohlo pomoci.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 21. 02. 2020, 09:56:51
Doporucuju na male veci python, pokud nebude postacovat tak Javu nebo C#.

A hlavne HNED ZACIT POUZIVAT TEZKOTONAZNI IDE, primo na miru jazyka a dat aspon odpoledne tomu se to IDE radne naucit. Pro python PyCharm, pro Javu Eclipse nebo IntelliJ.
A rovnou zacit pouzivat rozumne practices, takze python3 s virtualenvem, PIPem, Javu s Mavenem. Oboje s GITem (GIThubem). IDE vetsinu tehle veci udela za tebe.

Tady spousta potroubku mekta o "ukecane jave" (a pravdepodobne se to pokousej psat ve VIMu), coz je pri pouziti slusneho IDE naopak obrovska vyhoda.
Kod je samopopisny, chape ho i laik, boilerplate vygeneruje IDE. Treba pro vyrobeni beanu staci napsat seznam atributu (a i ten si generuju VIMem), pak dam vygenerovat getter.setter. toString(), atrribute constructor, copy constructor.

Spousteni BAT se snaz vyhnout. Pokud potrebujes delat neco na admin urovni, pouzij Ansible, je to jednoduchy nastroj na nauceni.
Kdyz budes bastlit systemem quick and dirty, vrati se ti to a stejne nakonec skoncis u nejake podobne sady rozumnych nastroju, ktere jsem vyjmenoval vyse.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 21. 02. 2020, 09:58:35
Já doporučuji Python, jednoduchý, efektivní, všude dostupný.

Nevím co máš za problém s odsazováním, standard jsou 4 mezery. Můj oblíbený zlozvyk je psát celý program prakticky do jednoho souboru, takže mé python soubory běžně dosahují desítek tisíc řádek. Umožňuje mi to folding ve vimu a je pro mě pohodlnější otvírat foldy a pohybovat se mezi nimi, než mezi soubory. Ani u těchto obřích souborů nemám sebemenší problém s orientací v kódu a odsazení.


Boze, ty to vidis ...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 21. 02. 2020, 10:02:06

Podívej se znovu na ten Python, to odsazování má smysl v každém jazyce.

Tohle je nejvetsi pitomost co jsem kdy v nejakem jazyku potkal. Odsazeni zalezi na tabulatoru, mezerach a pod.
Pocitat mezeri jestli ten kod patri do jednoho bloku odsazeni nebo ne je zdrojem "super chyb".

Michani mezer a tabelatoru = prasacky kod.

Nutnost pocitani mezer a preference pocitani zavorek = prasacky kod.

Vymezovani bloku kodu pomoci zavorek je pro cloveka neprehledne, proto se pouziva odsazovani i u jazyku, ktere ho k vymezeni bloku nepotrebuji. Pokud je kod dobre napsany, je to videt na prvni pohled bez nutnosti cokoliv pocitat. Zdrojem superchyb neni odsazovani, ale neprehledny kod, jde to za autorem kodu.

Ehm, o PEP8 (https://pypi.org/project/pep8/) a jeho linteru, ktery je primo zabudovany to PyCharmu jsi uz slysel?
Ten PyCharm ma i autoformatter, co to do PEP8 struktury prekope samocinne...

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 21. 02. 2020, 10:10:39
A hlavne HNED ZACIT POUZIVAT TEZKOTONAZNI IDE, primo na miru jazyka a dat aspon odpoledne tomu se to IDE radne naucit. Pro python PyCharm, pro Javu Eclipse nebo IntelliJ.
A rovnou zacit pouzivat rozumne practices, takze python3 s virtualenvem, PIPem, Javu s Mavenem. Oboje s GITem (GIThubem). IDE vetsinu tehle veci udela za tebe.

Tady spousta potroubku mekta o "ukecane jave" (a pravdepodobne se to pokousej psat ve VIMu), coz je pri pouziti slusneho IDE naopak obrovska vyhoda.
Kod je samopopisny, chape ho i laik, boilerplate vygeneruje IDE. Treba pro vyrobeni beanu staci napsat seznam atributu (a i ten si generuju VIMem), pak dam vygenerovat getter.setter. toString(), atrribute constructor, copy constructor.

Spousteni BAT se snaz vyhnout. Pokud potrebujes delat neco na admin urovni, pouzij Ansible, je to jednoduchy nastroj na nauceni.
Kdyz budes bastlit systemem quick and dirty, vrati se ti to a stejne nakonec skoncis u nejake podobne sady rozumnych nastroju, ktere jsem vyjmenoval vyse.

Gratuluji k popsání nejhoršího postupu pro začátečníka.  :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 21. 02. 2020, 10:26:28
A hlavne HNED ZACIT POUZIVAT TEZKOTONAZNI IDE, primo na miru jazyka a dat aspon odpoledne tomu se to IDE radne naucit. Pro python PyCharm, pro Javu Eclipse nebo IntelliJ.
A rovnou zacit pouzivat rozumne practices, takze python3 s virtualenvem, PIPem, Javu s Mavenem. Oboje s GITem (GIThubem). IDE vetsinu tehle veci udela za tebe.

Tady spousta potroubku mekta o "ukecane jave" (a pravdepodobne se to pokousej psat ve VIMu), coz je pri pouziti slusneho IDE naopak obrovska vyhoda.
Kod je samopopisny, chape ho i laik, boilerplate vygeneruje IDE. Treba pro vyrobeni beanu staci napsat seznam atributu (a i ten si generuju VIMem), pak dam vygenerovat getter.setter. toString(), atrribute constructor, copy constructor.

Spousteni BAT se snaz vyhnout. Pokud potrebujes delat neco na admin urovni, pouzij Ansible, je to jednoduchy nastroj na nauceni.
Kdyz budes bastlit systemem quick and dirty, vrati se ti to a stejne nakonec skoncis u nejake podobne sady rozumnych nastroju, ktere jsem vyjmenoval vyse.

Gratuluji k popsání nejhoršího postupu pro začátečníka.  :)

Osobne jsem nikdy nepochopil princip, proc se ma zacatecnik ucit slepe ulicky, ktere pak pracne zahazuje a zbavuje se zlozvyku.
Apropos, ja delam v pythonu teprve chvili, a zacinal jsem rouvnou pythonem3, pres PyCharm s virtualenvem, vsecko objektove a rovnou do packages.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KarelE 21. 02. 2020, 11:30:20
A hlavne HNED ZACIT POUZIVAT TEZKOTONAZNI IDE, primo na miru jazyka a dat aspon odpoledne tomu se to IDE radne naucit.

Gratuluji k popsání nejhoršího postupu pro začátečníka.  :)

To už dlouho není pravda. Dneska vás IDE prakticky vede za ruku. Velkou výhodu při učení dávají tyhle věci:


Takže za mne je rada stejná: začít s plným IDE a jako první doinstalovat všemožné IntelliSense, Resharpery apod. Hodně to zkracuje dobu nutnou na učení. Funkční kód z lidí padá prakticky okamžitě a nemusí frustrovaně studovat dokumentaci, co je přesně špatně.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 21. 02. 2020, 11:30:54
Vyhoda nodejs je, ze vede k vytvareni balicku a pouzivani toolingu tak nejak automaticky. Kazdy tutorial zacina npm init nebo nejak podone.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 21. 02. 2020, 14:00:09
Rád bych upozornil, že se chce naučit programovat. IDE může být fajn (někdy až nutnost, např. Java), ale lidi, co hned najedou na IDE pak nejsou schopni nic napsat, pokud nemají zrovna to své IDE se svými klikátky. Na začátku stejně nebude dělat žádné šílenosti, takže obarvování a případně code completion stačí.

(...) a nemusí frustrovaně studovat dokumentaci, co je přesně špatně.

Tak zrovna tohle nikomu neuškodí.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 21. 02. 2020, 14:29:32
Já doporučuji Python, jednoduchý, efektivní, všude dostupný.

Nevím co máš za problém s odsazováním, standard jsou 4 mezery. Můj oblíbený zlozvyk je psát celý program prakticky do jednoho souboru, takže mé python soubory běžně dosahují desítek tisíc řádek. Umožňuje mi to folding ve vimu a je pro mě pohodlnější otvírat foldy a pohybovat se mezi nimi, než mezi soubory. Ani u těchto obřích souborů nemám sebemenší problém s orientací v kódu a odsazení.


Boze, ty to vidis ...
S cim mas problem?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 21. 02. 2020, 14:32:47

Podívej se znovu na ten Python, to odsazování má smysl v každém jazyce.

Tohle je nejvetsi pitomost co jsem kdy v nejakem jazyku potkal. Odsazeni zalezi na tabulatoru, mezerach a pod.
Pocitat mezeri jestli ten kod patri do jednoho bloku odsazeni nebo ne je zdrojem "super chyb".
Michani mezer a tabelatoru = prasacky kod.

Nutnost pocitani mezer a preference pocitani zavorek = prasacky kod.

Vymezovani bloku kodu pomoci zavorek je pro cloveka neprehledne, proto se pouziva odsazovani i u jazyku, ktere ho k vymezeni bloku nepotrebuji. Pokud je kod dobre napsany, je to videt na prvni pohled bez nutnosti cokoliv pocitat. Zdrojem superchyb neni odsazovani, ale neprehledny kod, jde to za autorem kodu.

Ehm, o PEP8 (https://pypi.org/project/pep8/) a jeho linteru, ktery je primo zabudovany to PyCharmu jsi uz slysel?
Ten PyCharm ma i autoformatter, co to do PEP8 struktury prekope samocinne...

Slysel, ale davam prednost pylintu, integrovanemu do Vimu spolu s MyPy. Proc se ptas?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 21. 02. 2020, 14:37:52
A hlavne HNED ZACIT POUZIVAT TEZKOTONAZNI IDE, primo na miru jazyka a dat aspon odpoledne tomu se to IDE radne naucit.

Gratuluji k popsání nejhoršího postupu pro začátečníka.  :)

To už dlouho není pravda. Dneska vás IDE prakticky vede za ruku. Velkou výhodu při učení dávají tyhle věci:

To je ale otazka, jestli je to dobre. Neni pomoc jako pomoc. Jedna pomoc vas nauci chytat ryby a druha vam ty ryby dava a ucini vas na te pomoci zavisle.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 21. 02. 2020, 14:46:11
Ja osobne zkousel pouzivat spoustu ruznych ide, pocinaje Wing Python IDE, ktere jsem si kdysi koupil, pres Eclipse, pyCharm az po Visual Studio Code a vzdycky jsem se pokorne vratil k Vimu. Ten editor je navykovy a jeho moznosti u me prekonavaji jakekoliv vyhody, ktere poskytuje ide. Takze imho je to dost individualni, v cem programovat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 21. 02. 2020, 14:55:06
A hlavne HNED ZACIT POUZIVAT TEZKOTONAZNI IDE, primo na miru jazyka a dat aspon odpoledne tomu se to IDE radne naucit.

Gratuluji k popsání nejhoršího postupu pro začátečníka.  :)

To už dlouho není pravda. Dneska vás IDE prakticky vede za ruku. Velkou výhodu při učení dávají tyhle věci:

To je ale otazka, jestli je to dobre. Neni pomoc jako pomoc. Jedna pomoc vas nauci chytat ryby a druha vam ty ryby dava a ucini vas na te pomoci zavisle.

V téhle metafoře bych přirovnal dobré IDE ke kvalitnímu prutu, háčku, splávku, pohodlné židličce, předpovídačce počasí, online encyklopedii ryb a autu co tě rychle převáží z jednoho místa řeky k jinému. Jasně, můžeš lovit i na klacek, kost a ponožku, taky něco chytíš, taky se leccos naučíš, ale s lepšími nástroji máš prostě víc možností, statisticky toho chytíš víc, a nakonec se toho i o samotném rybaření můžeš naučit víc, protože míň času trávíš činnostma co se samotným rybařením nesouvisí. Ta získaná závislost na IDE spíš říká něco o tom, že člověk prostě nechce pracovat s podřadnými nástroji když vyzkoušel lepší.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 21. 02. 2020, 14:56:26
Ja osobne zkousel pouzivat spoustu ruznych ide, pocinaje Wing Python IDE, ktere jsem si kdysi koupil, pres Eclipse, pyCharm az po Visual Studio Code a vzdycky jsem se pokorne vratil k Vimu. Ten editor je navykovy a jeho moznosti u me prekonavaji jakekoliv vyhody, ktere poskytuje ide. Takze imho je to dost individualni, v cem programovat.

Taky jsem dlouho trpěl touhle rozpolceností, až jsem to vyřešil pluginem IdeaVim do Intellij. Mám to nejlepší z obou světů.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 02. 2020, 15:25:47
A hlavne HNED ZACIT POUZIVAT TEZKOTONAZNI IDE, primo na miru jazyka a dat aspon odpoledne tomu se to IDE radne naucit.

Gratuluji k popsání nejhoršího postupu pro začátečníka.  :)

To už dlouho není pravda. Dneska vás IDE prakticky vede za ruku. Velkou výhodu při učení dávají tyhle věci:

To je ale otazka, jestli je to dobre. Neni pomoc jako pomoc. Jedna pomoc vas nauci chytat ryby a druha vam ty ryby dava a ucini vas na te pomoci zavisle.

V téhle metafoře bych přirovnal dobré IDE ke kvalitnímu prutu, háčku, splávku, pohodlné židličce, předpovídačce počasí, online encyklopedii ryb a autu co tě rychle převáží z jednoho místa řeky k jinému. Jasně, můžeš lovit i na klacek, kost a ponožku, taky něco chytíš, taky se leccos naučíš, ale s lepšími nástroji máš prostě víc možností, statisticky toho chytíš víc, a nakonec se toho i o samotném rybaření můžeš naučit víc, protože míň času trávíš činnostma co se samotným rybařením nesouvisí. Ta získaná závislost na IDE spíš říká něco o tom, že člověk prostě nechce pracovat s podřadnými nástroji když vyzkoušel lepší.

Pekna metafora. Ale narazim kdyz pak na javu pouzivam ideu, na python pycharm, na c# ...., na maily ....., na web ...., na ukoly ...., na chat ...., na 3d modeling ..... , .....

Neni lepsi kdyz na to vsechno muzu pouzivat jeden nastroj ktery mam v muscle memory?

V posledni vete mas pravdu. Od te doby co jsem vyzkousel emacs uz nechci pracovat s podradnymi nastroji.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 21. 02. 2020, 15:34:50
To si říká o flame war Vim x Emacs.  :D

----------------------------------------------------

Do začátků je super VS Code. Je pro všechny platformy, má dost rozšíření a je vcelku rychlé.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 21. 02. 2020, 15:52:34
Pekna metafora. Ale narazim kdyz pak na javu pouzivam ideu, na python pycharm, na c# ...., na maily ....., na web ...., na ukoly ...., na chat ...., na 3d modeling ..... , .....

Neni lepsi kdyz na to vsechno muzu pouzivat jeden nastroj ktery mam v muscle memory?
Jasně, taky na všechno výše uvedené používám univerzální nástroj. Nazývám ho "počítač" :-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 21. 02. 2020, 17:09:25
zaspali jste dobu, IDE jsou dnes jen hloupy frontend pro lsp, dap a podobne. Nema smysl se o tom hadat. Funkcionality jsou vsude vicemene ekvivalentni.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 21. 02. 2020, 19:02:14
To je ale otazka, jestli je to dobre. Neni pomoc jako pomoc. Jedna pomoc vas nauci chytat ryby a druha vam ty ryby dava a ucini vas na te pomoci zavisle.

Pokud umím stejného výsledku (= napsaný, zkompilovaný a spuštěný program) dosáhnout i v příkazové řádce, tak mne IDE nijak nekazí, naopak.

Pokud je pro mne IDE jen magií a ručně program ani nezkompiluju, tak jsem dost ztracený případ.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: alex6bbc 21. 02. 2020, 19:53:53
taky jsme kdysi pouzivali IDE, napriklad Karel :-)

IDE je pomucka, stejne jako vyssi programovaci jazyky jsou pomucka, kompilatory jsou pomucka, textovy editor vim je pomucka, tak snad s tim dokazeme zit jinak budeme zapisovat jen 0x00, 0x05, 0xff, 0xc8......
nebo snad jen modifikovat silikon :-)

kdo neni debil, tak se nauci pouzivat ruzne urovne pomucek.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: neregistrovany 22. 02. 2020, 01:51:47
ANSI sekvence ESC25l vam nefunguje?
Asi nefunguje :(

Tak asi nebo urcite??? Zkousel jste to?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: bmn 22. 02. 2020, 02:51:53
FYI, pro win, běh ve win konzole, pokud je na mysli textový kurzor
Kód: [Vybrat]
HANDLE h=::GetStdHandle(STD_OUTPUT_HANDLE);
 CONSOLE_CURSOR_INFO info;
 info.dwSize = sizeof(info);
 info.bVisible = false;
 SetConsoleCursorInfo(h,&info);
Pochopitelně nezávisí na jazyce (i když příklad je c++), ale na znalostech win api

P.S.: Nezapomenout kurzor pak zase zapnout (je-li třeba), jinak zůstane vypnut i po ukončení, v příkazové řádce dané konzole.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 22. 02. 2020, 05:19:06
Ta získaná závislost na IDE spíš říká něco o tom, že člověk prostě nechce pracovat s podřadnými nástroji když vyzkoušel lepší.
To je tvrzeni do pranice (nebo flame, jak se dnes rika). Mozna reakce je, ja take nechci pouzivat podradne editory, proto pouzivam vim. Ale pragmaticky vzato, ja si myslim, ze dobre programovani je o vytvareni kvalitniho kodu a generatory kodu neboli ide k tomu nevedou, naopak vedou k rade zlozvyku. Ale to ten vim obcas taky.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: František Ryšánek 22. 02. 2020, 09:09:27
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Kód: [Vybrat]
vector<int> a;
int velikost;
velikost = a.size();

Tři minuty googlení (https://stackoverflow.com/questions/4741629/c-vector-elements-count) :-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: František Ryšánek 22. 02. 2020, 10:11:43
...ono je těžké radit dnešním mladým, odkud začít, když já osobně jsem zažil "ty počítače" z mého naivního pohledu dost od začátku :-D

Tak jako v každé "znalostní bázi" - mentální mapa znalostí je amorfní klubko, je třeba začít "prostě odněkud", a ať si vyberete jakýkoli konkrétní bod, budete začínat "od prostředka" a pátrat do šířky. A chválím

Programovací jazyk nežije ve vzduchoprázdnu. Vždycky se pohybujete v nějakém "okolním prostředí" - tradičně v různých operačních systémech a textových nebo vizuálních prostředích. Váš programovací jazyk řeší syntaxí jenom zcela základní věci (práci s proměnnými, aritmetiku, datové typy, volání funkcí, objektovost) ale na jakoukoli "interakci s prostředím" si volá funkce, dostupné v knihovnách - v základní knihovně distribuované s kompilátorem/interpreterem, a v knihovnách třetích stran. Jazyky vyšší úrovně toho "syntaxí" řeší třeba trochu víc, ale když pak chcete nějakou detailnější práci s okolním prostředím, začnou připomínat svěrací kazajku. Některé programovací jazyky jsou specifické pro konkrétní úlohy, a přidat třeba rozšíření pro konkrétní funkce operačního systému je dost přes koleno.

Pro mě osobně je základem C a C++. V tom jsou napsané dnešní operační systémy, a v těchto jazycích se obvykle píšou "bindings" na knihovny třetích stran. Tzn. vemte si libovolný jazyk vysoké úrovně, z větší části třeba napsaný "sám v sobě", ale určitá část, konkrétně vazby na okolní prostředí, je třeba stejně napsat v Céčku.

Dneska nemůžou všichni umět všechno. Asi jsem postižený tím, že jsem systémák. Pro mě je C a C++ součást základní systémácké gramotnosti. Přesněji řečeno: C a základy C++ a v hrubých obrysech základní doprovodné nástroje, zejm. tradiční Make. Tzn. umět s malou dopomocí manuálu spustit gcc v příkazovém řádku, a oskriptovat automatickou kompilaci a linkování pomocí Makefile. Protože nerad "stavím barák od střechy".

Pokud máte čas trochu číst bez vazby na konkrétní úkol, možná doporučuji prolistovat pár čtivějších knížek, jako je Linux - začínáme programovat (https://www.root.cz/clanky/linux-zaciname-programovat/) nebo Thinking in C++ (https://www.google.com/search?Bruce+Eckel+Thinking+in+C%2B%2B) od Bruce Eckela. A třeba cokoli od Pavla Satrapy - jenom škoda, že nepíše o C/C++. A zkuste si nastudovat něco o aspektech céčka jakožto "vylepšeném assembleru" ;-) Ony Vám ty střípky třeba začnou v hlavě zapadat dohromady. Jak říkám - míním to spíš jako čtení pro širší přehled.

Pokud jste windowsář, zkuste si jen tak ze sportu nainstalovat do systému MinGW gcc a g++ a make, zkompilovat si "holýma rukama" hello world atd. MinGW má trochu zvláštní standardní knihovnu - fungují základní céčkové funkce pro práci se soubory apod., na spoustu z nich pasuje dokumentace z linuxových manuálových stránek GNU libc, přitom jsou ale k dispozici i funkce Win32 API a  údajně jako skutečná standardní knihovna v pozadí je MSVC realtime library (https://stackoverflow.com/questions/6394512/standard-c-library-in-mingw). Prostě MinGW je tak trochu mingi (https://en.wikipedia.org/wiki/Mingi) :-) ale na nějaké jednoduché žužlání / konverzi souborů v divných formátech to občas použiju, v dobách před podepisováním ovladačů se v tom dal napsat i driver do NT kernelu, taky jsem v tom jednou napsal primitivní "GUI" aplikaci co bydlela prakticky jenom v systrayi... Je to způsob jak rychle zmastit holý Cčkový program pro konzolu, aniž bych musel obcovat s tlustým IDE.

Pokud jde o IDE pro MinGW C/C++, tuším jsem kdysi letmo viděl open-source Dev C++ (http://www.bloodshed.net/devcpp.html), ale to nemá přibalenou vizuální knihovnu. Čili je to vizuální IDE pro tvorbu systémových a konzolových věcí :-) Osobně doporučuji, až třeba vyrostete z konzolových věcí, zkuste mrknout na Ultimate++ (https://www.ultimatepp.org/index.html). Je to open-source, BSD licensed, má to knihovnu vizuálních widgetů a IDE s klikacím designérem GUI, umí to kompilovat pomocí MSVC nebo MinGW. Je to trochu svoje, ale v tomto směru překvapivě propracované. A vypadne z toho v zásadě nevelký stand-alone EXE, který jde pod Windows spustit kdekoli. Tzn. žádný tlustý runtime. (Že je hlavním pachatelem U++ Čech a jedna místní programátorská legenda je relativně podružná informace. Parta maintainerů je mezinárodní a ochotná, pokud se na fóru umíte správně ptát.)

Ještě k Vašemu dotazu, trochu čtení na okraj ohedně terminálových věcí a vnitřností C/C++ (pár neutříděných odkazů):

https://en.wikipedia.org/wiki/Terminal_emulator
https://en.wikipedia.org/wiki/List_of_terminal_emulators
https://en.wikipedia.org/wiki/Windows_Console
http://man7.org/linux/man-pages/man3/termios.3.html
https://en.wikibooks.org/wiki/X86_Disassembly/Calling_Conventions

Našel by se i těžší kalibr a specifičtější věci, kdyžtak si řekněte.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 22. 02. 2020, 13:12:48
ANSI sekvence ESC25l vam nefunguje?
Asi nefunguje :(

Tak asi nebo urcite??? Zkousel jste to?

Jasně, že jsem to zkoušel, ono se to tváří, že je to ok, ale realita je někde jinde. Na tohle byl nejlepší ncurses.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: petr_bures 22. 02. 2020, 13:17:02
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Kód: [Vybrat]
vector<int> a;
int velikost;
velikost = a.size();

Tři minuty googlení (https://stackoverflow.com/questions/4741629/c-vector-elements-count) :-)

Jistě, tři minuty googlení, na webu je spousta rad o ničem - prostě nefungují.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Mlocik97 22. 02. 2020, 14:08:59
Díky za tipy
V JavaScriptu něco málo dělám, ale že by uměl to co jsem poptával tomu fakt neumí. Práce se soubory je nulová - nemá přístup k souborům.

modul fs? https://nodejs.org/api/fs.html
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: František Ryšánek 22. 02. 2020, 14:12:41
ANSI sekvence ESC25l vam nefunguje?
Asi nefunguje :(

Tak asi nebo urcite??? Zkousel jste to?

Jasně, že jsem to zkoušel, ono se to tváří, že je to ok, ale realita je někde jinde. Na tohle byl nejlepší ncurses.

Koukám Vy nejste úplně nepolíbenej :-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: fortran1986 22. 02. 2020, 14:59:44
Zatím se mi tedy nejvíc líbí C#, sice nevím ani jak se to čte (asi cékřížek?)  8) ale asi to zkusím.
Když něco hledám a dám k tomu C# vždy to najde nějaký .NET Framevork, jaký je mezi nimi rozdíl?
.NET Framework vs .NET Core. Dá se to popsat jednou větou? Díky

.NET Core je názov pre maldšieho brata .NET Frameworku.

1. Cielom .Net frameworku je ponúknuť čo najbohatšiu univerzálnu sadu knižníc na rôzne typy problémov. Nevýhoda .NET Frameworku je že niektoré jeho časti sú závislé na OS (napríklad UI toolkit WPF- Windows Presentation Foundation by sa na linux alebo Mac ani nedal preportovať, to isté podpora Direct 3D atď)

2. Cielom .NET Core je platformová nezávislosť. Ale tým pádom je tam toho menej. Niektoré záležitosti čo sú v .NET Frameworku v .NET Core nenájdeš. Nenájdeš v ňom WPF, knižnice na vývoj okenných aplikácií, ani knižnice pre prácu s 3D grafikou a vývoj hier. Je to podmnožina .NET FW s pár vylepšeniami.

.NET Framework sa hodí pre vývoj komplexných aplikácií ktoré sú naviazané na HW a OS. Napríklad na hry alebo komplexné grafické aplikácie. Samozrejme ide to aj v .NET Core, ale tam sa už musíš spolahnúť na knižnice tretích strán.

.NET Core sa hodí pre vývoj multiplatformných aplikácií (napr Webovky, Mobilné appky, konzolové appky, serverové appky atď)

Na 99% účelov ti stačí .NET Core a tam kde .NET Coru dochádzajú sily treba použiť .NET Framework. Tieto dva FW majú podobné API takže keď sa naučíš .NET Core poradíš si aj s .NET Frameworkom.

Potom je tu ešte .NET Standard čo je typ projektu, ktorý je kompatibilný aj s .NET Core aj s .NET Frameworkom.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 22. 02. 2020, 15:33:44
Ne že bych to znal v praxi (NET nepožívám), ale NET Core 3 už prý má GUI komponenty - WinForms, WPF and Universal Windows Platform (https://en.wikipedia.org/wiki/.NET_Core#Architecture):
Citace
Prior to .NET Core 3.0, it did not implement Windows Forms or Windows Presentation Foundation (WPF) which render the standard GUI for desktop software on Windows;[32][33] however, .NET Core 3 supports desktop technologies WinForms, WPF and Universal Windows Platform (UWP).[34] .NET Core supports use of NuGet packages. Unlike .NET Framework, which is serviced using Windows Update, .NET Core relies on its package manager to receive updates.[32][33]
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 22. 02. 2020, 18:42:51
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Kód: [Vybrat]
vector<int> a;
int velikost;
velikost = a.size();

Tři minuty googlení (https://stackoverflow.com/questions/4741629/c-vector-elements-count) :-)

Ono by stačilo, kdyby si přečetl, co mu bylo psátno zde (https://forum.root.cz/index.php?topic=22579.0). :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: František Ryšánek 22. 02. 2020, 23:10:02
Jak spočítat ve vektoru počet položek - nemožné - 4 hodiny života - bez výsledku. Fakt nevím..

Kód: [Vybrat]
vector<int> a;
int velikost;
velikost = a.size();

Tři minuty googlení (https://stackoverflow.com/questions/4741629/c-vector-elements-count) :-)

Ono by stačilo, kdyby si přečetl, co mu bylo psátno zde (https://forum.root.cz/index.php?topic=22579.0). :)

Aha... v tom případě se zdá, že si tazatel není vědom rozdílu mezi základním céčkovým polem, které se definuje pomocí

Kód: [Vybrat]
int moje_pole[8]; // počet prvků je pevný, daný v okamžiku definice/alokace
a kontejnerovými objekty v C++, z nichž asi nejbližší tomu základnímu poli je std::vector (https://cs.cppreference.com/w/cpp/container/vector) :
Kód: [Vybrat]
vector<int> moje_pole; // počet prvků se může měnit
Klasické céčkové statické pole je vlastně jenom kus paměti o určité velikosti. Hranatými závorkami se vlastně řeší jenom pointerová aritmetika. Statické pole není pokročilý C++ kontejner, nemá metodu .size().

V klasickém céčku je řetězec znaků vlastně taky jenom hloupé statické pole:

Kód: [Vybrat]
// statická definice/alokace s explicitně daným počtem znaků
char pozdrav[10];

// statická definice/alokace,
// počet znaků k alokaci je zadán nepřímo (spočítá ho kompilátor)
char pozdrav[] = {'a','h','o','j',0};

//  řetězec "ahoj" je součást executable bináru, proměnná "pozdrav"
// je prostě jen inicializována na pointer na tento řetězec
char* pozdrav = "ahoj";

Ve všech třech případech je proměnná "pozdrav" ve výsledku typu char*, tj. pointer na znak (pointer na bajt se znaménkem, interpretovatelný podle okolností buď jako číslo nebo jako písmenko.)

Do hloupého statického pole se dají vložit taky pointery na řetězce...

Takže v céčku:

Kód: [Vybrat]
char* pozdravy[] = {"ahoj", "nazdar", "cau"}; // velikost pole je pevně daná (3 položky)
Proměnná "pozdravy" je typu char**, tzn. pointer na pointer na bajt se znaménkem.

Ekvivalent v C++ např.:

Kód: [Vybrat]
std::vector<std::string> pozdravy; // počet položek se může v čase měnit, na pozadí se to řeší realokacemi

V téhle C++ variantě std::string je kontejnerový objekt (obsahuje řetězec znaků o dynamické délce) a std::vector je taky realokovaný dynamicky. Dynamický kontejner dynamických kontejnerů.
Pokud v C++ zavoláte sizeof(string), dostanete velikost kontejnerového objektu, která ale neobsahuje velikost vlastních dat = nějakého prostého bufferu na úrovni
Kód: [Vybrat]
char pozdrav[]
Jak pravil Hašek ústy Švejka, uvnitř zeměkoule je ještě jedna, a ta vnitřní je větší než ta vnější. Finta je v tom, že objekt "std::string" má mezi svými membery nějaký privátní pointer na buffer skutečných dat typu char[] .

Mně osobně dost dlouho trvalo, než jsem si začal všímat rozdílů mezi C a C++. První céčko, které jsem dostal do pazour, bylo Borland C++ v DOSu - a tam se kolem rozdílů mezi C a C++ velké cavyky nedělaly, kompilátor na pozadí Borlandího IDE vzal všecko. Teprve když jsem si začal hrát s gcc/g++, pár věcí mi došlo :-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: kotelgg 23. 02. 2020, 00:38:34
C# je pro začátečníka asi nejlepší. U ostatních budeš týden řešit, proč to hlásí chyby a nejde spustit. Uděláš v tom cokoli. Já v tom dělám většinou malé aplikace např. stáhnutí přílohy emailu z outlooku, poznámkový blok, bota na trading. Viděl jsem v tom napsaný wow server, co jsem pouštěl na linuxu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondra Satai Nekola 23. 02. 2020, 09:11:13
C# je pro začátečníka asi nejlepší. U ostatních budeš týden řešit, proč to hlásí chyby a nejde spustit. Uděláš v tom cokoli. Já v tom dělám většinou malé aplikace např. stáhnutí přílohy emailu z outlooku, poznámkový blok, bota na trading. Viděl jsem v tom napsaný wow server, co jsem pouštěl na linuxu.

Proc ne konzistentnejsi F#?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: kotelgg 23. 02. 2020, 13:33:31
Osobně se mi F# nelíbí jako python, ale to je muj názor. Musí vyzkoušet, co mu bude vyhovovat. Uznávám, že psaní závorek zdržuje a na přehlednosti to nic extra nemění (často je to díky nim i horší). Pro začátečníka se mi zdá složitější na pochopení.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: oksoft 25. 02. 2020, 00:04:48
C# je pro začátečníka asi nejlepší. U ostatních budeš týden řešit, proč to hlásí chyby a nejde spustit. Uděláš v tom cokoli. Já v tom dělám většinou malé aplikace např. stáhnutí přílohy emailu z outlooku, poznámkový blok, bota na trading. Viděl jsem v tom napsaný wow server, co jsem pouštěl na linuxu.

Proc ne konzistentnejsi F#?

Nedávno jsem F# zkoušel a přijde mi dost zajímavý, ale není zase tolik rozšířený a když člověk chce dělat další věci (např. GUI) tak se to tolik nehodí (ano, vím o FsXaml). Myslím že doporučím C# díky své rozšířenosti a syntaxi podobné C++. Také mi přijde že C# má strmější křivku učení. Hezký den.
Určitě ale F# fandím.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 25. 02. 2020, 00:09:36
Osobně se mi F# nelíbí jako python, ale to je muj názor. Musí vyzkoušet, co mu bude vyhovovat. Uznávám, že psaní závorek zdržuje a na přehlednosti to nic extra nemění (často je to díky nim i horší). Pro začátečníka se mi zdá složitější na pochopení.
F# hlavně nestojí za nic jako funkcionální jazyk, má slabý typový systém. A v OO kontextu CLR nic přínosného nenabízí, to už je fakt lepší C# nebo klidně i VB. Samozřejmě, jakmile přidají pořádné typové operátory, bude to o něčem jiném.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 25. 02. 2020, 04:50:12
C# je pro začátečníka asi nejlepší. U ostatních budeš týden řešit, proč to hlásí chyby a nejde spustit. Uděláš v tom cokoli. Já v tom dělám většinou malé aplikace např. stáhnutí přílohy emailu z outlooku, poznámkový blok, bota na trading. Viděl jsem v tom napsaný wow server, co jsem pouštěl na linuxu.

Python se pro zacatecniky doporucuje vic, je jednodussi, univerzalnejsi, snaze pochopitelnejsi a chybove hlaseni ma srozumitelne.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: mikrom 26. 02. 2020, 19:24:41
Požadavky na programovací jazyk
- pro windows
- běží v konzole
- umí spouštět příkazy a batch soubory pro windows
- umí rozpoznat stisknuté klávesy
- umí pracovat se soubory
Na toto su skriptovacie jazyky.
Co sa tyka skriptovacich jazykov na windows tak podla mna dobry je aj VBscript, ktory je sucastou windows. Je to sice uz starsia technologia ale stale sa pouziva. Da sa s tym urobit vsetko co pozadujes - asi az na to rozpoznavanie stlacenia jednotlivych klaves, ale velmi jednoducho sa robia message boxy s buttonmi. Mozes vyuzivat rozne COM objekty, napr pouzit funkciu Excelu na file open dialog, pristupovat do databaz cez ADO, parsovat XML, ...atd. Osobne VBscript pouzivam dost casto ked chcem rychlo urobit nejaky skript, ktory pobezi specialne na windows, pripadne ho niekomu dat, aby ho spustal, bez nutnosti si nieco dalsie instalovat.
 
Modernejsi je Powershell, ale podla mna dost nesikovny co sa tyka spustania skriptov (Execution Policy)

Ak chces radsej univerzalny skriptovaci jazyk tak Python. Je k nemu mnozstvo roznych modulov na vsetko mozne a je multiplatformny - robil som v tom konzolove scripty, ktore bezia bezo zmeny na 3 platformach (Linux, Windows, IBM i)

Ak chces standardny programovaci jazyk, v ktorom sa da robit vsetko tak urcite Java.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Šílenej 27. 02. 2020, 14:25:23
Ahoj,

pro začátečníka je rozhodně C kanón na vrabce. Pokud nechceš psát ovladač nebo nějakou nízkourovnovou aplikaci tak to nechej rovnou plavat.
Na tvé "potřeby" bude imho nejlepší python ať už kvůli jednoduchosti, multiplatformnosti či množství hotového kódu , který je k dispozici.
pokud by jsi chtěl dělat ve windows opravdu divočinu,tak powershell, kterým lze ovládat wokna kompletně. 
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 27. 02. 2020, 21:26:14
pro začátečníka je rozhodně C kanón na vrabce.

On tu někdo doporučoval C? Nevšiml jsem si. Doporučoval C#.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 28. 02. 2020, 09:35:24
Já jsem C zmiňoval.

Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 28. 02. 2020, 13:54:35
Určitě. Než se nořit do džungle C++ tak to už je lepší začít C, které je geniální tím, jak je simplicistní. Ale člověk musí mít zájem ho pochopit, což typicky tazatel s potřebou psát skripty a malé aplikace mít nebude.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 28. 02. 2020, 14:15:10
Já jsem C zmiňoval.

Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak a proč měl raději zvolit jiný jazyk.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Mintaka 28. 02. 2020, 15:16:37
Za mě by to byl Python.

Pokud máš problém s odsazením tak nejspíš jen kvůli nevhodně zvolenému / nastavenému editoru.
Editor pro Python by měl jako minimum, zvládat při stisku TAB vložit 4 mezery a při stisku entru na konci odsazeného řádku by měl automaticky udělat stejné odsazení na novém řádku.
Pěkné lehkotonážní editory pro Python jsou třeba PsPad, Notepad++, MuEditor

Re:
Požadavky na programovací jazyk
- pro windows (-- trochu široký pojem -- má to několik možných usecase )
- běží v konzole (ano, od přirození)
- umí spouštět příkazy a batch soubory pro windows (např. pomocí subprocess.call
- umí rozpoznat stisknuté klávesy (pomocí modulu keyboard )
- umí pracovat se soubory (od přirození)

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ziktofel 28. 02. 2020, 16:06:06
A co Java? V Jave je navic o dost lepsi paralelismus
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 28. 02. 2020, 16:08:44
A co Java? V Jave je navic o dost lepsi paralelismus
Lepší než kde?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 28. 02. 2020, 18:56:29
Já jsem C zmiňoval.

Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak ...

No to určitě není na škodu. :)

a proč měl raději zvolit jiný jazyk.

Ehm, kvůli memory leakům? :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ziktofel 28. 02. 2020, 20:00:23
A co Java? V Jave je navic o dost lepsi paralelismus
Lepší než kde?
Lepsi nez v Pythonu jsem samozrejme myslel
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 28. 02. 2020, 20:04:10
A co Java? V Jave je navic o dost lepsi paralelismus
Lepší než kde?
Lepsi nez v Pythonu jsem samozrejme myslel
Zrovna v Javě je “paralelismus” dost na houby. Pokud teda myslíme stejnou věc.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 28. 02. 2020, 22:46:33
Já jsem C zmiňoval. Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak a proč měl raději zvolit jiný jazyk.

To je fakt, to se v C++ rozhodně nemůže stát  :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 28. 02. 2020, 23:56:55
Já jsem C zmiňoval. Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak a proč měl raději zvolit jiný jazyk.

To je fakt, to se v C++ rozhodně nemůže stát  :D
V idiomatickém C++ ne.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 29. 02. 2020, 09:27:29
Já jsem C zmiňoval. Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak a proč měl raději zvolit jiný jazyk.

To je fakt, to se v C++ rozhodně nemůže stát  :D
V idiomatickém C++ ne.

Přesněji řečeno, "něco jako memory leak" je možné i bez použití raw pointerů, ale jak ukazuje praxe, v C se seknou poměrně snadno i zkušení kvalitní programátoři a následky jsou ošklivé. Nechal bych C pro opravdu speciální oblasti a do aplikačního programování ho ideálně vůbec netahal. Jako zajímavost nebo krátké intro pro "pochopení, jak to funguje" ale klidně.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 29. 02. 2020, 11:41:42
Já jsem C zmiňoval. Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak a proč měl raději zvolit jiný jazyk.

To je fakt, to se v C++ rozhodně nemůže stát  :D
V idiomatickém C++ ne.

Přesněji řečeno, "něco jako memory leak" je možné i bez použití raw pointerů, ale jak ukazuje praxe, v C se seknou poměrně snadno i zkušení kvalitní programátoři a následky jsou ošklivé. Nechal bych C pro opravdu speciální oblasti a do aplikačního programování ho ideálně vůbec netahal. Jako zajímavost nebo krátké intro pro "pochopení, jak to funguje" ale klidně.
Jistě, C by měl znát každý, vědět, jak fungují pointery a správa paměti je “fundamentální znalost.” Člověk pak i více ocení automatickou správu paměti.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondra Satai Nekola 02. 03. 2020, 16:00:19
Já jsem C zmiňoval. Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak a proč měl raději zvolit jiný jazyk.

To je fakt, to se v C++ rozhodně nemůže stát  :D
V idiomatickém C++ ne.

Přesněji řečeno, "něco jako memory leak" je možné i bez použití raw pointerů, ale jak ukazuje praxe, v C se seknou poměrně snadno i zkušení kvalitní programátoři a následky jsou ošklivé. Nechal bych C pro opravdu speciální oblasti a do aplikačního programování ho ideálně vůbec netahal. Jako zajímavost nebo krátké intro pro "pochopení, jak to funguje" ale klidně.
Jistě, C by měl znát každý, vědět, jak fungují pointery a správa paměti je “fundamentální znalost.” Člověk pak i více ocení automatickou správu paměti.

Znát každý, používat nikdo ;-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 02. 03. 2020, 17:50:55
Důvod?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 02. 03. 2020, 21:53:25
Rust
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 02. 03. 2020, 22:26:38
 :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 02. 03. 2020, 23:01:52
Rust
Ten je zajímavý, ale ne úplně snadný k naučení.
Název: Datove tridy v Pythonu
Přispěvatel: Zabanovaný Anonymní Troll 07. 03. 2020, 20:10:31
Pokracovani vlakna: "Doporučte programovací jazyk pro Windows " https://forum.root.cz/index.php?topic=22582.0

Ja delam v Jave a posledni dobou jsem nucen v praci programovat v Pythonu. Snad to nebude mit dlouheho trvani, protoze strasne nerad se ucim nadbytecne veci. A co me na Pythonu pobavilo je zjisteni, ze nekde od roku 2015 tam postupne pridali specifikaci datovych typu i DataClasses kde si muzu definovat domenove tridy. A dale me pri googleni docela pobavilo, ze vlastne pythonisti doporucuji podobny programatorsky styl, jako se pouziva v Jave. Takze timto gratuluji vsem Pythonistum, ze se postupne v prubehu dlouhych let dopracovali k tomu, jak je Java poskladana od zacatku :D Navic v Jave ve Spring frameworku, ktery dneska vladne vsemu, je ta vyhoda, ze tento programatorsky styl je VYNUCOVAN.

Coz teda v urcitych situacich muze byt nevyhoda a v tom vidim, ze vede Python - tzn. ze se da narozdil od Javy puzivat i ke skriptovani. Ale ja na skriptovani stejne jako kazdy spravny Javista pouzivam Bash, takze naco Python... A dalsi vec co muze byt fajn u Pythonu, avsak ja treba tuto vlastnost u jazyku nesnasim, je dobra skalovatelnost, kde nekdo neco muze naprosto nabastlit a hotovo - Python mu to umozni. Ja to nemam rad, protoze odmitam tyhle srajdy po druhych programatorech cist, ale u webdevelopmentu kde se neco musi nejak uplacat a hotovo to muze byt vyhodna vlastnost.

Co jeste povazuju na Pythonu za nevyhodne, ze jaksi kvuli jeho nic moc perfromance se u knihoven dost casto pouzivaji Ceckove binarky, a zrovna nedavno jsem zabil vikend tim, ze jsem jednu tuto binarku nemohl zaboha rozjet na specifickem linuxovem image. Neco takoveho jsem v zivote nemusel s Javou resit.

Naopak super vlastnost Pythonu je ono "Batteries included", tzn. globalni knihovna, takze se v tom dobre delaji prave ty skripty.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 07. 03. 2020, 22:44:42
Pokracovani vlakna: "Doporučte programovací jazyk pro Windows " https://forum.root.cz/index.php?topic=22582.0

Ja delam v Jave a posledni dobou jsem nucen v praci programovat v Pythonu. Snad to nebude mit dlouheho trvani, protoze strasne nerad se ucim nadbytecne veci. A co me na Pythonu pobavilo je zjisteni, ze nekde od roku 2015 tam postupne pridali specifikaci datovych typu i DataClasses kde si muzu definovat domenove tridy. A dale me pri googleni docela pobavilo, ze vlastne pythonisti doporucuji podobny programatorsky styl, jako se pouziva v Jave. Takze timto gratuluji vsem Pythonistum, ze se postupne v prubehu dlouhych let dopracovali k tomu, jak je Java poskladana od zacatku :D Navic v Jave ve Spring frameworku, ktery dneska vladne vsemu, je ta vyhoda, ze tento programatorsky styl je VYNUCOVAN.

Coz teda v urcitych situacich muze byt nevyhoda a v tom vidim, ze vede Python - tzn. ze se da narozdil od Javy puzivat i ke skriptovani. Ale ja na skriptovani stejne jako kazdy spravny Javista pouzivam Bash, takze naco Python... A dalsi vec co muze byt fajn u Pythonu, avsak ja treba tuto vlastnost u jazyku nesnasim, je dobra skalovatelnost, kde nekdo neco muze naprosto nabastlit a hotovo - Python mu to umozni. Ja to nemam rad, protoze odmitam tyhle srajdy po druhych programatorech cist, ale u webdevelopmentu kde se neco musi nejak uplacat a hotovo to muze byt vyhodna vlastnost.

Co jeste povazuju na Pythonu za nevyhodne, ze jaksi kvuli jeho nic moc perfromance se u knihoven dost casto pouzivaji Ceckove binarky, a zrovna nedavno jsem zabil vikend tim, ze jsem jednu tuto binarku nemohl zaboha rozjet na specifickem linuxovem image. Neco takoveho jsem v zivote nemusel s Javou resit.

Naopak super vlastnost Pythonu je ono "Batteries included", tzn. globalni knihovna, takze se v tom dobre delaji prave ty skripty.

Nevim, co jsi chtel rict. dataclasses je knihovna, neni to featura jazyka. Podobnych knihoven existuje a vzdy existovala hromada, treba attrs. Pridani dataclasses do standardni knihovny neni zadna zlomova udalost.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tacoberu 07. 03. 2020, 23:56:36
Já jsem C zmiňoval. Nicméně jako kanén na vrabce mi přijde právě to C++. Céčko je malý jazyk, který není těžké se naučit a člověk díky němu spoustu věcí pochopí...

Třeba co je memory leak a proč měl raději zvolit jiný jazyk.

To je fakt, to se v C++ rozhodně nemůže stát  :D
V idiomatickém C++ ne.

Přesněji řečeno, "něco jako memory leak" je možné i bez použití raw pointerů, ale jak ukazuje praxe, v C se seknou poměrně snadno i zkušení kvalitní programátoři a následky jsou ošklivé. Nechal bych C pro opravdu speciální oblasti a do aplikačního programování ho ideálně vůbec netahal. Jako zajímavost nebo krátké intro pro "pochopení, jak to funguje" ale klidně.
Jistě, C by měl znát každý, vědět, jak fungují pointery a správa paměti je “fundamentální znalost.” Člověk pak i více ocení automatickou správu paměti.

Znát každý, používat nikdo ;-)

+1
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Konšpirátor Rešpirátor 08. 03. 2020, 11:56:39
Goši já newim, zkuste to pod Win v Prdosýru od Guida nebo v Jojoškripte. Ono to nějak pojede. Hajný je lesaa pááán.  https://www.youtube.com/watch?v=xEHm_xk-OLM
Název: Re:Datove tridy v Pythonu
Přispěvatel: Ink 08. 03. 2020, 12:18:53
Pokracovani vlakna: "Doporučte programovací jazyk pro Windows " https://forum.root.cz/index.php?topic=22582.0

Ja delam v Jave a posledni dobou jsem nucen v praci programovat v Pythonu. Snad to nebude mit dlouheho trvani, protoze strasne nerad se ucim nadbytecne veci. A co me na Pythonu pobavilo je zjisteni, ze nekde od roku 2015 tam postupne pridali specifikaci datovych typu i DataClasses kde si muzu definovat domenove tridy. A dale me pri googleni docela pobavilo, ze vlastne pythonisti doporucuji podobny programatorsky styl, jako se pouziva v Jave. Takze timto gratuluji vsem Pythonistum, ze se postupne v prubehu dlouhych let dopracovali k tomu, jak je Java poskladana od zacatku :D Navic v Jave ve Spring frameworku, ktery dneska vladne vsemu, je ta vyhoda, ze tento programatorsky styl je VYNUCOVAN.

Coz teda v urcitych situacich muze byt nevyhoda a v tom vidim, ze vede Python - tzn. ze se da narozdil od Javy puzivat i ke skriptovani. Ale ja na skriptovani stejne jako kazdy spravny Javista pouzivam Bash, takze naco Python... A dalsi vec co muze byt fajn u Pythonu, avsak ja treba tuto vlastnost u jazyku nesnasim, je dobra skalovatelnost, kde nekdo neco muze naprosto nabastlit a hotovo - Python mu to umozni. Ja to nemam rad, protoze odmitam tyhle srajdy po druhych programatorech cist, ale u webdevelopmentu kde se neco musi nejak uplacat a hotovo to muze byt vyhodna vlastnost.

Co jeste povazuju na Pythonu za nevyhodne, ze jaksi kvuli jeho nic moc perfromance se u knihoven dost casto pouzivaji Ceckove binarky, a zrovna nedavno jsem zabil vikend tim, ze jsem jednu tuto binarku nemohl zaboha rozjet na specifickem linuxovem image. Neco takoveho jsem v zivote nemusel s Javou resit.

Naopak super vlastnost Pythonu je ono "Batteries included", tzn. globalni knihovna, takze se v tom dobre delaji prave ty skripty.

Nevim, co jsi chtel rict. dataclasses je knihovna, neni to featura jazyka. Podobnych knihoven existuje a vzdy existovala hromada, treba attrs. Pridani dataclasses do standardni knihovny neni zadna zlomova udalost.

Chtel jsem napsat, ze je to prispevek klasickeho prislusnika Java sekty, ale jelikoz uznal Pythonu aspon ty baterky, neni zrejme jeste ztracen. Takze snad pochopi i navrhove nedostatky Javy a uzna, ze nektere principy pouzite v Pythonu fakt maji smysl. A nemyslim tim ducktyping, ten je skutecne IMO sporny.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Zabanovaný Anonymní Troll 08. 03. 2020, 15:04:00
Chtel jsem napsat, ze je to prispevek klasickeho prislusnika Java sekty, ale jelikoz uznal Pythonu aspon ty baterky, neni zrejme jeste ztracen. Takze snad pochopi i navrhove nedostatky Javy a uzna, ze nektere principy pouzite v Pythonu fakt maji smysl. A nemyslim tim ducktyping, ten je skutecne IMO sporny.

 :D :D :D

Jak muzes rikat ze Ductyping je sporny, kdyz to je pointa toho, proc se v Pythonu dobre pisou skripty, a ty jsou zase pointa toho, proc to ma ty baterky. Udelej si poradek v hlave synku, jinak z tebe nikdy poradny Javista nebude a navzdy budes jen smutne koukat 8)
Název: Re:Datove tridy v Pythonu
Přispěvatel: Ink 08. 03. 2020, 16:20:33
Chtel jsem napsat, ze je to prispevek klasickeho prislusnika Java sekty, ale jelikoz uznal Pythonu aspon ty baterky, neni zrejme jeste ztracen. Takze snad pochopi i navrhove nedostatky Javy a uzna, ze nektere principy pouzite v Pythonu fakt maji smysl. A nemyslim tim ducktyping, ten je skutecne IMO sporny.

 :D :D :D

Jak muzes rikat ze Ductyping je sporny, kdyz to je pointa toho, proc se v Pythonu dobre pisou skripty, a ty jsou zase pointa toho, proc to ma ty baterky. Udelej si poradek v hlave synku, jinak z tebe nikdy poradny Javista nebude a navzdy budes jen smutne koukat 8)

Než programovat v současné Javě, to už snad raději fakt Python 2. Naštěstí se Python vyvíjí, i Java se vyvíjí a jazyků, kterými se dá uživit, od doby vzniku a rozšíření Pythonu i Javy výrazně přibylo. Navíc už programuju málo, klidně to nechám Tobě a jiným kolegům.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Standa Blábol 08. 03. 2020, 19:49:30
Chtel jsem napsat, ze je to prispevek klasickeho prislusnika Java sekty, ale jelikoz uznal Pythonu aspon ty baterky, neni zrejme jeste ztracen. Takze snad pochopi i navrhove nedostatky Javy a uzna, ze nektere principy pouzite v Pythonu fakt maji smysl. A nemyslim tim ducktyping, ten je skutecne IMO sporny.

 :D :D :D

Jak muzes rikat ze Ductyping je sporny, kdyz to je pointa toho, proc se v Pythonu dobre pisou skripty, a ty jsou zase pointa toho, proc to ma ty baterky. Udelej si poradek v hlave synku, jinak z tebe nikdy poradny Javista nebude a navzdy budes jen smutne koukat 8)

Než programovat v současné Javě, to už snad raději fakt Python 2. Naštěstí se Python vyvíjí, i Java se vyvíjí a jazyků, kterými se dá uživit, od doby vzniku a rozšíření Pythonu i Javy výrazně přibylo. Navíc už programuju málo, klidně to nechám Tobě a jiným kolegům.

Nejak jsem nepobral, proc by melo byr problem programovat v soucasne jave.
Dneska muzes delat v Jave na urovni 1.5 a nove veci zkratka nepouzivat, s tim nikdo nebude mit potiz.
Akorat musis ve frameworkach brat anotace jako cernou magii a pouzivat to tak, kdyz uz je nekdo linej se naucit nove veci.

Python2 se s tim merit neda ani hodne vzdalenym omylem.
Slusne pouzitelny je az Python3 a to prave proto, ze prebira koncepty z javy.

Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 08. 03. 2020, 20:23:16
Naucit se Spring framework v Jave a neco v nem byt schopen sam delat, to neni zadna legrace, je to nastroj pro poradny chlapy, je to poradna zemedelska technika pro poradny softwarovy engineery 8) Ja hosi dycky kdyz k tomu sednu, tak to je jak kdybych ridil 300 konovy kombajn, to nikdy nejaky cmrndala Pyjthonista nepozna tuhletu silu  8) A kdyz ta Spring aplikace startuje, tak to je tvl jak kdyz startuje tryskac, az se mi vsechny vetracky roztoci na tom mojem notebuku  8) Kdepak Pyjthon...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 08. 03. 2020, 20:50:29
Delas veci zbytecne slozite a jeste s tim machrujes na foru.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Ink 08. 03. 2020, 20:53:27
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal

Python umí porovnávat číslo s číslem pomocí operátorů, objekt s objektem pomocí ==, jak se sluší a patří a nepotřebuje na blbý hello world žádný public static void main(). A to už od začátku. A od začátku měl normální kolekce, do kterých vlezl objekt, který věděl, co je zač a ne pole Objectů s křišťálovou koulí a pitomým přetypováním, když mu koule řekla, co je to skutečně zač. Nikdy a nikde jsem netvrdil, že Python je všespásný, to akorát vaše sekta v Javě chtěla psát všechno od jádra OS po widgety na webu. Zrovna tak jsem netvrdil, že v Javě principiálně nejde napsat cokoli, co jde v Pythonu, to nebude tvrdit nikdo, kdo slyšel o turingovsky úplných jazycích.

Jo a proč nechci programovat v dnešní Javě není dáno tím, co je v ní nového, ale co v ní naopak ještě chybí a co je v ní od počátku blbého. Jinak bych asi nepsal, že se Java vyvíjí a nepsal, že to je dobře.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 08. 03. 2020, 20:58:39
Delas veci zbytecne slozite a jeste s tim machrujes na foru.

TIpnu si, ze ty delas webdevelopment a nebo jsi student a jeste ti tece mliko po brade. Tohle uz jsem slysel od kdejakeho webovkarskeho patlaly rozumbrady, nez si cvrknul do kalhot z toho, jake veci se resi v enterprise 8) :D
Název: Re:Datove tridy v Pythonu
Přispěvatel: Zabanovaný Anonymní Troll 08. 03. 2020, 21:29:12
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal
A od začátku měl normální kolekce, do kterých vlezl objekt, který věděl, co je zač a ne pole Objectů s křišťálovou koulí a pitomým přetypováním, když mu koule řekla, co je to skutečně zač.

Tak to je trochu blbost, nemyslis? Objektu je prd po tom, co je zac, ta informace je dulezita predevsim pro programatora. To programator nevedel, co v tom Listu je, videl jen ze je to list Objektu, nez se do Javy daly genericke typy :D Pri spusteni aplikace a debugovani samozrejme slo videt co presne v Listu je za Tridu. A protoze Pythonu pouziva ducktyping, tak ty uz vubec nevis, co v te kolekci je, dokud si to nespustis.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Ink 09. 03. 2020, 05:27:42
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal
A od začátku měl normální kolekce, do kterých vlezl objekt, který věděl, co je zač a ne pole Objectů s křišťálovou koulí a pitomým přetypováním, když mu koule řekla, co je to skutečně zač.

Tak to je trochu blbost, nemyslis? Objektu je prd po tom, co je zac, ta informace je dulezita predevsim pro programatora. To programator nevedel, co v tom Listu je, videl jen ze je to list Objektu, nez se do Javy daly genericke typy :D Pri spusteni aplikace a debugovani samozrejme slo videt co presne v Listu je za Tridu. A protoze Pythonu pouziva ducktyping, tak ty uz vubec nevis, co v te kolekci je, dokud si to nespustis.

Objektu se muzes zeptat a podle toho s nim pracovat - za behu. Timto s Tebou koncim, pokud si myslis, ze v Pythonu neni mozne statickou analyzou zjistit, co je v kolekci, je tato debata nadale zbytecna.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 09. 03. 2020, 08:29:30
Jistěže lze kdykoliv zjistit typ objektu. Bohužel to pak dopadá třeba takhle https://github.com/dddomodossola/remi/blob/master/remi/gui.py#L1914 . V javě (a spoustě jiných jazyků) by se v této situaci (pokud bych to nechtěl celé postavit jinak, víc objektově) udělalo více metod append s různými vstupními parametry (Map, Collection, Widget) a každá by se chovala jinak. Jak to udělat v pythonu? Udělat metody appendDict, appendCollection, appendWidget? Nebo jednu metodu, která ale ve skutečnosti dělá pomocí if elseif... tři různé věci, jak je to v ukázce.

Nicméně samozřejmě nesouhlasím, že by se java neměla od pythonu co učit. Chybějící mixiny jsou zásadní nedostatek, o který zakopávám v jednom kuse. A defaultní metody interfaců to zdaleka neřeší, protože jsou public a interfacy nemají vnitřní proměnné. Tuples by se sakra hodily. Rovněž nemožnost volat kód s checkovanými výjimkami ve streamu je zásadní omezení modernizace legacy kódu. Končí to obalováním bloků runtime výjimkami, což je zbytečný balast. Python to v generátorech neřeší, příjemně se používají.

Na druhou stranu chápu, že java musí držet nějakou kompatibilitu a přidávání nových vlastností není úplně jednoduché. Přechod python2 -> python3 byl úplně špatně, to mi nikdo nevymluví. Ale i java má své problémy, technické změny v javě 9 zasekly spoustu projektů na osmičce (nepočítám-li změnu licence).

O kvalitě vývoje v enterprise si nedělám iluze :-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 09. 03. 2020, 09:27:20
Jistěže lze kdykoliv zjistit typ objektu. Bohužel to pak dopadá třeba takhle https://github.com/dddomodossola/remi/blob/master/remi/gui.py#L1914 . V javě (a spoustě jiných jazyků) by se v této situaci (pokud bych to nechtěl celé postavit jinak, víc objektově) udělalo více metod append s různými vstupními parametry (Map, Collection, Widget) a každá by se chovala jinak. Jak to udělat v pythonu? Udělat metody appendDict, appendCollection, appendWidget? Nebo jednu metodu, která ale ve skutečnosti dělá pomocí if elseif... tři různé věci, jak je to v ukázce.

Ten kod je jednoznacne napraseny - pokud uz chci povolit takovyto rozptyl vstupu, je to jednoznacne na vice metod - pro list a dict ta metoda stejne jenom rekurzivne vola samu sebe. Navic ma volitelny parametr key, ktery ale v pripade listu a dictu ignoruje, coz je na prvni pohled sporne. A vyhodu v tom mit vsechny tri metody pojmenovane stejne, osobne nevidim - semantika je jina, tak at se to i jinak jmenuje. Podle me nejaky mechanismus a la multimethods zde postrada smysl a implementace z prikladu je dost tragikomicka. Podobne nejsem priznivcem pouzivani **kwargs coby soucasti API, podle me je to dost zoufale a kontraproduktivni rozhodnuti, kdyz k tomu nekdo svevolne sahne.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 09. 03. 2020, 10:20:50
Bohužel s podobným přístupem k netypovanému parametru metod se setkávám v pythoních projektech docela často. Půlka metod API začíná runtime kontrolou správných typů parametrů.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 09. 03. 2020, 11:05:16
Jistěže lze kdykoliv zjistit typ objektu. Bohužel to pak dopadá třeba takhle https://github.com/dddomodossola/remi/blob/master/remi/gui.py#L1914 . V javě (a spoustě jiných jazyků) by se v této situaci (pokud bych to nechtěl celé postavit jinak, víc objektově) udělalo více metod append s různými vstupními parametry (Map, Collection, Widget) a každá by se chovala jinak. Jak to udělat v pythonu? Udělat metody appendDict, appendCollection, appendWidget? Nebo jednu metodu, která ale ve skutečnosti dělá pomocí if elseif... tři různé věci, jak je to v ukázce.

Nicméně samozřejmě nesouhlasím, že by se java neměla od pythonu co učit. Chybějící mixiny jsou zásadní nedostatek, o který zakopávám v jednom kuse. A defaultní metody interfaců to zdaleka neřeší, protože jsou public a interfacy nemají vnitřní proměnné. Tuples by se sakra hodily. Rovněž nemožnost volat kód s checkovanými výjimkami ve streamu je zásadní omezení modernizace legacy kódu. Končí to obalováním bloků runtime výjimkami, což je zbytečný balast. Python to v generátorech neřeší, příjemně se používají.

Na druhou stranu chápu, že java musí držet nějakou kompatibilitu a přidávání nových vlastností není úplně jednoduché. Přechod python2 -> python3 byl úplně špatně, to mi nikdo nevymluví. Ale i java má své problémy, technické změny v javě 9 zasekly spoustu projektů na osmičce (nepočítám-li změnu licence).

O kvalitě vývoje v enterprise si nedělám iluze :-)

Souhlas, osobne pouzivm Javu na tezsi veci a Python3 na skriptovani.
A zrozvna mixin mi vubec nechybi, to povazuju za pomerne nebezpecnou zalezitost co vede k pekne zamotanemu kodu.
Osobne se vubec snazim vyhnou dedeni a preferuju kompozici ve stylu Spring bean injection. Tim ddosahnes stejny vysledek a bezpecne, pripadne problemy bouchnou hned pri startu programu programu kde te Spring posle do zadele s cyklickymi referencemi apod.
Co se tyce tuples, ty mi taky nechybi. Vyrobit staticky bean v Ecplise je par kliku na generator, staci definovat atributy, zbytek dogeneruje IDE. A mam moznosti si treba interceptovat pro potreby debug pristup k jednotlivym atributum beanu pres injektovany logger, to s holym python tuplem neudelas.
dalsi aletrnativa je Lombok, tam vypada definice beanu takto:
Kód: [Vybrat]
@RequiredArgsConstructor
@Accessors(fluent = true) @Getter
public class LoginResult {
 
    private final @NonNull Instant loginTs;
 
    private final @NonNull String authToken;
    private final @NonNull Duration tokenValidity;
     
    private final @NonNull URL tokenRefreshUrl;
 
}

Krasne citelne, kazdy z fleku vidi co to dela, par radku kodu.


Streamy se snazim osobne nepouzivat, pouze pro jednoduche transformace collections apod. Stejne je z toho ve vysledku bytecode s foreach cyklem, to radsi napisu ten foreach rovnou a obetuju par radku kodu navic vymenou za lepsi citelnost.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Standa Blábol 09. 03. 2020, 11:10:09
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal
A od začátku měl normální kolekce, do kterých vlezl objekt, který věděl, co je zač a ne pole Objectů s křišťálovou koulí a pitomým přetypováním, když mu koule řekla, co je to skutečně zač.

Tak to je trochu blbost, nemyslis? Objektu je prd po tom, co je zac, ta informace je dulezita predevsim pro programatora. To programator nevedel, co v tom Listu je, videl jen ze je to list Objektu, nez se do Javy daly genericke typy :D Pri spusteni aplikace a debugovani samozrejme slo videt co presne v Listu je za Tridu. A protoze Pythonu pouziva ducktyping, tak ty uz vubec nevis, co v te kolekci je, dokud si to nespustis.

Objektu se muzes zeptat a podle toho s nim pracovat - za behu. Timto s Tebou koncim, pokud si myslis, ze v Pythonu neni mozne statickou analyzou zjistit, co je v kolekci, je tato debata nadale zbytecna.

Mno, v Jave se operatorem instanceof taky dozvis, co je to za objekt. V Jave <1.4 se to tak taky po pythonovsku delalo. Proto jsem nahore vyslovne psal, ze staci psat na urovni java 1.5, ktera uvedla generika, to mluvime o roku 2004, mimochodem.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 12:20:21
Jistěže lze kdykoliv zjistit typ objektu. Bohužel to pak dopadá třeba takhle https://github.com/dddomodossola/remi/blob/master/remi/gui.py#L1914 . V javě (a spoustě jiných jazyků) by se v této situaci (pokud bych to nechtěl celé postavit jinak, víc objektově) udělalo více metod append s různými vstupními parametry (Map, Collection, Widget) a každá by se chovala jinak. Jak to udělat v pythonu? Udělat metody appendDict, appendCollection, appendWidget? Nebo jednu metodu, která ale ve skutečnosti dělá pomocí if elseif... tři různé věci, jak je to v ukázce.

Nicméně samozřejmě nesouhlasím, že by se java neměla od pythonu co učit. Chybějící mixiny jsou zásadní nedostatek, o který zakopávám v jednom kuse. A defaultní metody interfaců to zdaleka neřeší, protože jsou public a interfacy nemají vnitřní proměnné. Tuples by se sakra hodily. Rovněž nemožnost volat kód s checkovanými výjimkami ve streamu je zásadní omezení modernizace legacy kódu. Končí to obalováním bloků runtime výjimkami, což je zbytečný balast. Python to v generátorech neřeší, příjemně se používají.

Na druhou stranu chápu, že java musí držet nějakou kompatibilitu a přidávání nových vlastností není úplně jednoduché. Přechod python2 -> python3 byl úplně špatně, to mi nikdo nevymluví. Ale i java má své problémy, technické změny v javě 9 zasekly spoustu projektů na osmičce (nepočítám-li změnu licence).

O kvalitě vývoje v enterprise si nedělám iluze :-)


tady by mozna stalo za to pouzit keyword argumenty? Rozhodovaci logika by se dost zjednodusila. Asi bych jeste oddelil ty dve cinnosti. Na splosteni te zanorene vstupni struktury bych pouzil nejakou generickou funkci. Na zpracovani jednotlivich key value paru bych pouzil oddelenou funkci. Na testovani vice pribuznch typu se da pouzit neco jako isinstance Iterable nebo isinstance Sequence a pod.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 12:42:40
pro splosteni tech zanorenych dictu existuji knihovni funkce, ja treba pouzivam knihovnu funcy

Kód: [Vybrat]
>>> from funcy import flatten, join
>>> join(flatten([{'a':1}, [{'b':2}, [{'c':3}]]]))
{'a': 1, 'b': 2, 'c': 3}

nemusite psat rucne rekurzi
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 09. 03. 2020, 13:30:43
Určitě je spoustu cest, jak to rozhodování řešit. Pro mě je ale podstatné, že se musí na začátku funkce něco takového řešit. To přece nemá s příjemným a robustním vývojem nic společného.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 13:50:26
Určitě je spoustu cest, jak to rozhodování řešit. Pro mě je ale podstatné, že se musí na začátku funkce něco takového řešit. To přece nemá s příjemným a robustním vývojem nic společného.

podle mě nemusíte řešit. stačí se jen trochu přizpůsobit zavedeným konvencím. Pro funkce akceptující jeden nebo více párů klíč-hodnota se používají **kwargs, pro funkce akceptující jednu nebo více hodnot se používá *args. Ve vašem případě bych to kombinoval.

Kód: [Vybrat]
from funcy import flatten, join

def append(*args, **kwargs):
    widgets = {**join(flatten(args)), **kwargs}
    for k, v in widgets.items():
        process_widget(k, w)
    return widgets.keys()

funkce akceptuje slovnik, zanorene listy, keyword argumenty, vice slovniku, .... spoji vse do jednoho slovniku widgets, ktery zpracuje

rekurzivni typove anotace jsou mozne, jen je asi nedam z hlavy
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 14:07:51
oprava, lepe tak:

Kód: [Vybrat]
from funcy import flatten, join

def append(*args, **kwargs):
    widgets = join([*flatten(args), *[kwargs]])
    for k, v in widgets.items():
        process_widget(k, w)
    return widgets.keys()
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 14:37:14
oprava, jeste lepe tak:

Kód: [Vybrat]
from funcy import flatten, join

def append(*args, **kwargs):
    widgets = join([*flatten(args), kwargs])
    for k, v in widgets.items():
        process_widget(k, w)
    return widgets.keys()
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 15:04:35
Vetsinou lidi, kteri nevidi prinos pythonu, pisi nasobne vic kodu nez je nutne. Pripravuji se tim o hlavni vyhodu pythonu oproti Jave, mensi ukecanost.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 09. 03. 2020, 15:14:16
Oproti Javě tu výhodu má snad každý jayk...
Název: Re:Datove tridy v Pythonu
Přispěvatel: qelurg 09. 03. 2020, 15:23:59
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal

Opravdu? Umi java duck typing? Umí java modifikovat tridy realtime za behu programu? Umi java neco jako:

def fce1(arg1, /, arg2, *, arg3):
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 09. 03. 2020, 15:42:32
Vetsinou lidi, kteri nevidi prinos pythonu, pisi nasobne vic kodu nez je nutne. Pripravuji se tim o hlavni vyhodu pythonu oproti Jave, mensi ukecanost.

Ano, osobne pisu mnohem vice kodu nez je nutne a hromadu komentaru k tomu.
A to za ucelem citelnosti kodu, az se na to za 3 roky podivam, nepotrebuju dekodovat fancy hacky, co zpusobily, ze jsem usetril  4 radky kodu.
Asi "nejlepsi" je v tomto ohledu Perl, ktery je obecne znam jako "write only language", casto to po sobe neprecte ani autor.

Osobne se snazim o takovy kod, ktery precte i clovek, co v zivote v Jave nedelal.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 09. 03. 2020, 15:50:10
Určitě je spoustu cest, jak to rozhodování řešit. Pro mě je ale podstatné, že se musí na začátku funkce něco takového řešit. To přece nemá s příjemným a robustním vývojem nic společného.
To je jen váš subjektivní dojem. Ať tak nebo tak, řešit to musíte v každém jazyku. Mít rozhodování v jedné funkci dle typu nebo si na to napsat deset přetížených funkcí je věc osobních preferencí. Komu vyhovuje přetěžování, může v pythonu používat @overload.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Standa Blábol 09. 03. 2020, 15:52:11
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal

Opravdu? Umi java duck typing? Umí java modifikovat tridy realtime za behu programu? Umi java neco jako:

def fce1(arg1, /, arg2, *, arg3):

Ne neumi.
Protoze to jsou znouzectnosti, Java vsechny tyto veci resi jinak a robustneji.
Ducktyping je znouzectnost, protoze python neumi silne typy. Ducktyping neni nic jineho, ze nemam ZADNOU kontrolu typu, proste zavolam stejnojmennou metodu bez rozliseni typu atributu a dej se vule bozi.
IDE s tim maglajzem neudela nic, v Jave ti eclipse pri znalosti signatur metod pise podstatny kus kodu za tebe, staci mackat CTRL+SPACE

Modifikovat tridu za behu je prasecina, v Jave se zkratka pouziva misto hrabani do trid dynamicka kompozice typu Spring IoC.
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.

https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

O generickych metodach ani nemluvim.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 09. 03. 2020, 15:54:05
Vetsinou lidi, kteri nevidi prinos pythonu, pisi nasobne vic kodu nez je nutne. Pripravuji se tim o hlavni vyhodu pythonu oproti Jave, mensi ukecanost.

Ano, osobne pisu mnohem vice kodu nez je nutne a hromadu komentaru k tomu.
A to za ucelem citelnosti kodu, az se na to za 3 roky podivam, nepotrebuju dekodovat fancy hacky, co zpusobily, ze jsem usetril  4 radky kodu.
Asi "nejlepsi" je v tomto ohledu Perl, ktery je obecne znam jako "write only language", casto to po sobe neprecte ani autor.

Osobne se snazim o takovy kod, ktery precte i clovek, co v zivote v Jave nedelal.

Psát čitelně je ideál. Ale příliš mnoho (zbytečného) kódu přehlednost snižuje. Java je proto nepřehledný jazyk, imho jeden z hlavních důvodů neíblíbenosti. Vždy když slyším obhajobu, že ide mi ten kód vygeneruje, tak mám dost nepříiemný pocit, že je něcohodně špatně.
Název: Re:Datove tridy v Pythonu
Přispěvatel: qelurg 09. 03. 2020, 16:04:00
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal

Opravdu? Umi java duck typing? Umí java modifikovat tridy realtime za behu programu? Umi java neco jako:

def fce1(arg1, /, arg2, *, arg3):

Ne neumi.
Protoze to jsou znouzectnosti, Java vsechny tyto veci resi jinak a robustneji.
Ducktyping je znouzectnost, protoze python neumi silne typy. Ducktyping neni nic jineho, ze nemam ZADNOU kontrolu typu, proste zavolam stejnojmennou metodu bez rozliseni typu atributu a dej se vule bozi.
IDE s tim maglajzem neudela nic, v Jave ti eclipse pri znalosti signatur metod pise podstatny kus kodu za tebe, staci mackat CTRL+SPACE

Modifikovat tridu za behu je prasecina, v Jave se zkratka pouziva misto hrabani do trid dynamicka kompozice typu Spring IoC.
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.

https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

O generickych metodach ani nemluvim.

Výborně, máme vyvráceno nesmyslné tvrzení, že Java umí všechno, co Pythoh.

Duck typing není z nouze ctnost, je to chtěný a žádaný stav. Není pravda, že to znamená žádnou kontrolu typů. Python je vyšší jazyk, kde typ je vlastnost hodnoty nikoliv proměnné. Python má silné typy, ale vyhodnocuje je dynamicky. Pomocí MyPy je umí vyhodnocovat i staticky, ale z toho pramení mnohí nechtěných omezení, žakže já třeba jazyky se statickýmá typy odmítám, nejsou pro mě dostatečně flexibilní.

Já spoléhám na sebe, nikoliv na ide a je mi fajn. Ty prostě neumíš dobře programovat, ovládáš možná statické programování, ale plaveš v tom dynamickém, neumíš myslet v dynamickém jazyku. To je celé. Omezuješ sám sebe. Já zase neumím myslet ve funkcionálních jazycích, ale beru to jako svůj nedostatek, nikoliv jako nedostatek (těch blbých) funkcionálních jazyků.

Můj dotaz nezněl na variabilní počet argumentů.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 09. 03. 2020, 16:04:17
Vetsinou lidi, kteri nevidi prinos pythonu, pisi nasobne vic kodu nez je nutne. Pripravuji se tim o hlavni vyhodu pythonu oproti Jave, mensi ukecanost.

Ano, osobne pisu mnohem vice kodu nez je nutne a hromadu komentaru k tomu.
A to za ucelem citelnosti kodu, az se na to za 3 roky podivam, nepotrebuju dekodovat fancy hacky, co zpusobily, ze jsem usetril  4 radky kodu.
Asi "nejlepsi" je v tomto ohledu Perl, ktery je obecne znam jako "write only language", casto to po sobe neprecte ani autor.

Osobne se snazim o takovy kod, ktery precte i clovek, co v zivote v Jave nedelal.

Psát čitelně je ideál. Ale příliš mnoho (zbytečného) kódu přehlednost snižuje. Java je proto nepřehledný jazyk, imho jeden z hlavních důvodů neíblíbenosti. Vždy když slyším obhajobu, že ide mi ten kód vygeneruje, tak mám dost nepříiemný pocit, že je něcohodně špatně.

Mno, staci mit zajimave metody nahore, seno dole. Kazdy vi co je getter, setter, toString().
IntelliJ to umi dokonce konfigurovatelne foldovat.
A kdo toto nezkousne, je tu Lombok, osobne nepouzivam.

Java neni rozhosdne ukecana vic, nez je potreba.
Prakticky jedina vec, kterou v tomoto ohledu Jave zazlivam, je nemoznost NonNull Objectu, kde proste neni mozno mit null object daneho typu s null hodnotou.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 16:06:28
Java neni rozhosdne ukecana vic, nez je potreba.

java je nejukecanejsi v soucasnosti pouzivany jazyk
Název: Re:Datove tridy v Pythonu
Přispěvatel: qelurg 09. 03. 2020, 16:10:34
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.
https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

Tohle nená žádná zhůvěřilost, máš tam v odpovědi krásný příklad využití dekorátoru @singledispatch na přetěžování. Alternativou je použití dekorátoru @overload.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 09. 03. 2020, 16:14:34
Mno, staci mit zajimave metody nahore, seno dole. Kazdy vi co je getter, setter, toString().
...
Java neni rozhosdne ukecana vic, nez je potreba.

Java je neuvěřitelně ukecaný a těžkopádný jazyk. Sekl jsem s ní už kdysi dávno, protože odmítám ztrácet čas  'senem'. Já vím, ide mi ho vygeneruje.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Standa Blábol 09. 03. 2020, 16:43:58
Python neumi nic, co by neumela java(akorat vylozene nebezpecne veci se tam delaji ukecane, typicky reflection api, to je zalesitost pro tvurce frameworku, bezny jouda do toho nema co hrabat), naopak to zdaleka neplati. Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal

Opravdu? Umi java duck typing? Umí java modifikovat tridy realtime za behu programu? Umi java neco jako:

def fce1(arg1, /, arg2, *, arg3):

Ne neumi.
Protoze to jsou znouzectnosti, Java vsechny tyto veci resi jinak a robustneji.
Ducktyping je znouzectnost, protoze python neumi silne typy. Ducktyping neni nic jineho, ze nemam ZADNOU kontrolu typu, proste zavolam stejnojmennou metodu bez rozliseni typu atributu a dej se vule bozi.
IDE s tim maglajzem neudela nic, v Jave ti eclipse pri znalosti signatur metod pise podstatny kus kodu za tebe, staci mackat CTRL+SPACE

Modifikovat tridu za behu je prasecina, v Jave se zkratka pouziva misto hrabani do trid dynamicka kompozice typu Spring IoC.
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.

https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

O generickych metodach ani nemluvim.

Výborně, máme vyvráceno nesmyslné tvrzení, že Java umí všechno, co Pythoh.

Duck typing není z nouze ctnost, je to chtěný a žádaný stav. Není pravda, že to znamená žádnou kontrolu typů. Python je vyšší jazyk, kde typ je vlastnost hodnoty nikoliv proměnné. Python má silné typy, ale vyhodnocuje je dynamicky. Pomocí MyPy je umí vyhodnocovat i staticky, ale z toho pramení mnohí nechtěných omezení, žakže já třeba jazyky se statickýmá typy odmítám, nejsou pro mě dostatečně flexibilní.

Já spoléhám na sebe, nikoliv na ide a je mi fajn. Ty prostě neumíš dobře programovat, ovládáš možná statické programování, ale plaveš v tom dynamickém, neumíš myslet v dynamickém jazyku. To je celé. Omezuješ sám sebe. Já zase neumím myslet ve funkcionálních jazycích, ale beru to jako svůj nedostatek, nikoliv jako nedostatek (těch blbých) funkcionálních jazyků.

Můj dotaz nezněl na variabilní počet argumentů.

Jojo, dynamic typing je takovej zazrak, az se to Pythonu 3.5 dostal modul typing a v 3.8 to rozsirili napr o final, podobnost s klicovymi slovy javy je ciste nahodna.
A Typescript vsnikl nad Javascriptem taky z cisleho masochismu lidi, co si neumi uzivat blaho dynamickeho bordelu.

Kdyz se divam na vyvoj Pythonu3, je to prakticky souvisla snaha nejak napasovat Java (C#, C++) featury do standardni knihovny.

Ehm, ja pouzivam aktivne python i javu. Python je skvely na jednoduche skriptiky, napr. ansible na tom jede sakumprask.
Pro opravdove SW projekty na kterych dela vice lidi obecne ruzne kvality, se to s Javou merit neda.
A poznamka o programovani bez IDE me rozesmala, to musi byt produktivita jak noha a hlavu mit jak patraci balon, abych si v chainu Viewer - Model - Service - Repository pamatovat atributy a nazvy metod. V IDE ctrl+space a doplni se to samo.
Ale proti gustovi zadny disputat.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 16:51:34
Jojo, dynamic typing je takovej zazrak, az se to Pythonu 3.5 dostal modul typing a v 3.8 to rozsirili napr o final, podobnost s klicovymi slovy javy je ciste nahodna.
A Typescript vsnikl nad Javascriptem taky z cisleho masochismu lidi, co si neumi uzivat blaho dynamickeho bordelu.

Kdyz se divam na vyvoj Pythonu3, je to prakticky souvisla snaha nejak napasovat Java (C#, C++) featury do standardni knihovny.

Ehm, ja pouzivam aktivne python i javu. Python je skvely na jednoduche skriptiky, napr. ansible na tom jede sakumprask.
Pro opravdove SW projekty na kterych dela vice lidi obecne ruzne kvality, se to s Javou merit neda.
A poznamka o programovani bez IDE me rozesmala, to musi byt produktivita jak noha a hlavu mit jak patraci balon, abych si v chainu Viewer - Model - Service - Repository pamatovat atributy a nazvy metod. V IDE ctrl+space a doplni se to samo.
Ale proti gustovi zadny disputat.

python neznate, nebo nepouzivate IDE, nazvy parametru a metod si pamatovat nemusite

staticke typovani v pythonu to za kratkou dobu dotahlo dal nez java za temer tricet let.

modul typing je vyuzitelny i pro runtime validace, v podstate je to jen kolekce abstraktnich trid. Prave diky dynamickemu typovani se python tak dobre pouziva interaktivne, veskere informace mate k dispozici za behu.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Standa Blábol 09. 03. 2020, 16:59:11
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.
https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

Tohle nená žádná zhůvěřilost, máš tam v odpovědi krásný příklad využití dekorátoru @singledispatch na přetěžování. Alternativou je použití dekorátoru @overload.

Tak to mame dost odlisne nazory na krasu:

Kód: [Vybrat]
class S_Unknown: pass
class S_Block: pass
class S_Empty: pass
class S_Function: pass
class S_SpecialBlock(S_Block): pass

@singledispatch
def render(s, **kwargs):
  print('Rendering an unknown type')

@render.register(S_Block)
def _(s, **kwargs):
  print('Rendering an S_Block')

@render.register(S_Empty)
def _(s, **kwargs):
  print('Rendering an S_Empty')

@render.register(S_Function)
def _(s, **kwargs):
  print('Rendering an S_Function')

if __name__ == '__main__':
  for t in [S_Unknown, S_Block, S_Empty, S_Function, S_SpecialBlock]:
    print(f'Passing an {t.__name__}')
    render(t())

OMG, mejme externi knihovnu co se stara o rozhazovani podle _PRVNIHO_ argumentu funkce a sam si to zaregistruj jak u blbejch na dvorku. https://docs.python.org/3/library/functools.html#functools.singledispatch

To jako chceme srovnavat s java method signature, kde se  do signatury pocita vse krome navratove hodnoty?

Heh, tady se vycita jave ukecanost a pak se tu argumentuje selmostrojem ktery za pomoci nevykonneho sena anotaci, manuani registrace dovede pretezovate podel _PRVNIHO_ atributu?

Pricemz podpora IDE (autocomplete, refactoring) pro takovy selmostroj je zakonite nulova?

Zajimave,

Název: Re:Datove tridy v Pythonu
Přispěvatel: qelurg 09. 03. 2020, 17:23:28
Jojo, dynamic typing je takovej zazrak, az se to Pythonu 3.5 dostal modul typing a v 3.8 to rozsirili napr o final, podobnost s klicovymi slovy javy je ciste nahodna.
A Typescript vsnikl nad Javascriptem taky z cisleho masochismu lidi, co si neumi uzivat blaho dynamickeho bordelu.

Kdyz se divam na vyvoj Pythonu3, je to prakticky souvisla snaha nejak napasovat Java (C#, C++) featury do standardni knihovny.

Ehm, ja pouzivam aktivne python i javu. Python je skvely na jednoduche skriptiky, napr. ansible na tom jede sakumprask.
Pro opravdove SW projekty na kterych dela vice lidi obecne ruzne kvality, se to s Javou merit neda.
A poznamka o programovani bez IDE me rozesmala, to musi byt produktivita jak noha a hlavu mit jak patraci balon, abych si v chainu Viewer - Model - Service - Repository pamatovat atributy a nazvy metod. V IDE ctrl+space a doplni se to samo.
Ale proti gustovi zadny disputat.

Ano, Python je flexibilní, takže přidal podporu i pro statické typování při zachování typování dynamického. Kam se na to hrabe Java. Duck typing není zázrak, ale je to jedno z nejoblíbenějších paradigmat. Jak typing v Pythonu tak Typescript se používá spíše okrajově, obávám se, že to vzniká hlavně pro lidi se statickým myšlením, kteří nechápou a nedokáží využít výhody dynamických typů a dispatch dle typu považují za něco špatného. Na vývoj Pythonu 3 se díváte s nepochopením, pravděpodobně ani nevíte, co vše vzniká, příklad s arg1, /, arg2, *, arg3 jste vůbec nepochopil, přitom je to také featura Pythonu 3. Co se týče opravdových projektů, je třeba Dropbox, Youtube, Disqus, Reddit, Instagram, ... myslím že to jde a omezuje ho spíš výkon než co jiného.
Název: Re:Datove tridy v Pythonu
Přispěvatel: qelurg 09. 03. 2020, 17:27:47
Variabilni pocet atributu metody java umi taky, se silnymi typy v parametrech, ktere mimochoden jsou soucasti signatury metody a netreba provadet zhuverilosti jako je toto.
https://stackoverflow.com/questions/25343981/method-overloading-for-different-argument-type-in-python

Tohle nená žádná zhůvěřilost, máš tam v odpovědi krásný příklad využití dekorátoru @singledispatch na přetěžování. Alternativou je použití dekorátoru @overload.

Tak to mame dost odlisne nazory na krasu:

Kód: [Vybrat]
class S_Unknown: pass
class S_Block: pass
class S_Empty: pass
class S_Function: pass
class S_SpecialBlock(S_Block): pass

@singledispatch
def render(s, **kwargs):
  print('Rendering an unknown type')

@render.register(S_Block)
def _(s, **kwargs):
  print('Rendering an S_Block')

@render.register(S_Empty)
def _(s, **kwargs):
  print('Rendering an S_Empty')

@render.register(S_Function)
def _(s, **kwargs):
  print('Rendering an S_Function')

if __name__ == '__main__':
  for t in [S_Unknown, S_Block, S_Empty, S_Function, S_SpecialBlock]:
    print(f'Passing an {t.__name__}')
    render(t())

OMG, mejme externi knihovnu co se stara o rozhazovani podle _PRVNIHO_ argumentu funkce a sam si to zaregistruj jak u blbejch na dvorku. https://docs.python.org/3/library/functools.html#functools.singledispatch

To jako chceme srovnavat s java method signature, kde se  do signatury pocita vse krome navratove hodnoty?

Heh, tady se vycita jave ukecanost a pak se tu argumentuje selmostrojem ktery za pomoci nevykonneho sena anotaci, manuani registrace dovede pretezovate podel _PRVNIHO_ atributu?

Pricemz podpora IDE (autocomplete, refactoring) pro takovy selmostroj je zakonite nulova?

Zajimave,

To je jednoduché, reimplementujte tento celý program v javě a hoďte ho sem, uvidíme :-). A pak to uděláme i naopak, napíšeme to samé po pythonovsku (skrz introspekci v jedné funkci) a vy tento způsob reimplementujete v javě, ok?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 09. 03. 2020, 18:26:29
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 09. 03. 2020, 18:52:30
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

asi tak, pythonista napise code snippet za par sekund a postne ho do diskuze. Javista jen okecava.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Petr Jahoda 09. 03. 2020, 18:58:28
Po par letech zkusenosti s Javou a C# a rocni zkusenosti s GO doporucuji GO.
Ja osobne to vidim takto GO > C# > Java.
Ve vsech trech udelam to stejne, ale...
GO je nejmene ukecane
GO mi dela nejmensi binarky
GO ma psane pravidla formatovani kodu, zjednodusuje to prehlednost ve zdrojacich, co vidite poprve (proste jakobyste to psali sami)
GO mi pripadne nejprehlednejsi, kdyz se podivam na kod. Taky je toto kodu nejmin
GO ma perfektne zvladnute rutiny (thready, procesy, ...)

Ale je fakt ze s Pythonem mam zkusenosti nula
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 09. 03. 2020, 19:50:26
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

asi tak, pythonista napise code snippet za par sekund a postne ho do diskuze. Javista jen okecava.

Každý dělá, na co je zvyklý.  ;D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 09. 03. 2020, 20:45:56
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

Ne panove, to je zkratka moje prohlednuti, ze vy tu vubec nemate tuseni o cem to melete.
Pisu tady, ze signatura java metody je vcetne parametru metody a vrati se mi dotaz, jak bych asi tu python zpatlaninu udelal v Jave.

No jako tri metody render, ktere se lisi typem atributu s, kluci usati, na telefonu vam to tu rozepisovat nebudu.
A to jeste predpokladam kompletne odlisnou vnitrni implementaci, pokud by vsechny typy objektu s byly z jednoho predka a ja si vystacil s metodami predka, udelam to jednou generickou metodou.

Dalsich debat na toto tema se ucastnit s prominutim nebudu, to je marnost
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 09. 03. 2020, 21:03:23
Po par letech zkusenosti s Javou a C# a rocni zkusenosti s GO doporucuji GO.
Ja osobne to vidim takto GO > C# > Java.
Ve vsech trech udelam to stejne, ale...
GO je nejmene ukecane
GO mi dela nejmensi binarky
GO ma psane pravidla formatovani kodu, zjednodusuje to prehlednost ve zdrojacich, co vidite poprve (proste jakobyste to psali sami)
GO mi pripadne nejprehlednejsi, kdyz se podivam na kod. Taky je toto kodu nejmin
GO ma perfektne zvladnute rutiny (thready, procesy, ...)

Ale je fakt ze s Pythonem mam zkusenosti nula

Java programator, co je unesen z gofmt a nepoznal taje ctrl+F v eclipse.
Ktery je unesen z GO, co neumi ani takovou trivialitu, jako je LinkedHashMap a neumi ani generika, aby si to koder dodelal.

A je unesen z prehlednosti kodu, kde jsou po kazdem volani funkce nasazeny if(err!=nil) dohromady zmatlany business kod a error handling do jedne hromady hnoje, protoze to neumi ani vyjimky, natoz aby byly dedicne hierarchicke.

Vystup tohoto java kodera musel byt neco velice zajimaveho
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 09. 03. 2020, 21:50:34
Ano, Java je dost ukecany jazyk a taky hodne, hodne tezkopadny. A me to taky dost vadi, protoze je to strasna drina. Jenze na velkych projektech presne tohle potrebujete. Tam se to vam to vrati mnohonasobne vic diky vzniknuvsimu poradku. V Jave jsem napr. doposud nemeli stringy na vice radku:

Kód: [Vybrat]
"""
blabla sql query
bla sql sql
sql
sql
"""

Je to strasne otravne, ale taky strasne dulezite pro Javovske projekty, presne takovato striktnost dela Javu Javou a proto se tak hodne pouziva v enterprise. Protoze vyse uvedeny string patri do Resource, a ne do Tridy:

Kód: [Vybrat]
resource/blabla-query.sql

Takova striknost umoznuje dosahnout to, cemu se rika, ze by mel existovat jediny zpusob, jak neco udelat. Na vyse uvedene omezeni sice bude Pepik programator nadavat, ale prinuti ho to strcit takove veci na jedine misto. A pro ostatni programatory je to prehlednejsi.

A to je taky nejvetsi problem jazyku jako je Python, Javacript, Scala, dost kravin ma i C#. Dneska, v nasem enterprise, Servicy psane v Jave Springu jsou si sobe podobne jako vejce vejci. Nase Javovska platforma omezuje ruzne impresionisticke umelce - at tahnou k Javascriptu. Diky tomu mame v enterprise to, co potrebujeme nejvice, a to je poradk. Samozrejme i v Jave se da vsechno zmrvit a taky vetsina projektu jsou solidni srac ky, ale v Pythony a v javascriptu by byly jeste vetsi.

Java a jejic frameworky je proste tezka zemedelska technika a jde ji to dobre.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 09. 03. 2020, 22:23:43
Ano, Java je dost ukecany jazyk a taky hodne, hodne tezkopadny. A me to taky dost vadi, protoze je to strasna drina. Jenze na velkych projektech presne tohle potrebujete. Tam se to vam to vrati mnohonasobne vic diky vzniknuvsimu poradku. V Jave jsem napr. doposud nemeli stringy na vice radku:

Kód: [Vybrat]
"""
blabla sql query
bla sql sql
sql
sql
"""

Je to strasne otravne, ale taky strasne dulezite pro Javovske projekty, presne takovato striktnost dela Javu Javou a proto se tak hodne pouziva v enterprise. Protoze vyse uvedeny string patri do Resource, a ne do Tridy:

Kód: [Vybrat]
resource/blabla-query.sql

Takova striknost umoznuje dosahnout to, cemu se rika, ze by mel existovat jediny zpusob, jak neco udelat. Na vyse uvedene omezeni sice bude Pepik programator nadavat, ale prinuti ho to strcit takove veci na jedine misto. A pro ostatni programatory je to prehlednejsi.

A to je taky nejvetsi problem jazyku jako je Python, Javacript, Scala, dost kravin ma i C#. Dneska, v nasem enterprise, Servicy psane v Jave Springu jsou si sobe podobne jako vejce vejci. Nase Javovska platforma omezuje ruzne impresionisticke umelce - at tahnou k Javascriptu. Diky tomu mame v enterprise to, co potrebujeme nejvice, a to je poradk. Samozrejme i v Jave se da vsechno zmrvit a taky vetsina projektu jsou solidni srac ky, ale v Pythony a v javascriptu by byly jeste vetsi.

Java a jejic frameworky je proste tezka zemedelska technika a jde ji to dobre.

Podle mě se i ta java mírně rozvolňuje, což je plus (defaultní metody umožňují používat něco jako traity, lambdy přinášejí možnost funkcionálního přístupu, pracuje se na pattern matchingu apod.). Paradoxně jsou největší slabiny v nedokonalém OOP a v type erasure u Generik a příslovečné hodnotě null („NULL is the Worst Mistake in Computer Science“).

Nicméně komu nevyhovuje java, ten může na stejné jvm spustit progresivnější jazyky se zachováním skvělé interoperability s javou (Groovy, Scala a další) - vzniknuvší class soubory spustíte a použijete bez problému ve svém java projektu a naopak. A dále odhaduju, že díky Graalvm bude java postupně víc a víc bodovat v mikroservices. Takže IMHO má java dobrou šanci se adaptovat a přitom  zachovat dobré vlastností celé platformy.

To vše píšu s vědomím toho, že k akademickému ideálu to má stále daleko, takový Smalltalk by byl asi elegantnější, ale používá se podstatně méně, asi se příliš odlišuje od C-like jazyků a příliš předběhl svou dobu.

Jinak Python mi přijde v pohodě, ale cíli na trochu jiný mindset než java a oproti Smalltalku zase nejde dost do důsledků. Ale IMHO pořád k velmi dobré volbě pro mnoho případů.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 10. 03. 2020, 05:03:31
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

Ne panove, to je zkratka moje prohlednuti, ze vy tu vubec nemate tuseni o cem to melete.
Pisu tady, ze signatura java metody je vcetne parametru metody a vrati se mi dotaz, jak bych asi tu python zpatlaninu udelal v Jave.

Neblábol Stando, už i ty jsi pochopil v čem a proč je Java špatná. Nenašel jsi odvahu sem dát implementaci něčeho, co je Javě vlastní (přetěžování) a pro Python je to škrábání se na krku přes hlavu. I tak to má Python stručnější a přehlednější. Pokud nesouhlasíš, hoď sem ukázku.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 10. 03. 2020, 05:49:04
A) Ano, Java je dost ukecany jazyk a taky hodne, hodne tezkopadny. A me to taky dost vadi, protoze je to strasna drina. Jenze na velkych projektech presne tohle potrebujete. Tam se to vam to vrati mnohonasobne vic diky vzniknuvsimu poradku.
...
B) Je to strasne otravne, ale taky strasne dulezite pro Javovske projekty, presne takovato striktnost dela Javu Javou a proto se tak hodne pouziva v enterprise.
...
C) Takova striknost umoznuje dosahnout to, cemu se rika, ze by mel existovat jediny zpusob, jak neco udelat. Na vyse uvedene omezeni sice bude Pepik programator nadavat, ale prinuti ho to strcit takove veci na jedine misto. A pro ostatni programatory je to prehlednejsi.

A) Těžkopádný nepřehledný jazyk člověk nepotrebuie ani na malych ani na velkych projektech. Ten hloupý jazyk je dnes největší nevýhoda Javy. Potřebujete jednotnost a přehlednost. Jednotnosti se dá dosahovat i jinak, existuje na to celá řada nástrojů, přehledná Java není.

B) V enterprise se java používá z jiných důvodů. Dnes hlavně ze setrvačnosti, je to zavedený jazyk, který pro toto prostředí vzniknul, měl pro toto prostředí řadu unikátních (dnes běžných) vlastností a byl do tohoto prostředí marketingově tlačen. Jako náhrada C a C++ měl řadu výhod a stály za ním velké peníze. Oproti tomu je Python příklad výborného jazyka, za kterým nikdo velký nestojí a který vyrostl zdola. Nevýhodou jak Javy tak Pythonu pro enterprise je, že nejsou standardizované.

C) A proto jsou v Javě tři druhy komentářů. Proč? Protože pro různé použití je jednou výhodnější ten a podruhé onenen. Tedy nemáte pravdu. Standardizované konstrukce pro specifické použití kód naopak zjednodušují, jsou přehlednější a snadněji pochopitelnější, než když si to každý programátor implementuje po svém. Třeba pythoní list comprehension, že. Nic co by nešlo udělat základními programovacími primitivy.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 10. 03. 2020, 06:18:52
Takže Python naopak umožňuje jednu a tu samou věc udělat různými způsoby,  je multiparadigmatický a podporuje různé způsoby programování:

Kód: [Vybrat]
letters = []

for letter in 'human':
    letters.append(letter)

print(letters)
Kód: [Vybrat]
letters = [ letter for letter in 'human' ]
print(letters)
Kód: [Vybrat]
letters = list(map(lambda letter: letter, 'human'))
print(letters)

Přičemž mě je nejbližší ten prostřední.

Ale i do Javy se už dostaly nějaké funkcionální prvky a lambda. I v ní jde dělat některé věci různě. Ale pořád je celkově příliš těžkopádná, ukecaná a nepřehledná. Na Javě je dobré JRE, a je pravda, že toto prostředí lze používat naštěstí i s jinými jazyky.
Název: Re:Datove tridy v Pythonu
Přispěvatel: qelurg 10. 03. 2020, 06:53:18
Ostatne jython je imementace pythonu v jave, javu v pythonu nikdo nenapsal
To je trochu demagogické tvrzení, že. Jython je kompilátor Python kódu produkující bajtkód pro JVM. Umožňuje v prostředí JVM používat jazyk Python, což je výhodné. Python nabízí mnohem vyšší produktivitu, Python kód je 2 až 10 × kratší než Java kód. Ano, proto neexistuje kompilátor Java jazyka do byte code Pythonu. Ne že by to nešlo, ale nikdo o tento těžkopádný jazyk na Python platformě nestojí, nemá žádný přínos. Na Javě je zajímavé jen to JVM. Proto pro JVM vzniká tolik jazyků, je tu ohromující snaha se jazyku Java vyhnout. https://en.m.wikipedia.org/wiki/List_of_JVM_languages
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Petr Jahoda 10. 03. 2020, 06:56:55
Po par letech zkusenosti s Javou a C# a rocni zkusenosti s GO doporucuji GO.
Ja osobne to vidim takto GO > C# > Java.
Ve vsech trech udelam to stejne, ale...
GO je nejmene ukecane
GO mi dela nejmensi binarky
GO ma psane pravidla formatovani kodu, zjednodusuje to prehlednost ve zdrojacich, co vidite poprve (proste jakobyste to psali sami)
GO mi pripadne nejprehlednejsi, kdyz se podivam na kod. Taky je toto kodu nejmin
GO ma perfektne zvladnute rutiny (thready, procesy, ...)

Ale je fakt ze s Pythonem mam zkusenosti nula

Java programator, co je unesen z gofmt a nepoznal taje ctrl+F v eclipse.
Ktery je unesen z GO, co neumi ani takovou trivialitu, jako je LinkedHashMap a neumi ani generika, aby si to koder dodelal.

A je unesen z prehlednosti kodu, kde jsou po kazdem volani funkce nasazeny if(err!=nil) dohromady zmatlany business kod a error handling do jedne hromady hnoje, protoze to neumi ani vyjimky, natoz aby byly dedicne hierarchicke.

Vystup tohoto java kodera musel byt neco velice zajimaveho

Och je, chtel jsem na to odpovedet, ale ...
Pan si misto normalnich odpovedi na svou puvodni otazku precte hromadu nadavek, urazek a obvinovani mezi zkusenymi uzivateli rootu. Ze vam neni hanba. Takze misto doporuceni je toto vlakno z 80% hadani a urazeni se mezi sebou. Jeste jednou: ze vam neni hanba, zkuseni uzivatele rootu, co maji PORADIT ostatnim.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 10. 03. 2020, 07:14:02
Och je, chtel jsem na to odpovedet, ale ...
Pan si misto normalnich odpovedi na svou puvodni otazku precte hromadu nadavek, urazek a obvinovani mezi zkusenymi uzivateli rootu. Ze vam neni hanba. Takze misto doporuceni je toto vlakno z 80% hadani a urazeni se mezi sebou. Jeste jednou: ze vam neni hanba, zkuseni uzivatele rootu, co maji PORADIT ostatnim.

Puvodne jsi napsal "nekrmte trolla" a ted ho po editaci krmis. Puvodni otazka byla, slusne receno, naivni. Vetsina odpovedi, vcetne te tve, vubec neresi podstatu problemu - pokud neni puvodni tazatel sam troll, mel by si napred ujasnit, co pro nej znamena "naucit se programovat" - chce byt programator, lepic kodu, nebo si jen tak sem tam neco zbastlit? Ze se z takto rozplizle otazky stane nakonec flamewar, je zakonite.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 10. 03. 2020, 07:53:47
Tak po přečtení tohodle: Java 8 JDK: můžu oficiálně používat dva roky starou aplikaci? to je s Javou ještě horší, než jsem si myslel. https://forum.root.cz/index.php?topic=21928.0

podrobnosti: https://www.itnetwork.cz/java/pokrocile/zmena-licence-java11-sdk-a-openjdk
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondra Satai Nekola 10. 03. 2020, 08:57:07
Tak po přečtení tohodle: Java 8 JDK: můžu oficiálně používat dva roky starou aplikaci? to je s Javou ještě horší, než jsem si myslel. https://forum.root.cz/index.php?topic=21928.0

podrobnosti: https://www.itnetwork.cz/java/pokrocile/zmena-licence-java11-sdk-a-openjdk

Přečti si to celé.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 10. 03. 2020, 09:23:50
Tak po přečtení tohodle: Java 8 JDK: můžu oficiálně používat dva roky starou aplikaci? to je s Javou ještě horší, než jsem si myslel.
Bývá dobré nejprve si zjistit informace a teprve pak si něco myslet. Podporovaných distribucí OpenJDK 8 je docela dost (https://rafael.codes/openjdk/).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 10. 03. 2020, 10:09:38
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

Ne panove, to je zkratka moje prohlednuti, ze vy tu vubec nemate tuseni o cem to melete.
Pisu tady, ze signatura java metody je vcetne parametru metody a vrati se mi dotaz, jak bych asi tu python zpatlaninu udelal v Jave.

Neblábol Stando, už i ty jsi pochopil v čem a proč je Java špatná. Nenašel jsi odvahu sem dát implementaci něčeho, co je Javě vlastní (přetěžování) a pro Python je to škrábání se na krku přes hlavu. I tak to má Python stručnější a přehlednější. Pokud nesouhlasíš, hoď sem ukázku.

Budiz, mejme dva typy: A a inherited B
Kód: [Vybrat]
public class A {
public String myName() {
return "I am A";
}
}

public class B extends A  {
@Override
public String myName() {
return "I am B";
}
}

Implementace dvou pretizenych nezavizlych metod, ktere se rozdisi typem parametru (coz je soucast signatury metody jak pisu potreti a mozna nekdo casem vyznam tohoto terminu pochopi):
Kód: [Vybrat]
public void method(A a) {
System.out.println("specific method 1 for \"" + a.myName() + "\"");
}

public void method(B b) {
System.out.println("specific method 2 for \"" + b.myName() + "\"");
}
Povsimneme si, ze se za tim to ucelem neimportuje zadna knihovna ani se to nemusi nikam registrovat a oznackovavat dekoratorama.

Pokud pokud si vystacim s prostredky materskeho typu pripadne interface spolecneho pro vechny typy (nejobvyklejsi varianta) - tak to zapisu jednou generickou metodou:
Kód: [Vybrat]
public <T extends A> void genericMethod(T t) {
System.out.println("generic method for \"" + t.myName() + "\"");
}

Opet, zadne dekoratory, knihovny, registrace. Pouze jedna metoda.

A ted to spustime:
Kód: [Vybrat]
method(new A());
method (new B());
genericMethod(new A());
genericMethod(new B());

Vysledek:

specific method 1 for "I am A"
specific method 2 for "I am B"
generic method for "I am A"
generic method for "I am B"


Toto jsou naproste zaklady javy, uplne mi nebere hlava, proc maj potrebu se hadat o kvalite jazyka lidi, co o nem vi kulantne receno mene nez optimum.

Ja pouzivam Javu i Python protoze je povazuju za nejlepsi jazyky v dane oblasti zajmu coz je Java pro plnotucne aplikace s dlouhou dobou podpory a Python pro jednoucelove skripty.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ByCzech 10. 03. 2020, 10:47:36
Opet, zadne dekoratory, knihovny, registrace. Pouze jedna metoda.

No a co? Způsob jak se technologicky řeší to a ono v daném jazyce je podružné. Z toho, že Java nepotřebuje dekorátory či knihovny (protože si to tahá přímo "v základu" = v přibalené knihovně) na určité věci, narozdíl od Pythonu je jen ukázka dvou různých řešení téhož a nevypovídá to nic o tom, že automaticky řešení v Javě je lepší, jak to tady nastavujete v téhle diskuzi manipulativně vy.

Toto jsou naproste zaklady javy, uplne mi nebere hlava, proc maj potrebu se hadat o kvalite jazyka lidi, co o nem vi kulantne receno mene nez optimum.

Říká někdo, kdo si plete co to je silné a slabé typování s dynamickým a statickým (a další věci).

Python je dynamicky typovaný jazyk, což neznamená, že není typovaný silně, narozdíl např. od JavaScriptu nebo PHP, které jsou slabě typované (sečtete hrušky a jablka a dá vám to nějaký výsledek).

Javascript:
Kód: [Vybrat]
> '1' + 3
< "13"

Kód: [Vybrat]
$ php -a
Interactive mode enabled

php > echo '3' + 1;
4

Kód: [Vybrat]
$ python3
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> '3' + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

Už tuhle diskusi chvíli čtu a to haterství směrem na Python z vás úplně čiší a když nemáte argumenty, tak používáte ty ad hominem. Prostě přiznejte, že neumíte uvažovat v dynamicky typovaném jazyce a využít výhody, které z toho vyplývají a potřebujete mít typy dané staticky předem a jste smířen s nevýhodami, které to sebou nese a je to. Každému vyhovuje něco jiného, některým i více věcí. Oba jazyky mají své místo a použití a nutit způsoby z Javy do Pythonu je kravina. Stejně jako je kravina nutit pravidla angličtiny do češtiny.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 10. 03. 2020, 11:30:43
Už tuhle diskusi chvíli čtu a to haterství směrem na Python z vás úplně čiší a když nemáte argumenty, tak používáte ty ad hominem.

No tak to este doporucuju zapracovat na pochopeni textu.
Jojo, ja tady hatuju Python z toho duvodu, ze ho povazuju za nejlepsi skriptovaci jazyk a pozivam ho denne.
Mmj z duvodu, ktere ukazuji vyse uvedene PHP a Javascript snippety.

Coz nic nemeni na tom, ze kdyz tu zacnou "znalci" blabolit nesmysly na stranu Javy, o ktere vi lautr xxxx, ze ani netusi co to znamena signatura metody, ze se neozvu.
A python mam rad prave proto, ze se nepokousej vynalezat kolo a zavadej featury javy.
Jde to az na uroven dekoratoru, co Java annotations z oka vypadly, klicovych slov (ted ve verzi 3.8 pridan "final") a mechanismus PEP (Python Enhancement Proposal) zase pajcuje JSR (Java Specification Request) vcetne trojciferneho cislovani. Coz je dobre.
Stavajici Python nema na Javu (C#, C++) v oblasti komplexnich dlouhodobe udrzovanych aplikaci vyvijenych v tymu ruzne kvalitnich koderu.

Ono se stalo modou sezony, ze kazdy, kdo ma do zadnice diru tady hatuje Javu, to aby vypadal jako king. A v realu vi prd.
Java ma hodne chyb a ja si o nich rad popovidam. NullPointerException peklo je jedna z nich, nebo problemy s finalize(). To neznamena, ze tu budu cist blaboly.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 10. 03. 2020, 15:53:50
No a co? Způsob jak se technologicky řeší to a ono v daném jazyce je podružné. Z toho, že Java nepotřebuje dekorátory či knihovny (protože si to tahá přímo "v základu" = v přibalené knihovně) na určité věci, narozdíl od Pythonu je jen ukázka dvou různých řešení téhož a nevypovídá to nic o tom, že automaticky řešení v Javě je lepší, jak to tady nastavujete v téhle diskuzi manipulativně vy.

No ona si to java netahá v přibalené knihovně, je to vlastnost jazyka jako takového.

Samozřejmě o charakteru jazyka hodně vypovídá, co je zahrnuto do jazyka, co do standardní knihovny a co je ponecháno na externích nástrojích. Nutně to ale neznamená, že je něco lepší než druhé.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Ondrej Nemecek 10. 03. 2020, 15:58:16
Na Javě je zajímavé jen to JVM. Proto pro JVM vzniká tolik jazyků, je tu ohromující snaha se jazyku Java vyhnout. https://en.m.wikipedia.org/wiki/List_of_JVM_languages

Alternativní jvm jazyky hlavně svědčí o kvalitách celého ekosystému a flexibilitě javové platformy. Dále o kvalitách samotné vm. Komu přestane vyhovovat java, ten přesedlá na příbuzný ale progresivnější jazyk a může pokračovat ve stejném projektu prakticky bez překážek. Tím pádem i to haterství tím anebo druhým směrem přestává celkově dávat smysl, protože vzniká synergie.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 10. 03. 2020, 16:32:26
No a co? Způsob jak se technologicky řeší to a ono v daném jazyce je podružné. Z toho, že Java nepotřebuje dekorátory či knihovny (protože si to tahá přímo "v základu" = v přibalené knihovně) na určité věci, narozdíl od Pythonu je jen ukázka dvou různých řešení téhož a nevypovídá to nic o tom, že automaticky řešení v Javě je lepší, jak to tady nastavujete v téhle diskuzi manipulativně vy.

No ona si to java netahá v přibalené knihovně, je to vlastnost jazyka jako takového.

Samozřejmě o charakteru jazyka hodně vypovídá, co je zahrnuto do jazyka, co do standardní knihovny a co je ponecháno na externích nástrojích. Nutně to ale neznamená, že je něco lepší než druhé.

Ano, plny souhlas.
Ze je neco zadratovane v jazyce nebo stdlib este neznamena, ze je to dobre.
Treba legacy Java logging, nebo stary zadratovany JAX-WS ve spoupraci s pribalenym wsimport, co podporuje nahodne vybrane featury WS-SOAP standardu - je na streleni se do hlavy. A tak kazdy mavenem bunluje SJLF a Apache CXF.

Kdzy se vratime k puvodnimu examplu, tady je vide rozdil filosofie Python vs. Java asi nejlip.
Kód: [Vybrat]
@singledispatch
def render(s, **kwargs):
  print('Rendering an unknown type')

@render.register(S_Block)
def _(s, **kwargs):
  print('Rendering an S_Block')

@render.register(S_Empty)
def _(s, **kwargs):
  print('Rendering an S_Empty')

Potom indicky spoluprqcovnik vezme nas kod jako knihovnu, prida si novy typ S_Vindaloo, a tak nejak zapomene maimplementovat vsechny potrebne metody ktere ja v ramci ducktypingu ocekavam, proste uplne chybi a tento se zavola vzdy v utery a dubnu

Holy python bez typehintingu: program rok bezi a pak cely zbuchne v utery v dubnu

Python s @singledispatch" program rok bezi a pak v utery v dubnu vypise hlasku 'Rendering an unknown type' pricemz neprovede ocekavane. Indicky kolega musi hrabat do meho kodu, aby zacal podporovat S_Vindaloo.

Java (C#, C++): vubec to nejde zkompilovat, coz indickeho kolegu donuti, aby S_Vindaloo splnovalo potrebne interface, pak vsecko funguje.

Slozitejsi program, kde kooperuje vic lidi + dynamicke typovani => pain.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 10. 03. 2020, 17:41:45
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

Ne panove, to je zkratka moje prohlednuti, ze vy tu vubec nemate tuseni o cem to melete.
Pisu tady, ze signatura java metody je vcetne parametru metody a vrati se mi dotaz, jak bych asi tu python zpatlaninu udelal v Jave.

Neblábol Stando, už i ty jsi pochopil v čem a proč je Java špatná. Nenašel jsi odvahu sem dát implementaci něčeho, co je Javě vlastní (přetěžování) a pro Python je to škrábání se na krku přes hlavu. I tak to má Python stručnější a přehlednější. Pokud nesouhlasíš, hoď sem ukázku.

Budiz, mejme dva typy: A a inherited B

...

Toto jsou naproste zaklady javy, uplne mi nebere hlava, proc maj potrebu se hadat o kvalite jazyka lidi, co o nem vi kulantne receno mene nez optimum.

Dobry Stando, něco jsi se možná naučil. Teď dodej v Jave implementaci toho Python programu, co jsi ho sem pastnul jako důkaz  nepřehlednosti. Neboj, smát se budem jenom trochu.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Standa Blábol 10. 03. 2020, 17:53:25
Na Javě je zajímavé jen to JVM. Proto pro JVM vzniká tolik jazyků, je tu ohromující snaha se jazyku Java vyhnout. https://en.m.wikipedia.org/wiki/List_of_JVM_languages

Alternativní jvm jazyky hlavně svědčí o kvalitách celého ekosystému a flexibilitě javové platformy. Dále o kvalitách samotné vm. Komu přestane vyhovovat java, ten přesedlá na příbuzný ale progresivnější jazyk a může pokračovat ve stejném projektu prakticky bez překážek. Tím pádem i to haterství tím anebo druhým směrem přestává celkově dávat smysl, protože vzniká synergie.

Osobne se mi libil Ceylon. https://ceylon-lang.org/
Takove zmeny si Java z duvodu kompatibility dovolit nemuze.
Ale zdechlo to, Redat se na to vykvak v roce 2017 a od te doby nic.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 10. 03. 2020, 18:27:54
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

Ne panove, to je zkratka moje prohlednuti, ze vy tu vubec nemate tuseni o cem to melete.
Pisu tady, ze signatura java metody je vcetne parametru metody a vrati se mi dotaz, jak bych asi tu python zpatlaninu udelal v Jave.

Neblábol Stando, už i ty jsi pochopil v čem a proč je Java špatná. Nenašel jsi odvahu sem dát implementaci něčeho, co je Javě vlastní (přetěžování) a pro Python je to škrábání se na krku přes hlavu. I tak to má Python stručnější a přehlednější. Pokud nesouhlasíš, hoď sem ukázku.

Budiz, mejme dva typy: A a inherited B

...

Toto jsou naproste zaklady javy, uplne mi nebere hlava, proc maj potrebu se hadat o kvalite jazyka lidi, co o nem vi kulantne receno mene nez optimum.

Dobry Stando, něco jsi se možná naučil. Teď dodej v Jave implementaci toho Python programu, co jsi ho sem pastnul jako důkaz  nepřehlednosti. Neboj, smát se budem jenom trochu.

Mno, co se tyce method overloadu, priklad jsem tak trochu poslal, pokud te zmatlo, ze jsem jinak pojmenoval typy, zkus to zvladnout.
Pak uz je tam jenom foreach cyklus nad polem netypovanych objektu, tak tady mam 2 varianty:

- bud jak tatar to udelam stejne prasecky jako pole Objectu a ve vlastni metode budu pomoci instanceof a getClass() jak u blbejch zjistovat o jaky typ se realne jedna a podle toho budu renderovat. A az budu chtit pridat podporu dalsiho typu objektu k renderovani, pridam do dipatch metody dalsi if - prevelika krasa.

- nebo, jak bych to udelal ja, definuju si Interface, ktere pro vsechny objekty vynutim metodu getRenderData(), ktera mi pripravi data pro jednu obecnou metodu render(). Mimochodem koncept GDI z windows 3.1, mozna este driv.
- pak do foreach cyklu naleju objekty handlovane pres interface. Kdyz budu chtit pridat dalsi typ objektu k renderovani, proste ho necham implementovat interface a voila! - Umime renderovat dalsi objekt. A nikdo nemusi sahat do myho kodu, berou to jako knihovnu a ani k tomu zdrojaky nemaji. A nikdo mi tam nepodrstrci neco, co skonci zpravou "Unknown render type"

Psat ti to tady jako exampl s dummy daty fakt nebudu, pokud tomu nerozumis, zeptej se nekoho chytrejsiho.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 10. 03. 2020, 18:49:47
Zdá se, že reimplementace těchto pár řádků Python kódu v Javě je nad síly kritika Pythonu. Můžeme jen hádat na čem všem se zasekal :-). Budiž to ponaučením pro budoucí posměváčky.

Ne panove, to je zkratka moje prohlednuti, ze vy tu vubec nemate tuseni o cem to melete.
Pisu tady, ze signatura java metody je vcetne parametru metody a vrati se mi dotaz, jak bych asi tu python zpatlaninu udelal v Jave.

Neblábol Stando, už i ty jsi pochopil v čem a proč je Java špatná. Nenašel jsi odvahu sem dát implementaci něčeho, co je Javě vlastní (přetěžování) a pro Python je to škrábání se na krku přes hlavu. I tak to má Python stručnější a přehlednější. Pokud nesouhlasíš, hoď sem ukázku.

Budiz, mejme dva typy: A a inherited B

...

Toto jsou naproste zaklady javy, uplne mi nebere hlava, proc maj potrebu se hadat o kvalite jazyka lidi, co o nem vi kulantne receno mene nez optimum.

Dobry Stando, něco jsi se možná naučil. Teď dodej v Jave implementaci toho Python programu, co jsi ho sem pastnul jako důkaz  nepřehlednosti. Neboj, smát se budem jenom trochu.

Mno, co se tyce method overloadu, priklad jsem tak trochu poslal, pokud te zmatlo, ze jsem jinak pojmenoval typy, zkus to zvladnout.

Podívej Stando, to jsou bláboly. Smál jsi se pěknému přehlednému a srozumitelnému  Python programu ve věci, která ani není nativní vlastností toho jazyka. Můžeš předvést jak si s tím poradí Java, u které to je nativní vlastnost, tudíž by to měla zvládnout lépe nebo aspoň stejně. Ano, Java je hnusný těžkopádný jazyk, takže to nezvládne, to víme oba, teď jde jenom o to, jestli to přiznáš nebo ne. Čím víc to budeš rozpatlávat abys to zakamufloval, tím víc to bude smrdět. Takže hoď sem Java implementaci kraťoučkého Python programu, co jsi sem sám napastoval a nebo jsi porazil sám sebe svými vlastními hloupými ukázkami. :-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 10. 03. 2020, 19:07:47
No a co? Způsob jak se technologicky řeší to a ono v daném jazyce je podružné. Z toho, že Java nepotřebuje dekorátory či knihovny (protože si to tahá přímo "v základu" = v přibalené knihovně) na určité věci, narozdíl od Pythonu je jen ukázka dvou různých řešení téhož a nevypovídá to nic o tom, že automaticky řešení v Javě je lepší, jak to tady nastavujete v téhle diskuzi manipulativně vy.

No ona si to java netahá v přibalené knihovně, je to vlastnost jazyka jako takového.

Samozřejmě o charakteru jazyka hodně vypovídá, co je zahrnuto do jazyka, co do standardní knihovny a co je ponecháno na externích nástrojích. Nutně to ale neznamená, že je něco lepší než druhé.

Ano, plny souhlas.
Ze je neco zadratovane v jazyce nebo stdlib este neznamena, ze je to dobre.
Treba legacy Java logging, nebo stary zadratovany JAX-WS ve spoupraci s pribalenym wsimport, co podporuje nahodne vybrane featury WS-SOAP standardu - je na streleni se do hlavy. A tak kazdy mavenem bunluje SJLF a Apache CXF.

Kdzy se vratime k puvodnimu examplu, tady je vide rozdil filosofie Python vs. Java asi nejlip.
Kód: [Vybrat]
@singledispatch
def render(s, **kwargs):
  print('Rendering an unknown type')

@render.register(S_Block)
def _(s, **kwargs):
  print('Rendering an S_Block')

@render.register(S_Empty)
def _(s, **kwargs):
  print('Rendering an S_Empty')

Potom indicky spoluprqcovnik vezme nas kod jako knihovnu, prida si novy typ S_Vindaloo, a tak nejak zapomene maimplementovat vsechny potrebne metody ktere ja v ramci ducktypingu ocekavam, proste uplne chybi a tento se zavola vzdy v utery a dubnu

Holy python bez typehintingu: program rok bezi a pak cely zbuchne v utery v dubnu

Python s @singledispatch" program rok bezi a pak v utery v dubnu vypise hlasku 'Rendering an unknown type' pricemz neprovede ocekavane. Indicky kolega musi hrabat do meho kodu, aby zacal podporovat S_Vindaloo.

Java (C#, C++): vubec to nejde zkompilovat, coz indickeho kolegu donuti, aby S_Vindaloo splnovalo potrebne interface, pak vsecko funguje.

Slozitejsi program, kde kooperuje vic lidi + dynamicke typovani => pain.

Proto má třeba Smalltalk dynamic dispatch a současně protokoly. Což řeší oba požadavky.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 10. 03. 2020, 19:09:23
Podívej Stando, to jsou bláboly. Smál jsi se pěknému přehlednému a srozumitelnému  Python programu ve věci, která ani není nativní vlastností toho jazyka. Můžeš předvést jak si s tím poradí Java, u které to je nativní vlastnost, tudíž by to měla zvládnout lépe nebo aspoň stejně. Ano, Java je hnusný těžkopádný jazyk, takže to nezvládne, to víme oba, teď jde jenom o to, jestli to přiznáš nebo ne. Čím víc to budeš rozpatlávat abys to zakamufloval, tím víc to bude smrdět. Takže hoď sem Java implementaci kraťoučkého Python programu, co jsi sem sám napastoval a nebo jsi porazil sám sebe svými vlastními hloupými ukázkami. :-)

Jak to?? Podle mě ten java kód už poslal. Ale férovější by bylo popsat, co ten Python kód přesně dělá a pak řešit, zda a jak se to dá realizovat v jiném jazyku.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 10. 03. 2020, 19:23:41
Proto má třeba Smalltalk dynamic dispatch a současně protokoly. Což řeší oba požadavky.

Protokoly ve Smalltalku neřeší vcelku nic, je to jen kategorizace selektorů (metod), nic nevynucují (což je trošku škoda).

Dynamic dispatch má i Java, Python, prakticky každý OOP jazyk, to není žádná specialita Smalltalku.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 10. 03. 2020, 19:28:54
Proto má třeba Smalltalk dynamic dispatch a současně protokoly. Což řeší oba požadavky.

protokoly resi jiny problem nez pretezovani funkci.

Python ma mnohem mocnejsi nastroje pro staticky typovane signatury nez java. Namatkou treba Literal types. Muzete napsat funkci, kde navratovy typ zavisi na hodnote vstupnich parametru. https://mypy.readthedocs.io/en/stable/literal_types.html

Protokoly python take ma, jak staticky tak dynamicky vynucovane, https://mypy.readthedocs.io/en/stable/protocols.html

Ja chapu, ze prilezitostni uzivatele Pythonu jako Standa Blabol novinky moc nesleduji. Uvadim jen pro informaci, nechci zacinat dalsi spor.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 10. 03. 2020, 19:40:45
Java (C#, C++): vubec to nejde zkompilovat, coz indickeho kolegu donuti, aby S_Vindaloo splnovalo potrebne interface, pak vsecko funguje.

Indický kolega samozřejmě nepíše javu ve vimu, takže na dvě kliknutí řekne IDE, aby mu vygenerovalo předpisy metod, které má z generického řešení implementovat, již s jejich konkrétními datovými typy. Pak jen dopíše těch pár řádků, kterými se jeho konkrétní implementace odlišuje v rámci generického designu. A je úplně jedno, že se mu při tom na úvod automaticky přidalo deset importů a že výsledná třída má 50 řádek, když on napsal řádky čtyři. Není blázen, aby scrolloval zdrojákem, když od toho má navigaci mezi voláními, skoky na definice/deklarace. Je celkem jedno, jak dlouhé jsou typy parametrů metod či proměnných, když nic z toho nikdy nenapíše, protože to IDE vytvoří rovnou za něj a vždy správně , má to jen jednu variantu (příp. si zvolí, kterého vhodného předka/úroveň zobecnění chce použít).  Kolega jen píše příkaz a pak zadá název proměnné, pokud se mu žádný z nabízených názvů nelíbí (obvykle hned ten první je logický a správný).

Inkrementálně označí funkční blok klávesovou zkratkou a na jednu kombinaci nechá IDE vygenerovat metodu se všemi parametry - má garantované, že taková operace bude vždy fungovat správně. Jen si třeba triviálně změní pořadí parametrů, aby to sedělo zavedené štábní kultuře projektu. Nemusí se obávat, že by se změna neprovedla v jakékoliv volání metody, i kdyby to bylo ve sto různých třídách, je to úplně jedno. A bude se pokud možno vyhýbat více parametrům stejného typu vedle sebe, právě aby se vyhnul chybě přehození parametrů stejného typu, až tu metodu bude volat na jiném místě ručně. Až bude java umět hodnotové typy (projekt valhalla), bude šance podstatně menší, protože i základní typy bude mít označený jejich významem a nebude je možné míchat.

A nebo bude používat args a kwargs a šedivět, co se zase kde rozsypalo. Ba ne, nebude, to to raději nechá načuněné ve špagetě (protože první verze kódu není nikdy optimální) nebo s nesmyslným názvem (protože se během psaní metody význam té proměnné trochu změnil, opět zcela normální). A kdo  říká, že takové změny ve svém kódu (obzvláště prvních verzích) provádět nepotřebuje, buď nic většího neprogramuje, nebo produkuje čuňárny. To mi nikdo nevymluví, viděl jsem to mnohokrát.

Můj názor na python ve velkých firmách je takový, že začali ve startupu v malém, logicky v pythonu a pak už neměli prostor to přepsat do něčeho, co jim v projektu dokáže udržet pořádek. Proto třeba mypy pochází z dropboxu https://blogs.dropbox.com/tech/tag/mypy/

===
At our scale—millions of lines of Python—the dynamic typing in Python made code needlessly hard to understand and started to seriously impact productivity. To mitigate this, we have been gradually migrating our code to static type checking using mypy,
===
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 10. 03. 2020, 19:46:55
Java (C#, C++): vubec to nejde zkompilovat, coz indickeho kolegu donuti, aby S_Vindaloo splnovalo potrebne interface, pak vsecko funguje.

to muze velice snadno vynucovat CI.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 10. 03. 2020, 20:05:07
Java (C#, C++): vubec to nejde zkompilovat, coz indickeho kolegu donuti, aby S_Vindaloo splnovalo potrebne interface, pak vsecko funguje.

to muze velice snadno vynucovat CI.

Proč by měl čekat až na CI, když v IDE zmáčkne jednu klávesovou zkratku (v Idee Ctrl+I - Implement methods), ze seznamu nabídnutých metod si vybere ty, které bude konkrétní level dědičnosti implementovat, a do vygenerovaným předpisů dopíše těla. Pokud jde o koncovou (již neabstraktní) třídu, dá implementovat všechny. A z hlediska datových typů má 100% jistotu, že je vše v pořádku.

Když bude chtít přetížit již implementovanou metodu, dá Ctrl+O (Override) a opět dostane kompletní předpis se správnými konkrétními parametry pro daná generika, se správnou anotací a ještě mu to předvyplní volání předka, které se v přetížených metodách obvykle vyskytuje. Nikoho nepálí, že jsou v parametrech dlouhé typy nebo že je to ukecané, když on z těch "nevýkonných" textů takřka nic nepíše. Ale bez nich by kompilátor a hlavně IDE nemělo možnost držet projekt pod kontrolou. Jako je tomu v pycharmu, když dám přejmenovat metodu a ono mi to přejmenuje i volání metod u jiných tříd, které jsem vůbec neměnil, protože nemá víc než tupý fulltext (+ zde zatracované typehinty, které samozřejmě v pythonu používám, aby mi z toho úplně nehráblo).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 10. 03. 2020, 20:13:39
Java (C#, C++): vubec to nejde zkompilovat, coz indickeho kolegu donuti, aby S_Vindaloo splnovalo potrebne interface, pak vsecko funguje.

to muze velice snadno vynucovat CI.

Proč by měl čekat až na CI, když v IDE zmáčkne jednu klávesovou zkratku (v Idee Ctrl+I - Implement methods), ze seznamu nabídnutých metod si vybere ty, které bude konkrétní level dědičnosti implementovat, a do vygenerovaným předpisů dopíše těla. Pokud jde o koncovou (již neabstraktní) třídu, dá implementovat všechny. A z hlediska datových typů má 100% jistotu, že je vše v pořádku.

ten checker samozrejme bezi i v IDE, ale CI je zaruka, ze ten jeho kolega commituje validni kod.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 10. 03. 2020, 20:21:10
A nebo bude používat args a kwargs a šedivět, co se zase kde rozsypalo.

tak ukaz, jak bys tu zanorenou strukturu z te tve funkce append definoval v Jave. Ja jen nastinil, jak by to slo idiomaticky. Sebeodkazujici typova definice narozdil od Javy v pythonu je mozna.

nebo s nesmyslným názvem

kwargs a args je standardni nazev, jiny by byl proti konvencim.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 10. 03. 2020, 20:30:29
Proto má třeba Smalltalk dynamic dispatch a současně protokoly. Což řeší oba požadavky.

Protokoly ve Smalltalku neřeší vcelku nic, je to jen kategorizace selektorů (metod), nic nevynucují (což je trošku škoda).

Dynamic dispatch má i Java, Python, prakticky každý OOP jazyk, to není žádná specialita Smalltalku.

Žil jsem v přesvědčení že protokoly můžou ve Smalltalku implementaci vyžadovat. Protože by mi přišlo ideální mít možnost volné vazby a volitelně vynucené implementace.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 10. 03. 2020, 20:45:45
tak ukaz, jak bys tu zanorenou strukturu z te tve funkce append definoval v Jave. Ja jen nastinil, jak by to slo idiomaticky. Sebeodkazujici typova definice narozdil od Javy v pythonu je mozna.

Už to tu zaznělo, samostatnými generifikovanými metodami nějakého generického předka komponenty pro kolekci komponent, mapu <klíč, komponenta> a jiné komponenty. Ty složené metody by normálně kolekci i mapu proiterovaly a zavolaly tu jednoduchou append. Iterování je v defaultní idee o napsání iter + tabulátor, rovnou se vygeneruje celá smyčka se správnými typy a ručně se napíše jen její tělo. Idea si bude stěžovat, že jsem nepoužil foreach (pokud není ten hint vypnutý), ale to vypnu jednoduchou anotací (šipka vpravo a šipka nahoru), protože pouhý foreach přes streamy (tedy funkcionálně) má špatný výkon oproti normálnímu for component in components.

Ano, kód bude delší, ale na první pohled je úplně jasný, co dělá. Nevidím důvod, proč by měl do jednoho parametru rvát kolekci, mapu nebo komponentu, když parametr každé z metod má mít jiný název (components, componentsByKey, component).

Citace
kwargs a args je standardni nazev, jiny by byl proti konvencim.

Jasně, myslel jsem nesprávný název proměnné/metody/parametru, ne tohle. Jasně že musíš použít tyhle dva názvy, aby bylo všem jasné, že metoda umí spoustu věcí a mají si dát sakra bacha, jestli podporuje zrovna ten datový typ, který by oni rádi předali.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 10. 03. 2020, 20:53:53

Protokoly ve Smalltalku neřeší vcelku nic, je to jen kategorizace selektorů (metod), nic nevynucují (což je trošku škoda).

Dynamic dispatch má i Java, Python, prakticky každý OOP jazyk, to není žádná specialita Smalltalku.

Žil jsem v přesvědčení že protokoly můžou ve Smalltalku implementaci vyžadovat. Protože by mi přišlo ideální mít možnost volné vazby a volitelně vynucené implementace.

Slovo protokol jsem viděl ve Smalltalku používat ve dvou významech, jestli se pamatuju správně:

 - Neformálně např. při popisování (mluvení, čmárání na papír) nějaké objektové hierarchie, tj. "Objekt který se zde předá musí podporovat protokol Foo, tj. implementovat metody #foo a #fooAt:, které se nějak chovají", tedy něco významově podobného kontraktu.
 - Kategorie metod nějakého objektu (Accessors, testing, painting, ...), ta už je u každé metody uvedená, něco trochu podobného jako #region v C#, slouží jen pro zpřehlednění.

Kažopádně se nikde nic nevynucuje..
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 10. 03. 2020, 20:58:58
Proto má třeba Smalltalk dynamic dispatch a současně protokoly. Což řeší oba požadavky.

protokoly resi jiny problem nez pretezovani funkci.

Python ma mnohem mocnejsi nastroje pro staticky typovane signatury nez java. Namatkou treba Literal types. Muzete napsat funkci, kde navratovy typ zavisi na hodnote vstupnich parametru. https://mypy.readthedocs.io/en/stable/literal_types.html

Protokoly python take ma, jak staticky tak dynamicky vynucovane, https://mypy.readthedocs.io/en/stable/protocols.html

Ja chapu, ze prilezitostni uzivatele Pythonu jako Standa Blabol novinky moc nesleduji. Uvadim jen pro informaci, nechci zacinat dalsi spor.

Pekne, nekdo si dal praci a na urovni dekoratoru pridal velice peknou funkcionalitu.

Obdoba treba java projektu Lombok, ktery pres anotace usnadnuje praci s datovymi beany.

Kolikpakze ze stovek projektu na PyPi tohle podporuje, abych se na to mohl plne spolehnout a zacit to pouzivat jako standardni Python featuru? Ze stovek projektu na Maven Central umi staticky typovane signatury uplne vsechny.
 
Dostane se obdoba MyPy do standardu Python4, as se cely Pyhon zase znova zahodi a zacnem odznova, nebo ho ceka osud jako HipHop for PHP, kterym Facebuk resil obdobny problem spatne zvoleneho stacku a cele to pak zahodil?

Postavim na vire, ze to dropbox nezahodi, svuj business?

Otazky, same otazky :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 10. 03. 2020, 21:35:03
Kolikpakze ze stovek projektu na PyPi tohle podporuje, abych se na to mohl plne spolehnout a zacit to pouzivat jako standardni Python featuru? Ze stovek projektu na Maven Central umi staticky typovane signatury uplne vsechny.

asi vsechny, obe jmenovane featury byly zavedeny castecne i kvuli signaturam funkci v standardni knihovne, Literal types jsou pouzity treba v signature funkce `open`, ktera vraci ruzne typy file objektu v zavislosti na modu otevreni.

mypy je soucasti standardnich linteru, jestli pouzivate treba vscode, mypy pouzivate.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 10. 03. 2020, 22:31:06
Kolikpakze ze stovek projektu na PyPi tohle podporuje, abych se na to mohl plne spolehnout a zacit to pouzivat jako standardni Python featuru? Ze stovek projektu na Maven Central umi staticky typovane signatury uplne vsechny.

asi vsechny, obe jmenovane featury byly zavedeny castecne i kvuli signaturam funkci v standardni knihovne, Literal types jsou pouzity treba v signature funkce `open`, ktera vraci ruzne typy file objektu v zavislosti na modu otevreni.

mypy je soucasti standardnich linteru, jestli pouzivate treba vscode, mypy pouzivate.

Pouzivam PyCharm

A namatkou jsem se podival na Mako templater, protoze jsem ho stahoval pipem predevcirem. Import typing jsem tam nenasel.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 10. 03. 2020, 22:31:18
Podívej Stando, to jsou bláboly. Smál jsi se pěknému přehlednému a srozumitelnému  Python programu ve věci, která ani není nativní vlastností toho jazyka. Můžeš předvést jak si s tím poradí Java, u které to je nativní vlastnost, tudíž by to měla zvládnout lépe nebo aspoň stejně. Ano, Java je hnusný těžkopádný jazyk, takže to nezvládne, to víme oba, teď jde jenom o to, jestli to přiznáš nebo ne. Čím víc to budeš rozpatlávat abys to zakamufloval, tím víc to bude smrdět. Takže hoď sem Java implementaci kraťoučkého Python programu, co jsi sem sám napastoval a nebo jsi porazil sám sebe svými vlastními hloupými ukázkami. :-)

Jak to?? Podle mě ten java kód už poslal. Ale férovější by bylo popsat, co ten Python kód přesně dělá a pak řešit, zda a jak se to dá realizovat v jiném jazyku.

Neposlal, snažil se jen vysvětlovat, jak by to napsal, kdyby to napsal. Ten Python kód sem dal on, tak snad ví, co dělá. Dal to sem navíc s tvrzením, že java to umí přehledněji, tak se může předvést :-).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 11. 03. 2020, 00:46:26
.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 11. 03. 2020, 14:08:30
Podívej Stando, to jsou bláboly. Smál jsi se pěknému přehlednému a srozumitelnému  Python programu ve věci, která ani není nativní vlastností toho jazyka. Můžeš předvést jak si s tím poradí Java, u které to je nativní vlastnost, tudíž by to měla zvládnout lépe nebo aspoň stejně. Ano, Java je hnusný těžkopádný jazyk, takže to nezvládne, to víme oba, teď jde jenom o to, jestli to přiznáš nebo ne. Čím víc to budeš rozpatlávat abys to zakamufloval, tím víc to bude smrdět. Takže hoď sem Java implementaci kraťoučkého Python programu, co jsi sem sám napastoval a nebo jsi porazil sám sebe svými vlastními hloupými ukázkami. :-)

Jak to?? Podle mě ten java kód už poslal. Ale férovější by bylo popsat, co ten Python kód přesně dělá a pak řešit, zda a jak se to dá realizovat v jiném jazyku.

Neposlal, snažil se jen vysvětlovat, jak by to napsal, kdyby to napsal. Ten Python kód sem dal on, tak snad ví, co dělá. Dal to sem navíc s tvrzením, že java to umí přehledněji, tak se může předvést :-).

A co je podle Vás tedy tohle? https://forum.root.cz/index.php?topic=22582.msg326312#msg326312
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 11. 03. 2020, 14:11:29

Protokoly ve Smalltalku neřeší vcelku nic, je to jen kategorizace selektorů (metod), nic nevynucují (což je trošku škoda).

Dynamic dispatch má i Java, Python, prakticky každý OOP jazyk, to není žádná specialita Smalltalku.

Žil jsem v přesvědčení že protokoly můžou ve Smalltalku implementaci vyžadovat. Protože by mi přišlo ideální mít možnost volné vazby a volitelně vynucené implementace.

Slovo protokol jsem viděl ve Smalltalku používat ve dvou významech, jestli se pamatuju správně:

 - Neformálně např. při popisování (mluvení, čmárání na papír) nějaké objektové hierarchie, tj. "Objekt který se zde předá musí podporovat protokol Foo, tj. implementovat metody #foo a #fooAt:, které se nějak chovají", tedy něco významově podobného kontraktu.
 - Kategorie metod nějakého objektu (Accessors, testing, painting, ...), ta už je u každé metody uvedená, něco trochu podobného jako #region v C#, slouží jen pro zpřehlednění.

Kažopádně se nikde nic nevynucuje..

Koukám na to a skutečně máte pravdu. Divil bych se ale, kdyby nikdo do Smalltalku nezkusil  vyžadování a kontrolu kontraktů přidat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 11. 03. 2020, 15:23:18
Koukám na to a skutečně máte pravdu. Divil bych se ale, kdyby nikdo do Smalltalku nezkusil  vyžadování a kontrolu kontraktů přidat.

Ono to "přidání kontraktů" vlastně znamená zavést nějakou formu statického typového systému, těch možností jak to udělat je milión a žádná není jednoznačně nejlepší. Jinak se ale něco takového zkoušelo ve Strongtalku, (http://www.strongtalk.org/) a uvažovalo se o tom i v Newspeaku (https://newspeaklanguage.org/)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 11. 03. 2020, 16:17:57
Podívej Stando, to jsou bláboly. Smál jsi se pěknému přehlednému a srozumitelnému  Python programu ve věci, která ani není nativní vlastností toho jazyka. Můžeš předvést jak si s tím poradí Java, u které to je nativní vlastnost, tudíž by to měla zvládnout lépe nebo aspoň stejně. Ano, Java je hnusný těžkopádný jazyk, takže to nezvládne, to víme oba, teď jde jenom o to, jestli to přiznáš nebo ne. Čím víc to budeš rozpatlávat abys to zakamufloval, tím víc to bude smrdět. Takže hoď sem Java implementaci kraťoučkého Python programu, co jsi sem sám napastoval a nebo jsi porazil sám sebe svými vlastními hloupými ukázkami. :-)

Jak to?? Podle mě ten java kód už poslal. Ale férovější by bylo popsat, co ten Python kód přesně dělá a pak řešit, zda a jak se to dá realizovat v jiném jazyku.

Neposlal, snažil se jen vysvětlovat, jak by to napsal, kdyby to napsal. Ten Python kód sem dal on, tak snad ví, co dělá. Dal to sem navíc s tvrzením, že java to umí přehledněji, tak se může předvést :-).

A co je podle Vás tedy tohle? https://forum.root.cz/index.php?topic=22582.msg326312#msg326312

Neco jineho nez tohle: https://forum.root.cz/index.php?topic=22582.msg326263#msg326263
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tacoberu 11. 03. 2020, 22:40:48
co to je silné a slabé typování

Python je dynamicky typovaný jazyk, což neznamená, že není typovaný silně, narozdíl např. od JavaScriptu nebo PHP, které jsou slabě typované (sečtete hrušky a jablka a dá vám to nějaký výsledek).

Pojmy silně a slabě typovaný jsem nikdy moc nepochopil. Vždycky, když jsem začal do toho trochu víc do hloubky, zjistil jsem, že Python je silně typovaný jen u buildin funkcí a buildin typů. Zatímco v případě PHP a JS je to slabé typování ve skutečnosti jen automatická konverze (debilní jasně, ale přesto jen konverze) a ve skutečnosti je úplně stejně silně/slabě jako Python. V praxi mezi tím pak není vůbec žádný rozdíl. U všech tří jazyků mám u všech hodnot podobné informace o typech, a chovají se vesměs podobně (se zmíněnými výjimkami).

IMHO je pojem slabě typovaný hrubě zavádějící, a spíše bych hovořil o tom, že JS má nešťastně zvolené automatické přetypovávání.
Název: Re:Datove tridy v Pythonu
Přispěvatel: tacoberu 11. 03. 2020, 22:53:49
Jython je kompilátor Python kódu produkující bajtkód pro JVM. Umožňuje v prostředí JVM používat jazyk Python, což je výhodné. Python nabízí mnohem vyšší produktivitu, Python kód je 2 až 10 × kratší než Java kód.

Na Javě je zajímavé jen to JVM. Proto pro JVM vzniká tolik jazyků, je tu ohromující snaha se jazyku Java vyhnout. https://en.m.wikipedia.org/wiki/List_of_JVM_languages

Další zásadnější nevýhoda JVM je studený start. Pro někoho (mě) to může být nevýhoda dost zásadní, protože jinak už těch nevýhod víc nebude.
Název: Re:Datove tridy v Pythonu
Přispěvatel: Filip Jirsák 12. 03. 2020, 08:09:55
Další zásadnější nevýhoda JVM je studený start. Pro někoho (mě) to může být nevýhoda dost zásadní, protože jinak už těch nevýhod víc nebude.
Ani to už neplatí vždy, viz Substrate VM (https://github.com/oracle/graal/tree/master/substratevm) (součást GraalVM).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 12. 03. 2020, 12:48:16
zjistil jsem, že Python je silně typovaný jen u buildin funkcí a buildin typů.

v pythonu neni rozdil mezi buildin a uzivatelsky definovanymi typy. Pro nektere buildin typy existuji literaly, to se tyka jen konstrukce novych hodnot.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 12. 03. 2020, 13:05:39
co to je silné a slabé typování

Python je dynamicky typovaný jazyk, což neznamená, že není typovaný silně, narozdíl např. od JavaScriptu nebo PHP, které jsou slabě typované (sečtete hrušky a jablka a dá vám to nějaký výsledek).

Pojmy silně a slabě typovaný jsem nikdy moc nepochopil. Vždycky, když jsem začal do toho trochu víc do hloubky, zjistil jsem, že Python je silně typovaný jen u buildin funkcí a buildin typů. Zatímco v případě PHP a JS je to slabé typování ve skutečnosti jen automatická konverze (debilní jasně, ale přesto jen konverze) a ve skutečnosti je úplně stejně silně/slabě jako Python. V praxi mezi tím pak není vůbec žádný rozdíl. U všech tří jazyků mám u všech hodnot podobné informace o typech, a chovají se vesměs podobně (se zmíněnými výjimkami).

IMHO je pojem slabě typovaný hrubě zavádějící, a spíše bych hovořil o tom, že JS má nešťastně zvolené automatické přetypovávání.

Rozdíl je právě v tom, zda při operaci s rozdílnými typy dojde k vyvolání výjímky (silné typy) nebo o automatické konverzi (slabé typy). Python má silné typy, protože v Pythonu hodnoty svůj typ automaticky nemění (s jednou výjimkou u Python 2, konverze int/long). Python je silně typovaný i u uživatelských typů.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 12. 03. 2020, 14:31:25
co to je silné a slabé typování

Python je dynamicky typovaný jazyk, což neznamená, že není typovaný silně, narozdíl např. od JavaScriptu nebo PHP, které jsou slabě typované (sečtete hrušky a jablka a dá vám to nějaký výsledek).

Pojmy silně a slabě typovaný jsem nikdy moc nepochopil. Vždycky, když jsem začal do toho trochu víc do hloubky, zjistil jsem, že Python je silně typovaný jen u buildin funkcí a buildin typů. Zatímco v případě PHP a JS je to slabé typování ve skutečnosti jen automatická konverze (debilní jasně, ale přesto jen konverze) a ve skutečnosti je úplně stejně silně/slabě jako Python. V praxi mezi tím pak není vůbec žádný rozdíl. U všech tří jazyků mám u všech hodnot podobné informace o typech, a chovají se vesměs podobně (se zmíněnými výjimkami).

IMHO je pojem slabě typovaný hrubě zavádějící, a spíše bych hovořil o tom, že JS má nešťastně zvolené automatické přetypovávání.

Rozdíl je právě v tom, zda při operaci s rozdílnými typy dojde k vyvolání výjímky (silné typy) nebo o automatické konverzi (slabé typy). Python má silné typy, protože v Pythonu hodnoty svůj typ automaticky nemění (s jednou výjimkou u Python 2, konverze int/long). Python je silně typovaný i u uživatelských typů.

operace jsou uzivatelsky definovane u vsech typu, vyjimku musi explicitne vyhodit treba __add__
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 12. 03. 2020, 15:27:51
Rozdíl je právě v tom, zda při operaci s rozdílnými typy dojde k vyvolání výjímky (silné typy) nebo o automatické konverzi (slabé typy). Python má silné typy, protože v Pythonu hodnoty svůj typ automaticky nemění (s jednou výjimkou u Python 2, konverze int/long). Python je silně typovaný i u uživatelských typů.

Žádná formální definice silného a slabého typování neexistuje, viz https://en.wikipedia.org/wiki/Strong_and_weak_typing. Všude je to samé "colloquially", "generally", "may" a různé všelijak se překrývající definice různých autorů (koneckonců jednu jsi si tady navrhl i ty sám).

Mě přijde zajímavé

 - jestli má jazyk statický typový systém (Java, Haskell, Python s MyPy) a jak je silný (třeba program v Rustu, pokud nepoužívá undefined, zaručuje absenci data races a neplatných přístupů do paměti)
 - jestli má dynamický typový systém, tj. zda si s sebou nesou objekty informaci o svém typu za běhu, a do jaké míry (třeba v C se nedá hodnot za běhu ničeho doptat, v Pythonu mi každý objekt řekne, jakého je typu, v Javě mi může objekt říci, že je Array, ale už ne čeho protože type erasure atp.).
 - někomu dalšímu mohou připadat důležité další vlastnosti ze seznamu na uvedené wikistránce

Pojmy silný a slabý typový systém používám skutečně zřídka a neformálně, když nehrozí nějaké zmatení, rozhodně bych se tím tady neoháněl jako něčím všeobecně uznávaným.

Ta "automatická změna typu" o které tu mluvíš není slabé typování, ale koerce (hledej coercion na https://en.wikipedia.org/wiki/Type_conversion).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 12. 03. 2020, 15:52:51
Mě přijde zajímavé

 - jestli má jazyk statický typový systém (Java, Haskell, Python s MyPy) a jak je silný (třeba program v Rustu, pokud nepoužívá undefined, zaručuje absenci data races a neplatných přístupů do paměti)
 - jestli má dynamický typový systém, tj. zda si s sebou nesou objekty informaci o svém typu za běhu, a do jaké míry (třeba v C se nedá hodnot za běhu ničeho doptat, v Pythonu mi každý objekt řekne, jakého je typu, v Javě mi může objekt říci, že je Array, ale už ne čeho protože type erasure atp.).
 - někomu dalšímu mohou připadat důležité další vlastnosti ze seznamu na uvedené wikistránce

Pojmy silný a slabý typový systém používám skutečně zřídka a neformálně, když nehrozí nějaké zmatení, rozhodně bych se tím tady neoháněl jako něčím všeobecně uznávaným.

Ta "automatická změna typu" o které tu mluvíš není slabé typování, ale koerce (hledej coercion na https://en.wikipedia.org/wiki/Type_conversion).

Naprosty souhlas.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 12. 03. 2020, 17:41:03
co to je silné a slabé typování

Python je dynamicky typovaný jazyk, což neznamená, že není typovaný silně, narozdíl např. od JavaScriptu nebo PHP, které jsou slabě typované (sečtete hrušky a jablka a dá vám to nějaký výsledek).

Pojmy silně a slabě typovaný jsem nikdy moc nepochopil. Vždycky, když jsem začal do toho trochu víc do hloubky, zjistil jsem, že Python je silně typovaný jen u buildin funkcí a buildin typů. Zatímco v případě PHP a JS je to slabé typování ve skutečnosti jen automatická konverze (debilní jasně, ale přesto jen konverze) a ve skutečnosti je úplně stejně silně/slabě jako Python. V praxi mezi tím pak není vůbec žádný rozdíl. U všech tří jazyků mám u všech hodnot podobné informace o typech, a chovají se vesměs podobně (se zmíněnými výjimkami).

IMHO je pojem slabě typovaný hrubě zavádějící, a spíše bych hovořil o tom, že JS má nešťastně zvolené automatické přetypovávání.

Rozdíl je právě v tom, zda při operaci s rozdílnými typy dojde k vyvolání výjímky (silné typy) nebo o automatické konverzi (slabé typy). Python má silné typy, protože v Pythonu hodnoty svůj typ automaticky nemění (s jednou výjimkou u Python 2, konverze int/long). Python je silně typovaný i u uživatelských typů.

operace jsou uzivatelsky definovane u vsech typu, vyjimku musi explicitne vyhodit treba __add__

Operace jsou uživatelsky definovatelné nikoliv definované, implicitní chování u built in typů je vyhodit výjimku, pokud operátor nepodporuje operaci s různými datovými typy. Nikdy nedojde implicitně k přetypování hodnoty.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 12. 03. 2020, 18:12:47
Rozdíl je právě v tom, zda při operaci s rozdílnými typy dojde k vyvolání výjímky (silné typy) nebo o automatické konverzi (slabé typy). Python má silné typy, protože v Pythonu hodnoty svůj typ automaticky nemění (s jednou výjimkou u Python 2, konverze int/long). Python je silně typovaný i u uživatelských typů.

Žádná formální definice silného a slabého typování neexistuje, viz https://en.wikipedia.org/wiki/Strong_and_weak_typing. Všude je to samé "colloquially", "generally", "may" a různé všelijak se překrývající definice různých autorů (koneckonců jednu jsi si tady navrhl i ty sám).

Mě přijde zajímavé

 - jestli má jazyk statický typový systém (Java, Haskell, Python s MyPy) a jak je silný (třeba program v Rustu, pokud nepoužívá undefined, zaručuje absenci data races a neplatných přístupů do paměti)
 - jestli má dynamický typový systém, tj. zda si s sebou nesou objekty informaci o svém typu za běhu, a do jaké míry (třeba v C se nedá hodnot za běhu ničeho doptat, v Pythonu mi každý objekt řekne, jakého je typu, v Javě mi může objekt říci, že je Array, ale už ne čeho protože type erasure atp.).
 - někomu dalšímu mohou připadat důležité další vlastnosti ze seznamu na uvedené wikistránce

Pojmy silný a slabý typový systém používám skutečně zřídka a neformálně, když nehrozí nějaké zmatení, rozhodně bych se tím tady neoháněl jako něčím všeobecně uznávaným.

Ta "automatická změna typu" o které tu mluvíš není slabé typování, ale koerce (hledej coercion na https://en.wikipedia.org/wiki/Type_conversion).

Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 12. 03. 2020, 20:02:48
Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.
Které známé jazyky tedy mají podle této definice silné typování?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 12. 03. 2020, 20:04:14
Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.

Citation needed. Mezitím si můžeš přečíst třeba https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed, speciálně odstavec "Strong vs weak" v první odpovědi, která má > 500 upvotes.

Dokonce koukám, že v tom vlákně si někdo (https://stackoverflow.com/a/2690596/3220468) myslí to samé co ty. Jeho názor má 15 upvotes. Tolik asi o tom jak je ten termín "obecně používán a přijímán" v tom smyslu, ve kterém to tvrdíš ty.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 12. 03. 2020, 20:19:09
Operace jsou uživatelsky definovatelné nikoliv definované, implicitní chování u built in typů je vyhodit výjimku, pokud operátor nepodporuje operaci s různými datovými typy. Nikdy nedojde implicitně k přetypování hodnoty.

operator je obycejna funkce, ktera se zavola vzdy, typova kontrola muze a nemusi probihat uvnitr te funkce. Operace built in typu jsou definovane uplne stejnym zpusobem jako u uzivatelskych c api typu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 12. 03. 2020, 21:00:35
Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.

Citation needed. Mezitím si můžeš přečíst třeba https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed, speciálně odstavec "Strong vs weak" v první odpovědi, která má > 500 upvotes.

Dokonce koukám, že v tom vlákně si někdo (https://stackoverflow.com/a/2690596/3220468) myslí to samé co ty. Jeho názor má 15 upvotes. Tolik asi o tom jak je ten termín "obecně používán a přijímán" v tom smyslu, ve kterém to tvrdíš ty.

a) je to stará diskuse b) že s něčím souhlasí většina neznamená, že je to pravda c) ty odpovědi nebyly dány ve stejný čas, takže to porovnání hlasování nedává smysl d) píše se tam např. nesmysl jako "It is very rare to hear someone talk about a "strong" or "weak" dynamic type system." Už jen to by ti mělo napovědět, že je to dávno překonané.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 12. 03. 2020, 21:17:50
Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.

Citation needed. Mezitím si můžeš přečíst třeba https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed, speciálně odstavec "Strong vs weak" v první odpovědi, která má > 500 upvotes.

Dokonce koukám, že v tom vlákně si někdo (https://stackoverflow.com/a/2690596/3220468) myslí to samé co ty. Jeho názor má 15 upvotes. Tolik asi o tom jak je ten termín "obecně používán a přijímán" v tom smyslu, ve kterém to tvrdíš ty.

a) je to stará diskuse b) že s něčím souhlasí většina neznamená, že je to pravda c) ty odpovědi nebyly dány ve stejný čas, takže to porovnání hlasování nedává smysl d) píše se tam např. nesmysl jako "It is very rare to hear someone talk about a "strong" or "weak" dynamic type system." Už jen to by ti mělo napovědět, že je to dávno překonané.

a) Ukaž novější. Zatím jsi neukázal nic, co by podporovalo to co tvrdíš, narozdíl ode mě.
b) Když tvrdíš, že je něco obecně (tedy většinou) přijímané, a přitom většina tvrdí opak, tak nemáš pravdu ty.
c) srsly? porovnání > 500 upvotes vs 16 upvotes (je milé, že jsi tam jeden přidal) nedává smysl, protože jedna odpověď je stará 3612 dní a jedna 3611 dní? To už je opravdu smutný argument.
d) To, že o tom často slyšíš mluvit sám sebe ještě neznamená, že to není extremely rare.

Zkus předložit nějaká podložená fakta místo dojmologie, která zakopává o realitu na každém kroku.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 12. 03. 2020, 21:28:32
Operace jsou uživatelsky definovatelné nikoliv definované, implicitní chování u built in typů je vyhodit výjimku, pokud operátor nepodporuje operaci s různými datovými typy. Nikdy nedojde implicitně k přetypování hodnoty.

operator je obycejna funkce, ktera se zavola vzdy, typova kontrola muze a nemusi probihat uvnitr te funkce. Operace built in typu jsou definovane uplne stejnym zpusobem jako u uzivatelskych c api typu.
Operator neni funkce, operator muze volat prislusnou funkci, ale nevola ji vzdy.

Kód: [Vybrat]
>>> a = compile("(10).__add__(20)", "x", "exec")
>>> b = compile("(10)+(20)", "x", "exec")
>>> a.co_code
'd\x00\x00i\x00\x00d\x01\x00\x83\x01\x00\x01d\x02\x00S'
>>> b.co_code
'd\x00\x00d\x01\x00\x17\x01d\x02\x00S'
>>> import dis
>>> dis.disassemble(a)
  1           0 LOAD_CONST               0 (10)
              3 LOAD_ATTR                0 (__add__)
              6 LOAD_CONST               1 (20)
              9 CALL_FUNCTION            1
             12 POP_TOP             
             13 LOAD_CONST               2 (None)
             16 RETURN_VALUE       
>>> dis.disassemble(b)
  1           0 LOAD_CONST               0 (10)
              3 LOAD_CONST               1 (20)
              6 BINARY_ADD         
              7 POP_TOP             
              8 LOAD_CONST               2 (None)
             11 RETURN_VALUE

Operace definovane v c api bych neoznacoval za uzivatelske.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 12. 03. 2020, 22:31:34
Formální definici to možná nemá, ale je to běžně používaný termín, který je obecně používán a přijímán a implicitní přetypování je základním rozlišením mezi silným a slabým typováním.

Citation needed. Mezitím si můžeš přečíst třeba https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed, speciálně odstavec "Strong vs weak" v první odpovědi, která má > 500 upvotes.

Dokonce koukám, že v tom vlákně si někdo (https://stackoverflow.com/a/2690596/3220468) myslí to samé co ty. Jeho názor má 15 upvotes. Tolik asi o tom jak je ten termín "obecně používán a přijímán" v tom smyslu, ve kterém to tvrdíš ty.

a) je to stará diskuse b) že s něčím souhlasí většina neznamená, že je to pravda c) ty odpovědi nebyly dány ve stejný čas, takže to porovnání hlasování nedává smysl d) píše se tam např. nesmysl jako "It is very rare to hear someone talk about a "strong" or "weak" dynamic type system." Už jen to by ti mělo napovědět, že je to dávno překonané.

a) Ukaž novější. Zatím jsi neukázal nic, co by podporovalo to co tvrdíš, narozdíl ode mě.
b) Když tvrdíš, že je něco obecně (tedy většinou) přijímané, a přitom většina tvrdí opak, tak nemáš pravdu ty.
c) srsly? porovnání > 500 upvotes vs 16 upvotes (je milé, že jsi tam jeden přidal) nedává smysl, protože jedna odpověď je stará 3612 dní a jedna 3611 dní? To už je opravdu smutný argument.
d) To, že o tom často slyšíš mluvit sám sebe ještě neznamená, že to není extremely rare.

Zkus předložit nějaká podložená fakta místo dojmologie, která zakopává o realitu na každém kroku.
a)
https://cs.m.wikipedia.org/wiki/Python
https://en.m.wikipedia.org/wiki/Python_(programming_language)
https://cs.m.wikipedia.org/wiki/Haskell_(programovac%C3%AD_jazyk)
https://cs.m.wikipedia.org/wiki/Java_(programovac%C3%AD_jazyk)
https://cs.m.wikipedia.org/wiki/PHP
https://cs.m.wikipedia.org/wiki/C_(programovac%C3%AD_jazyk)
https://cs.m.wikipedia.org/wiki/Rust_(programovac%C3%AD_jazyk)
https://wiki.python.org/moin/Why%20is%20Python%20a%20dynamic%20language%20and%20also%20a%20strongly%20typed%20language
https://oznetnerd.com/2017/05/16/python-strong-dynamically-typed-language/
https://www.artima.com/weblogs/viewpost.jsp?thread=7590
https://m.youtube.com/watch?v=-NuS_BM1etY
https://wiki.c2.com/?WeakAndStrongTyping
https://docs.microsoft.com/en-us/windows/win32/rpc/strong-typing
http://python.wraith.cz/uvod-datove_typy-typovani.php
https://www.i-programmer.info/programming/theory/1469-type-systems-demystified-part2-weak-vs-strong.html
https://dl.acm.org/doi/10.1145/97946.97964
https://en.m.wiktionary.org/wiki/strong_typing
https://perl.plover.com/yak/typing/

b) jaká většina, odkazuješ se na starou nesmyslnou diskusi

c) návštěvnost není po celou dobu stejná, první příspěvek byl dán o dva měsíce dřív, po dvou měsících už je takový dotaz minulost

d) je to normálně používané označení typového systému, viz odkazy výše na popisy jednotlivých jazyků na wiki, u každého je definováno, zda má silné nebo slabé typy a to i u dynamických jazyků, používá se to úplně běžně.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tacoberu 13. 03. 2020, 02:06:21
co to je silné a slabé typování

Python je dynamicky typovaný jazyk, což neznamená, že není typovaný silně, narozdíl např. od JavaScriptu nebo PHP, které jsou slabě typované (sečtete hrušky a jablka a dá vám to nějaký výsledek).

Pojmy silně a slabě typovaný jsem nikdy moc nepochopil. Vždycky, když jsem začal do toho trochu víc do hloubky, zjistil jsem, že Python je silně typovaný jen u buildin funkcí a buildin typů. Zatímco v případě PHP a JS je to slabé typování ve skutečnosti jen automatická konverze (debilní jasně, ale přesto jen konverze) a ve skutečnosti je úplně stejně silně/slabě jako Python. V praxi mezi tím pak není vůbec žádný rozdíl. U všech tří jazyků mám u všech hodnot podobné informace o typech, a chovají se vesměs podobně (se zmíněnými výjimkami).

IMHO je pojem slabě typovaný hrubě zavádějící, a spíše bych hovořil o tom, že JS má nešťastně zvolené automatické přetypovávání.

Rozdíl je právě v tom, zda při operaci s rozdílnými typy dojde k vyvolání výjímky (silné typy) nebo o automatické konverzi (slabé typy). Python má silné typy, protože v Pythonu hodnoty svůj typ automaticky nemění (s jednou výjimkou u Python 2, konverze int/long). Python je silně typovaný i u uživatelských typů.

operace jsou uzivatelsky definovane u vsech typu, vyjimku musi explicitne vyhodit treba __add__

Přesně tak. Možná tak C, tam je opravdu všechno jen ukazatel na int.  Ale když se tu porovnává Python s Javascriptem a PHP, tak ten rozdíl je jen v tom automatickém přetypovávání u buildin věcí. Jakmile si vytváříš vlastní funkce a objekty, tak je jen na tobě, zda budeš asertovat vstupy. Na této úrovni není Python o nic silnější jak Javascript. A PHP je dokonce ještě o chloupek chytřejší, protože má typehinty, a tudíš to jakože usnadňuje tu asertaci.

Bez ohledu na obdiv, který k Pythonu chovám, tak pojem silná typová kontrola považuju za marketingový kec a nemám ho rád, protože to s žádným typováním nesouvisí.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tacoberu 13. 03. 2020, 02:09:43
d) je to normálně používané označení typového systému, viz odkazy výše na popisy jednotlivých jazyků na wiki, u každého je definováno, zda má silné nebo slabé typy a to i u dynamických jazyků, používá se to úplně běžně.
Ale jo, to je samozřejmě pravda, že se to naprosto běžné používá. Já ale tvrdím, že je to blbost protože to vyvolává falešná očekávání.
Název: Python - WTF???
Přispěvatel: Zabanovaný Anonymní Troll 13. 03. 2020, 03:59:29
Tak, dneska mam dalsi dukaz, jake Python umoznuje bastleni. Takove sra cka by v Jave NIKDY nemohla existovat.

Kód: [Vybrat]
import boto3

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

# Write to SQS
sqs = boto3.client('sqs')
queue = sqs.get_queue_by_name(QueueName='myQueue123')
queue.send_message(MessageBody='Hello world')

Jak vam mozna doslo, na promenne "sqs" ani "sns" vam v IDE nefunguje naseptavani metod, statickou analyzou nejde zjistit co to do haje vlastne vraci, tzn. celou dobu prace s touhle knihovnou musite cumet do dokumentace na Internetu  :D

Ano, autor knihovny byl bezesporu debil, a v Pythonu to jde udelat i jinak, ale PYTHON TOHLE UMOZNI! Java to neumozni, takze i kdyz je nejaky programator blbecek, tak tohle nema sanci nejak rozumne rozsirit do sveta v Jave.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 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 :-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 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. ;-)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: registrovany_ava 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ů.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 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)...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 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.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Tomas-T 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ší).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 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.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 13. 03. 2020, 10:27:17
Kod neni asset, ale liability.
Tzn cim mene ho je tim lepe pro vyvojare. To ze mi IDE neco vygeneruje... je pro me spatne, protoze mi to pridava dalsi zodpovednost navic za neco co sem nenapsal. Jaky je prinos?
Pokud to zvladne stroj(IDE) vygenerovat kdyz to pisu, tak proc to radsi neudela az kdyz kompiluju?

Pro priklady a srovnani ukecanosti se muzete podivat na http://rosettacode.org/wiki/Rosetta_Code (http://rosettacode.org/wiki/Rosetta_Code).
Stejny problem reseny v ruznych jazycich.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 13. 03. 2020, 10:32:42
....
Opakování i dlouhé popisné názvy přispívají srozumitelnosti.

Delka nazvu by mela byt neprimo umerna velikosti scope. (Trochu prehnana generalizace, ja vim)

btw. u Javistu sem se setkal s argumentaci "Tohle musi mit tak dlouhe jmeno aby mi to idea hezky napovidala a nemel sem naseptavac plnej veci co tam nechci...."
To sem si rikal, jestli vazne to IDE k necemu je...
Název: Re:Python - WTF???
Přispěvatel: ByCzech 13. 03. 2020, 11:07:22
Tak, dneska mam dalsi dukaz, jake Python umoznuje bastleni. Takove sra cka by v Jave NIKDY nemohla existovat.

Kód: [Vybrat]
import boto3

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

# Write to SQS
sqs = boto3.client('sqs')
queue = sqs.get_queue_by_name(QueueName='myQueue123')
queue.send_message(MessageBody='Hello world')

Jak vam mozna doslo, na promenne "sqs" ani "sns" vam v IDE nefunguje naseptavani metod, statickou analyzou nejde zjistit co to do haje vlastne vraci, tzn. celou dobu prace s touhle knihovnou musite cumet do dokumentace na Internetu  :D

Ano, autor knihovny byl bezesporu debil, a v Pythonu to jde udelat i jinak, ale PYTHON TOHLE UMOZNI! Java to neumozni, takze i kdyz je nejaky programator blbecek, tak tohle nema sanci nejak rozumne rozsirit do sveta v Jave.

Ehm...

Název: Re:Python - WTF???
Přispěvatel: Zabanovaný Anonymní Troll 13. 03. 2020, 12:30:03
Ehm...

A kde mas tu metodu "publish"? Kdyz tu to vyrobilo na zaklade jakehosik pofiderniho souboru s JSONem, to ti  zivote staticka analyza nerozkoduje:

Kód: [Vybrat]
resources-1.json

        "Publish": {
          "request": {
            "operation": "Publish",
            "params": [
              { "target": "TargetArn", "source": "identifier", "name": "Arn" }
            ]
          }
        },

Tvl. to je shit, to jsem jeste nezral, takova prasarna  :D To je horsi jak nekde v Javascriptu.

Hosi, ja jsem nemel o Pythonu a Pyjthonistech kdovijake mineni, ale tohle predcilo vsechny me ocekavani  :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 13. 03. 2020, 12:38:10
Opakování i dlouhé popisné názvy přispívají srozumitelnosti.

Zde se neshodneme, rozhodne ne takhle obecne. Hezky den.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 13. 03. 2020, 12:40:17
Opakování i dlouhé popisné názvy přispívají srozumitelnosti.

Zde se neshodneme, rozhodne ne takhle obecne. Hezky den.

Pane Jirsak, vy to nechapete, Pyjthonisti potrebuji tvurci prostor pro svou impresionistickou vizi programoveho kodu. Opakovat i dlouhe popisne nazvy zabiji jejich veskere umelecke nadani  :D
Název: Re:Python - WTF???
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 13. 03. 2020, 12:55:32
Kdyz tu to vyrobilo na zaklade jakehosik pofiderniho souboru s JSONem, to ti  zivote staticka analyza nerozkoduje:

https://pypi.org/project/boto3-stubs/
Název: Re:Python - WTF???
Přispěvatel: Zabanovaný Anonymní Troll 13. 03. 2020, 12:58:42
Kdyz tu to vyrobilo na zaklade jakehosik pofiderniho souboru s JSONem, to ti  zivote staticka analyza nerozkoduje:

https://pypi.org/project/boto3-stubs/

 :D :D :D tvl, a nam Javistum budete rikat ze neco komplikujeme, takze nekdo vyrobi knihovnu ktera je totalni ulet a pak na to jeste vyrobi dalsi separatni knihovnu s "Annotation types" aby do toho dodala datove typy a dalo se s tim aspon trochu nejak pracovat. Tak tohle je Python v akci :D Proc to delat jednoduse, kdyz to jde delat slozite a posmivat se u toho Javistum jak to delaji blbe :D

Kontrolni otazka - v cem by byla ta knihovna jednodussi a prehlednejsi, v Jave nebo v Pythonu?

Ja bych klidne v Pythonu i pracoval, ja v tom shity vyrabet nebudu, ale docela se bojim na ty firmycky a nejruznejsi cvicene webdeveloperske vopice, ktere bych tam potkal a musel po nich cist jejich hnoje. A do toho jeste poslouchat jejich kydy o Jave :D
Název: Re:Python - WTF???
Přispěvatel: ByCzech 13. 03. 2020, 13:02:34
Ehm...

A kde mas tu metodu "publish"? Kdyz tu to vyrobilo na zaklade jakehosik pofiderniho souboru s JSONem, to ti  zivote staticka analyza nerozkoduje:

Nejdřív vysvětli ty, proč generuješ nevalidní kód a pak chceš, aby to napovídalo:

Kód: [Vybrat]
sns = boto3.resource('sns')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    sns = boto3.resource('sns')
  File "/usr/lib/python2.7/dist-packages/boto3/__init__.py", line 100, in resource
    return _get_default_session().resource(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/boto3/session.py", line 389, in resource
    aws_session_token=aws_session_token, config=config)
  File "/usr/lib/python2.7/dist-packages/boto3/session.py", line 263, in client
    aws_session_token=aws_session_token, config=config)
  File "/usr/lib/python2.7/dist-packages/botocore/session.py", line 838, in create_client
    client_config=config, api_version=api_version)
  File "/usr/lib/python2.7/dist-packages/botocore/client.py", line 86, in create_client
    verify, credentials, scoped_config, client_config, endpoint_bridge)
  File "/usr/lib/python2.7/dist-packages/botocore/client.py", line 328, in _get_client_args
    verify, credentials, scoped_config, client_config, endpoint_bridge)
  File "/usr/lib/python2.7/dist-packages/botocore/args.py", line 47, in get_client_args
    endpoint_url, is_secure, scoped_config)
  File "/usr/lib/python2.7/dist-packages/botocore/args.py", line 117, in compute_client_args
    service_name, region_name, endpoint_url, is_secure)
  File "/usr/lib/python2.7/dist-packages/botocore/client.py", line 402, in resolve
    service_name, region_name)
  File "/usr/lib/python2.7/dist-packages/botocore/regions.py", line 122, in construct_endpoint
    partition, service_name, region_name)
  File "/usr/lib/python2.7/dist-packages/botocore/regions.py", line 135, in _endpoint_for_partition
    raise NoRegionError()
NoRegionError: You must specify a region.
Název: Re:Python - WTF???
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 13. 03. 2020, 13:18:59
Kdyz tu to vyrobilo na zaklade jakehosik pofiderniho souboru s JSONem, to ti  zivote staticka analyza nerozkoduje:

https://pypi.org/project/boto3-stubs/

 :D :D :D tvl, a nam Javistum budete rikat ze neco komplikujeme, takze nekdo vyrobi knihovnu ktera je totalni ulet a pak na to jeste vyrobi dalsi separatni knihovnu s "Annotation types" aby do toho dodala datove typy a dalo se s tim aspon trochu nejak pracovat. Tak tohle je Python v akci :D Proc to delat jednoduse, kdyz to jde delat slozite a posmivat se u toho Javistum jak to delaji blbe :D

Kontrolni otazka - v cem by byla ta knihovna jednodussi a prehlednejsi, v Jave nebo v Pythonu?

Ja bych klidne v Pythonu i pracoval, ja v tom shity vyrabet nebudu, ale docela se bojim na ty firmycky a nejruznejsi cvicene webdeveloperske vopice, ktere bych tam potkal a musel po nich cist jejich hnoje. A do toho jeste poslouchat jejich kydy o Jave :D

tohle je specificky pripad, ta knihovna je psana tak, aby se nemusela updatovat pri kazde zmene formatu API, kdyz chces staticke typy, musis je vygenerovat z aktualni specifikace.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 13. 03. 2020, 13:55:51
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 13. 03. 2020, 13:57:51
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

 ::)  ::)  ::)

Nestálo by za to zamyslet se předtím, než napíšeš totální pitomost?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 13. 03. 2020, 14:02:10
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

 ::)  ::)  ::)

Nestálo by za to zamyslet se předtím, než napíšeš totální pitomost?
Nestalo by za to dát si víkendový hackathon na vytvoření Java vs Python flame war simulátoru než tu trávit hodiny blábolením ?
Mohli byste se přesunout k něčemu, co má aspoň zdánlivě smysl.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 13. 03. 2020, 14:11:57
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

 ::)  ::)  ::)

Nestálo by za to zamyslet se předtím, než napíšeš totální pitomost?
Nestalo by za to dát si víkendový hackathon na vytvoření Java vs Python flame war simulátoru než tu trávit hodiny blábolením ?
Mohli byste se přesunout k něčemu, co má aspoň zdánlivě smysl.

No vidis, tohle by se dalo i prodavat, pokud ho naucime vic (lidskych) jazyku. Pripadne by slo pridat dalsi pluginy - neomarxisty, Putina, Babise, zachranu klimatu stavkovanim ve skolach, chemtrails... Pripadne by k tomu slo dodat i cenzorbota.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 13. 03. 2020, 14:30:21
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

 ::)  ::)  ::)

Nestálo by za to zamyslet se předtím, než napíšeš totální pitomost?
Nestalo by za to dát si víkendový hackathon na vytvoření Java vs Python flame war simulátoru než tu trávit hodiny blábolením ?
Mohli byste se přesunout k něčemu, co má aspoň zdánlivě smysl.

No jo, ale v cem to napsat?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 13. 03. 2020, 14:35:41
Kod neni asset, ale liability.
Tzn cim mene ho je tim lepe pro vyvojare. To ze mi IDE neco vygeneruje... je pro me spatne, protoze mi to pridava dalsi zodpovednost navic za neco co sem nenapsal. Jaky je prinos?
Pokud to zvladne stroj(IDE) vygenerovat kdyz to pisu, tak proc to radsi neudela az kdyz kompiluju?

Pro priklady a srovnani ukecanosti se muzete podivat na http://rosettacode.org/wiki/Rosetta_Code (http://rosettacode.org/wiki/Rosetta_Code).
Stejny problem reseny v ruznych jazycich.

Kratší neznamená automaticky lepší - příliš kryptický kód představuje taky problém. Navíc je to individuální, čím komplexnější mindset programátor obsáhl, tím lépe vidí co se děje na pozadí a tím pádem rozumí kratšímu kódu. Naopak začátečník potřebuje explicitnější popis, co se děje. Dobrý příklad je Scala, která umí odvodit kde co a cestu programátora k pochopení shrnul Odersky ve svých Scala levels  https://www.scala-lang.org/old/node/8610

Takže debata postrádá smysl, cenu má jen vysvětlit best-practices a common-practices jednotlivých jazyků a ať si programátor vybere dle osobních preferencí :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 13. 03. 2020, 14:42:38
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

 ::)  ::)  ::)

Nestálo by za to zamyslet se předtím, než napíšeš totální pitomost?
Nestalo by za to dát si víkendový hackathon na vytvoření Java vs Python flame war simulátoru než tu trávit hodiny blábolením ?
Mohli byste se přesunout k něčemu, co má aspoň zdánlivě smysl.

No jo, ale v cem to napsat?

Vzhledem k tomu, ze korpolopatu nezajimaji jazyky, nybrz design a algoritmy, pockal bych, jak popise architekturu. Pokud nekdo udela zakladni specifikaci, muze vzniknout nekolik konkurencnich implementaci a pak se muzeme bavit o vyhodach a nevyhodach.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 13. 03. 2020, 17:29:55
Kod neni asset, ale liability.
Tzn cim mene ho je tim lepe pro vyvojare. To ze mi IDE neco vygeneruje... je pro me spatne, protoze mi to pridava dalsi zodpovednost navic za neco co sem nenapsal. Jaky je prinos?
Pokud to zvladne stroj(IDE) vygenerovat kdyz to pisu, tak proc to radsi neudela az kdyz kompiluju?

Pro priklady a srovnani ukecanosti se muzete podivat na http://rosettacode.org/wiki/Rosetta_Code (http://rosettacode.org/wiki/Rosetta_Code).
Stejny problem reseny v ruznych jazycich.

Kratší neznamená automaticky lepší - příliš kryptický kód představuje taky problém.


Kratsi ale taky neznamena "kryptictejsi". Kod by mel vzdycky byt dobre citelny a prodluzovani podle me nevede k lepsi citelnosti.

Navíc je to individuální, čím komplexnější mindset programátor obsáhl, tím lépe vidí co se děje na pozadí a tím pádem rozumí kratšímu kódu. Naopak začátečník potřebuje explicitnější popis, co se děje. Dobrý příklad je Scala, která umí odvodit kde co a cestu programátora k pochopení shrnul Odersky ve svých Scala levels  https://www.scala-lang.org/old/node/8610

Takze pri praci v tymu maji i zkuseni vyvojari psat "rozbredly" kod? Aby to po nich novacci precetli? A jak se potom z novacku stanou seniori?





Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 13. 03. 2020, 19:05:56
Kratsi ale taky neznamena "kryptictejsi". Kod by mel vzdycky byt dobre citelny a prodluzovani podle me nevede k lepsi citelnosti.
Ono to platí na obě strany. Je nějaká optimální délka kódu, kdy je nejčitelnější, (navíc je různá pro různé vývojáře a v různých kontextech). A když tenhle kód začnete zkracovat nebo prodlužovat, čitelnost bude klesat.

Takze pri praci v tymu maji i zkuseni vyvojari psat "rozbredly" kod? Aby to po nich novacci precetli? A jak se potom z novacku stanou seniori?
Ne rozbředlý, ale čitelný. To už se snad v oboru ví minimálně dvacet let, že je potřeba psát čitelný kód, aby to přečetli i nováčci i senioři, kteří zrovna nejsou ve formě, i senioři, kteří to po sobě čtou po půl roce. Z nováčků se stanou senioři právě tak, že budou číst čitelný kód, budou ho chápat a naučí se ho postupně psát také. Je to jeden z rozdílů mezi kódem nováčka a zkušeného vývojáře, že nováček píše kód, kterému je těžké porozumět, zatímco zkušený vývojář píše kód, který snadno pochopí každý. Pokud si myslíte, že se senior vyznačuje tím, že jeho kód nikdo nepřečte, pak jste si asi spletl století.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 13. 03. 2020, 19:14:17
Kratsi ale taky neznamena "kryptictejsi". Kod by mel vzdycky byt dobre citelny a prodluzovani podle me nevede k lepsi citelnosti.
Ono to platí na obě strany. Je nějaká optimální délka kódu, kdy je nejčitelnější, (navíc je různá pro různé vývojáře a v různých kontextech). A když tenhle kód začnete zkracovat nebo prodlužovat, čitelnost bude klesat.

Souhlas.

Takze pri praci v tymu maji i zkuseni vyvojari psat "rozbredly" kod? Aby to po nich novacci precetli? A jak se potom z novacku stanou seniori?
Ne rozbředlý, ale čitelný. To už se snad v oboru ví minimálně dvacet let, že je potřeba psát čitelný kód, aby to přečetli i nováčci i senioři, kteří zrovna nejsou ve formě, i senioři, kteří to po sobě čtou po půl roce. Z nováčků se stanou senioři právě tak, že budou číst čitelný kód, budou ho chápat a naučí se ho postupně psát také. Je to jeden z rozdílů mezi kódem nováčka a zkušeného vývojáře, že nováček píše kód, kterému je těžké porozumět, zatímco zkušený vývojář píše kód, který snadno pochopí každý. Pokud si myslíte, že se senior vyznačuje tím, že jeho kód nikdo nepřečte, pak jste si asi spletl století.

To byly otazky. Chtel jsem jimi motivovat Ondreje at zkusi dovysvetlit/domyslet to co pise, protoze mi to prislo zavadejici.
Myslim, ze je zbytecne zkouset z mych otazek vyvozovat co si myslim ja.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 13. 03. 2020, 20:28:02
A to vsechno proto jen, protoze staticke typovani umoznuje IDE vsechny tyto veci provadet.

Ehm, to je sice samozřejmě pravda, ale že by to bylo to podstatné...

Na statickém typování je podstatné že najdeš chybu před nasazením na produkci, a ne až poté. Nějaké našeptávání je irelevantní.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 13. 03. 2020, 21:09:14
....
Opakování i dlouhé popisné názvy přispívají srozumitelnosti.

Delka nazvu by mela byt neprimo umerna velikosti scope. (Trochu prehnana generalizace, ja vim)

btw. u Javistu sem se setkal s argumentaci "Tohle musi mit tak dlouhe jmeno aby mi to idea hezky napovidala a nemel sem naseptavac plnej veci co tam nechci...."
To sem si rikal, jestli vazne to IDE k necemu je...
Má-li proměnná či metoda více jak tři slova, většina programátorů to přestane vnímat. Začíná to být neurčitý cosi.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 13. 03. 2020, 21:16:42
....
Opakování i dlouhé popisné názvy přispívají srozumitelnosti.

Delka nazvu by mela byt neprimo umerna velikosti scope. (Trochu prehnana generalizace, ja vim)

btw. u Javistu sem se setkal s argumentaci "Tohle musi mit tak dlouhe jmeno aby mi to idea hezky napovidala a nemel sem naseptavac plnej veci co tam nechci...."
To sem si rikal, jestli vazne to IDE k necemu je...
Má-li proměnná či metoda více jak tři slova, většina programátorů to přestane vnímat. Začíná to být neurčitý cosi.

Ted si mi pripomel tohle: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition (https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 13. 03. 2020, 22:03:35
O boze, toto vlakno jiz dospelo do sveho posledniho stadia, prisel BoneFlute.
Název: Re:Python - WTF???
Přispěvatel: MartinK 13. 03. 2020, 23:07:06
:D :D :D tvl, a nam Javistum budete rikat...

Tak jo, kopnul sis do Pythonu, jsi spravny Javista, kluci v korporatu te pochvalej. Jinak doporucuju doucit se aspon co je to REPL, ale ono plakat ze mi IDE nedoplnuje je takovy spravne javovsky ;) Pry porad "cumet do dokumentace na Internetu", pobavil :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: MartinK 13. 03. 2020, 23:10:27
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

Ale to viz ze jo, skript kiddies jako Paul Graham - http://www.paulgraham.com/avg.html
Název: Re:Python - WTF???
Přispěvatel: Ink 14. 03. 2020, 08:40:27
:D :D :D tvl, a nam Javistum budete rikat...

Tak jo, kopnul sis do Pythonu, jsi spravny Javista, kluci v korporatu te pochvalej. Jinak doporucuju doucit se aspon co je to REPL, ale ono plakat ze mi IDE nedoplnuje je takovy spravne javovsky ;) Pry porad "cumet do dokumentace na Internetu", pobavil :D

Není hezké smát se takovým lidem.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 14. 03. 2020, 09:18:40
A to vsechno proto jen, protoze staticke typovani umoznuje IDE vsechny tyto veci provadet.

Ehm, to je sice samozřejmě pravda, ale že by to bylo to podstatné...

Na statickém typování je podstatné že najdeš chybu před nasazením na produkci, a ne až poté. Nějaké našeptávání je irelevantní.

Irelevantní není. Kompilátor je rodný bratr ostatních toolů - linteru, formátovače kódu i našeptávače. Strojové porozumění kódu neslouží jenom k ověření základní správnosti. Každé usnadnění kódování a refaktorizace se hodí.

Mimochodem, jaký jazyk používáš Ty a proč myslíš, že by se Ti našeptávání (ne)mohlo hodit?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 11:03:34
A to vsechno proto jen, protoze staticke typovani umoznuje IDE vsechny tyto veci provadet.

Ehm, to je sice samozřejmě pravda, ale že by to bylo to podstatné...

Na statickém typování je podstatné že najdeš chybu před nasazením na produkci, a ne až poté. Nějaké našeptávání je irelevantní.

Irelevantní není. Kompilátor je rodný bratr ostatních toolů - linteru, formátovače kódu i našeptávače. Strojové porozumění kódu neslouží jenom k ověření základní správnosti. Každé usnadnění kódování a refaktorizace se hodí.

Mimochodem, jaký jazyk používáš Ty a proč myslíš, že by se Ti našeptávání (ne)mohlo hodit?

k tomu nepotrebujes kompilator.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 14. 03. 2020, 11:33:46
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

Ale to viz ze jo, skript kiddies jako Paul Graham - http://www.paulgraham.com/avg.html

Super cteni, ale neporovnavejme hrusky a jabka. Citace:

Citace
The more of an IT flavor the job descriptions had, the less dangerous the company was. The safest kind were the ones that wanted Oracle experience. You never had to worry about those. You were also safe if they said they wanted C++ or Java developers. If they wanted Perl or Python programmers, that would be a bit frightening-- that's starting to sound like a company where the technical side, at least, is run by real hackers. If I had ever seen a job posting looking for Lisp hackers, I would have been really worried.

Vyse uvedene platilo kdy? Nekde kolem roku 2000. A platilo to na co? Platilo to na male startupy. A na jaky typ softwaru? Na eshopech a podobny webdevelopment v drevnich dobach komplikovane Java enterprise, ktere v te dobe souperily s jeste vice komplikovanym a nesourodym svetem C++.

Kontrolni otazka - chces delat webdovelopment a veci kolem toho? Tak potom samozrejme ani neuvazuj o Jave, to bys byl pekny blbec.

Ja to rikam furt, ze mezi Java developmentem a webdevelopmentem je hodne velka propast jak v technologiich a jejich kvalite, tak v kvalite tech lidi co v takovych firmach pracujou.

Jak funguje startup a podobne male firmy? Jedou v rezimu toho, ze nabiraji ucha co vystudovaly VS a pak je zdimaji, a zdimaji a zdimaji, delaji z nich cvicene lepice kodu a k vinku jim jeste dodaji jakysik pocit vyjimecnosti a elity. Seniory tam zamestnaji jen z toho duvodu, aby mhli buz erovat ty juniory a nahanet je s bicem v ruce. Nez si to dotycny zfanatizovany junior uvedomi, uplyne 5 let a vice a bude z neho troska, co si bude az teprve potom hledat lepsi, normalnejsi praci. Tyhlety firmy jsou sance pro lidi se slabymi dovednostmi a bez vzdelani. Ja jsem vystudovany softwarovy inzenyr a venuju se mojemu obory cely zivot, jakysik startup kde me nekdo bude nahanet jak nejakou lopatu a lepice mi muze polibit zadek.

Takze to, ze na startupy je dneska mnohem vyhodnejsi Python a Node.js, me vubec nezajima, ja takovymi firmickami pohrdam. Jestli znate nejakou fakt dobrou, tak ok, ale ja jsem vuci nim hodne podezrivavy a zvlaste pak ma-li to neco spolecneho s vyvojem webu.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 14. 03. 2020, 11:44:11
Muj sen je Google a ne nejaky startup s jakymsik Node.js  8) V tom muze chtit delat jen fanda do webdevelopmentu, nebo noob, nebo blazen.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 11:58:02
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

Ale to viz ze jo, skript kiddies jako Paul Graham - http://www.paulgraham.com/avg.html

Článek už je starší, v roce 2001 použití Lispu mohlo dávat smysl. Kdo to prosazuje dnes, zamrzl stejně jako Javisti.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 12:01:52
Muj sen je Google a ne nejaky startup s jakymsik Node.js  8) V tom muze chtit delat jen fanda do webdevelopmentu, nebo noob, nebo blazen.

Google je take web.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 14. 03. 2020, 12:05:20
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

Ale to viz ze jo, skript kiddies jako Paul Graham - http://www.paulgraham.com/avg.html

Článek už je starší, v roce 2001 použití Lispu mohlo dávat smysl. Kdo to prosazuje dnes, zamrzl stejně jako Javisti.

My jsme nikde nezamrzli, Twitter se taky napsal nejprve v Pythonu, a az teprve zacal vydelavat prechy tak to prepsali do Javy. Mym snem taky neni mit doma drevotriskovy nabytek z Ikea, ktery muzu zase vyhodit, protoze bydlim v podnajmu a nemam tak ani svuj vlastni byt. Chci mit svuj byt/dum a poradny nabytek z masivu, ktery jeste za 100 let bude moct pouzivat nejaky kutil v garazi na svoje naradi. Jestli nekoho impnuje konzumni zpusob zivota, smejdske veci co se rychle vyhodi, a nevadi mu je i vyrabet, tak prosim, at si programuje v Node.js webovky a backend a pracuje si ve startupech.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 12:13:31
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

Ale to viz ze jo, skript kiddies jako Paul Graham - http://www.paulgraham.com/avg.html

Článek už je starší, v roce 2001 použití Lispu mohlo dávat smysl. Kdo to prosazuje dnes, zamrzl stejně jako Javisti.

My jsme nikde nezamrzli, Twitter se taky napsal nejprve v Pythonu, a az teprve zacal vydelavat prechy tak to prepsali do Javy. Mym snem taky neni mit doma drevotriskovy nabytek z Ikea, ktery muzu zase vyhodit, protoze bydlim v podnajmu a nemam tak ani svuj vlastni byt. Chci mit svuj byt/dum a poradny nabytek z masivu, ktery jeste za 100 let bude moct pouzivat nejaky kutil v garazi na svoje naradi. Jestli nekoho impnuje konzumni zpusob zivota, smejdske veci co se rychle vyhodi, a nevadi mu je i vyrabet, tak prosim, at si programuje v Node.js webovky a backend a pracuje si ve startupech.

Ti, kteri na Twitteru vydelali miliardy byli ti, kdo napsali puvodni aplikaci v Ruby (ne v Pythonu), ti kteri to pozdeji prepisovali byli ti levni, ktere nazivas lopaty.

prepisovali aby usetrili na programatorech, ne na HW, treba github je napsany v Rails a nikdo ho prepisovat nehodla.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Wavelet 14. 03. 2020, 12:14:13
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

Ale to viz ze jo, skript kiddies jako Paul Graham - http://www.paulgraham.com/avg.html

Článek už je starší, v roce 2001 použití Lispu mohlo dávat smysl. Kdo to prosazuje dnes, zamrzl stejně jako Javisti.

Tak mainstream to není a nikdy nebyl, ale cílovku to má i dnes: https://www.grammarly.com/blog/engineering/running-lisp-in-production/, stejně jako OCaml  https://engineering.issuu.com/2015/09/17/ocaml-production
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 12:21:15
Script kiddies se baví o jazycích, programátoři o designu a algoritmech ;)

Ale to viz ze jo, skript kiddies jako Paul Graham - http://www.paulgraham.com/avg.html

Článek už je starší, v roce 2001 použití Lispu mohlo dávat smysl. Kdo to prosazuje dnes, zamrzl stejně jako Javisti.

Tak mainstream to není a nikdy nebyl, ale cílovku to má i dnes: https://www.grammarly.com/blog/engineering/running-lisp-in-production/, stejně jako OCaml  https://engineering.issuu.com/2015/09/17/ocaml-production

ja tu dobu nepamatuju, ale pokud vim Common Lisp v devadesatych letech mainstream byl, vedle Javy a Perlu v nem vznikalo hodne projektu v dobe internetove bubliny. Grammarly je podle me dnes spis vyjimka, zejmena v oblasti AI temer vsichni presli na Python.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: jura75 14. 03. 2020, 13:21:11
Jednoznačně nejlepší a nejuniverzálnější jazyk co se týká programování pro Windows je C#. A ve spojení s Visual Studiem je na míle daleko od jakékoli konkurence.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: MartinK 14. 03. 2020, 14:37:19
Ja to rikam furt, ze mezi Java developmentem a webdevelopmentem je hodne velka propast jak v technologiich a jejich kvalite, tak v kvalite tech lidi co v takovych firmach pracujou.
...
Tyhlety firmy jsou sance pro lidi se slabymi dovednostmi a bez vzdelani. Ja jsem vystudovany softwarovy inzenyr a venuju se mojemu obory cely zivot, jakysik startup kde me nekdo bude nahanet jak nejakou lopatu a lepice mi muze polibit zadek.

Vydim to uplne opacne. Lidi se slabymi dovednostmi casto lepi Javu v korporatech, aneb informacni systemy 100x jinak. Nezajimava, netvurci prace. A fakt ze rozdelujes vyvoj software na kategorie "java develpment" a "web development" ukazuje na dost omezeny rozhled. Co treba data science, AI, systemove programovani, ...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 14. 03. 2020, 15:13:00
Ti, kteri na Twitteru vydelali miliardy byli ti, kdo napsali puvodni aplikaci v Ruby (ne v Pythonu), ti kteri to pozdeji prepisovali byli ti levni, ktere nazivas lopaty.

prepisovali aby usetrili na programatorech, ne na HW, treba github je napsany v Rails a nikdo ho prepisovat nehodla.

Pokud vim, tak to neni uplne pravda, Ruby prestalo stihat a tak hledali neco, co lepe skaluje. A, svete (ne)div se, nezvolili C++, nezvolili Javu, ale sli do Scaly, protoze chteli jazyk, ktery je neurazi a neomezuje.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 14. 03. 2020, 16:19:07
A to vsechno proto jen, protoze staticke typovani umoznuje IDE vsechny tyto veci provadet.

Ehm, to je sice samozřejmě pravda, ale že by to bylo to podstatné...

Na statickém typování je podstatné že najdeš chybu před nasazením na produkci, a ne až poté. Nějaké našeptávání je irelevantní.

Irelevantní není. Kompilátor je rodný bratr ostatních toolů - linteru, formátovače kódu i našeptávače. Strojové porozumění kódu neslouží jenom k ověření základní správnosti. Každé usnadnění kódování a refaktorizace se hodí.
Každé usnadnění se hodí. Určitě souhlas. Dál bych to nerozváděl, myslím, že na to tu není správná atmosféra :-)


Mimochodem, jaký jazyk používáš Ty a proč myslíš, že by se Ti našeptávání (ne)mohlo hodit?

Tak já patřím do skupiny programátorů, co nedělají jen v jednom jazyce. Takže Java i Python, Javascript i PHP. Aktuálně dělám hodně v C#. A moje srdeční záležitost je Haskell. Bude-li čas, tak bych se rád více seznámil s Rustem a Scalou.

V tom C# (takovej ideální příklad) samozřejmě našeptávání funguje (používám normálně VS), a dokonce ho i někdy použiju, ale necítím, že by mi to zase tak extra pomáhalo. Když by tam nebylo, snad bych to ani nepostřehl.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 17:14:26
Ti, kteri na Twitteru vydelali miliardy byli ti, kdo napsali puvodni aplikaci v Ruby (ne v Pythonu), ti kteri to pozdeji prepisovali byli ti levni, ktere nazivas lopaty.

prepisovali aby usetrili na programatorech, ne na HW, treba github je napsany v Rails a nikdo ho prepisovat nehodla.

Pokud vim, tak to neni uplne pravda, Ruby prestalo stihat a tak hledali neco, co lepe skaluje. A, svete (ne)div se, nezvolili C++, nezvolili Javu, ale sli do Scaly, protoze chteli jazyk, ktery je neurazi a neomezuje.

podle me neslo o samotny web, ten je docela primitivni a asi by skalovat sel. Urcite Java/Scala dava vetsi volnost.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 14. 03. 2020, 17:25:54
Ti, kteri na Twitteru vydelali miliardy byli ti, kdo napsali puvodni aplikaci v Ruby (ne v Pythonu), ti kteri to pozdeji prepisovali byli ti levni, ktere nazivas lopaty.

prepisovali aby usetrili na programatorech, ne na HW, treba github je napsany v Rails a nikdo ho prepisovat nehodla.

Pokud vim, tak to neni uplne pravda, Ruby prestalo stihat a tak hledali neco, co lepe skaluje. A, svete (ne)div se, nezvolili C++, nezvolili Javu, ale sli do Scaly, protoze chteli jazyk, ktery je neurazi a neomezuje.

podle me neslo o samotny web, ten je docela primitivni a asi by skalovat sel. Urcite Java/Scala dava vetsi volnost.

Našel jsem jeden článek, ale je datovaný loni, asi jsem před lety četl něco jiného: https://sysgears.com/articles/how-and-why-twitter-uses-scala/

Asi to bylo tohle: https://www.redfin.com/blog/how_and_why_twitter_uses_scala/
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 17:37:50
Ti, kteri na Twitteru vydelali miliardy byli ti, kdo napsali puvodni aplikaci v Ruby (ne v Pythonu), ti kteri to pozdeji prepisovali byli ti levni, ktere nazivas lopaty.

prepisovali aby usetrili na programatorech, ne na HW, treba github je napsany v Rails a nikdo ho prepisovat nehodla.

Pokud vim, tak to neni uplne pravda, Ruby prestalo stihat a tak hledali neco, co lepe skaluje. A, svete (ne)div se, nezvolili C++, nezvolili Javu, ale sli do Scaly, protoze chteli jazyk, ktery je neurazi a neomezuje.

podle me neslo o samotny web, ten je docela primitivni a asi by skalovat sel. Urcite Java/Scala dava vetsi volnost.

Našel jsem jeden článek, ale je datovaný loni, asi jsem před lety četl něco jiného: https://sysgears.com/articles/how-and-why-twitter-uses-scala/

Asi to bylo tohle: https://www.redfin.com/blog/how_and_why_twitter_uses_scala/

v tom odkazu se pise

"While Ruby on Rails is still used for frontend and, reportedly,"

Ruby nema nejmensi problem se skalovanim ve smyslu navysovani poctu obslouzenych requestu, dokud to zvlada databaze. Podle me pravdepodobneji zacali pouzivat Scalu jako castecnou nahradu relacni databaze, mozna neco jako Spark.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 14. 03. 2020, 18:46:07
v tom odkazu se pise

"While Ruby on Rails is still used for frontend and, reportedly,"

Ruby nema nejmensi problem se skalovanim ve smyslu navysovani poctu obslouzenych requestu, dokud to zvlada databaze. Podle me pravdepodobneji zacali pouzivat Scalu jako castecnou nahradu relacni databaze, mozna neco jako Spark.

Já se o to nehádám. V Pythonu pro to jsou také řešení, škálovat web requesty samotné je v podstatě to nejjednodušší. Jenže je pak otázka, zda to v tak velkém měřítku nenapsat v něčem jiném; to už by se mohlo vyplatit. A hrubá síla je dnes opravdu jinde: https://www.techempower.com/benchmarks/
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 14. 03. 2020, 19:30:20
zda to v tak velkém měřítku nenapsat v něčem jiném;

ty casti , ktere v Twitteru prepisovali, nejake background joby a podobne, ano. Samotny web ne, oni ho take neprepisovali podle toho clanku.

https://www.techempower.com/benchmarks/

tahle metrika temer nikdy neni uzke hrdlo
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 14. 03. 2020, 21:00:25
https://www.techempower.com/benchmarks/

tahle metrika temer nikdy neni uzke hrdlo

To jako že se ušetření výpočetního výkonu v jedné vrstvě nikde nepozná? To se mi nechce věřit.
Název: Python - pejsek a kocicka varili dort
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 09:46:01
Tak takhle delam s Pythone, a narazil jsem na dalsi srandovni vec. Python v sobe ma nove "dataclass", ktera se da pouzit takto:

Kód: [Vybrat]
from dataclasses import dataclass

@dataclass()
class A:
    a : int
    b : B

Sranda vec je, ze neexistuje zadny jednoduchy zpusob, jak prevest nested dictionary (pro jistotu, to znamena dictionary obsahujuci nejakou dictionary - to rikam specialne pro Pyjthonisty, protoze jsou ocividne trochu jednodussiho mysleni) na @dataclass.

Nekolik hodin jsem to googlil a zkoumal, co to je za nekonzistentni kravovinu, ze si muzu v Pythonu sice prevest instance Tridy na JSON, ale uz to same nemuzu prevezt zpet. A krasne jsem si tim obhledl mysleni asi 90% Pythonistu, coz jsou ocividne tak trochu jednodussi programatori :D

Dneska jsem zjistil, ze to v PYJthonu ANI NESMI JIT, protoze Dictionary v pythonu nikdy nemuze byt 100% kompatibilni s zadnou tridou!!! Viz.:

Kód: [Vybrat]
@dataclass()
class A:
    from: int

Tohle vam zarve chybu, vy totiz nemuzete v Pyjthonu pouzit jako atribut rezervovane klicove slovo!!! Takze vam z nejakeho API prijde JSON obsahujici klicove slovo, a vy proste mate SMULU a stejne si na to @dataclass vyrobit NEMUZETE!

 :D :D :D

Jsem fakt zklaman, Pyjthon zacina cim dal vic pripominat pejska a kocicku jak varili dort. Tohle je totalni bastlirska copy-paste platforma pro lamy a nooby, ze horsi uz je snad jen Javascript. Pry Guido Van Rossum  :D
Název: Re:Python - pejsek a kocicka varili dort
Přispěvatel: Ink 15. 03. 2020, 09:56:08
...hromada keců...

To je prosté, milý Watsone; když chceš používat dict, používej dict. Pokud Ti vadí, že nemůžeš mít jako název atributu klíčové slovo, jdi se pokorně vrátit k Javě a vesele si používej .equals() a další podobné geniální nápady návrhářů, kteří se domnívají, že nejsi dost chytrý na to, abys pochopil výhody a principy přetěžování operátorů.
Název: Re:Python - pejsek a kocicka varili dort
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 09:58:47
...hromada keců...

To je prosté, milý Watsone; když chceš používat dict, používej dict. Pokud Ti vadí, že nemůžeš mít jako název atributu klíčové slovo, jdi se pokorně vrátit k Javě a vesele si používej .equals() a další podobné geniální nápady návrhářů, kteří se domnívají, že nejsi dost chytrý na to, abys pochopil výhody a principy přetěžování operátorů.

Tohle je typicka odpoved jednoduchouckeho Pyjthonisty. Takze kdyz ti z nejakeho API, nad kterym ty nemas kontrolu, nekdo vrati Dictionary ktere obsahuje klicove slovo v Pythonu, tak ty potom udelas jako co? Ja vim co udelas, vemes izolacku, hrebiky a kladivko a vyrobis kupu hnoje aby ti to pak jakoze fungovalo.

Proc by nekdo do Swagger API psal:

fromDate: Date
toDate: Date

kdyz muze napsat jen:

from: Date
to: Date

A ty v Pyjthonu se z toho po...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 10:08:00
No nic, vidim ze to ma dobry duvod, proc se na ceskych VS uci prevazne Java a C#, a ne jakysik Pyjthon. Asi necham tuto platformu na hrani pro male deti a webovkare.

Software development proste neni tak jednoduchy, jak jednoduchy je Pyjthon. Bohuzel. Cim driv to lidi pochopi, tim lip.
Název: Re:Python - pejsek a kocicka varili dort
Přispěvatel: Ink 15. 03. 2020, 10:12:51
Proc by nekdo do Swagger API psal:

fromDate: Date
toDate: Date

kdyz muze napsat jen:

To je přece obecný problém:

http://watson-developer-cloud.github.io/api-guidelines/swagger-coding-style.html#alternate-names-for-properties-or-parameters
Název: Re:Python - pejsek a kocicka varili dort
Přispěvatel: Filip Jirsák 15. 03. 2020, 10:28:54
Tohle vam zarve chybu, vy totiz nemuzete v Pyjthonu pouzit jako atribut rezervovane klicove slovo!!! Takze vam z nejakeho API prijde JSON obsahujici klicove slovo, a vy proste mate SMULU a stejne si na to @dataclass vyrobit NEMUZETE!
Zatímco v Javě také nemůžete jako název atributu (fieldu, metody) použít rezervované nebo klíčové slovo.

Pro tenhle JSON

Kód: [Vybrat]
{
  'for': 'you'
}

si také nemůžete vyrobit třídu

Kód: [Vybrat]
public class TargetPerson {
  private String for;

  public String getFor() {
    return for;
  }

  public void setFor(String for) {
    this.for = for;
  }
}

Také tam budete muset mít nějaké mapování, buď mezi JSONem a názvem property, nebo mezi názvem property a názvem fieldu (tedy přejmenovat getter a setter).

Řekl bych, že tentokrát jste cíl minul o pořádný kus…
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 10:30:24
Jo, to je vlastne fakt... za to muze stejne Python, nema tam mit klicove slovo "from", ktere jsem zrovna nedavno strkal do API do "from: Date"  :D

Takze zbylo uz jen to, ze si muzu prevest objekt na Dictionary, ale uz to nemuzu udelat zpet. Je toho plny internet, treba:

https://stackoverflow.com/questions/1305532/convert-nested-python-dict-to-object

A je fakt debilni, ze pridaji do std lib novou knihovnu Dataclasses, ktere neumozni inicializovat z Dictionary.....
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 11:34:38
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 11:54:01
primo knihovna postavena na dataclasses https://github.com/lidatong/dataclasses-json/
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 12:24:35
nebo pydantic https://pydantic-docs.helpmanual.io/ , nahrada arttrs postavena na nativnich typovych anotacich.

asi nejlepsi deserializaci ma Django, ale to asi nechces
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 13:00:56
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu

Jak je mozne ze to dataclasses neresi? Ma to funkce:

asdict
astuple

Tak proc to nema funkce:

fromdict
fromtuple

To mi vysvetli. Externi knihovnu muzu mit dycky na vsechno, ale proc to neumi ty dataclasses? Co to je za debilismus. Kdyz si budu chtit serializovat dataclass do souboru, tak si to pak jako deserializuju jak? To i Java ma zabudovanou serializaci a deserializaci.

To je jedna vec. Druha vec je, ze kdyz uz jsi ten jednoduchy Pythonista, tak to cos mi dal je moc slozite. Tahle jednoducha libka je mnohem lepsi:

Kód: [Vybrat]
from dataclasses import dataclass, asdict
from dacite import from_dict


@dataclass
class Person:
    fname: str = None
    lname: str = None
    cock: float = None


p = Person('Josef', 'Maly', 5.5)
pd = asdict(p)
pnew = from_dict(Person, pd)

assert p == pnew
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 13:07:59
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu

Jak je mozne ze to dataclasses neresi? Ma to funkce:

protoze je urcena k necemu jinemu? Vubec neresi runtime validaci dat z venku. Fakt se na to vyser jestli tohle nechapes.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 13:13:14
Tahle jednoducha libka je mnohem lepsi:

ale neumi automaticke prejmenovani atributu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 13:13:47
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu

Jak je mozne ze to dataclasses neresi? Ma to funkce:

protoze je urcena k necemu jinemu? Vubec neresi runtime validaci dat z venku. Fakt se na to vyser jestli tohle nechapes.

Co to je za kravinu, jak neresi runtime validaci dat z venku - tak jsi jednoduchy Pythonista nebo nejsi? Tak proc to komplikujes jak nekde v Jave? Ma to "asdict" a nema to "fromdict".

Tak znova, mas v Pythonu instanci nejake tridy. Jak ji serializujes do human readable podoby a jak ji pak deserializujes. A bez externich knihoven bych prosil, kdyz tam mas ty baterky included. To jsem zvedavy, jak se ted ukazes.

A pripominam, ze prece jsi jednoduchy Pythonista, takze ne abys tento jednoduchy ukon delal moc slozite.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 13:29:49
PetrK - pouzij knihovnu podporujici nacitani a validaci jsonu, dataclasses tohle neresi

treba

https://github.com/genomoncology/related

podporuje automaticke prejmenovani atributu

Jak je mozne ze to dataclasses neresi? Ma to funkce:

protoze je urcena k necemu jinemu? Vubec neresi runtime validaci dat z venku. Fakt se na to vyser jestli tohle nechapes.

Co to je za kravinu, jak neresi runtime validaci dat z venku - tak jsi jednoduchy Pythonista nebo nejsi? Tak proc to komplikujes jak nekde v Jave? Ma to "asdict" a nema to "fromdict".

Tak znova, mas v Pythonu instanci nejake tridy. Jak ji serializujes do human readable podoby a jak ji pak deserializujes. A bez externich knihoven bych prosil, kdyz tam mas ty baterky included. To jsem zvedavy, jak se ted ukazes.

A pripominam, ze prece jsi jednoduchy Pythonista, takze ne abys tento jednoduchy ukon delal moc slozite.

dataclass z dictu vytvoris normalne
Kód: [Vybrat]
C(**d) # d je slovnik
ale bez validace

pouzij dataclass z pydantic.dataclasses kdyz potrebujes validaci
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 13:33:24

Co to je za kravinu, jak neresi runtime validaci dat z venku - tak jsi jednoduchy Pythonista nebo nejsi? Tak proc to komplikujes jak nekde v Jave? Ma to "asdict" a nema to "fromdict".

Tak znova, mas v Pythonu instanci nejake tridy. Jak ji serializujes do human readable podoby a jak ji pak deserializujes. A bez externich knihoven bych prosil, kdyz tam mas ty baterky included. To jsem zvedavy, jak se ted ukazes.

A pripominam, ze prece jsi jednoduchy Pythonista, takze ne abys tento jednoduchy ukon delal moc slozite.

dataclass z dictu vytvoris normalne
Kód: [Vybrat]
C(**d) # d je slovnik
ale bez validace

Mohl by jsi mi to prosim nazorne ukazat? Tady ti dam tyto tridy:

Kód: [Vybrat]
@dataclass
class B:
    b: str

@dataclass
class A:
   a: str
   b: B

d = {
  'a':'ahoj',
  'b': {
     'b': 'cau'
  }
}


Ukaz mi, jak do nich deserializujes dictionary. Bez externich knihoven.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 13:40:50

Co to je za kravinu, jak neresi runtime validaci dat z venku - tak jsi jednoduchy Pythonista nebo nejsi? Tak proc to komplikujes jak nekde v Jave? Ma to "asdict" a nema to "fromdict".

Tak znova, mas v Pythonu instanci nejake tridy. Jak ji serializujes do human readable podoby a jak ji pak deserializujes. A bez externich knihoven bych prosil, kdyz tam mas ty baterky included. To jsem zvedavy, jak se ted ukazes.

A pripominam, ze prece jsi jednoduchy Pythonista, takze ne abys tento jednoduchy ukon delal moc slozite.

dataclass z dictu vytvoris normalne
Kód: [Vybrat]
C(**d) # d je slovnik
ale bez validace

Mohl by jsi mi to prosim nazorne ukazat? Tady ti dam tyto tridy:

Kód: [Vybrat]
@dataclass
class B:
    b: str

@dataclass
class A:
   a: str
   b: B

d = {
  'a':'ahoj',
  'b': {
     'b': 'cau'
  }
}


Ukaz mi, jak do nich deserializujes dictionary.


Kód: [Vybrat]
from dataclasses import dataclass


@dataclass
class B:
    b: str

@dataclass
class A:
   a: str
   b: B

d = {
  'a':'ahoj',
  'b': {
     'b': 'cau'
  }
}

a = A(**d) # A(a='ahoj', b=B(b='cau'))
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 13:44:02
Kód: [Vybrat]
from pydantic.dataclasses import dataclass

Pydantic? To neni standardni knihovna... Tesil jsem se jak me zahambis, ze v jave delam veci slozite a na vsechno potrebuju externi knihovnu.

Ale dobre. Tak jeste jedna vec. Ted mi ukaz, jak ten samy ukon muzu udelat pro normalni Classu (nikoliv dataclass). Tipuju ze budes muset ze zalohy vytahnout dalsi, uplne jinaci Pythnovskou knihovnu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 13:44:59
Kód: [Vybrat]
from pydantic.dataclasses import dataclass

Pydantic? To neni standardni knihovna... Tesil jsem se jak me zahambis, ze v jave delam veci slozite a na vsechno potrebuju externi knihovnu.

nepotrebujes pydantic, kdyz nepotrebujes konverze/validace.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 13:47:28
Dam ti jednu radu. Ty nikdy ani naznakem nezkousej C#. Protoze bys pak videl, jaky je ten tvuj Python totalni shit. .NET C# je v soucasnosti jedina platforma na svete, ktera ma doopravdy "batteries included".

https://docs.microsoft.com/cs-cz/dotnet/standard/serialization/system-text-json-how-to
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 13:48:39
Ale dobre. Tak jeste jedna vec. Ted mi ukaz, jak ten samy ukon muzu udelat pro normalni Classu (nikoliv dataclass). Tipuju ze budes muset ze zalohy vytahnout dalsi, uplne jinaci Pythnovskou knihovnu.

zalezi na tom, jaky ma ta trida konstruktor. vzdy muzes priradit do __dict__, ale to asi nechces
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 13:49:59
Ale dobre. Tak jeste jedna vec. Ted mi ukaz, jak ten samy ukon muzu udelat pro normalni Classu (nikoliv dataclass). Tipuju ze budes muset ze zalohy vytahnout dalsi, uplne jinaci Pythnovskou knihovnu.

zalezi na tom, jaky ma ta trida konstruktor. vzdy muzes priradit do __dict__, ale to asi nechces

Nema zadny konstruktor. A do __dict__ ti to nebude fungovat s nested dictionaries.

Tomu ja rikam byt nucen delat veci X ruznymi zpusoby a kazdy z nich stoji za ho*. Ja v Jave mam ve standardni knihovne vcelku prd, ale kazdy poradnejsi Javista pouziva externi knihovnu Jackson, ktera umi naprosto vsechno, vc. validaci o jakych se tem Pythnovskym ani nesnilo - Jackson strci do kapsy vsechny.


Kód: [Vybrat]
ObjectMapper mapper = new ObjectMapper();
Staff obj = mapper.readValue("{'name' : 'mkyong'}", Staff.class);

Hotovo. Je to tak tezke? A ta knihovna umi vsechno co si zamanes, validace, custom ovlivnovani chovani atp.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 14:00:20
je pravda, ze pydantic by se mohl dostat do standardni knihovny. Bylo by dobre, kdyby existoval jeden doporuceny zpusob jak tohle delat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 15. 03. 2020, 14:00:48
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 :-)

Jo, presne tohle je ten javahnus pro masochisty, duvod proc ji nesnasim. A jinak, Python je pro programatory, proto ti nesedi, Java je pro uzivatele IDE, kteri jsou bez naseptavace ztraceni.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 15. 03. 2020, 14:03:08
Ale dobre. Tak jeste jedna vec. Ted mi ukaz, jak ten samy ukon muzu udelat pro normalni Classu (nikoliv dataclass). Tipuju ze budes muset ze zalohy vytahnout dalsi, uplne jinaci Pythnovskou knihovnu.

zalezi na tom, jaky ma ta trida konstruktor. vzdy muzes priradit do __dict__, ale to asi nechces

Nema zadny konstruktor. A do __dict__ ti to nebude fungovat s nested dictionaries.

Tomu ja rikam byt nucen delat veci X ruznymi zpusoby a kazdy z nich stoji za ho*. Ja v Jave mam ve standardni knihovne vcelku prd, ale kazdy poradnejsi Javista pouziva externi knihovnu Jackson, ktera umi naprosto vsechno, vc. validaci o jakych se tem Pythnovskym ani nesnilo - Jackson strci do kapsy vsechny.


Kód: [Vybrat]
ObjectMapper mapper = new ObjectMapper();
Staff obj = mapper.readValue("{'name' : 'mkyong'}", Staff.class);

Hotovo. Je to tak tezke? A ta knihovna umi vsechno co si zamanes, validace, custom ovlivnovani chovani atp.

tohle je ve standardni knihovne?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 14:04:52
tohle je ve standardni knihovne?

Ano, v C#. My v Jave nic takoveho ve standardni knihovne mit nepotrebujeme, protoze mame Maven  8) A navic si nehrajeme na batteries included. A to dost mozna ze mame vice batteries included nez Python.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 14:09:19
Jo, presne tohle je ten javahnus pro masochisty, duvod proc ji nesnasim. A jinak, Python je pro programatory, proto ti nesedi, Java je pro uzivatele IDE, kteri jsou bez naseptavace ztraceni.

Ja jsem spokojeny uzivatel skveleho ceskeho IDE IntelliJ Idea, ktere je mimochodem nejpouuzivanejsi v Jave na svete. A rad si za to IDE i platim, protoze rad zaplatim kvalitu. Do te doby, kdy budu vyrabet poradnejsi veci nez Pythonisti a mit za to vice penez, tak jsem s naseptavacem spokojen. A nejsem programator.
Název: Re:Python - pejsek a kocicka varili dort
Přispěvatel: qelurg 15. 03. 2020, 14:09:33
...hromada keců...

To je prosté, milý Watsone; když chceš používat dict, používej dict. Pokud Ti vadí, že nemůžeš mít jako název atributu klíčové slovo, jdi se pokorně vrátit k Javě a vesele si používej .equals() a další podobné geniální nápady návrhářů, kteří se domnívají, že nejsi dost chytrý na to, abys pochopil výhody a principy přetěžování operátorů.

Tohle je typicka odpoved jednoduchouckeho Pyjthonisty. Takze kdyz ti z nejakeho API, nad kterym ty nemas kontrolu, nekdo vrati Dictionary ktere obsahuje klicove slovo v Pythonu, tak ty potom udelas jako co? Ja vim co udelas, vemes izolacku, hrebiky a kladivko a vyrobis kupu hnoje aby ti to pak jakoze fungovalo.

Proc by nekdo do Swagger API psal:

fromDate: Date
toDate: Date

kdyz muze napsat jen:

from: Date
to: Date

A ty v Pyjthonu se z toho po...

Ty si opravdu nerikej programator.
Název: Re:Python - pejsek a kocicka varili dort
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 14:11:39
Ty si opravdu nerikej programator.

Ja si nerikam programator. Ja jsem softwarovy inzenyr a jen cast me prace zahrnuje programovani 8)
Název: Re:Python - pejsek a kocicka varili dort
Přispěvatel: qelurg 15. 03. 2020, 14:45:40
Ty si opravdu nerikej programator.
Ja si nerikam programator. Ja jsem softwarovy inzenyr a jen cast me prace zahrnuje programovani 8)
Pak je to v poradku a postaci, kdyz se nebudes vyjadrovat k vecem, kterym nerozumis.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 15. 03. 2020, 14:58:41
Jestli máte teď přestávku o poločase, tak bych rád věděl jak dopadl tento spor (https://forum.root.cz/index.php?topic=22582.msg326535#msg326535). Vysvětlil nějak PetrK proč chce, aby to u nevalidního kódu napovídalo?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 15. 03. 2020, 15:03:40
Jestli máte teď přestávku o poločase, tak bych rád věděl jak dopadl tento spor (https://forum.root.cz/index.php?topic=22582.msg326535#msg326535). Jak PetrK vysvětlil, že u nevalidního kódu chce, aby to napovídalo?

To ti reknu uplne jednoduse, nevysvetlil jsem to nijak, nebudu tady nekomu vysvetlovat, ze moje pseudocody co tady vepisuju fora samozrejme nejsou 100% funkcni. Jestli to nekdo nechape, tak to neni muj problem. Zkus si nekde vepsat:

Kód: [Vybrat]
ObjectMapper mapper = new ObjectMapper();
Staff obj = mapper.readValue("{'name' : 'mkyong'}", Staff.class);

A uvidis ze to taky nebude fungovat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 15. 03. 2020, 15:43:27
Jestli máte teď přestávku o poločase, tak bych rád věděl jak dopadl tento spor (https://forum.root.cz/index.php?topic=22582.msg326535#msg326535). Vysvětlil nějak PetrK proč chce, aby to u nevalidního kódu napovídalo?
Vysvětlil, není to programátor, ale softwarový inženýr.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: oksoftware 15. 03. 2020, 22:44:36
Já bych mimo již jmenované zmínil i Delphi. Je to vlastně jazyk postavený na Pascalu, ve kterém se snadno píše, kompilátor dobře kontroluje validitu kódu, kompilace je velmi rychlá, lze vytvářet jak konzolové aplikace, tak i nativní Win32/64 (u vyšších edicí i pro MacOS, iOS, Android). Grafické prostředí lze vytvářet vizuálně a celkově toto vývojové prostředí dnes nabízí ohromné možností a funkce, kterým jiné jazyky nemohou konkurovat (co tedy platí i obráceně, např. malý EXE v Delphi nevytvoříte).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 18. 03. 2020, 02:21:44
Delphi co si tak mapatuju je velice pdobne Jave. Akorat ze uz se v tom nedela, jen 7 nabidek prace pro celou CR.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 18. 03. 2020, 07:33:08
Delphi co si tak mapatuju je velice pdobne Jave.
V čem?

Akorat ze uz se v tom nedela, jen 7 nabidek prace pro celou CR.
Je v tom napsána spousta evidenčních systémů – účetnictví, sklady apod. Také třeba Total Commander. Nové projekty v tom vznikají asi jen v případě, kdy jde o tým pracující v Delphi a potřebují rychle něco nového, ale Delphi tu s námi budou ještě dlouho.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 18. 03. 2020, 13:30:45
Delphi co si tak mapatuju je velice pdobne Jave.
V čem?

Je to stejne paradigma jako ma Java a C#, rovnez to ma i bohatou knihovnu, byla to prvni vec kterou jsem se jeste na zakladni a stredni skole ucil. Kdyz to srovnam s Pythonem, Javascriptem, Ceckem, tak Delphi u me patri do stejne rodiny jako Java a C#. Pri prechodu Delphi -> C# na Vysoke jsem nepocitoval nejaky zavratny rozdil, oboji se pouzivalo vyborne.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 18. 03. 2020, 17:56:39
Delphi co si tak mapatuju je velice pdobne Jave. Akorat ze uz se v tom nedela, jen 7 nabidek prace pro celou CR.
Podobne jave? Preklad je do bajtoveho kodu a je k tomu potreba nejaky VM a funguje to na kdejake platforme? To je neco podobneho jave.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 18. 03. 2020, 21:02:13
Byw je docela srandovni, ze nejlepsi IDE pro Python, JetBrains PyCharm, je napsane v Jave  8) proc hosi pythnovsti nemaji napsane nejlepsi IDE v Pythonu nebo v Cecku? Jakto ze je to ta proklata komplikovana ukecana Java? Hosi, snazte se trochu, my Javisti to za vas nebudeme porad neco delat aby vam to fungovalo  8)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 08:07:47
Programátoři z JetBrains byli tak "nadšení" z Javy, že si navrhli vlastní jazyk s názvem Kotlin, který používá stejný ekosystém, ale postrádá velkou část špatných vlastností Javy. Neočekávám, že by to korporátní ovečky přimělo k přemýšlení, je to podnět pro ostatní.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 08:21:24
Programátoři z JetBrains byli tak "nadšení" z Javy, že si navrhli vlastní jazyk s názvem Kotlin, který používá stejný ekosystém, ale postrádá velkou část špatných vlastností Javy. Neočekávám, že by to korporátní ovečky přimělo k přemýšlení, je to podnět pro ostatní.
Které vlastnosti Javy Kotlin nemá? Podle mne Kotlin přidává spíš než že by ubíral.

Jinak lidé, kteří nejsou zaslepení, si všimnou, že do Javy se dostávají nové vlastnosti, a Kotlin je jednou z inspirací. Java na to jde chytře – nechá experimentální jazyky jako Kotlin, ať prozkoumávají nové možnosti a spálí se ve slepých uličkách. Java si počká, co se osvědčí a co ne, poučí se z chyb a pokud se nová vlastnost ukáže jako užitečná a životaschopná, implementuje ji.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 19. 03. 2020, 08:42:46
Přesně tak. Např. var, aktuální preview featury pro JDK14  instanceof s proměnnou a recordy (typované tuples).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ByCzech 19. 03. 2020, 09:15:47
Které vlastnosti Javy Kotlin nemá? Podle mne Kotlin přidává spíš než že by ubíral.

Třeba tady je to pěkně napsáno:

https://www.educba.com/java-vs-kotlin/
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 09:54:38
Které vlastnosti Javy Kotlin nemá? Podle mne Kotlin přidává spíš než že by ubíral.

Třeba tady je to pěkně napsáno:

https://www.educba.com/java-vs-kotlin/
Nikde tam nevidím vlastnosti, které Java má a Kotlin ne. Možná by se za něco, co Kotlin z Javy „odstranil“, dalo považovat to, že Kotlin nerozlišuje kontrolované a nekontrolované výjimky. Ale jinak Kotlin věci buď přidává nebo upravuje, nenapadá mne nic, co by odstranil.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 09:59:00
Programátoři z JetBrains byli tak "nadšení" z Javy, že si navrhli vlastní jazyk s názvem Kotlin, který používá stejný ekosystém, ale postrádá velkou část špatných vlastností Javy. Neočekávám, že by to korporátní ovečky přimělo k přemýšlení, je to podnět pro ostatní.
Které vlastnosti Javy Kotlin nemá? Podle mne Kotlin přidává spíš než že by ubíral.

Jinak lidé, kteří nejsou zaslepení, si všimnou, že do Javy se dostávají nové vlastnosti, a Kotlin je jednou z inspirací. Java na to jde chytře – nechá experimentální jazyky jako Kotlin, ať prozkoumávají nové možnosti a spálí se ve slepých uličkách. Java si počká, co se osvědčí a co ne, poučí se z chyb a pokud se nová vlastnost ukáže jako užitečná a životaschopná, implementuje ji.

Nemam potrebu slovickarit co je chybejici featura a co je nedobry navrh konkretni veci. Shodou okolnosti jsem vcera na Hacker news cetl komentare k nove Jave. Nemaji dobre vyresene null hodnoty, Optional je navrzeny blbe. Spatne je, ze nema Java rozumnou podporu pretezovani operatoru atd. atp. Klidne si s oveckami notuj, jak jsou vyvojari Javy mazani, ze cekaji 10 let nebo kolik, nez prosadi zakladni veci, ktere mainstream davno vstrebal, ja mam na to jine hodnoceni, tohle nema smysl diskutovat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 10:14:18
Nemam potrebu slovickarit co je chybejici featura a co je nedobry navrh konkretni veci. Shodou okolnosti jsem vcera na Hacker news cetl komentare k nove Jave. Nemaji dobre vyresene null hodnoty, Optional je navrzeny blbe. Spatne je, ze nema Java rozumnou podporu pretezovani operatoru atd. atp. Klidne si s oveckami notuj, jak jsou vyvojari Javy mazani, ze cekaji 10 let nebo kolik, nez prosadi zakladni veci, ktere mainstream davno vstrebal, ja mam na to jine hodnoceni, tohle nema smysl diskutovat.
Na vašem komentáři je krásně vidět efekt tunelového vidění. Vidíte jenom svůj uzounký průzor – a neuvědomujete si, že už za půl roku uvidíte něco jiného, a co dnes bylo úžasné, bude za půl roku pasé.

Ano, pro jazyk, který by vznikl v roce 2019 na zelené louce, je Optional navržené blbě. Ovšem Java nevznikla v roce 2019, její obrovskou sílou je rozsáhlý ekosystém. A Optional bude fungovat i s třídou z knihovny napsané pro Javu 1.0.

Ale nebudu vás přesvědčovat, vy máte jasno, diskutovat nechcete, kdo má jiný názor, je pro vás ovce. Holt jste uzavřený ve svém vlastním světě a bojíte se podívat ven. To je vaše věc.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 10:19:47
Nemam potrebu slovickarit co je chybejici featura a co je nedobry navrh konkretni veci. Shodou okolnosti jsem vcera na Hacker news cetl komentare k nove Jave. Nemaji dobre vyresene null hodnoty, Optional je navrzeny blbe. Spatne je, ze nema Java rozumnou podporu pretezovani operatoru atd. atp. Klidne si s oveckami notuj, jak jsou vyvojari Javy mazani, ze cekaji 10 let nebo kolik, nez prosadi zakladni veci, ktere mainstream davno vstrebal, ja mam na to jine hodnoceni, tohle nema smysl diskutovat.
Na vašem komentáři je krásně vidět efekt tunelového vidění. Vidíte jenom svůj uzounký průzor – a neuvědomujete si, že už za půl roku uvidíte něco jiného, a co dnes bylo úžasné, bude za půl roku pasé.

Ale nebudu vás přesvědčovat, vy máte jasno, diskutovat nechcete, kdo má jiný názor, je pro vás ovce. Holt jste uzavřený ve svém vlastním světě a bojíte se podívat ven. To je vaše věc.

Docela by me zajimalo, kde beres ten pocit, ze nekdo jiny ma omezeny pruzor a Ty ho nemas. Diskutovat muzu o vecnych otazkach, ale ne o tom, ci rozhodnuti je mazane a ci je hloupe - to je vec nazoru. Kazdy tady chape, ze rozhodovani lidi od Javy neni jednoduche. Napis neco noveho a necham si rozsirit obzor, zatim jsi to neudelal.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 11:15:09
Docela by me zajimalo, kde beres ten pocit, ze nekdo jiny ma omezeny pruzor a Ty ho nemas.
Každý má nějak omezený průzor, ale záleží na tom, jak moc. Já nemám potřebu označovat ostatní za ovečky jenom proto, že nepasují do mého vidění světa, nevyhýbám se diskusi. Neargumentuju tím, že jsem včera četl komentáře na Hacker news.

Napis neco noveho a necham si rozsirit obzor, zatim jsi to neudelal.
Ono to bylo tak, že vy jste vyslovil nějaké tvrzení o Kotlinu a Javě, já jsem se dotázal, z čeho to tvrzení vychází, a odpovědi jsem se zatím nedočkal. Takže zatím nemám, na co bych reagoval.

Navíc takhle to nefunguje. Že vy si necháte rozšířit obzory. Že se budete dívat svým tunelovým viděním, co je mimo vaše zorné pole neexistuje a co je v něm, to už znáte a není to nic nového. To, jestli se budete dozvídat nové věci, záleží jenom na vás, nikdo jiný vám to zařídit nemůže. A zařídíte to jedině tak, že se na věci budete dívat v souvislostech a nebudete apriori odsuzovat vše, co se vám zrovna nelíbí.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 11:28:03
Každý má nějak omezený průzor, ale záleží na tom, jak moc. Já nemám potřebu označovat ostatní za ovečky jenom proto, že nepasují do mého vidění světa, nevyhýbám se diskusi. Neargumentuju tím, že jsem včera četl komentáře na Hacker news.

Ja jsem nekoho oznacoval za ovecku PROTO, ze nepasuje do meho videni sveta? Ne, u me je ovce ten, kdo nekriticky prijima tvrzeni nejake autority, at je autoritou Steve Jobs, Linus Torvalds nebo Guido van Rossum.

Ono to bylo tak, že vy jste vyslovil nějaké tvrzení o Kotlinu a Javě, já jsem se dotázal, z čeho to tvrzení vychází, a odpovědi jsem se zatím nedočkal. Takže zatím nemám, na co bych reagoval.

Co presne bys chtel slyset? Pokud napriklad uz davno existuje koncept pretezovani operatoru a tvurci Javy se presto rozhodnou si vyresit aritmetiku jmennymi metodami pro kazdy ciselny typ krome par vyvolenych, je to u me spatny navrh a ne chybejici featura.

Navíc takhle to nefunguje. Že vy si necháte rozšířit obzory. Že se budete dívat svým tunelovým viděním, co je mimo vaše zorné pole neexistuje a co je v něm, to už znáte a není to nic nového. To, jestli se budete dozvídat nové věci, záleží jenom na vás, nikdo jiný vám to zařídit nemůže. A zařídíte to jedině tak, že se na věci budete dívat v souvislostech a nebudete apriori odsuzovat vše, co se vám zrovna nelíbí.

Na tyhle reci fakt nejsem zvedavy, priste si to prosim odpust.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 19. 03. 2020, 11:45:23
Ano, pro jazyk, který by vznikl v roce 2019 na zelené louce, je Optional navržené blbě. Ovšem Java nevznikla v roce 2019, její obrovskou sílou je rozsáhlý ekosystém. A Optional bude fungovat i s třídou z knihovny napsané pro Javu 1.0.

Takže to navrhneme špatně, ale aspoň že to pojede... A co to třeba neimplementovat radši vůbec než blbě?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 12:42:49
Ja jsem nekoho oznacoval za ovecku PROTO, ze nepasuje do meho videni sveta?
Ano, přesně tak. Neuváděl jste žádné důvody, jenom prostě když se vám něčí postoj nelíbí, označujete ho za ovci.

Ne, u me je ovce ten, kdo nekriticky prijima tvrzeni nejake autority, at je autoritou Steve Jobs, Linus Torvalds nebo Guido van Rossum.
Nikdo takový tu ovšem není.

Co presne bys chtel slyset? Pokud napriklad uz davno existuje koncept pretezovani operatoru a tvurci Javy se presto rozhodnou si vyresit aritmetiku jmennymi metodami pro kazdy ciselny typ krome par vyvolenych, je to u me spatny navrh a ne chybejici featura.
Chtěl bych slyšet nějaké odůvodnění pro vaše tvrzení. Ne další a další tvrzení, ale aspoň jedno tvrzení odůvodnit. Jinak to totiž vypadá, že jen nekriticky přijímáte tvrzení nějakých autorit.

Napsal jste, že Kotlin postrádá velkou část špatných vlastností Javy. Nechtěl jsem po vás nic jiného, než abyste napsal dvě tři špatné vlastnosti Javy, které Kotlin nemá.

Že je přetěžování operátorů dobrý vynález je váš názor, já vám ho neberu. Ale není to nic objektivního, stejně tak existují dobré důvody proti přetěžování operátorů. Tvůrci jazyka si musí vybrat jeden směr a toho se držet – nemůžete mít jazyk, kde bude možné si vybrat, jestli operátory půjde nebo nepůjde přetěžovat.

Na tyhle reci fakt nejsem zvedavy, priste si to prosim odpust.
Tak vy si odpusťte ty kecy o ovečkách, „nadšení“ a chybách, které spočívají jenom v tom, že si někdo dovolil mít jiný názor, než vy.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 12:49:13
Takže to navrhneme špatně, ale aspoň že to pojede... A co to třeba neimplementovat radši vůbec než blbě?
Jenže ono to není navržené špatně. Je to navržené nejlépe, jak bylo v dané situaci možná, nebo se to k tomu ideálu dost blíží. A to je rozhodně lepší, než nic. Ono vytvářet každý půl rok nový jazyk bez zátěže minulosti je sice hezké, ale v praxi se tyto jazyky jaksi neuchytí.

Mimochodem, Optional nijak nebrání Javě někdy v budoucnosti implementovat opravdové non-null typy, pokud bude jasné, jak to udělat co nejlépe. Takže je to přesně tak, jak chcete – než udělat špatně non-null typy v jazyce, to raději v základní knihovně poskytneme Optional, který spoustu případů řeší. Tím si nezablokujeme možnost udělat to v budoucnu lépe přímo v jazyce.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 12:51:29
Tak vy si odpusťte ty kecy o ovečkách, „nadšení“ a chybách, které spočívají jenom v tom, že si někdo dovolil mít jiný názor, než vy.

Je to jako mluvit do dubu. Oveckou jsem tu jmenovite oznacil koho? No nikoho. Ze napisu, ze je neco chyba, je samozrejme vyjadreni meho nazoru, pisu ho tu stejne jako Ty. Obhajujes neobhajitelne.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 19. 03. 2020, 13:01:16
Ono vytvářet každý půl rok nový jazyk bez zátěže minulosti je sice hezké, ale v praxi se tyto jazyky jaksi neuchytí.

A komu to vadí? Nový projekt nadšenci vytvoří v aktuálně největším hype jazyce/frameworku, který zrovna "frčí". Přece se nebudou prasit s takovou vykopávkou, jako je typová kontrola a kompilátor. Co na tom, že za pár let bude muset investor takového "moderního řešení" draze zaplatit přepis do něčeho dlouhodobě udržitelného a spravovatelného. Peníze shrábli, tak nazdar a jdou "radit" zase někomu dalšímu, méně znalému, kdo jim v dobré víře v jejich zkušenosti a profesionalitu zase dá volnou ruku.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 13:03:42
Ono vytvářet každý půl rok nový jazyk bez zátěže minulosti je sice hezké, ale v praxi se tyto jazyky jaksi neuchytí.

A komu to vadí? Nový projekt nadšenci vytvoří v aktuálně největším hype jazyce/frameworku, který zrovna "frčí". Přece se nebudou prasit s takovou vykopávkou, jako je typová kontrola a kompilátor. Co na tom, že za pár let bude muset investor takového "moderního řešení" draze zaplatit přepis do něčeho dlouhodobě udržitelného a spravovatelného. Peníze shrábli, tak nazdar a jdou "radit" zase někomu dalšímu, méně znalému, kdo jim v dobré víře v jejich zkušenosti a profesionalitu zase dá volnou ruku.

To je ponekud falesne dilema. Nektere nove jazyky jsou kompilovane (dokonce do nativniho kodu), maji staticky typovy system a ten jim dokonce pomaha zabranovat problemum, ktere Java resit jednoduse neumi (prave ty nully apod.).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 13:27:36
Je to jako mluvit do dubu. Oveckou jsem tu jmenovite oznacil koho? No nikoho. Ze napisu, ze je neco chyba, je samozrejme vyjadreni meho nazoru, pisu ho tu stejne jako Ty. Obhajujes neobhajitelne.
Jasně, takže vaše vyjádření zde adresovaná ovečkám píšete proto, že si myslíte, že tu v diskusi žádné ovečky nejsou.

Navíc to nic nemění na tom, že jste pro takové označení neuvedl žádný důvod – jediné, co se dalo z vašeho textu pochopit, že tak označujete ty, kteří mají jiný názor.

Ze napisu, ze je neco chyba, je samozrejme vyjadreni meho nazoru, pisu ho tu stejne jako Ty.
Jenže vy jednu takovou věc, která je podle vašeho názoru chybou, používáte jako argument pro to, že je špatně celý jazyk, a kdo by byl jiného názoru, toho označíte za ovečku. Mně je to jedno, jenom jsem vám vysvětloval, proč je váš pohled na svět omezený.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 13:35:26
Ze napisu, ze je neco chyba, je samozrejme vyjadreni meho nazoru, pisu ho tu stejne jako Ty.
Jenže vy jednu takovou věc, která je podle vašeho názoru chybou, používáte jako argument pro to, že je špatně celý jazyk, a kdo by byl jiného názoru, toho označíte za ovečku. Mně je to jedno, jenom jsem vám vysvětloval, proč je váš pohled na svět omezený.

Tohle uz zavani nejakou kognitivni poruchou, fakt si to po sobe precti. V mem svete nejsou zadne dobre a spatne jazyky (kdyz pominu vystrelky typu Whitespace, ale ty nikdo nemyslel vazne - bavme se o mainstreamu). Jelikoz se Java pouziva takto siroce, tak na ni asi nebude VSECHNO SPATNE a ani jsem nikdy nepsal, ze je "cela spatne" - pokud ano, tak ukaz odkaz. Zbytek nekomentuju, to fakt nema smysl.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: martyd420 19. 03. 2020, 13:51:36
A co třeba Flash? Ten je snadný, efektivní a multiplatformní...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 19. 03. 2020, 13:52:52
Tohle uz zavani nejakou kognitivni poruchou, fakt si to po sobe precti. V mem svete nejsou zadne dobre a spatne jazyky (kdyz pominu vystrelky typu Whitespace, ale ty nikdo nemyslel vazne - bavme se o mainstreamu). Jelikoz se Java pouziva takto siroce, tak na ni asi nebude VSECHNO SPATNE a ani jsem nikdy nepsal, ze je "cela spatne" - pokud ano, tak ukaz odkaz. Zbytek nekomentuju, to fakt nema smysl.
Já jsem ale nikde nepsal, že vy tvrdíte, že je na Javě všechno špatně. Mne jenom zajímalo, zda lidi označujete za ovečky opravdu jenom proto, že používají jazyk, který nemá přetěžování operátorů. Myslel jsem, že se třeba dozvím něco zajímavého, že se na věc třeba umíte podívat v širších souvislostech a vaše kritika bude podnětná. Teď už víme, že to tak není, že už jste své argumenty vyčerpal. Takže myslím, že už není důvod v této diskusi pokračovat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 19. 03. 2020, 14:04:28
Citace: Ink

To je ponekud falesne dilema. Nektere nove jazyky jsou kompilovane (dokonce do nativniho kodu), maji staticky typovy system a ten jim dokonce pomaha zabranovat problemum, ktere Java resit jednoduse neumi (prave ty nully apod.).
Jaké nové jazyky ? Python, Ruby,  Java jsou z devadesatek. Go, Erlang, Kotlin, Rust asi rok 2010.
Nully v Javě jsou nešťastnost, ale že by to byl neřešitelný problém si nemyslím.
Ale hlavně se tu opět bavíte o úplných blbostech - statickej vs dynamickej systém ? Ukecanej jazyk versus neukecanej ? Koho to zajímá ? Jakmile mám k dispozici něco tak dospělého jako Python nebo Java a jsem schopen to efektivně používat pak není žádnej problém. Je to jen mindsetu, ten bude pro každý jazyk jiný, ale prasit nebo psát dobrej kód se dá v obojím.
Fakt si nevzpominám kdy jsem opravdu řešil vlastnost jazyka jako blocker.
 
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 14:32:42
Citace: Ink

To je ponekud falesne dilema. Nektere nove jazyky jsou kompilovane (dokonce do nativniho kodu), maji staticky typovy system a ten jim dokonce pomaha zabranovat problemum, ktere Java resit jednoduse neumi (prave ty nully apod.).
Jaké nové jazyky ? Python, Ruby,  Java jsou z devadesatek. Go, Erlang, Kotlin, Rust asi rok 2010.
Nully v Javě jsou nešťastnost, ale že by to byl neřešitelný problém si nemyslím.
Ale hlavně se tu opět bavíte o úplných blbostech - statickej vs dynamickej systém ? Ukecanej jazyk versus neukecanej ? Koho to zajímá ? Jakmile mám k dispozici něco tak dospělého jako Python nebo Java a jsem schopen to efektivně používat pak není žádnej problém. Je to jen mindsetu, ten bude pro každý jazyk jiný, ale prasit nebo psát dobrej kód se dá v obojím.
Fakt si nevzpominám kdy jsem opravdu řešil vlastnost jazyka jako blocker.

Clovek je asi preto clovek, ze si vie zvyknut na cokolvek.

Ja bych rozhodne nechtel programovat v C nebo Perlu a je mi celkem jedno, ze to jde. Javu, C# nebo moderni C++ bych zkousnul. Ovsem jestli psat ukecany nebo neukecany kod? Idealne zadny a kdyz uz nejaky, tak rozumne strukturovany - a ano, i v C to jde...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 19. 03. 2020, 18:35:36
Citace: Ink

To je ponekud falesne dilema. Nektere nove jazyky jsou kompilovane (dokonce do nativniho kodu), maji staticky typovy system a ten jim dokonce pomaha zabranovat problemum, ktere Java resit jednoduse neumi (prave ty nully apod.).
Jaké nové jazyky ? Python, Ruby,  Java jsou z devadesatek. Go, Erlang, Kotlin, Rust asi rok 2010.
Nully v Javě jsou nešťastnost, ale že by to byl neřešitelný problém si nemyslím.
Ale hlavně se tu opět bavíte o úplných blbostech - statickej vs dynamickej systém ? Ukecanej jazyk versus neukecanej ? Koho to zajímá ? Jakmile mám k dispozici něco tak dospělého jako Python nebo Java a jsem schopen to efektivně používat pak není žádnej problém. Je to jen mindsetu, ten bude pro každý jazyk jiný, ale prasit nebo psát dobrej kód se dá v obojím.
Fakt si nevzpominám kdy jsem opravdu řešil vlastnost jazyka jako blocker.

Clovek je asi preto clovek, ze si vie zvyknut na cokolvek.

Ja bych rozhodne nechtel programovat v C nebo Perlu a je mi celkem jedno, ze to jde. Javu, C# nebo moderni C++ bych zkousnul. Ovsem jestli psat ukecany nebo neukecany kod? Idealne zadny a kdyz uz nejaky, tak rozumne strukturovany - a ano, i v C to jde...

Mě onehdá dost zaujalo, jak stručný může být tak silný jazyk jako je Haskell. Začal jsem se na jazyky i na programování v nich dívat dost jinak.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 19. 03. 2020, 20:11:20
Mě onehdá dost zaujalo, jak stručný může být tak silný jazyk jako je Haskell. Začal jsem se na jazyky i na programování v nich dívat dost jinak.

Setkani s FP (a asi i logickym programovanim - ja jsem zazil jenom jednu vetsi ulohu na skole v Prologu, takze tezko srovnavat) obecne meni pohled na programovani. Najednou jako kdyby clovek videl problem zevnitr a ne zvenku a i v imperativnim kodu jako kdyby videl podobne vzorce (ktere mu predtim unikaly). Domnivam se, ze to souvisi i s typem osobnosti, jsou lide, kteri k tomuto sklony nemaji a s temi se nekdy spatne jedna o zmenach kodu, kdyz vidis, ze jim to sice funguje, ale skrabou se pritom pravou nohou za levym uchem se vsemi dusledky pro budouci udrzovatelnost kodu.

Nicmene veci z FP pomaloucku pronikaji do mainstreamu - iteratory, pattern matching, algebraicke typy, destrukturalizace, akcent na vyrazy namisto prikazu...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 19. 03. 2020, 23:35:37
Jestli máte teď přestávku o poločase, tak bych rád věděl jak dopadl tento spor (https://forum.root.cz/index.php?topic=22582.msg326535#msg326535). Jak PetrK vysvětlil, že u nevalidního kódu chce, aby to napovídalo?
To ti reknu uplne jednoduse, nevysvetlil jsem to nijak, nebudu tady nekomu vysvetlovat, ze moje pseudocody co tady vepisuju fora samozrejme nejsou 100% funkcni. Jestli to nekdo nechape, tak to neni muj problem. Zkus si nekde vepsat:
Kód: [Vybrat]
ObjectMapper mapper = new ObjectMapper();
Staff obj = mapper.readValue("{'name' : 'mkyong'}", Staff.class);
A uvidis ze to taky nebude fungovat.
Já boto3 nepoužívám, ale jestli tomu rozumím správně tak k auto-completion kódu je potřeba knihovna botostubs (https://www.awsadvent.com/2018/12/21/code-assistance-for-boto3-always-up-to-date-and-in-any-ide/). Boto3 je rozhraní AWS a je psáno dynamicky, protože se tak rozhodli vývojáři AWS zřejmě kvůli jednoduší aktualizaci API, což celkem chápu jestli je 12 releases boto3 za 15 dnů (jak uvádí článek) a rozhodně se nejedná o problém Pythonu.

Bez ironie a sarkasmu, s cílem se něco nového dozvědět, se tedy ptám:
1) Tobě se funkce "publish()" nezobrazuje ani s knihovnou botostubs?
2) Mám dojem, že tvoje útoky proti Pythonu spočívají především v tom, že není tak uniformní jako Java, ale není tahle neuniformnost (variabilita) Pythonu důvod proč Python porazil Javu na poli Machine Learningu?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ByCzech 20. 03. 2020, 00:01:49
Jestli máte teď přestávku o poločase, tak bych rád věděl jak dopadl tento spor (https://forum.root.cz/index.php?topic=22582.msg326535#msg326535). Jak PetrK vysvětlil, že u nevalidního kódu chce, aby to napovídalo?
To ti reknu uplne jednoduse, nevysvetlil jsem to nijak, nebudu tady nekomu vysvetlovat, ze moje pseudocody co tady vepisuju fora samozrejme nejsou 100% funkcni. Jestli to nekdo nechape, tak to neni muj problem. Zkus si nekde vepsat:
Kód: [Vybrat]
ObjectMapper mapper = new ObjectMapper();
Staff obj = mapper.readValue("{'name' : 'mkyong'}", Staff.class);
A uvidis ze to taky nebude fungovat.
Já boto3 nepoužívám, ale jestli tomu rozumím správně tak k auto-completion kódu je potřeba knihovna botostubs (https://www.awsadvent.com/2018/12/21/code-assistance-for-boto3-always-up-to-date-and-in-any-ide/). Boto3 je rozhraní AWS a je psáno dynamicky, protože se tak rozhodli vývojáři AWS zřejmě kvůli jednoduší aktualizaci API, což celkem chápu jestli je 12 releases boto3 za 15 dnů (jak uvádí článek) a rozhodně se nejedná o problém Pythonu.

Bez ironie a sarkasmu, s cílem se něco nového dozvědět, se tedy ptám:
1) Tobě se funkce "publish()" nezobrazuje ani s knihovnou botostubs?
2) Mám dojem, že tvoje útoky proti Pythonu spočívají především v tom, že není tak uniformní jako Java, ale není tahle neuniformnost (variabilita) Pythonu důvod proč Python porazil Javu na poli Machine Learningu?

Myslím, že jsi to chytil přesně. Z otázek můžeš udělat tvrzení. Nejsi sám, kdo to tak vidí.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 20. 03. 2020, 22:52:42
Tohle uz zavani nejakou kognitivni poruchou, fakt si to po sobe precti. V mem svete nejsou zadne dobre a spatne jazyky (kdyz pominu vystrelky typu Whitespace, ale ty nikdo nemyslel vazne - bavme se o mainstreamu). Jelikoz se Java pouziva takto siroce, tak na ni asi nebude VSECHNO SPATNE a ani jsem nikdy nepsal, ze je "cela spatne" - pokud ano, tak ukaz odkaz. Zbytek nekomentuju, to fakt nema smysl.
Já jsem ale nikde nepsal, že vy tvrdíte, že je na Javě všechno špatně. Mne jenom zajímalo, zda lidi označujete za ovečky opravdu jenom proto, že používají jazyk, který nemá přetěžování operátorů. Myslel jsem, že se třeba dozvím něco zajímavého, že se na věc třeba umíte podívat v širších souvislostech a vaše kritika bude podnětná. Teď už víme, že to tak není, že už jste své argumenty vyčerpal. Takže myslím, že už není důvod v této diskusi pokračovat.

Kdyz reknu "Java" a nekdo okamzite stoci diskuzi k Jave jakozto programovacimu jazyku, tak si o dotycnem okamzite udelam jisty obrazek, ze totiz se jedna budto jeste o male dite, nebo o takoveho toho dlubace a fidlace co masti ve vsem mozne :D A taky si vzpomenu na projev Billa Gatese u soudu, jeste nez vyrobil C#, kdyz porad rikal, co vlastne maji zalobci porad tou Javou na mysli, jestli mysli platformu, nebo programovaci jazyk :D Protoze kdyz Javista rekne Java, tak samozrejme mysli celou platformu, ve ktere pravdepodobne teda pouziva i javu jako jazyk  8) jenze vecny dlubac a fidlac nemuze ani vedet, co to znamena pouzivat nejakou poradne udelanou plaformu, protoze zadnou poradnou ani nema a nezna. Bude mixovat vsechno mozne dohromady a delat patchwork, protoze to, co pouziva, je sloubocke jako cajicek  8)

Hosi jednou provzdy uz, na Javu a jeji klon od Microsoftu, ktery vznikl potom co Gatesovi zakazali Javu pouzivat, tedy .NET C#, nic na svete nema. Vsechno ostatni jsou jenom takove fidlatka. .NET a C# je takovy komfortnejsi, ale Java zase nuti vyvojare vice premyslet a vice chapat + je (doopravdy) nezavisla na platforme. A nez mi tu mistni Pyjtonisti budou rikat, ze Java GUI bezi vsude na hovno, tak at si vzpomenou, v cem je napsany PyCharm, je psan ve Swingu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: technomaniak 21. 03. 2020, 05:40:48
Je fascinující jak tu vždycky NONAME nicky rozjednou flamewar o programovacích jazycích a ti lidé se zase vypaří. To vás stále baví na to reagovat když víte kam to zase povede? To se jako vážně nedokážete poučit z jednoho příkladu a dokola opakujete tu stejnou blbost ?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 21. 03. 2020, 06:38:54
Je fascinující jak tu vždycky NONAME nicky rozjednou flamewar o programovacích jazycích a ti lidé se zase vypaří. To vás stále baví na to reagovat když víte kam to zase povede? To se jako vážně nedokážete poučit z jednoho příkladu a dokola opakujete tu stejnou blbost ?

Dobre je neustale ukazovat mladsim generacim, co z lidi dela korporatni prostredi - viz prispevek tesne nad Tebou.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 08:10:17
Je fascinující jak tu vždycky NONAME nicky rozjednou flamewar o programovacích jazycích a ti lidé se zase vypaří. To vás stále baví na to reagovat když víte kam to zase povede? To se jako vážně nedokážete poučit z jednoho příkladu a dokola opakujete tu stejnou blbost ?

Dobre je neustale ukazovat mladsim generacim, co z lidi dela korporatni prostredi - viz prispevek tesne nad Tebou.

Frustraty potkas vsude. Na korporat bych to nesvadel...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: xyz 21. 03. 2020, 09:43:50
Tohle uz zavani nejakou kognitivni poruchou, fakt si to po sobe precti. V mem svete nejsou zadne dobre a spatne jazyky (kdyz pominu vystrelky typu Whitespace, ale ty nikdo nemyslel vazne - bavme se o mainstreamu). Jelikoz se Java pouziva takto siroce, tak na ni asi nebude VSECHNO SPATNE a ani jsem nikdy nepsal, ze je "cela spatne" - pokud ano, tak ukaz odkaz. Zbytek nekomentuju, to fakt nema smysl.
Já jsem ale nikde nepsal, že vy tvrdíte, že je na Javě všechno špatně. Mne jenom zajímalo, zda lidi označujete za ovečky opravdu jenom proto, že používají jazyk, který nemá přetěžování operátorů. Myslel jsem, že se třeba dozvím něco zajímavého, že se na věc třeba umíte podívat v širších souvislostech a vaše kritika bude podnětná. Teď už víme, že to tak není, že už jste své argumenty vyčerpal. Takže myslím, že už není důvod v této diskusi pokračovat.

Kdyz reknu "Java" a nekdo okamzite stoci diskuzi k Jave jakozto programovacimu jazyku, tak si o dotycnem okamzite udelam jisty obrazek, ze totiz se jedna budto jeste o male dite, nebo o takoveho toho dlubace a fidlace co masti ve vsem mozne :D A taky si vzpomenu na projev Billa Gatese u soudu, jeste nez vyrobil C#, kdyz porad rikal, co vlastne maji zalobci porad tou Javou na mysli, jestli mysli platformu, nebo programovaci jazyk :D Protoze kdyz Javista rekne Java, tak samozrejme mysli celou platformu, ve ktere pravdepodobne teda pouziva i javu jako jazyk  8) jenze vecny dlubac a fidlac nemuze ani vedet, co to znamena pouzivat nejakou poradne udelanou plaformu, protoze zadnou poradnou ani nema a nezna. Bude mixovat vsechno mozne dohromady a delat patchwork, protoze to, co pouziva, je sloubocke jako cajicek  8)

Hosi jednou provzdy uz, na Javu a jeji klon od Microsoftu, ktery vznikl potom co Gatesovi zakazali Javu pouzivat, tedy .NET C#, nic na svete nema. Vsechno ostatni jsou jenom takove fidlatka. .NET a C# je takovy komfortnejsi, ale Java zase nuti vyvojare vice premyslet a vice chapat + je (doopravdy) nezavisla na platforme. A nez mi tu mistni Pyjtonisti budou rikat, ze Java GUI bezi vsude na hovno, tak at si vzpomenou, v cem je napsany PyCharm, je psan ve Swingu.

Tak urcite. Dnesni Java (a Spring + dalsich milion frameworku, kterych vznika a zanika 10 denne)  je tak dokonala, ze se ty informacni systemy v tom napsane musi kazdych pet let prepisovat, protoze se v tom kodu nikdo nevyzna.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 21. 03. 2020, 12:38:23
Me by docela zajimalo, na ktere vysoke skole na oboru Informacni technologie se studenti uci Javascript a nebo Python jako hlavni semestralni predmet. Co tak vidim, tak je to budto Java nebo C#. V predmetech, jako je Image processing, je oblibeny Python a C++, ale ty jazyky se vylozene neuci, jsou jen podpurny nastroj v ramci predmetu.

Treba takove CVUT pokud vim vyucuje jako hlavni jayk Javu.

Takove ty skriptovaci naplavy se spise hrnou od lidi, kteri VS ani nemaji. Proste si tak v necem programovali webovky jako hobby, a pak se tim tak nejak sli zivit, a potom se prou na Root.cz ze to jejich je nejlepsi. Bohuzel se obcas dostanou i do normalnich firem, kdyz chce nejaky manager nebo zakaznik "usetrit".

1. ondrama
2. listoper
3. Ink
4. technomaniak
5. ByCzech
6. LarryLin

Docela by me zajimalo, kde z vyse uvedenych jsou inzenyri v oboru Informacni technologie a timto se i zivi.

Ja jsem potkal uz hodne vyvojaru, ale doposud ani jednoho jedineho, ktery by nebyl softwarovy inzenyr a za neco by stal - ikdyz se dotycny treba bil do hrudi, ze je strasnej borec a zadnou vs nepotreboval. To, ze v vyvojar VS nepotrebuje, muze dokolecka rikat tak leda pipina z HR nebo manager ktery se snazi prodat co nejvice hlav zakaznikovi a o kvalitu vysledku mu az tak nejde, jinak je to totalni bullshit.

Za me, kvalita vyvoje softwary by sla okamzite strme nahoru, kdyby se vyrazili na dlazbu vsichni, kdo nejsou softwarovi inzenyri. Bohuzel stat toto nereguluje, protoze kdyz spadne nekomu software na hlavu, tak to obvykle neni takova hruza, jako kdyz mu spadne barak na hlavu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 21. 03. 2020, 13:34:37
A nez mi tu mistni Pyjtonisti budou rikat, ze Java GUI bezi vsude na hovno, tak at si vzpomenou, v cem je napsany PyCharm, je psan ve Swingu.
A má takový argument nějakou hodnotu? Kdyby tvůj oblíbený Java IDE byl napsán v C, tak to také není argument, abys přestal psát v Javě a začal vše psát v Céčku.

PyCharm je podle mě psán v Javě (Swingu), protože hlavní produkt Jetbrains IntelliJ byl v Javě pro Javu a když začali tvořit Pycharm, tak vzali IntelliJ a jen ho trochu upravili. Nedávalo by smysl ho celý přepisovat do jiného jazyka. To platí i pro PHPStorm (také je v Javě).

Pro úplnost:
"Basically it is Java, some Groovy, and progressively more of the code is written in Kotlin.There are subsystems written in Python."
Zdroj: https://www.jetbrains.com/careers/jobs/java-developer-23/
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 21. 03. 2020, 13:37:22
Programátoři z JetBrains byli tak "nadšení" z Javy, že si navrhli vlastní jazyk s názvem Kotlin, který používá stejný ekosystém, ale postrádá velkou část špatných vlastností Javy. Neočekávám, že by to korporátní ovečky přimělo k přemýšlení, je to podnět pro ostatní.
Které vlastnosti Javy Kotlin nemá? Podle mne Kotlin přidává spíš než že by ubíral.
Úplně náhodu jsem narazil na srovnání Java vs. Kotlin (https://hackr.io/blog/kotlin-vs-java). Dole v tabulce je celkem hodně "Unavailable" na obou stranách.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 13:38:53
Nejsem softwarovy inzenyr. 8 let me zivilo programovani prevazne v jave prevazne v korporatu prevazne pro banky.
Za tu dobu sem potkal spoustu kolegu ruznych kvalit. O vetsine z nich nevim jestli a co studovali, protoze sme se o tom nabavili.
O nekterych to vim. A u tech sem neobjevil korelaci mezi tim co vystudovali a jestli jsou nebo nejsou nemehla.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 21. 03. 2020, 13:41:03
6. LarryLin
Díky, že jsi mne zahrnul do tabulky, to si snad ani nezasloužím :) . Už pro mne máš nějakou odpověď (https://forum.root.cz/index.php?topic=22582.msg326918#msg326918) nebo na mě kašleš?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 21. 03. 2020, 13:56:42
Nejsem softwarovy inzenyr. 8 let me zivilo programovani prevazne v jave prevazne v korporatu prevazne pro banky.
Za tu dobu sem potkal spoustu kolegu ruznych kvalit. O vetsine z nich nevim jestli a co studovali, protoze sme se o tom nabavili.
O nekterych to vim. A u tech sem neobjevil korelaci mezi tim co vystudovali a jestli jsou nebo nejsou nemehla.

 :D :D :D tak ty jsi jasny, nejsi softwarovy inzenyr a cirou nahodou delas v korporatu a jeste navic na tech nejvetsich sitech pro banky... ty jsi typicky clovek bez vs prodany v korporatu na poklesly projekt pro banku a budes mi tu neco rikat o Jave.  Uvedom si, ze takovy clovek jako ty NIKDY PEKNY PROJEKT v Jave mit nebude. Jo, takze bez radeji delat Python. Java je pro softwarove inzenyry.

Snad sis nemyslel, ze bez VS te za prachy pro soft inzenyry strci v korporatu na nejaky fakt dobry Java projekt mezi inteligentni vystudovane lidi? Takovi lidi vymetaji zumpicky. Neco za neco. Effective market theory.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 21. 03. 2020, 14:09:15
A jeste jednu vec co se tyce javy a korporatu si uvedomte, ze totiz Zapad si tady chodi hledat podpurne pracovniky, cvicene vopice, od kterych ocekavaji ze se jim postaraji o zprznene projekty. Protoze korporat si z na vas veme 60% marzi. Vy sice dostanete 80k superhrubeho, ale korporat vas prodava minimalne za 200k. Zakaznik si za to muze koupit normalniho sikovneho juniora/mediora ve sve vlastni zemi, jenze ten by nechtel delat ty jejich shity ktere tam nabastlili. Takze ten projekt musi hodit na vychod. Tady se toho ochotne ujme korporat, a najme tam nato nevystudovane nekvalifikovane pracovniky, kteri bydou ochotni se v tech srajdach hrabat. A pak tady na Internetu lidi jako Listoper (a ja, protoze jsem taky delal jednou pro banku, ale zdrhnul jsem hned) nadavaji na Javu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ByCzech 21. 03. 2020, 14:38:57
Vy tady pořád krmíte toho trolla, co má zjevně komplex nadřazenosti? ;D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 14:39:31
 :) hmm nunu. Nenapsal sem, ze sem bez VS. Jen ze nejsem softwarovy inzenyr. A taky jsem psal, ze me to driv zivilo, ne ze to delam ted :-)

Na jakym peknym projektu v jave a v jake domene delas ty?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 21. 03. 2020, 14:53:16
SHRNUTI
*************
Na Zapade udelaji v Enterprise projekt v Jave, protoze Java je the best

-> neschopni manageri ten projekt zprzni

-> nikdo na nem nechce delat a ti co chteji, tak za moc penez

-> manageri hodi ten projekt do korporatu na Vychod

-> naberou se na to neinzenyri jako je Listoper, kteri uvidi, ze si vydelaji vic penez nez jako vystudovani strojari nebo antropologove

-> protoze programatori maji prece hodne penez, tak oni teda pujdou delat taky programatory, vzdyt prece je to tak snadne

-> tito pak ziskaji dojem, ze vse, co je v korporatu a v Jave, je sra cka

-> protoze softwaru nerozumi a jejich kolegove z zumpy tez ne, tak z toho vyvodi, ze to musi byt Javou a ze Java je sra cka

-> mysli si o sobe, ze jsou solidni vyvojari, protoze delali v zumpe, kde neni nikdo o moc lepsi nez oni

-> mysli si, ze vlastne VS neni treba, ze jim to k nicemu neni, ze jsou stejne dobri i bez VS

-> jdou delat Python (ktery je vhodny pro lidi ze zvlastni skoly) a na Root.cz nadavaji na korporaty, na Javu, a prohlasuji, ze VS je k nicemu
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 15:24:21
Krasne shrnuti...
Zajimalo by me jak manager muze zprznit softwarovy projekt?

A pak by me zajimalo jaka je ta tvoje success story.... tedy jak zijou ty super java projekty....

Nebo se vsechny zprzni a musi se presunout na vychod?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 21. 03. 2020, 15:40:55
Me by docela zajimalo, na ktere vysoke skole na oboru Informacni technologie se studenti uci Javascript a nebo Python jako hlavni semestralni predmet.

V prváku na FI se učí Python (jeden předmět) a Haskell (druhý předmět).

Treba takove CVUT pokud vim vyucuje jako hlavni jayk Javu.

Já žil v domění, že škola má učit programovat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 21. 03. 2020, 15:44:30
@PetrK

Hmm, nedalo mi to a zkusil jsem mrknout na Softwarové inženýry - https://www.glassdoor.com/Job/software-engineering-platform-engineer-jobs-SRCH_KO0,38.htm . Výcuc požadavků z prvních 16 nabídek (bral jsem je jak byly po sobě):

Senior Software Engineer, Platform - Database Engineer (https://www.glassdoor.com/partner/jobListing.htm?pos=102&ao=862251&s=149&guid=00000170fd45ddb4a76e3b44317d5652&src=GD_JOB_AD&t=SRFJ&extid=4&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_c48e6660&cb=1584797180096&jobListingId=3470179695)
- Requirements: MySQL and other SQL-like database systems, 3+ years managing production databases

Software Engineer, Platform Server Infrastructure (https://www.glassdoor.com/partner/jobListing.htm?pos=101&ao=852532&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&ea=1&cs=1_2020d6cd&cb=1584797180098&jobListingId=3323672524)
- You will design, implement and document server-side APIs for planet-scale concurrent networking, multiplayer gameplay and massive datastores in Java.

Software Engineer, Data Platform (https://www.glassdoor.com/partner/jobListing.htm?pos=102&ao=859499&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&ea=1&cs=1_68ceb3e6&cb=1584797180099&jobListingId=3467082628)
- Proficiency in at least two commonly used programming languages, such as Python, JavaScript, Go, Java, or Scala

Software Engineer, Desktop Platform (https://www.glassdoor.com/partner/jobListing.htm?pos=103&ao=963083&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_530948d9&cb=1584797180100&jobListingId=3166180081)
- Demonstrable coding ability in Python, C++, Rust, Objc/Swift, Typescript

Master Software Engineer - Java (Core Platform) (https://www.glassdoor.com/partner/jobListing.htm?pos=104&ao=891209&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_4879a78d&cb=1584797180101&jobListingId=3532971243)
- Master Software Engineer - Java (Core Platform)

Senior Software Engineer (Platform) (https://www.glassdoor.com/partner/jobListing.htm?pos=105&ao=864078&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_36341ab2&cb=1584797180102&jobListingId=3307110272)
- Build cloud-based (AWS) micro-services – primarily in Python, (occasionally in Ruby)

Sr. Software Engineer - Java (Core Platform) (https://www.glassdoor.com/partner/jobListing.htm?pos=106&ao=891209&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_b51118e8&cb=1584797180103&jobListingId=3532971041)
- Sr. Software Engineer - Java (Core Platform) ... If you have experience/interest in Java, Scala, Python, AWS, Kafka, Kubernetes technologies and are passionate about engineering and innovation and like to have fun while writing beautiful elegant solutions in a great team environment then we would love to talk to you.

Electrical Embedded Software Engineer: Wearable Platform (https://www.glassdoor.com/partner/jobListing.htm?pos=107&ao=939664&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_56ff128b&cb=1584797180104&jobListingId=3403996960)
- Experience with C in an embedded environment, C++ is a plus.

Software Engineer, Platform Engineering (https://www.glassdoor.com/partner/jobListing.htm?pos=108&ao=329308&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_612550d4&cb=1584797180105&jobListingId=3531405356)
- Qualifications 9+ years of experience as a Software Engineer with excellent knowledge of programming languages, especially Java , Python or Kotlin Knowledge of CS fundamental concepts Coordinate the efficiency, scalability,

Platform Back End Software Engineer (https://www.glassdoor.com/partner/jobListing.htm?pos=109&ao=954035&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_6c9e0f0f&cb=1584797180106&jobListingId=3504690724)
- We are looking for a Platform Back End Engineer that will join a small but incredibly strong team of Back End Engineers that work in primarily in C++ and some Python.

Data Engineer - Media Analytics Platform (https://www.glassdoor.com/partner/jobListing.htm?pos=110&ao=925029&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&ea=1&cs=1_ae4cbd13&cb=1584797180107&jobListingId=3534163484)
- Writing robust & scalable software (stack is Ruby on Rails, React, MySQL, AWS)

Engineering Manager, Developer Platform team (https://www.glassdoor.com/partner/jobListing.htm?pos=111&ao=212866&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_1791edcf&cb=1584797180108&jobListingId=3486587153)
- Experience with a Java, Python, and C++ (ideally).

Software Engineer, Platform Engineering (https://www.glassdoor.com/partner/jobListing.htm?pos=112&ao=838314&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_6caf4ef0&cb=1584797180109&jobListingId=3387953899)
-Expertise in Go preferred, but not required. If you’re new to Go, then proficiency in a mainstream language such as Java, Python, C++, Scala, etc.., and a willingness to learn Go required

Software Engineer, Platform Engineering (https://www.glassdoor.com/partner/jobListing.htm?pos=113&ao=961248&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_72c8af93&cb=1584797180110&jobListingId=3529842818)
- Hands-on experience with key technologies such as Python, node.js, NGINX, Linux, Oauth/SAML, MySQL and Docker in a production operations context.

Software Engineer - Data Platform (https://www.glassdoor.com/partner/jobListing.htm?pos=114&ao=927747&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&ea=1&cs=1_9b32f45f&cb=1584797180111&jobListingId=3353558748)
- Expertise in at least one of the following (bonus for more than one): C++, Python, Java, NodeJS, GoLang, C#, Ruby, PHP.

AI/ML Platform & Engineering - Software Engineer  (https://www.glassdoor.com/partner/jobListing.htm?pos=115&ao=961248&s=58&guid=00000170fd45ddb49bd57f9b897f3915&src=GD_JOB_AD&t=SR&extid=1&exst=O&ist=L&ast=OL&vt=w&slr=true&cs=1_a337b68d&cb=1584797180112&jobListingId=3535284880)
- Proficiency in multiple modern programming languages Java/J2EE development, Python, JavaScript, HTML, CSS and in developing web services leveraging Spring framework. Knowledge of the tools and technologies like Spring, Spark, Kafka, Hadoop, Cassandra, JUnit, Log4J, Hibernate, XPath, SAX parsing, Ant, Maven and Hudson, GIT, Jenkins and Unix Scripting.

Nemám z toho pocit, že by Pythonisty pohrdali, tak jako ty.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 21. 03. 2020, 15:48:47
Vy tady pořád krmíte toho trolla, co má zjevně komplex nadřazenosti? ;D

No nejaky komplex to bude.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Tomas-T 21. 03. 2020, 16:14:12
Krasne shrnuti...
Zajimalo by me jak manager muze zprznit softwarovy projekt?
Dynamické zadání (= 5x se změní, většinou když už je větší část hotová) + nereálné termíny dokážou zprznit cokoliv  :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 16:53:50
Krasne shrnuti...
Zajimalo by me jak manager muze zprznit softwarovy projekt?
Dynamické zadání (= 5x se změní, většinou když už je větší část hotová) + nereálné termíny dokážou zprznit cokoliv  :)

To ma na starosti manager?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 21. 03. 2020, 16:54:52
Krasne shrnuti...
Zajimalo by me jak manager muze zprznit softwarovy projekt?
Dynamické zadání (= 5x se změní, většinou když už je větší část hotová) + nereálné termíny dokážou zprznit cokoliv  :)

Máte-li managera, který cpe do projektu své představy, třeba že to má být v Javě, přestože má k dispozici tým geeků... Nebo samozřejmě naopak.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 17:05:46
Krasne shrnuti...
Zajimalo by me jak manager muze zprznit softwarovy projekt?
Dynamické zadání (= 5x se změní, většinou když už je větší část hotová) + nereálné termíny dokážou zprznit cokoliv  :)

Máte-li managera, který cpe do projektu své představy, třeba že to má být v Javě, přestože má k dispozici tým geeků... Nebo samozřejmě naopak.

Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 21. 03. 2020, 17:17:28
Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.

 :D :D :D tvl ty jsi typicky nekvalifikovany Java-zumpista, az si jednou budes zase stezovat, jake se v Jave pisou sra cky, tak se podivej do zrcadla, protoze ty pisou presne lidi jako ty.

Ty jsi po 7 letech v oboru, nebo kolik jsi to psal, jeste nezjistil, jak manageri zprzni projekt? A kdo si jako myslis ze ten projekt zprzni?  :D :D :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 21. 03. 2020, 17:22:25
Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.

Jenom pro zajimavost - jaka je ta Tvoje predstava? Jedna moje skolitelka rikava, ze manazer dodava vykony. Jestli je zajisti sam nebo to udela jeho dite, manzelka, pes, soused nebo podrizeny, to uz je na nem...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 21. 03. 2020, 17:25:10
(https://lh3.googleusercontent.com/proxy/CrKKU29RIrwUYs7xGQK8jFXWgAsCdoD73aeOnkjauInvKVLDssQVjioBtjlYz-R2uXILoYDiDmoCrHuO85Brn8TNzIP9i8Bqme35s1zRdFvMiQk7iM8YKhmz)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 21. 03. 2020, 18:00:26
A kde je ten softwarový inženýr...?  :o
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 18:06:51
Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.

Jenom pro zajimavost - jaka je ta Tvoje predstava? Jedna moje skolitelka rikava, ze manazer dodava vykony. Jestli je zajisti sam nebo to udela jeho dite, manzelka, pes, soused nebo podrizeny, to uz je na nem...

Podle me se ma starat o lidi a ridit nejistoty. Ma zajistit spokojenost a sladenost v tymu. Ma ten tym i budovat a resit problemy.

Ale technologie je bud pozadovana zakaznikem nebo je to zalezitost tymu, pripadne architektu.
A terminy jsou idealne odhadnute na zaklade toho co tym zatim dodal.
Nekdy u fixed prize projektu se muze stat, ze je termin nevhodne nastaven s nasledky na projekt, ale to kdyz sem zazil byl vetsinou problem, ze to slibil nekdo ze sales a ne muj manazer... Ten naopak sel za tim salesakem a vysvetlil mu to...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 18:21:26
Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.

 :D :D :D tvl ty jsi typicky nekvalifikovany Java-zumpista, az si jednou budes zase stezovat, jake se v Jave pisou sra cky, tak se podivej do zrcadla, protoze ty pisou presne lidi jako ty.

Ty jsi po 7 letech v oboru, nebo kolik jsi to psal, jeste nezjistil, jak manageri zprzni projekt? A kdo si jako myslis ze ten projekt zprzni?  :D :D :D

V IT oboru jsem +-16 let... z toho tech +-8 to byla java/korporat/banky.
Dneska se moc k programovani nedostanu... takze se neboj ze bych psal sr*cky.

Uplne si nevzpominam ze bych psal neco o tom, ze se v jave pisou sr*cky... Myslim, ze to jsou tvoje vlastni slova... Bud na ne hrdy a nepodsouvej to me. Pripadne prosim cituj.

Nezazil jsem manazera co by sahal do kodu. I kdyz jich znam nekolik co by klidne mohli. Vsechny zprznene projekty co jsem videl tak byly zprzneny vinou programatoru a nikoho jineho. (Mluvim o technicke strance). A ano zazil jsem programatory co se to snazili hazet na manazery, ale ani v jednom pripade mi to neprislo oduvodnene.

Prijde mi, ze ti ta diskuze moc nejde. Vzdycky se mi jen vysmejes za neco co si sam vymyslis. Neni ti to trapne, ze vsichni kdo to ctou vidi jak strasne moc se porad pletes? Taky se obcas pletu, ale u tebe je to dost konzistentni...

Uz si nasel nejaky ten java success story projekt? Ten co nikdo nezprznil? Jestli jo tak sem s nim. Jinak to bude vypadat, ze za to ta java snad doopravdy muze...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 21. 03. 2020, 18:41:17
Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.

Jenom pro zajimavost - jaka je ta Tvoje predstava? Jedna moje skolitelka rikava, ze manazer dodava vykony. Jestli je zajisti sam nebo to udela jeho dite, manzelka, pes, soused nebo podrizeny, to uz je na nem...

Podle me se ma starat o lidi a ridit nejistoty. Ma zajistit spokojenost a sladenost v tymu. Ma ten tym i budovat a resit problemy.

Ale technologie je bud pozadovana zakaznikem nebo je to zalezitost tymu, pripadne architektu.
A terminy jsou idealne odhadnute na zaklade toho co tym zatim dodal.
Nekdy u fixed prize projektu se muze stat, ze je termin nevhodne nastaven s nasledky na projekt, ale to kdyz sem zazil byl vetsinou problem, ze to slibil nekdo ze sales a ne muj manazer... Ten naopak sel za tim salesakem a vysvetlil mu to...

Jo, to celkem sedí. Ale za výsledek je vždycky zodpovědný nakonec šéf a nikdo za něj to rozhodnutí nemůže udělat, byť by bylo formální. No a zvolené technologie, to je taky otázka budoucí správy. Si vezmi, že někdo z týmu má neodolatelnou chuť napsat něco v Perlu a pak se tým rozprchne...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 21. 03. 2020, 18:48:13
Na chuti napsat něco v Perlu je něco špatného?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 18:49:34
Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.

Jenom pro zajimavost - jaka je ta Tvoje predstava? Jedna moje skolitelka rikava, ze manazer dodava vykony. Jestli je zajisti sam nebo to udela jeho dite, manzelka, pes, soused nebo podrizeny, to uz je na nem...

Podle me se ma starat o lidi a ridit nejistoty. Ma zajistit spokojenost a sladenost v tymu. Ma ten tym i budovat a resit problemy.

Ale technologie je bud pozadovana zakaznikem nebo je to zalezitost tymu, pripadne architektu.
A terminy jsou idealne odhadnute na zaklade toho co tym zatim dodal.
Nekdy u fixed prize projektu se muze stat, ze je termin nevhodne nastaven s nasledky na projekt, ale to kdyz sem zazil byl vetsinou problem, ze to slibil nekdo ze sales a ne muj manazer... Ten naopak sel za tim salesakem a vysvetlil mu to...

Jo, to celkem sedí. Ale za výsledek je vždycky zodpovědný nakonec šéf a nikdo za něj to rozhodnutí nemůže udělat, byť by bylo formální. No a zvolené technologie, to je taky otázka budoucí správy. Si vezmi, že někdo z týmu má neodolatelnou chuť napsat něco v Perlu a pak se tým rozprchne...

Ty technologie by podle mel mit po palcem nejaky team lead/architekt. Manazer to ovlivnuje do te miry, ze si vybere kdo bude ten team lead. Kdyz chce stabilni a dlouhoudrzovatelny projekt... nevybere hipstera. Kdyz chce rozirovat portfolio technologii tak mozna jo...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 21. 03. 2020, 18:50:07
Na chuti napsat něco v Perlu je něco špatného?

Pokud to vede k rozpadu teamu a presto ho ta chut neprejde tak jo...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 21. 03. 2020, 18:57:40
Na chuti napsat něco v Perlu je něco špatného?

Proti gustu není dišputát. Ale ten člověk tam za rok nemusí být a hledat pak řešení bývá problém. Já bych tohle nikdy nepodepsal.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 21. 03. 2020, 19:00:38
Ty technologie by podle mel mit po palcem nejaky team lead/architekt. Manazer to ovlivnuje do te miry, ze si vybere kdo bude ten team lead. Kdyz chce stabilni a dlouhoudrzovatelny projekt... nevybere hipstera. Kdyz chce rozirovat portfolio technologii tak mozna jo...

Metody řízení jsou různé, záleží na okolnostech, ale každopádně by si to ten team měl obhájit a konečné rozhodnutí v zásadě není na něm.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 21. 03. 2020, 19:54:46
Ehm...
A kde mas tu metodu "publish"? Kdyz tu to vyrobilo na zaklade jakehosik pofiderniho souboru s JSONem, to ti  zivote staticka analyza nerozkoduje:
Kód: [Vybrat]
resources-1.json

        "Publish": {
          "request": {
            "operation": "Publish",
            "params": [
              { "target": "TargetArn", "source": "identifier", "name": "Arn" }
            ]
          }
        },
Tvl. to je shit, to jsem jeste nezral, takova prasarna  :D To je horsi jak nekde v Javascriptu.
Hosi, ja jsem nemel o Pythonu a Pyjthonistech kdovijake mineni, ale tohle predcilo vsechny me ocekavani  :D
Jelikož jsi mi nechtěl ani po urgencích vysvětlit jak je to s tím nefunkčním auto-complete v Pythonu, tak jsem to musel zkusit sám a výsledek je, že ses mýlil. Nápověda k "publish()" funguje. Viz příloha.

Bud sem mel na manazery stesti nebo mam spatnou predstavu o tom co ma manager delat.
:D :D :D tvl ty jsi typicky nekvalifikovany Java-zumpista, az si jednou budes zase stezovat, jake se v Jave pisou sra cky, tak se podivej do zrcadla, protoze ty pisou presne lidi jako ty.
Ty jsi po 7 letech v oboru, nebo kolik jsi to psal, jeste nezjistil, jak manageri zprzni projekt? A kdo si jako myslis ze ten projekt zprzni?  :D :D :D
Neni ti to trapne, ze vsichni kdo to ctou vidi jak strasne moc se porad pletes?
Obávám se, že s tebou musím souhlasit.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 00:26:07
Tak co se manageru a prznieni proejktu tyce, tak si uvedom, ze manageri nejsou jen na strane dodavatele, ale taky na strane zakaznika. A ja za nejvetsi problem povazuju to, kdyz si korporat chce ukousnout co nejvice prachu pro sebe, a dodava na projekt nekvalifikovane delniky. Takze se sice potom zda, ze to zkzili ti delnici, ale ve skutecnosti to zkazili manageri.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 01:00:08
Ehm...
A kde mas tu metodu "publish"? Kdyz tu to vyrobilo na zaklade jakehosik pofiderniho souboru s JSONem, to ti  zivote staticka analyza nerozkoduje:
Kód: [Vybrat]
resources-1.json

        "Publish": {
          "request": {
            "operation": "Publish",
            "params": [
              { "target": "TargetArn", "source": "identifier", "name": "Arn" }
            ]
          }
        },
Tvl. to je shit, to jsem jeste nezral, takova prasarna  :D To je horsi jak nekde v Javascriptu.
Hosi, ja jsem nemel o Pythonu a Pyjthonistech kdovijake mineni, ale tohle predcilo vsechny me ocekavani  :D
Jelikož jsi mi nechtěl ani po urgencích vysvětlit jak je to s tím nefunkčním auto-complete v Pythonu, tak jsem to musel zkusit sám a výsledek je, že ses mýlil. Nápověda k "publish()" funguje. Viz příloha.

Jenze ty jsi tam musel naimportovat ty botostubs aby to fungovalo. Takze takovy narovnavacek na ohybacek. Puvodni rec totiz byla o tom, jak je Java komplikovana, a jak to Python dela vsechno lip. Nekteri tady plakali, jak se v Jave musi vsude definovat datove typy, jak je ukacana atp. V Jave zadne stubs nikdy importovat nemusis. Ta knihovna by byla jednodussi a prehlednejsi v Jave, bez narovnavaku na ohybaky.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 10:55:50
Abychom si rozumněli:
boto3 je (dynamické) (https://stackoverflow.com/questions/31555947/pycharm-intellisense-for-boto3) AWS SDK for Python.
botostubs je pro napovídání boto3 v IDE.

API služeb AWS SDK for Python (boto3) se mění velmi rychle https://github.com/boto/boto3/releases , tady je changelog https://github.com/boto/boto3/blob/6a6bf486d9dab16b0ac8d3accce07b5178ce8954/CHANGELOG.rst . Jak můžeš vidět releasse je každý den! Takže jak jsem už psal je pro mne pochopitelné proč se vývojáři AWS rozhodli to napsat dynamicky.

Do zdrojáku Pythonu přidáš botostubs a pak jen každý den jedním příkazem zaktualizuješ boto3 a botostub. Mě to nepřijde složité.

Citace
"V Jave zadne stubs nikdy importovat nemusis."
To znamená, že Java vůbec neumí takto dynamické API vytvořit? Představ si, že máš API, které nabízí různé funkce() třeba podle regionů, podle objednaných služeb, podle různých kombinací služeb atd. Takové API nelze vytvořit staticky, protože bude pro každého individuálního zákazníka jiné, tudíž ti nebude fungovat ani klasické našeptávání. Takže buď by se to muselo řešit nějakým pluginem do konkrétních IDE a ostatní IDE mají smůlu nebo bys i v Javě potřeboval něco jako botostubs. Pokud Java neumožňuje vytvořit dynamické API, tak to považuješ za výhodu?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 11:09:07
LarryLine,
1. Kdyz se ti meni API, tak zrefaktorujes model a vydas novou verzi - v Jave velice snadne.
2. To co udelali oni je obechcavka. V Jave, kdyz mas API definovane JSONem, a AWSje takova vesmes Javascript-orientovana sluzba, tak si na zaklade toho JSONu vygenerujes Model generatorem. Vsadim se, ze Python zadny takovy generator, pouzitelny, nema.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 11:16:38
To znamená, že Java vůbec neumí takto dynamické API vytvořit? Představ si, že máš API, které nabízí různé funkce() třeba podle regionů, podle objednaných služeb, podle různých kombinací služeb atd. Takové API nelze vytvořit staticky, protože bude pro každého individuálního zákazníka jiné, tudíž ti nebude fungovat ani klasické našeptávání. Takže buď by se to muselo řešit nějakým pluginem do konkrétních IDE a ostatní IDE mají smůlu nebo bys i v Javě potřeboval něco jako botostubs. Pokud Java neumožňuje vytvořit dynamické API, tak to považuješ za výhodu?
To, čemu říkáte „dynamické API“, se normálně nazývá „dynamické typování“. Java používá statické typování, tj. typy jsou zafixované a kontrolují se už v době překladu. Pokud se API takhle často mění, je nesmysl pokoušet se na to napasovat statické typy (protože kompilátor vám jeden den zkontroluje, že máte typy správně, ale druhý den už to stejně nebude fungovat, protože se API změnilo). Ve světě staticky typovaných jazyků se tedy na tu proměnlivou část API budete dívat jako na data. Ostatně vy sám jste to jako data popsal – regiony nebo objednané služby jsou data, ne výkonný kód.

A upřímně řečeno, nevidím žádný přínos dívat se na ta data jako na kód a chtít po IDE, aby mi našeptávalo – když stejně zítra takhle napsaný kód nemusí fungovat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 11:25:43
To znamená, že Java vůbec neumí takto dynamické API vytvořit? Představ si, že máš API, které nabízí různé funkce() třeba podle regionů, podle objednaných služeb, podle různých kombinací služeb atd. Takové API nelze vytvořit staticky, protože bude pro každého individuálního zákazníka jiné, tudíž ti nebude fungovat ani klasické našeptávání. Takže buď by se to muselo řešit nějakým pluginem do konkrétních IDE a ostatní IDE mají smůlu nebo bys i v Javě potřeboval něco jako botostubs. Pokud Java neumožňuje vytvořit dynamické API, tak to považuješ za výhodu?
To, čemu říkáte „dynamické API“, se normálně nazývá „dynamické typování“. Java používá statické typování, tj. typy jsou zafixované a kontrolují se už v době překladu. Pokud se API takhle často mění, je nesmysl pokoušet se na to napasovat statické typy (protože kompilátor vám jeden den zkontroluje, že máte typy správně, ale druhý den už to stejně nebude fungovat, protože se API změnilo). Ve světě staticky typovaných jazyků se tedy na tu proměnlivou část API budete dívat jako na data. Ostatně vy sám jste to jako data popsal – regiony nebo objednané služby jsou data, ne výkonný kód.

A upřímně řečeno, nevidím žádný přínos dívat se na ta data jako na kód a chtít po IDE, aby mi našeptávalo – když stejně zítra takhle napsaný kód nemusí fungovat.

Tak s tim co jste napsal uplne nesouhlasim, AWS ma api definovane JSONem podobne, jako jina API jsou definovana treba XSDeckem. V Jave je to tradicni uloha na vygenerovani modelovych trid v dobe kompilace, v samostatnem maven modulu. Kdyz jsou neco "data", tak vy na ta data chcete mit vyrobeny v Jave model. Jenze pochybuju, ze v Pythonu na tento ukon maji dostatecne robustni nastroj jako je Maven a generatory.

Javovska verze toho AWS API normalne naseptava.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 11:50:19
Ano, takze je to presne jak jsem si myslel, v Jave je obdoba boto3 udelana spravne, dependency:

Kód: [Vybrat]
<parent>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-pom</artifactId>
    <version>1.11.690</version>
  </parent>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-java-sdk-sqs</artifactId>
  <name>AWS Java SDK for Amazon SQS</name>
  <description>The AWS Java SDK for Amazon SQS module holds the client classes that are used for communicating with Amazon Simple Queue Service</description>
  <url>https://aws.amazon.com/sdkforjava</url>

Maji tam vyrobeny model, ten model muze byt klidne napsany rucne, a nad tim vsim maji vyrobenou normalni poradnou OOP knihovnu, pouzivaji polymorfismus a dedicnost. Zbytecne toto diskutovat s Pythonistama, ti by to nepochopili. Kdyz se v AWS meni API, tak v tom API se nedelaji zpetne nekompatibilni zmeny rok co rok. To by prestal fungovat vsem jejich zakaznikum kod. Na to klidne muze byt model napsany rucne, kdyz zmeny jsou inkrementalni.

Uplne to same by slo udelat v Pythonu, ale proc by to delali, kdyz to muzou vobechcat a potom na to vyrobit stubs, ze...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 12:05:10
Tak s tim co jste napsal uplne nesouhlasim, AWS ma api definovane JSONem podobne, jako jina API jsou definovana treba XSDeckem. V Jave je to tradicni uloha na vygenerovani modelovych trid v dobe kompilace, v samostatnem maven modulu.
Nezáleží na tom, jak je to API definované, jestli WSDL, OpenAPI nebo nějak jinak. Pokud je statické, můžete si ho namodelovat v jakémkoli staticky typovaném jazyce (v dynamicky typovaných jazycích samozřejmě také). Pokud je to API dynamické, není to podle mne API – protože implicitní vlastností rozhraní je to, že se nemění. proto proti němu můžu programovat a spolehnout se, že ten můj kód bude ještě zítra s tím API fungovat. Na druhou stranu, pokud je API dynamické jenom tím, že se tam přidávají nové služby,není problém mít ho namodelované ve staticky typovaném jazyce – a když budu chtít tu novou službu využít, vytvořím si příslušný model.

Jenze pochybuju, ze v Pythonu na tento ukon maji dostatecne robustni nastroj jako je Maven a generatory.
Když se tak bijete za to, jak je ekosystém Javy moderní, doporučuju něco tak zastaralého jako Maven přestat nazývat „robustním nástrojem“ a podívat se na nástroje, které patří do roku 2020 – třeba Gradle.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 12:20:06
Javovska verze toho AWS API normalne naseptava.
OK, takže myslíš asi tohle - https://github.com/aws/aws-sdk-java/releases
Pokud i to funguje za pomosi JSONu, tak jaké úkony potřebuji udělat, aby to našeptávalo v Sublime text?
Potřebuji Maven nebo Gradle? Potřebuji nějaké další úkony?

Citace
není problém mít ho namodelované ve staticky typovaném jazyce – a když budu chtít tu novou službu využít, vytvořím si příslušný model.
A je to jednodušší a rychlejší než použít botostubs?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 12:25:11
třeba Gradle.

Fuj, tak to radeji prejdu na Python, nez na Gradle.

Ok, uz jsem pochytil ten rozdil mezi boto3 a Javovskym SDK.

To api je napsane ve stylu RPC, tzn. pripomina to vzdalene volani metody.

1. V Jave k tomu pristoupili tradicne tak, ze to RPC predstavuje zasilani messages:

strangeApi.send(new PublishStrangeMessage("message"))

2. V Pythonu to RPC API vsak dynamicky ohli tak, ze se s tim pak pracuje takto:

strangeApi.publishStrangeMessage("message")

A potom v samostanych stubs si tu funkci i explicitne definovali.

---

Neco takoveho by slo udelat i v Jave:

Pythnovske stubs -> Javovsky Interface
Pythonovska dynamicka vyroba metod -> Javovska reflexe

---

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 22. 03. 2020, 12:26:33
Tak s tim co jste napsal uplne nesouhlasim, AWS ma api definovane JSONem podobne, jako jina API jsou definovana treba XSDeckem. V Jave je to tradicni uloha na vygenerovani modelovych trid v dobe kompilace, v samostatnem maven modulu.
Nezáleží na tom, jak je to API definované, jestli WSDL, OpenAPI nebo nějak jinak. Pokud je statické, můžete si ho namodelovat v jakémkoli staticky typovaném jazyce (v dynamicky typovaných jazycích samozřejmě také). Pokud je to API dynamické, není to podle mne API – protože implicitní vlastností rozhraní je to, že se nemění. proto proti němu můžu programovat a spolehnout se, že ten můj kód bude ještě zítra s tím API fungovat. Na druhou stranu, pokud je API dynamické jenom tím, že se tam přidávají nové služby,není problém mít ho namodelované ve staticky typovaném jazyce – a když budu chtít tu novou službu využít, vytvořím si příslušný model.

Jenze pochybuju, ze v Pythonu na tento ukon maji dostatecne robustni nastroj jako je Maven a generatory.
Když se tak bijete za to, jak je ekosystém Javy moderní, doporučuju něco tak zastaralého jako Maven přestat nazývat „robustním nástrojem“ a podívat se na nástroje, které patří do roku 2020 – třeba Gradle.

Konecne neco uzitecneho - kvuli Mavenu jsem nekolikrat Javu a jeji ekosystem proklel a zhnusen odesel. Pokud je Gradle vyrazne lepsi, bod k dobru.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 13:14:34
Konecne neco uzitecneho - kvuli Mavenu jsem nekolikrat Javu a jeji ekosystem proklel a zhnusen odesel. Pokud je Gradle vyrazne lepsi, bod k dobru.

Vsak ho nepouzivej. Klidne si stahni jarko rucne a strc si ho do projektu, jak jsi zvykly z Pythonu :D :D :D A pak si to Jarko klidne rucne zase smaz a nahrad jarkem s novou verzi. A kdyz se ti rozsypou zavislosti kvuli nekompatibilnim verzim, tak si to klidne rucne zase oprav :D

Plus jeste v pripade Pythonu si pomoci pyenv si klidne udrzuje nekolik verzi Pythonu, aby sis mohl spoustet nekolik pythnovsky nekompatibilnich projektiku na svem pc :D

Vcelku mi ten Python pripomina takove ty vcs pro mentalne zaostale jako je Mercurial. Poradny VCS ktery obsahuje vsechno co je nutne, je GIT. Java je to same, ma tam vsechno co tam byt musi, aby se s tim daly delat stredne velke az ty uplne nejvetsi projekty. Pidi projekty si klidne pis Pythonu, ja umim Javu, tak se drzim ji...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 13:26:53
Akorat musim rict, ze Jave docela dost hori koudel pokud jde o Cloud, microservices a serverless architketuru. Jestli to tahkle pujde dal, tak se obavam, ze Java na to chcipne. Jeji robustni tooly s cloudem a serverless nebudou potreba, protoze jejich roli prebere cloudova platforma, a bude se opakovat neco podobneho, jako kdyz pred lety Java premohla C++.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 13:48:00
A je to jednodušší a rychlejší než použít botostubs?
Záleží na tom, jak je to API definováno. Pokud můžu použít nějaký nástroj, který mi definici API překlopí do modelu v daném jazyce, je to záležitost jednoho příkazu.

Nicméně jednoduchost a rychlost nejsou jediná kritéria pro vývoj. Existují i projekty, které mají delší životnost než tři měsíce, tam pak získává na vrchu kritérium udržovatelnosti.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 13:58:51
Fuj, tak to radeji prejdu na Python, nez na Gradle.
Proč? Autoři Gradle pochopili, že každý trošku větší projekt si nevystačí s deklarativním popisem projektu. Maven sice neumožnil vyloženě imperativní programování v XML jako Ant, ale v Mavenu se to řeší miliony properties a profilů, takže výhoda deklarativního popisu je ta tam. A sice už se snad Maven zbavil Avalonu (alespoň pro pluginy), ale pořád je utrpení rozšířit build o nějaký kód.

Akorat musim rict, ze Jave docela dost hori koudel pokud jde o Cloud, microservices a serverless architketuru.
Co se vám nelíbí na Micronautu nebo Helidonu? Když to navíc spojíte s GraalVM… Můžete psát mikroservisy nebo lambda funkce, výkon bude už teď nejspíš lepší než u NodeJS a spol. a k dispozici máte celý ekosystém Javy. Javě v tom myslím trochu ujel vlak, ale už je zpět ve hře a má našlápnuto velice slušně.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 14:20:05
Fuj, tak to radeji prejdu na Python, nez na Gradle.
Proč? Autoři Gradle pochopili, že každý trošku větší projekt si nevystačí s deklarativním popisem projektu. Maven sice neumožnil vyloženě imperativní programování v XML jako Ant, ale v Mavenu se to řeší miliony properties a profilů, takže výhoda deklarativního popisu je ta tam. A sice už se snad Maven zbavil Avalonu (alespoň pro pluginy), ale pořád je utrpení rozšířit build o nějaký kód.

Ja moc s Gradle neumi, delal jsem s nim jen z nouze, ale:
1. Pro zakladni rozvrzeni projektu vc submodulu je Gradle 1:1 to same co Maven
2. S tim rozdilem ze Gradle neumi definovat Parenta
3. S tim rozdilem ze Gradle je mene zaboilerplatovany, jenze jaksi za cenu toho, ze clovek nema naseptavani.
4. S tim rozdilem, ze v Gradlovi se da dobre programovat - to je snad ta nejhorsi vlastnost, protoze by to nekoho mohlo napadnout delat. Co potrebujete pri buildu programovat?

Akorat musim rict, ze Jave docela dost hori koudel pokud jde o Cloud, microservices a serverless architketuru.
Co se vám nelíbí na Micronautu nebo Helidonu? Když to navíc spojíte s GraalVM… Můžete psát mikroservisy nebo lambda funkce, výkon bude už teď nejspíš lepší než u NodeJS a spol. a k dispozici máte celý ekosystém Javy. Javě v tom myslím trochu ujel vlak, ale už je zpět ve hře a má našlápnuto velice slušně.

1. Zkousel jste si uz zbuildit ten Micronauti Lambda example na Githubu s GraalVM? Vzdyt to je hrozne, kompilace tim Graalem trva snad 3 minuty.
2. Kdyz jsem videl nejaky benchmark, tak to stejne melo pomalejsi cold start nez Node.js lambda.
3. Na takovou monolitickou lambdu rovnou muzete pouzit Spring Cloud Function - nevim jen jestli tu v budoucnu bude podporovat Graal. 
4. Ikdyz to vsechno udelate, tak budete tvorit relativne velke monoliticke lambdy a ja se ptam - proc to do haje radeji rovnou nerozjet jako service v docker kontejneru? Co tim ziskate ze to bude lambda funkce?

Jave tim ujel vlak a muj nazor po X hodinach googleni je, ze to jeste nedohnala. A pokud GraalVM nepohne pri rychlosti buildu zadeki, tak ani nedozene.

Nicmene reseni b mohlo byt jine, a sice jinaci JVM. V Lambde vam je burt nejaka performance vyjma cold startu. Pomale to muze byt klidne jako python. Hlavne at se ta mrcha lina rychle nastartuje.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 14:25:39
V Javě nedělám, ale kdybych někdy potřeboval něco jednoduchého v Javě stvořit a hostovat na AWS, tak je tady někdo kdo mi vysvětlí jak bych měl postupovat aby fungovalo našeptávání? Předpokládám, že musím udělat toto:

1) Nainstaluji Eclipse (pokud by se Sublime byl problém)
2) Nainstaluji Java 8.0 or later
3) Nainstaluji http://maven.apache.org/install.html
4) Podle návodu z AWS - https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/setup-install.html#include-sdk stáhnu zdrojáky AWS SDK for Java z Githubu
5) Zkompiluji zdrojáky za pomoci Mavenu a vytvoří se mi .jar soubory

Po těchto krocích mně bude našeptávání fungovat?

Pokud https://github.com/aws/aws-sdk-java/releases má release každý den (tak jako boto3), tak budu muset denně kompilovat zdrojáky a vytvářet .jar soubory?

Nicméně jednoduchost a rychlost nejsou jediná kritéria pro vývoj.
Ptal jsem se proto, že PetroviK se botostubs zdál složitý.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 14:38:24
5) Zkompiluji zdrojáky za pomoci Mavenu a vytvoří se mi .jar soubory

My v Jave pouzivame Maven. Pokud se ho neches ucit a ani si nechces stahnout hotovy example, tak i presto si stahni zdrojaky pres nej.

1. Dej do googlu:

aws sqs maven

2. Hned prvni url co ti google najde:

https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-sqs

3. Vyber si libovolnou verzi, treba tu nejposlednejsi:

https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-sqs/1.11.749

4. Klikni si na "Files   jar (315 KB)" a stahni si to Jarko.

5. Nepouzivej proboha tu plceku Eclipse, stahni si Intellij Idea Community, to je nej IDE na Javu na svete.

6. Java se musi zbuildit vzdycky do Jarka, takze kdyz nepouzivas Maven jako build tool, tak ti to Jarko musi vyrobit IDE, a proto:

7. Naimportuj si to jarko pres IDE do projektu. A hledej nekde tlacitko build, ja uz jsem to takto nedelal X let a zapomel jsem to. Vsichni pouzivaji Maven.

A mas to, lepsi nez pip  ;)

A jestli ti muzu doporucit, pokud nechces zabit cely tyden a zesedivet, tak nic s AWS nedelej.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 14:54:39
Haha, pockat, chyba, to ti nebude fungovat. Jsem to tak dlouho nedelal ze jsem si neuvedomil, ze si budes muset rucne poresit zavislosti na jine jarka. Takze na te strance od mavenu jsou jeste vypsany depende cies ktere to ma:

https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-sqs/1.11.690

Jenze ty dependencies budou mit dalsi dependencies, takze to si uzijes.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 15:06:39
1. Pro zakladni rozvrzeni projektu vc submodulu je Gradle 1:1 to same co Maven
2. S tim rozdilem ze Gradle neumi definovat Parenta
3. S tim rozdilem ze Gradle je mene zaboilerplatovany, jenze jaksi za cenu toho, ze clovek nema naseptavani.
4. S tim rozdilem, ze v Gradlovi se da dobre programovat - to je snad ta nejhorsi vlastnost, protoze by to nekoho mohlo napadnout delat. Co potrebujete pri buildu programovat?
Ad 1) Jenom dokud máte prázdný projekt. A vlastně už ani to není pravda, Gradle zavedl rozdělení závislostí na api a implementation, takže konečně tranzitivní závislosti dávají smysl.
Ad 2) Gradle samozřejmě parenta nadefinovat umí. A umí, cokoli chcete – je to jen kód. Takže si můžete parenta udělat, jak chcete – můžete z něj dědit, co chcete, můžete si to parametrizovat, můžete si parenty třeba přepínat, když budete chtít.
Ad 3) IntelliJ Idea v Gradle skriptech našeptávat umí.
Ad 4) To, že můžete v buildskriptu programovat, je obrovská výhoda. Potřebujete to vždy, jakmile nejde jen o nějaký školní projekt. Stačí se podívat, kolik pluginů pro Maven vzniklo. Build chcete upravovat v závislosti na prostředí, kde poběží, chcete tam integrovat informace z VCS, chcete publikovat balíčky a dokumentaci, mimifikovat a komprimovat soubory, podepisovat, a milion dalších věcí, u každého projektu jiné. Když můžete v buildskriptu programovat, nepotřebujete různé šílené CI nástroje, které „naprogramujete“ (ideálně klikáním ve webovém prohlížeči), protože jediné, co od CI potřebujete, je spustit příslušný Gradle task. A co potřebujete si naprogramujete v něm.

1. Zkousel jste si uz zbuildit ten Micronauti Lambda example na Githubu s GraalVM? Vzdyt to je hrozne, kompilace tim Graalem trva snad 3 minuty.
2. Kdyz jsem videl nejaky benchmark, tak to stejne melo pomalejsi cold start nez Node.js lambda.
3. Na takovou monolitickou lambdu rovnou muzete pouzit Spring Cloud Function - nevim jen jestli tu v budoucnu bude podporovat Graal. 
4. Ikdyz to vsechno udelate, tak budete tvorit relativne velke monoliticke lambdy a ja se ptam - proc to do haje radeji rovnou nerozjet jako service v docker kontejneru? Co tim ziskate ze to bude lambda funkce?
Ad 1) Vašemu CD nástroji to nějak vadí, stěžuje si, že mu to trvá 3 minuty?
Ad 2) No jo, jenže Node.js už má za sebou roky optimalizací rychlého startu, GraalVM je ve stavu, že už to jde nastartovat a běží to. Optimalizace teprve přijdou.
Ad 3) a 4) Pokud vytváříte „monolitickou lambdu“, je chyba ve vás, ne v nástrojích.

Výhoda je ta, že mám vše na jedné platformě. Takže můžu mít aplikaci, která se skládá z jednoho nebo více monolitů, kolem se mohou motat mikroslužby a nějaké nárazové prkotiny můžu řešit lambdou. A pořád mám jednu platformu a jeden zdrojový kód, takže můžu sdílet implementaci a přelívat ji tam, kam zrovna potřebuju. Chci vytrhnout z monolitu část a nadělat z ní mikroservisy? Jasně, není problém, nemusím nic programovat znova, jenom implementaci upravím pro jiný způsob běhu. Přestane lambda stačit? Nevadí, udělám z ní mikroservisu.

Jave tim ujel vlak a muj nazor po X hodinach googleni je, ze to jeste nedohnala.
Nemyslím si, že povědomí o současných technologiích lze získat googlením.

A pokud GraalVM nepohne pri rychlosti buildu zadeki, tak ani nedozene.
Jenže rychlost buildu do nativního kódu nikoho nezajímá. Vybral jste tu jedinou operaci, která nebrzdí nikoho důležitého – ani programátory, ani uživatele. Pro programátory je důležitá klasická kompilace do bajtkódu a start aplikace, kompilace do nativního kódu je nezajímá. A pro uživatele je důležitý běh aplikace.

Nicmene reseni b mohlo byt jine, a sice jinaci JVM. V Lambde vam je burt nejaka performance vyjma cold startu. Pomale to muze byt klidne jako python. Hlavne at se ta mrcha lina rychle nastartuje.
Ta jiná VM se jmenuje SubstrateVM a je právě součástí GraalVM. Už teď je start dost rychlý, a věřím, že se bude dál zrychlovat – protože optimalizovat ho dává smysl, na rozdíl od optimalizace rychlosti release buildu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 15:12:59
4. Klikni si na "Files   jar (315 KB)" a stahni si to Jarko.
Ne, to rozhodně ne. O závislosti se stará buildovací nástroj, takže se jen v konfiguraci projektu uvede, že projekt závisí na nějaké knihovně, a buildovací nástroj už se sám postará o stažení té knihovny a závislostí.

A balíčky pro Javu se nehledají Googlem, ale v repository – např. přes javalibs.com (https://javalibs.com). Tam se vám i pěkně ukáže, jak závislost vložit do Mavenu nebo Gradlu (nebo jiného buildovacího nástroje).

Mimochodem, v tom Gradlu si můžete snadno naprogramovat, aby se vám závislost na tom AWS SDK povýšila skriptem (ať už na ruční postrk, nebo automaticky).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 15:17:04
LarryLin: tady je minimalni example s Mavenem, doporucuju ho otevrit v IntelliJ Idea Community:

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 15:22:03
Mimochodem, v tom Gradlu si můžete snadno naprogramovat, aby se vám závislost na tom AWS SDK povýšila skriptem (ať už na ruční postrk, nebo automaticky).

Wtf, vzdyt to s da v mavenu udelat tak, ze se udela <version>RELEASE</version>. To je uplne typicke, presne co jsem rial s programovanim v gradlu - vy uz byste tam bastlil na to skript.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 15:32:30
... gradle ...

Nebudu to rozebirat a pitvat protoze se mi nechce. Delam v Java enetrprise enironmentu pro velkou spolecnost, Vyrobil jsem tu uz nekolik spring service a nekolik jsem jich uz udrzoval. V buildovacim nastroji zadne programovani neni nutne, a neni potrba ani mnoho pluginu. Delate to podle me spatne. Uz jenom to, jak zminujete CI a Maven - konfigurace CI nema co delat v Mavenu, ale v tom CI toolu, ktery pouzivate, si mate vyrobit uniformni build pipeline, a ne neco davat do mavenu.

Uz jsem delal jednou na projektu, kde Maven byl zapluginovany a nekdo se v tom pokousel i neco programovat a ohybat to. To byla samozrejme zumpa projekt pro zumpa-zakaznika, se zumpa-programatory.

Zadne programovani v Mavenu nepotrebujete, ani prehrsel pluginu, pomka maji byt jednoducha a prehledna, a kdyz mi nekdo rika, ze potrebuje gradle aby mohl programovat a nadava na Maven, tak to u me dela dotycny hodne zle.

Jamile se zacne zbytecne programovat v buildu, tak Franta to naprogramuje tak, Jozka zase onak, a je z toho bordel.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 15:41:52
Wtf, vzdyt to s da v mavenu udelat tak, ze se udela <version>RELEASE</version>. To je uplne typicke, presne co jsem rial s programovanim v gradlu - vy uz byste tam bastlil na to skript.
Ne, tohle dělá něco jiného. To použije vždy poslední ostrou verzi, o které Maven ví. To není dobrá cesta, protože tak se vám může aplikace klidně rozbít sama od sebe – nic nezměníte, jenom si Maven na pozadí stáhne novou verzi, se kterou vám aplikace nebude fungovat. Právě proto jsem psal o té variantě, že se to povýšení dělá skriptem, ale řízeně – v okamžiku, kdy já chci. Třeba to můžu dělat na CI každou noc – povýším knihovnu na nejnovější verzi, spustím testy, a když všechny testy proběhnou, nová verze se commitne.

Ano, samozřejmě, že bych na to napsal skript, protože se to má chovat tak, jak chci já, ne podle nějakého šíleného defaultu.

Uz jenom to, jak zminujete CI a Maven - konfigurace CI nema co delat v Mavenu, ale v tom CI toolu, ktery pouzivate, si mate vyrobit uniformni build pipeline, a ne neco davat do mavenu.
Ale já žádnou konfiguraci CI nechci mít. Já od CI chci jenom to, ať automaticky spouští úplně to samé, co si spouští vývojář u sebe. Taková ta zábava, kdy u vývojáře něco funguje a v CI to padá, nebo opačně, je dobrý způsob mrhání času, ale vývojáři myslím mohou dělat užitečnější věci.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 15:49:07
Wtf, vzdyt to s da v mavenu udelat tak, ze se udela <version>RELEASE</version>. To je uplne typicke, presne co jsem rial s programovanim v gradlu - vy uz byste tam bastlil na to skript.
... povysit jen urcitou subverzi ...

... build tool pada ale na localhost nepada ...

1. Dyt to muzete taky v Mavenu:

<version>[1.0,2.0)</version>
Vam bude automaticky dava posledni verzi pro 1.*

2. Pokud vam pada build v CI toolu, tak sorry ale to neznamena, ze budete neco programovat v Mavenu. To mate blbe nakonfigurovany ten vas tool. CI uz jsem konfiguroval nekolik a pokazde je na vine spatna konfigurace CI, rozhodne za to nemuze Maven - v pomku nechci mit ani jednu jedinou malou zminku ohledne CI.

3. ted uz i chapu, proc chcete do buildu davat neco z VCS - vy mate totiz zblastlene to vase CI. Rozumna CI pipeline umi ukazat, jaky commit se zrovna buildi. To je vas problem, ze to chcete programovat sam.

Delate to spatne!

Opet jsem po teto diskuzi presvedcen, ze kdo pouziva Gradle aby mohl programovat build, tak dela neco hodne spatne. Jakmile nekdo nadava na Maven, ze se v nem neda programovat, tak ja se zacnu krizovat co to proboha ten dotycny chce jit delat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tomas88 22. 03. 2020, 16:24:43
No vzhledem k tomu, ze na tuto problematiku maven vs. gradle narazim i u nas ve firme, tak mam nutkani se vyjadrit :) Gradle je samozrejme lepsi volba pro novy projekt. O tom nemam pochyby. Asi je pravda, ze je jednodusi si ten build zprasit nez s mavenem. Ale to by snad, doufam, nemelo byt relevantni kriterium. Zprasit se necha kde co. Lidi co maji tendency prasit by se k tomu vubec nemeli poustet. Namatkou treba profily v mavenu a gradlu... no, sam jsem maven jeste pred par rokama pouzival. Drive lepsi volba nebyla. Jedine co nechapu, proc vsichni enterprise javisti pouzivaji spring, ktery sam davno migroval na gradle, ale pritom urputne zustavaji na mavenu u svych projektu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 17:07:40
Asi je pravda, ze je jednodusi si ten build zprasit nez s mavenem. Ale to by snad, doufam, nemelo byt relevantni kriterium. Zprasit se necha kde co.

Vsak to rikam - to raci prejdu rovnou na Python nez Gradle. Kdyz uz se da zprasit kde co a nema to byt kriterium, tak proc vlastne vubec delat neco v Jave? :D A proc pouzivat takove silene IDE a silene frameworky jako je Spring? Kdyz zprasit se da kdeco.

A proc vubec pouzivat Python? To muzu rovnou delat v Node.js. S Node.js muzu panecku delat veci, + frontend. A prco to vubec delat OOP jak nekde v Pythonu a v Jave? Vzdyt to je zastarale, delat neco OOP. Proc to nedelat funkcionalne? A proc to nedelat cele Await/Async? Proc zbytecne vyrabet thready kdyz to k nicemu neni? Takze proc ne Node.js + babel + funkcionalni programovani? Trend jasne ukazuje, ze timto se ubira vyvoj.

Jestli se budeme zbavovat veci, protoze jsou "zastarale", a nahrazovat je vecma, ktere nic lepsiho neprinasi, tak to muzu rovnou prejit na Javascript s Node.js.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tomas88 22. 03. 2020, 17:36:48
Asi je pravda, ze je jednodusi si ten build zprasit nez s mavenem. Ale to by snad, doufam, nemelo byt relevantni kriterium. Zprasit se necha kde co.

Vsak to rikam - to raci prejdu rovnou na Python nez Gradle. Kdyz uz se da zprasit kde co a nema to byt kriterium, tak proc vlastne vubec delat neco v Jave? :D A proc pouzivat takove silene IDE a silene frameworky jako je Spring? Kdyz zprasit se da kdeco.

A proc vubec pouzivat Python? To muzu rovnou delat v Node.js. S Node.js muzu panecku delat veci, + frontend. A prco to vubec delat OOP jak nekde v Pythonu a v Jave? Vzdyt to je zastarale, delat neco OOP. Proc to nedelat funkcionalne? A proc to nedelat cele Await/Async? Proc zbytecne vyrabet thready kdyz to k nicemu neni? Takze proc ne Node.js + babel + funkcionalni programovani? Trend jasne ukazuje, ze timto se ubira vyvoj.

Jestli se budeme zbavovat veci, protoze jsou "zastarale", a nahrazovat je vecma, ktere nic lepsiho neprinasi, tak to muzu rovnou prejit na Javascript s Node.js.

Nikdo na gradle nemigruje protoze to je cool, ale protoze mu to realne prinasi spoustu vyhod ;) A jinak to co si tu popsal beru jako seznam nemyslu. Nic te pred zprasenym projektem/produktem neuchrani, kdyz na tom budou delat nekompetentni lidi co dane technologie, postupy a principy neznaji. Takze jo. Zprasit se necha kde co...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 17:46:10
Nic te pred zprasenym projektem/produktem neuchrani, kdyz na tom budou delat nekompetentni lidi co dane technologie, postupy a principy neznaji. Takze jo. Zprasit se necha kde co...

A co kdyz tech technologii budes mit 3 zadeke a kompetentni lidi, ktere je znaji, uz proste nikde nesezenes? Na tohleto Java jednou chcipne, tim jsem si jisty.

https://www.youtube.com/watch?v=Og847HVwRSI

Protoze ono na tom, jak tu lidi nadavaji na Javu, co vsechno se musi naucit za sracky, aby v tom mohli neco delat, je hodne pravdy.

Kdyz Pythonista si vystaci s Pip, tak proc by si Javista nevystacil s Mavenem. Zadny Gradle nebude, holoto bidna, az do skonani Javy!
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 18:02:29
Nestalo se nekdy na prelomu roku 2000 neco podbneho C++, kdyz ho zacali vytlacovat mentalove s Javou? :D Myslim si, ze uz brzy bude Java vytlacena taky. Zvlaste pak v dobe

PaaS -> fck off JDK
FaaS -> fck off maven, fck off gradle, fck off sofistikovane sdileni knihovnich funkci

Cloud samotny se stane vyvojou platformou a jako jazyk ti bude klidne stacit Python a Javascript. Uz nebude potrebovat vlastnost Javy vyrabet robustni servicy, protoze tuto roli zastane Cloud samotny.

Lidi sice nadavaji ze FaaS je pomaly, jako nadavali kdysi na Javu, ale to se postupne zmeni.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 18:05:31
Dyt to muzete taky v Mavenu:

<version>[1.0,2.0)</version>
Vam bude automaticky dava posledni verzi pro 1.*
Problém je v tom automaticky.

Pokud vam pada build v CI toolu, tak sorry ale to neznamena, ze budete neco programovat v Mavenu. To mate blbe nakonfigurovany ten vas tool. CI uz jsem konfiguroval nekolik a pokazde je na vine spatna konfigurace CI, rozhodne za to nemuze Maven - v pomku nechci mit ani jednu jedinou malou zminku ohledne CI.
Já zmínku o CI nechci mít vůbec nikde. CI je pro mne nástroj, který automaticky spouští úlohy buildu. Pokud musím nějak konfigurovat CI, asi mám špatný buildovací nástroj.

ted uz i chapu, proc chcete do buildu davat neco z VCS - vy mate totiz zblastlene to vase CI. Rozumna CI pipeline umi ukazat, jaky commit se zrovna buildi. To je vas problem, ze to chcete programovat sam.
Já jsem nepsal nic o zobrazování v CI. Chci mít číslo verze a číslo commitu v sestavené aplikaci, aby to uměla zobrazit ta aplikace.

Vsak to rikam - to raci prejdu rovnou na Python nez Gradle.
Už chápu ten vaše hate na Python. Vy jste se prostě něco naučil používat, a teď nenávidíte cokoli jiného, bez ohledu na skutečné kvality toho nástroje. Takže se držíte svého Springu a Mavenu a vše ostatní je špatně. Co na tom, že Gradle převzal z Mavenu vše dobré a poučil se z jeho chyb, takže je ve výsledku mnohem lepší? Jenom takovou prkotinu, jako spouštěcí wrapper, nemohl Maven vymyslet za tu spoustu let, co existuje, a teprve když s tím přišlo Gradle, najendou se to brzy objevilo i v Mavenu.

Kdyz uz se da zprasit kde co a nema to byt kriterium, tak proc vlastne vubec delat neco v Jave?
Gradle vás nenutí prasit. Naopak vás k prasení nutí Maven, protože vám dává do rukou tak slabé nástroje, že vám nezbývá, než jeho nedostatky nejrůznějším způsobem obcházet. A jakmile něco musíte obcházet, nezbývá vám, než prasit. Kdyby Maven jenom popisoval strukturu projektu, což byla původní idea, asi by vyhovoval a jeho deklarativní povaha by byla výhodou. Ale když má fungovat i jako buildovací nástroj, je prostě slabý.

Jestli se budeme zbavovat veci, protoze jsou "zastarale", a nahrazovat je vecma, ktere nic lepsiho neprinasi, tak to muzu rovnou prejit na Javascript s Node.js.
Já se zbavuju věcí, které považuju za nefunkční, když se místo nich objeví náhrada, která funguje lépe. Což je i případ Mavenu a Gradle. Maven jsem za nefunkční považoval hodně dlouho – myšlenka deklarativního popisu projektu byla skvělá, ale sám Maven jí bohužel opustil velmi brzy, ani obyčejný javovský projekt s jednou třídou nejde pomocí deklarace v Mavenu popsat kompletně. Takže pak nastupují pluginy, které ve skutečnosti od deklarace (co má být výsledkem) ustupují zpět k příkazům (jak se toho má docílit), ovšem pořád se tváří, že je to deklarativní a zapisuje se to v XML. A to prostě nefunguje. Autoři Gradlu si správně uvědomili, že každý build je jiný a je pro to potřeba dát do ruky vývojářům plnohodnotný programovací jazyk, zároveň to ale díky Groovy DSL dokázali nádherně propojit s deklarativním zápisem. Takže když se vejdete do nějakých standardních šablon, používáte deklarativní popis projektu, ale jakmile potřebujete vybočit mimo (což dříve nebo později potřebuje každý), nic vám nebrání. Dokonce ani nemusíte nic měnit, jenom se na ten původní deklarativní zápis začnete dívat jako na příkazy. Už jenom tohle propojení deklarativního a imperativního přístupu je geniální. Že prostě do toho seznamu závislostí kdykoli můžu přidat if a do něj jakoukoli podmínku chci.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 18:11:45
Takze na te strance od mavenu jsou jeste vypsany depende cies ktere to ma:
https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-sqs/1.11.690
Jenze ty dependencies budou mit dalsi dependencies, takze to si uzijes.
4. Klikni si na "Files   jar (315 KB)" a stahni si to Jarko.
Ne, to rozhodně ne.
V tom případě to lepší než pip nebude pokud bych měl dependencies rešit ručně. Dobře, takže za použítí Mavenu/Gradlu nebo nějakého Java IDE musím zkompilovat zdrojáky AWS-SDK-JAVA a vytvořit jarko a to naimportuju do mého projektu. To chápu. Takže o našeptávání se bude starat přímo to zkompilované jarko, které si nějak poradí s těmi JSON soubory (které popisují operace, které daná AWS služba podporuje)? Nebo je veškerá dokumentace uložena přímo v tom jarku? Teď jsem si všiml, že zde https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/setup-install.html#include-sdk je uvedeno:
Citace
5. (Optional) Build the API Reference documentation using the following command.
mvn javadoc:javadoc
The documentation is built into the target/site/apidocs/ directories of each service.
Takže mně bude našeptávání fungovat, až když pomocí mavenu vybuildím dokumentaci? Jsem zmaten :o

Mimochodem, v tom Gradlu si můžete snadno naprogramovat, aby se vám závislost na tom AWS SDK povýšila skriptem (ať už na ruční postrk, nebo automaticky).
Uff, tam je potřeba programovat i ruční aktualizaci AWS SDK? Tam není nějaký jednoduchý příkaz jako v pip, např. "maven/gradl -upgrade aws-sdk-java"?

LarryLin: tady je minimalni example s Mavenem, doporucuju ho otevrit v IntelliJ Idea Community:
Je to example pro sqs, ale co kdybych chtěl používat jinou službu (sns, s3, ...). To musím pokaždé ručně upravovat <dependencies> v souboru pom.xml?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 18:12:05
Nastesti jeste jsme na tom dobre, udrzme pozice jeste 20 let a bude to dobry, jeste tak 10 let potrva nez Cloud prestane byt sra cka 8)

(https://www.researchgate.net/profile/Louise_Maynard-Atem/publication/329822980/figure/fig1/AS:706080673910790@1545354159975/THE-20-MOST-POPULAR-AND-MOST-IN-DEMAND-PROGRAMMING-LANGUAGES-OF-2017.ppm)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 22. 03. 2020, 18:21:48


janjsem ti tam poslal zazipovany projekt s mavenem.

Zapomen na to ze budes mit pocatecni konfiguraci stejne jednoduchou jako s Pythonem synku, v Jave se delaji poradne veci na kterych se dela mesice, to ze jsi ztratil o hodinu vice konfiguraci projektu nikoho nezajima  8)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 19:01:45
V tom případě to lepší než pip nebude pokud bych měl dependencies rešit ručně. Dobře, takže za použítí Mavenu/Gradlu nebo nějakého Java IDE musím zkompilovat zdrojáky AWS-SDK-JAVA a vytvořit jarko a to naimportuju do mého projektu. To chápu.
Nikoli. Máte váš Javovský projekt založený na Gradle (nebo Mavenu,když se chcete trápit :-). Do otoh projektu si přidáte závislost na AWS SDK – jak na to máte popsané na té odkazované stránce https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/setup-install.html#include-sdk Zajímá vás jen ten krátký odstavec s výběrem mezi Maven a Gradle. Ta část „Compiling the SDK“ už se vás netýká, ta je pro případ, kdy byste SDK chtěl kompilovat ze zdrojáků.

Přidáním té závislosti do Gradle nebo Mavenu se stáhne příslušné JARko (přeložený Java kód)z Maven repository, stejně tak se stáhnou případné závislosti. IDE si to JARko proleze, zaindexuje a na základě toho pak napovídá. Nápověda může být zkompilovaná v samostatném JARku, pokud je k dispozici, IE si ho stáhne také a pak vám přímo v IDE může zobrazovat i tu nápovědu. To je ale nad rámec našeptávání – je to člověkem psaná dokumentace metod, parametrů apod.

Takže o našeptávání se bude starat přímo to zkompilované jarko, které si nějak poradí s těmi JSON soubory (které popisují operace, které daná AWS služba podporuje)?
V tom statickém JARku už jsou nadefinované třídy, které můžete použít – podle nich IDE napovídá. O převod z JSON souborů do těch tříd už se musel postarat autor toho JARka.

Takže mně bude našeptávání fungovat, až když pomocí mavenu vybuildím dokumentaci? Jsem zmaten :o
Našeptávání funguje rovnou na základě kódu (ať zdrojového nebo zkompilovaného v class souborech).

Uff, tam je potřeba programovat i ruční aktualizaci AWS SDK? Tam není nějaký jednoduchý příkaz jako v pip, např. "maven/gradl -upgrade aws-sdk-java"?
Takovýhle příkaz tam není. Rozdíl je totiž v tom, že v případě pipu si stáhnete ten balíček lokálně a dál pracujete s ním. A to pip -upgrade vám prostě přepíše ty soubory na souborovém systému. Maven i Gradle ale fungují tak, že jenom řeknete, jaký balíček se má používat – a zbytek už je starost buildovacího systému (případně IDE). On to nakonec také stáhne někam na disk, ale to se děje na pozadí. Hlavně ale ta deklarace závislosti nemusí být tak jednoduchá – může být podmíněná, nemusí tam být uvedená verze natvrdo ale nepřímo třeba pomocí proměnné. Takže příkaz pro aktualizaci závislosti by často nevěděl, co má kde upravit, aby se ve výsledku změnila ta verze závislosti.

On to ale většinou nebývá problém, vydávání nové verze každý den je specialita Amazonu…

Maven i Gradle jsou v tomhle flexibilnější, nemožnost udělat takhle jednoduše upgrade je daň za tu flexibilitu. Třeba můžete mít firemní bezpečnostní tým, který bude nové verze knihoven auditovat. Tím pádem nebude chtít brát nové verze z internetu, ale z toho auditu. Maven i Gradle vám to umožní. V Gradle napíšete skript na pár řádek, v Mavenu vytáhnete čísla verzí do nějakého externího souboru, který budete aktualizovat něčím jiným, než Mavenem (nebo do Mavenu napíšete plugin).

Je to example pro sqs, ale co kdybych chtěl používat jinou službu (sns, s3, ...). To musím pokaždé ručně upravovat <dependencies> v souboru pom.xml?
Ano. Ale IntelliJ Idea k tomu zase hezky napovídá, případně když chcete použít třídu z balíčku, který nemáte v závislostech, sama nabídne to přidání do závislostí. Je to stejné, jako kdybyste upravoval packages.json pro NPM. Osobně mi ta editace souboru připadá lepší, než přidávat závislosti přes příkazovou řádku – v tom souboru rovnou vidím, jaké další závislosti tam mám, takže třeba rovnou vidím, že už tam mám jinou knihovnu ze stejného projektu, tak se postarám o to, abych je měl ve stejných verzích.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 19:10:29

janjsem ti tam poslal zazipovany projekt s mavenem.
viděl jsem, proto jsem se ptal jak je to s těma dependencies v pom.xml.


Zapomen na to ze budes mit pocatecni konfiguraci stejne jednoduchou jako s Pythonem synku, v Jave se delaji poradne veci na kterych se dela mesice, to ze jsi ztratil o hodinu vice konfiguraci projektu nikoho nezajima  8)
To už mi došlo. Nejdřív mi mazali med kolem huby jak je Java jednodušší než Python a nakonec jsem zjistil, že dokud to všechno nezbuilduju, nenainstuluji Maveny a nenaprogramuji aktualizaci aws-sdk-java, tak mi našeptávání nepojede ani náhodou.  :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 19:33:08

Dík za vysvětlení.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 22. 03. 2020, 22:10:16
To už mi došlo. Nejdřív mi mazali med kolem huby jak je Java jednodušší než Python a nakonec jsem zjistil, že dokud to všechno nezbuilduju, nenainstuluji Maveny a nenaprogramuji aktualizaci aws-sdk-java, tak mi našeptávání nepojede ani náhodou.  :)
Buildovat knihovny opravdu nemusíte. Ve světě Javy si sám buildujete knihovnu jedině v případě, že na ní potřebujete aplikovat nějaký hotfix.

IntelliJ Idea má v sobě i JDK i Maven, takže kromě IntelliJ Idea už nic dalšího instalovat nemusíte :-)

Stejně tak nemusíte programovat aktualizaci AWS SDK – předpokládám, že tam nedělají zpětně nekompatibilní změny, že jenom rozšiřují API. Takže prostě použijete aktuální verzi, a povýšit na novou verzi můžete v okamžiku, až budete potřebovat nějaké novější API, které ve vaší verzi není, nebo prostě jednou za čas, třeba až budete připravovat nový vývojový cyklus vaší aplikace. To naprogramování automatické aktualizace jsem uváděl jako příklad, co se také dá řešit. Ale AWS SDK je těmi každodenními releasy výjimečné, takže je logické, že zrovna na tohle není ekosystém Javy optimalizovaný.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 23:36:39
@Filip Jirsák:
Jsem rád, že jsem se dozvěděl jak to funguje ve světě Javy, někdy se může hodit, ale třeba u menších projektů hostovaných na AWS Lambda mně nedává smysl dát přednost Javě namísto Pythonu. V naší diskuzi jsem pro takové projekty žádnou přednost Javy nenašel, právě naopak. U větších projektů je to otázka, kde by hrálo roli více faktorů, ale kdyby bylo dostatek vývojářů GoLangu a já se rozhodoval z pozice zákazníka, tak by padla volba na něj - šíření ve strojovém kódu a nemuset šířit své zdrojáky považuji za obrovské plus.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 22. 03. 2020, 23:42:40
Nastesti jeste jsme na tom dobre, udrzme pozice jeste 20 let a bude to dobry, jeste tak 10 let potrva nez Cloud prestane byt sra cka 8)

(https://www.researchgate.net/profile/Louise_Maynard-Atem/publication/329822980/figure/fig1/AS:706080673910790@1545354159975/THE-20-MOST-POPULAR-AND-MOST-IN-DEMAND-PROGRAMMING-LANGUAGES-OF-2017.ppm)
Možná sis našel graf schválně z roku 2017 kde ještě vládla Java, ale za poslední 3 roky se toho hošku hodně změnilo. Posledních pár sekund videa ti jako antiPythonistovi neudělá radost :) a jelikož se bude stále více rozšírovat ML kde vládne Python, tak se připrav že ještě hodně poroste.
Most Popular Programming Languages 1965 - 2020 - youtube (https://www.youtube.com/watch?v=YqxeLodyyqA)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Filip Jirsák 23. 03. 2020, 08:38:25
Jsem rád, že jsem se dozvěděl jak to funguje ve světě Javy, někdy se může hodit, ale třeba u menších projektů hostovaných na AWS Lambda mně nedává smysl dát přednost Javě namísto Pythonu. V naší diskuzi jsem pro takové projekty žádnou přednost Javy nenašel, právě naopak. U větších projektů je to otázka, kde by hrálo roli více faktorů, ale kdyby bylo dostatek vývojářů GoLangu a já se rozhodoval z pozice zákazníka, tak by padla volba na něj - šíření ve strojovém kódu a nemuset šířit své zdrojáky považuji za obrovské plus.
Souhlasím, já v současné době také nevidím důvod, proč používat Javu na AWS Lambda. Snad s jedinou výjimkou – už bych měl kód napsaný a jenom bych ho potřeboval spouštět pod Lambdou. Ale už i to dneska jde a před rokem by to bylo nemyslitelné.

Věřím tomu, že i tady se pozice Javy ještě zlepší. Ideální by bylo, kdyby Amazon začal v Lambdě Javu podporovat nativně – tj. měl by už nastartované JVM, ve kterých by se jen spouštěly příslušné lambdy.

Jinak pokud máte jeden menší projekt a programátory, kteří znají Python nebo Go, nedává smysl psát to v Javě. Výhoda Javy je tom velkém ekosystému – ať si vymyslíte cokoli, pro Javu na to najdete minimálně jednu, ale spíš víc knihoven. Python je na tom v tomhle směru také docela dobře, ale Go je prostě příliš mladé a těch knihoven je malinko. Další výhoda toho ekosystému je to, že má široký záběr, můžete psát od velkých monolitů (když nějaký máte, ve kterém je hromada kódu, který musíte dál podporovat) až po mikroslužby nebo teď už i Lambdy (i když to zatím není ideální). Opět – pokud budete psát jeden malý projekt, neoceníte to.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 23. 03. 2020, 10:02:59
Z diskuse jsem si odnesl dva poznatky, PetrK ma nejakou poruchu osobnosti a prostredi javy je jeste horsi, nez jsem si myslel. Ze je java i spatny jazyk, jsem uz vedel. Ze je Python na vrcholu zebricku Tiobe je zajimave, ja s Pythonem zqcinal, kdyz prechazel z verze 1 na 2 a to byl docela neznamy jazyk. Je to ohromujici rust a to tim nejlepsim zpusobem, je to rust zdola, rust kvalitou, nestoji za nim zadna obri korporace, ktera by ho manazersky tlacila. Ale tu oblibenost chapu, hrozne pohodlne se v tom programuje, me se take nechce v nicem jinem delat, byt ten tlak na JS je take dost silny.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 23. 03. 2020, 10:21:33
Stejně to za pár let zase opadne a Python nahradí jiný jazyk...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 23. 03. 2020, 10:52:15
Stejně to za pár let zase opadne a Python nahradí jiný jazyk...

I kdyby, Java to nebude.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 23. 03. 2020, 10:56:52
Z diskuse jsem si odnesl dva poznatky, PetrK ma nejakou poruchu osobnosti a prostredi javy je jeste horsi, nez jsem si myslel. Ze je java i spatny jazyk, jsem uz vedel. Ze je Python na vrcholu zebricku Tiobe je zajimave, ja s Pythonem zqcinal, kdyz prechazel z verze 1 na 2 a to byl docela neznamy jazyk. Je to ohromujici rust a to tim nejlepsim zpusobem, je to rust zdola, rust kvalitou, nestoji za nim zadna obri korporace, ktera by ho manazersky tlacila. Ale tu oblibenost chapu, hrozne pohodlne se v tom programuje, me se take nechce v nicem jinem delat, byt ten tlak na JS je take dost silny.

Mám to podobně - s Pythonem někdy od verze 1.5. Líbí se mi ale třeba i Julia a co můžu (v rámci zatím osobních projektů, utilitek a testů), dělám v Rustu. Pythonu IMO teď nejvíc překáží v rozletu GIL, chystám se experimentovat s rust-cpythonem a některými možnostmi paralelizace, které někde na Rootu uváděl kolega A.P.Hacker.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 23. 03. 2020, 17:20:05
Stejně to za pár let zase opadne a Python nahradí jiný jazyk...

I kdyby, Java to nebude.

Bude to Javascript ;)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 23. 03. 2020, 17:29:46
Stejně to za pár let zase opadne a Python nahradí jiný jazyk...
To je mozne, ja vysokou popularitu Pythonu k nicemu nepotrebuji, pouzival jsem ho bez problemu i kdyz nebyl tak znamy. A musim se pochvalit, dneska jsem se v pythonu naucil ovladat IE a posilat z nej skrz POST soubory i kdyz je atribut input_file.value jen pro cteni. Pres vysokou popularitu pythonu k tomu stejne nikde neni navod a musel jsem si na to prijit sam.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 23. 03. 2020, 18:37:05
Z diskuse jsem si odnesl dva poznatky, PetrK ma nejakou poruchu osobnosti a prostredi javy je jeste horsi, nez jsem si myslel. Ze je java i spatny jazyk, jsem uz vedel. Ze je Python na vrcholu zebricku Tiobe je zajimave, ja s Pythonem zqcinal, kdyz prechazel z verze 1 na 2 a to byl docela neznamy jazyk. Je to ohromujici rust a to tim nejlepsim zpusobem, je to rust zdola, rust kvalitou, nestoji za nim zadna obri korporace, ktera by ho manazersky tlacila. Ale tu oblibenost chapu, hrozne pohodlne se v tom programuje, me se take nechce v nicem jinem delat, byt ten tlak na JS je take dost silny.

Mám to podobně - s Pythonem někdy od verze 1.5. Líbí se mi ale třeba i Julia a co můžu (v rámci zatím osobních projektů, utilitek a testů), dělám v Rustu. Pythonu IMO teď nejvíc překáží v rozletu GIL, chystám se experimentovat s rust-cpythonem a některými možnostmi paralelizace, které někde na Rootu uváděl kolega A.P.Hacker.
To zase já jsem po letech místo Pythonu začal používat Luu (na své projekty). Syntaxe a schopnosti jsou podobné, jen je menší, snad i rychlejší (neměřil jsem). Možná je to jen pocit, ale prostě všechny ty vlastnosti, které má Python navíc mě vůbec nelákají, a věci, které mi v Lue schází, tak zase Python taky nemá, tak co.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 23. 03. 2020, 18:40:50
To zase já jsem po letech místo Pythonu začal používat Luu (na své projekty). Syntaxe a schopnosti jsou podobné, jen je menší, snad i rychlejší (neměřil jsem). Možná je to jen pocit, ale prostě všechny ty vlastnosti, které má Python navíc mě vůbec nelákají, a věci, které mi v Lue schází, tak zase Python taky nemá, tak co.

Mně tam vadí, pokud se něco nezměnilo, možnost pracovat buď jenom s floaty nebo jenom s inty. To mi přijde jako výsměch.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 23. 03. 2020, 22:51:44
Jak udelam v pythonu:

Kód: [Vybrat]
const getImportantPhoneNumbers = users => {
  return users.filter(u => u.kozy > 3)
    .filter(u => u.iq > 100)
    .flatMap(u => u.phoneNumbers)
    .filter((num, index, nums) => nums.indexOf(num) == index);
}

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 24. 03. 2020, 16:10:25
Nikdo se neodvazi? Jde to vubec v pythonu udelat? :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 24. 03. 2020, 16:34:20
Nikdo se neodvazi? Jde to vubec v pythonu udelat? :D

Napis, co to ma delat, nikdo tu nema zajem lustit Tvoji pseudoseznamku v Lua.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Jiří Havel 24. 03. 2020, 16:50:25
Nikdo se neodvazi? Jde to vubec v pythonu udelat? :D

Napis, co to ma delat, nikdo tu nema zajem lustit Tvoji pseudoseznamku v Lua.
Tak to ti nejspíš nenapíše. Vždyť to ani nedává smysl. :D Napřed získá holý seznam telefonních čísel a pak se ho snaží filtrovat jako jakýsi seznam trojic.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 24. 03. 2020, 17:07:34
Tvl to jsou programatori tohletoto... Nejprve jim nevoni Java, a pak ani nepochopi supereasy priklad.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 24. 03. 2020, 17:19:16
Tak to ti nejspíš nenapíše. Vždyť to ani nedává smysl. :D Napřed získá holý seznam telefonních čísel a pak se ho snaží filtrovat jako jakýsi seznam trojic.

V zavislosti na strukture ulozene v tom seznamu nebo nejake obskurnosti v Lua to neco delat muze, ale bez rozumneho zadani at si to strci do korporatu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 24. 03. 2020, 17:27:13
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 24. 03. 2020, 18:46:31
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Jiří Havel 24. 03. 2020, 18:59:21
Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
No já jsem spíš Haskeller než Pythonista. Taže o sprostých slovech na M, A nebo i F vím svoje. Ten speciální filter nemá s monády vlastně nic až tak zásadně společného. A zrovna ten Haskell který ty monády proslavil má filter bez téhle vychytávky.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 24. 03. 2020, 19:00:16
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tak v zájmu všech doufám, že ho spousta Javistů umí líp než ty.  ::)

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)

Hm, ono to v té Javě předtím nešlo?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 24. 03. 2020, 19:11:19
Tvl to jsou programatori tohletoto... Nejprve jim nevoni Java, a pak ani nepochopi supereasy priklad.
Je videt, ze nejsi programator. Todle je nadherna ukazka toho, jak se programovat nema, nikdy :-).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Zabanovaný Anonymní Troll 24. 03. 2020, 19:37:58
Tvl to jsou programatori tohletoto... Nejprve jim nevoni Java, a pak ani nepochopi supereasy priklad.
Je videt, ze nejsi programator. Todle je nadherna ukazka toho, jak se programovat nema, nikdy :-).

To je javascript synku, jeste se mas hodne co ucit  ;)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 24. 03. 2020, 19:47:11
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
Tydlencty "monady" mame v Pythonu odjakziva.

Kód: [Vybrat]
from dataclasses import dataclass
from functools import reduce
from typing import List

@dataclass
class Contact:
    kozy: int
    iq: int
    phoneNumbers: List[str]


CONTACTS = [
    Contact(
        kozy = 2,
        iq = 100,
        phoneNumbers = [
            '123456789',
        ],
    ),
    Contact(
        kozy = 4,
        iq = 150,
        phoneNumbers = [
            '113456789',
            '133456789',
        ],
    ),
    Contact(
        kozy = 5,
        iq = 130,
        phoneNumbers = [
            '113456789',
            '213456789',
        ],
    ),
]

if __name__ == '__main__':
    numbers = set(
        reduce(
            (lambda x, y: x + y), [
                c.phoneNumbers
                for c in CONTACTS
                if c.kozy > 3 and c.iq > 100
            ], []
        )
    )
    print(numbers)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 24. 03. 2020, 20:47:19
Tvl to jsou programatori tohletoto... Nejprve jim nevoni Java, a pak ani nepochopi supereasy priklad.
Je videt, ze nejsi programator. Todle je nadherna ukazka toho, jak se programovat nema, nikdy :-).
To je javascript synku, jeste se mas hodne co ucit  ;)
O tom rec neni, rec je o tom, ze takhle programuje prase, nikoliv programator.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 24. 03. 2020, 20:54:14
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
Tydlencty "monady" mame v Pythonu odjakziva.
Ja bych mu to neukazoval, imho to ma za domaci ukol a neumi si s tim poradit.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 24. 03. 2020, 22:11:47
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
Tydlencty "monady" mame v Pythonu odjakziva.

Kód: [Vybrat]
from dataclasses import dataclass
from functools import reduce
from typing import List

@dataclass
class Contact:
    kozy: int
    iq: int
    phoneNumbers: List[str]


CONTACTS = [
    Contact(
        kozy = 2,
        iq = 100,
        phoneNumbers = [
            '123456789',
        ],
    ),
    Contact(
        kozy = 4,
        iq = 150,
        phoneNumbers = [
            '113456789',
            '133456789',
        ],
    ),
    Contact(
        kozy = 5,
        iq = 130,
        phoneNumbers = [
            '113456789',
            '213456789',
        ],
    ),
]

if __name__ == '__main__':
    numbers = set(
        reduce(
            (lambda x, y: x + y), [
                c.phoneNumbers
                for c in CONTACTS
                if c.kozy > 3 and c.iq > 100
            ], []
        )
    )
    print(numbers)


to reduce bije do očí. Proč používáte reduce pro sčítání (spojování), když to stejné dělá sum, případně itertools.chain?


Kód: [Vybrat]
numbers = set(
        sum((c.phoneNumbers for c in CONTACTS if c.kozy > 3 and c.iq > 100), [])
)

ještě drobnost, když už používáte reduce, funkce pro běžné operace jsou v knihovně operators, místo (lambda x, y: x + y), můžete použít operators.add. Lambdy jsou antipattern.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: listoper 24. 03. 2020, 22:40:00
Jak udelam v pythonu:

Kód: [Vybrat]
const getImportantPhoneNumbers = users => {
  return users.filter(u => u.kozy > 3)
    .filter(u => u.iq > 100)
    .flatMap(u => u.phoneNumbers)
    .filter((num, index, nums) => nums.indexOf(num) == index);
}


Pokud jsem spravne pochopil ucel programu dovolim si navrhnout 2 optimalizace.
1) pridat filter na heterosexualni zeny
2) otocit podminku na IQ - ty chytry te chtit nebudou
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 24. 03. 2020, 22:51:06
K čemu je tam ta sčítací lambda či ta sum?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 24. 03. 2020, 22:55:49
K čemu je tam ta sčítací lambda či ta sum?

v pythonu se listy spojuji operaci scitani, funkce sum secte prvky listu

Kód: [Vybrat]
>>> sum([[1],[2, 3]], [])
[1, 2, 3]
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Roma_CZ 25. 03. 2020, 00:04:31
Jak udelam v pythonu:

Kód: [Vybrat]
const getImportantPhoneNumbers = users => {
  return users.filter(u => u.kozy > 3)
    .filter(u => u.iq > 100)
    .flatMap(u => u.phoneNumbers)
    .filter((num, index, nums) => nums.indexOf(num) == index);
}

Takhle se da v Pythonu prasit taky
Kód: [Vybrat]
def get_important_phone_numbers(users):
return list(filter(lambda x: x["vozy"] > 3 and
x["iq"] > 100 and not
x.update({'cisla': list(set(x['cisla']))}), users))
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 25. 03. 2020, 05:41:53

to reduce bije do očí. Proč používáte reduce pro sčítání (spojování), když to stejné dělá sum, případně itertools.chain?


Kód: [Vybrat]
numbers = set(
        sum((c.phoneNumbers for c in CONTACTS if c.kozy > 3 and c.iq > 100), [])
)

ještě drobnost, když už používáte reduce, funkce pro běžné operace jsou v knihovně operators, místo (lambda x, y: x + y), můžete použít operators.add. Lambdy jsou antipattern.

Ano, diky za vylepseni, pane kolego; sum() je asi nejelegantnejsi a chain() nejprehlednejsi a ano, list comprehension je tam zbytecny (jak neuvadis, ale v kodu jsi to prepsal na generator expression).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 25. 03. 2020, 05:51:30
K čemu je tam ta sčítací lambda či ta sum?

v pythonu se listy spojuji operaci scitani, funkce sum secte prvky listu

Kód: [Vybrat]
>>> sum([[1],[2, 3]], [])
[1, 2, 3]

Cili obdoba operace flatMap() - ze seznamu cisel jednotlivych ucastnic udela jeden seznam. Tohle mi v tom puvodnim JS kodu bylo jasne na prvni pohled, ale ten pochybny zpusob vylouceni duplicit by se mi lustit nechtelo. Vsadil bych se, ze to JavaScript taky umi lip, jinak by to bylo smutne.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: redustin 25. 03. 2020, 09:01:36
Z mého pohledu si ten kód pro distinct v JS a hack se sum řešící flatMap v pythonu nemají co vyčítat, obojí je maximálně nepřehledné.

Mimochodem stačí se podívat, jaký je výkon toho hacku se sum https://stackoverflow.com/a/45323085

Funkce, která u jednoúrovňového číselného seznamu vrátí jedno číslo (jejich součet), u jednoúrovňového nečíselného seznamu hodí chybu, u víceúrovňového s libovolnými hodnotami sníží level o jeden, to opravdu nepovažuji za bezpečného kandidáta pro flatMap. Obzvláště když pythonní proměnná akceptuje cokoliv.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 25. 03. 2020, 09:27:51
Funkce, která u jednoúrovňového číselného seznamu vrátí jedno číslo (jejich součet), u jednoúrovňového nečíselného seznamu hodí chybu, u víceúrovňového s libovolnými hodnotami sníží level o jeden, to opravdu nepovažuji za bezpečného kandidáta pro flatMap. Obzvláště když pythonní proměnná akceptuje cokoliv.

Zapominas na kontext - ten kod "flatMapu" (pokud bereme muj priklad po prepisu na sum()) jednoznacne prohrabava List[List[str]], prazdny vstup resi ten 2. parametr funkce sum(). Naprosto bezpecne a verifikovatelne statickou analyzou. Kdyz budes chtit obecnejsi reseni, pouzijes itertools.chain(), pokud budes chtit resit obecne zplosteni, muzes pouzit deepflatten() z toho odkazu. Ale my jsme myslim takhle obecne resit problem nechteli, slo o to ukazat padawanum, ze Python tyhle veci (pro rychle pouziti) hrave zvlada.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 25. 03. 2020, 11:02:57
Z mého pohledu si ten kód pro distinct v JS a hack se sum řešící flatMap v pythonu nemají co vyčítat, obojí je maximálně nepřehledné.

Mimochodem stačí se podívat, jaký je výkon toho hacku se sum https://stackoverflow.com/a/45323085

Funkce, která u jednoúrovňového číselného seznamu vrátí jedno číslo (jejich součet), u jednoúrovňového nečíselného seznamu hodí chybu, u víceúrovňového s libovolnými hodnotami sníží level o jeden, to opravdu nepovažuji za bezpečného kandidáta pro flatMap. Obzvláště když pythonní proměnná akceptuje cokoliv.

me to prijde srozumitelne. soucet listu je jejich spojeni.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 25. 03. 2020, 11:45:42
Mimochodem stačí se podívat, jaký je výkon toho hacku se sum https://stackoverflow.com/a/45323085

sum je stejne pomale jako reduce, vytvari novy list pro kazde spojeni. chtel jsem ukazat, jak nahradit reduce s operaci scitani. jinak urcite lepsi pouzivat itertools.chain
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 26. 03. 2020, 00:24:50
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
Tydlencty "monady" mame v Pythonu odjakziva.
Monády jsou pro malé děti, pro profíka jsou triády.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 26. 03. 2020, 01:36:19
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
Tydlencty "monady" mame v Pythonu odjakziva.
Monády jsou pro malé děti, pro profíka jsou triády.
Počkej, počkej, já jsem zatím teprve u diád... Takhle ty profíky nikdy nedoženu. Kruci, zatr, krám!
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: oksoft 31. 03. 2020, 21:56:00
Rust
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 31. 03. 2020, 23:20:24
Rust
A je už použitelný? Před pár lety o něm pan Tišnovský psal: Samotný jazyk se navíc ještě poměrně aktivně vyvíjí, přičemž se nejedná jen o nějaké kosmetické úpravy (přejmenování funkce ze základní knihovny či přidání parametru do funkce), ale mnohdy o zásadní změny v syntaxi i sémantice. Z tohoto důvodu budou všechny příklady spolehlivě pracovat na verzi 1.11. Když ho doporučuješ pro windows, jak si rozumí s winapi a COM?
Název: Dalsi kiks v Pythonu!!!
Přispěvatel: Zabanovaný Anonymní Troll 01. 04. 2020, 00:58:30
Dalsi kiks v Pythonu, a uz me ta platforma fakt zacina stvat.

SQLAlchemy.
Zaprve, pekne voskliva a komplikovana knihovna.
Zadruhe, i malinke dite vi, ze proste nemuzu v ramci takove knihovny naimplementovat jakousi agregaci modelovych trid pres inheritanci!!! Tohle by v Jave byla naprosta prasarna a juniorska skolacka chyba! Jenze ouha, Python nema Interfacy a v dobe vzniku SQLAlchemy nemel beztak jeste ani Dekoratory, co??? Fuj!

Kód: [Vybrat]
from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///sales.db', echo= True)
Base = declarative_base()


class Stock(Base):
    __tablename__='stock'
    id = Column(Integer, primary_key=True)
    ticker = Column(String)
    date = Column(DateTime)
    price = Column(Integer)


Base.metadata.create_all(engine)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: oksoft 01. 04. 2020, 01:01:35
Rust
A je už použitelný? Před pár lety o něm pan Tišnovský psal: Samotný jazyk se navíc ještě poměrně aktivně vyvíjí, přičemž se nejedná jen o nějaké kosmetické úpravy (přejmenování funkce ze základní knihovny či přidání parametru do funkce), ale mnohdy o zásadní změny v syntaxi i sémantice. Z tohoto důvodu budou všechny příklady spolehlivě pracovat na verzi 1.11. Když ho doporučuješ pro windows, jak si rozumí s winapi a COM?
Zase pravda, že když chce člověk něco pořádného dělat (Racket, i nějaké to pořádné GUI) je třeba mít nightly verzi.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 01. 04. 2020, 01:39:40
Rust
A je už použitelný? Před pár lety o něm pan Tišnovský psal: Samotný jazyk se navíc ještě poměrně aktivně vyvíjí, přičemž se nejedná jen o nějaké kosmetické úpravy (přejmenování funkce ze základní knihovny či přidání parametru do funkce), ale mnohdy o zásadní změny v syntaxi i sémantice. Z tohoto důvodu budou všechny příklady spolehlivě pracovat na verzi 1.11. Když ho doporučuješ pro windows, jak si rozumí s winapi a COM?
Zase pravda, že když chce člověk něco pořádného dělat (Racket, i nějaké to pořádné GUI) je třeba mít nightly verzi.
Ja se na jazyky nedokazu divat jinym pohledem, nez jak ma prakticky prinos v produkcnim prostredi, jak je realne pouzitelny. A z tohoto pohledu z tech novych jazyku je aspon trochu pouzitelny asi jen go. Z tech o neco starsich pak C#, Python a Javascript. Smysl tech ostatnich jazyku, krom akademickych, nechapu. Pokud je tu dotaz, jaky jazyk pro windows, pak predpokladam, ze tazatele zajimaji jazyky, ktere jsou vhodne do produkcniho prostredi. Imho by kazdy programator mel dnes slusne znat C, C# nebo Javu (kdo cili na windows spise to C#) a Python nebo JS. To je takova svata trojice.
Název: Re:Dalsi kiks v Pythonu!!!
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 01. 04. 2020, 01:53:31
ze proste nemuzu

proc?
Název: Re:Dalsi kiks v Pythonu!!!
Přispěvatel: qelurg 01. 04. 2020, 01:58:27
Dalsi kiks v Pythonu, a uz me ta platforma fakt zacina stvat.

SQLAlchemy.
Zaprve, pekne voskliva a komplikovana knihovna.
Zadruhe, i malinke dite vi, ze proste nemuzu v ramci takove knihovny naimplementovat jakousi agregaci modelovych trid pres inheritanci!!! Tohle by v Jave byla naprosta prasarna a juniorska skolacka chyba! Jenze ouha, Python nema Interfacy a v dobe vzniku SQLAlchemy nemel beztak jeste ani Dekoratory, co??? Fuj!

Kód: [Vybrat]
from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///sales.db', echo= True)
Base = declarative_base()


class Stock(Base):
    __tablename__='stock'
    id = Column(Integer, primary_key=True)
    ticker = Column(String)
    date = Column(DateTime)
    price = Column(Integer)


Base.metadata.create_all(engine)
Dalsi tvuji kiks, i male dite vi, ze nema pouzivat import *. Co se tyce osklivosti, cely koncept ORM je hloupy a osklivy. ORM je imho jen dusledek pristupu "neumim databaze a nechce se mi to ucit ani zaplatit odbornika". Takze s trochou nadsazky, je to reseni od patlalu pro patlaly. A vzhledem k urovni OOP v jave, to co je prasarna v tomto jazyku, nemusi byt prasarna v jinem. Bez ohledu na tuto knihovnu, se kterou jsem nikdy nedelal a ani nebudu a neposuzuji ji. Jestli hodlas python pouzivat jako javu, nikdy nebudes spokojeny, python neni java, v pythonu musis myslet jinak, odvolavam se na principy DRY a KISS.
Název: Re:Dalsi kiks v Pythonu!!!
Přispěvatel: Zabanovaný Anonymní Troll 01. 04. 2020, 02:05:37
Dalsi tvuji kiks, i male dite vi, ze nema pouzivat import *. Co se tyce osklivosti, cely koncept ORM je hloupy a osklivy. ORM je imho jen dusledek pristupu "neumim databaze a nechce se mi to ucit ani zaplatit odbornika". Takze s trochou nadsazky, je to reseni od patlalu pro patlaly. A vzhledem k urovni OOP v jave, to co je prasarna v tomto jazyku, nemusi byt prasarna v jinem. Bez ohledu na tuto knihovnu, se kterou jsem nikdy nedelal a ani nebudu a neposuzuji ji. Jestli hodlas python pouzivat jako javu, nikdy nebudes spokojeny, python neni java, v pythonu musis myslet jinak, odvolavam se na principy DRY a KISS.
[/quote]

Nonsense.
1. I male dite vi, ze frajer pouzije ORM pokud muze, protoze mu to snizuje bordel v kodu.
2. Co je DRY a KISS na tom, ze si potom nemuzu z instance te modelove tridy vygenerovat Dictionary? Java to ma mnohem vice DRY a KISS nez tady ten Python.
Název: Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: Zabanovaný Anonymní Troll 01. 04. 2020, 02:10:44
Takze tohle uz je posledni vec, kterou me nastval Python. Prohlasuju, ze v Pythonu je VETSI BORDEL nez v Javascriptu. Dictionary v Pythonu nezachovava order klicu!!! A ne, nebudu se stvat s OrderedDict.

Takze kdyz si pri vyvoji microservices prevedu JSON na Dict, tak potom zpetne prevod Dict na JSON mi negarantuje order => bordel.

Takze tohleto je konecna. Prace s JSONem je v Pythonu totalni vopruz. Ja jsem chtel Python na rychlou vyrobu microservices, ale v porovnani s Node.js se Python proste nechyta.

Python je proste rokama zabordeleny jazyk. A nema zadne batteries included. To co je ve standarni knihovne je +- podobna slabota, jako to co ma Java v SDK. Stejne se vsechno musi dotahovat z vnejsich zdroju. A nekompatibilita mezi verzema Pythonu navic stejne nuti pouzivart virtual environment.

Bohuzel. Python je dobry tak leda pro nejake ty "data science" bastlire. Jinak je i skoda Python nekde zavadet - zbytecna otrava. Bash skripty to efektivne nahradit nedokaze, a na Node.js se to nechyta.
Název: Re:Dalsi kiks v Pythonu!!!
Přispěvatel: qelurg 01. 04. 2020, 02:20:13
Dalsi tvuji kiks, i male dite vi, ze nema pouzivat import *. Co se tyce osklivosti, cely koncept ORM je hloupy a osklivy. ORM je imho jen dusledek pristupu "neumim databaze a nechce se mi to ucit ani zaplatit odbornika". Takze s trochou nadsazky, je to reseni od patlalu pro patlaly. A vzhledem k urovni OOP v jave, to co je prasarna v tomto jazyku, nemusi byt prasarna v jinem. Bez ohledu na tuto knihovnu, se kterou jsem nikdy nedelal a ani nebudu a neposuzuji ji. Jestli hodlas python pouzivat jako javu, nikdy nebudes spokojeny, python neni java, v pythonu musis myslet jinak, odvolavam se na principy DRY a KISS.

Nonsense.
1. I male dite vi, ze frajer pouzije ORM pokud muze, protoze mu to snizuje bordel v kodu.
2. Co je DRY a KISS na tom, ze si potom nemuzu z instance te modelove tridy vygenerovat Dictionary? Java to ma mnohem vice DRY a KISS nez tady ten Python.
[/quote]
1) Frajer mozna, zkuseny programator se tomu instinktivne vyhyba, protoze je to AntiPattern: https://www.zdrojak.cz/clanky/orm-je-antipattern/ Jestli bez ORM neumis napsat nezabordeleny kod, tvu jproblem.
2) DRY a KISS se vztahuje k dedicnosti a intrfacum, kdy nevyhodu vydavas za vyhodu. Aniz bych posuzoval tu knihovnu a snazil se rozklicovat, zda je chyba v tobe nebo v ni, knihovna neni Python. Jdes na vsechno desne blbe blbe.
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: qelurg 01. 04. 2020, 02:30:29
Takze tohle uz je posledni vec, kterou me nastval Python. Prohlasuju, ze v Pythonu je VETSI BORDEL nez v Javascriptu. Dictionary v Pythonu nezachovava order klicu!!! A ne, nebudu se stvat s OrderedDict.

Takze kdyz si pri vyvoji microservices prevedu JSON na Dict, tak potom zpetne prevod Dict na JSON mi negarantuje order => bordel.

Takze tohleto je konecna. Prace s JSONem je v Pythonu totalni vopruz. Ja jsem chtel Python na rychlou vyrobu microservices, ale v porovnani s Node.js se Python proste nechyta.

Python je proste rokama zabordeleny jazyk. A nema zadne batteries included. To co je ve standarni knihovne je +- podobna slabota, jako to co ma Java v SDK. Stejne se vsechno musi dotahovat z vnejsich zdroju. A nekompatibilita mezi verzema Pythonu navic stejne nuti pouzivart virtual environment.

Bohuzel. Python je dobry tak leda pro nejake ty "data science" bastlire. Jinak je i skoda Python nekde zavadet - zbytecna otrava. Bash skripty to efektivne nahradit nedokaze, a na Node.js se to nechyta.

Neni to bordel, jenom si hrajes s ostry nozem, ktery ti nepatri do ruky. Python je na tebe moc tezky, nemas na nej. Nepristupujes k nemu s pokorou, myslis si ze z Javy vsechno znas a umis a leda houby, Python se nepouziva jako Java.

Dict je zakladni datova struktura Pythonu, ktreou pouziva vsude, na jejim vykonu proto podstatne zalezi vykon Pythonu. Zachovavani poradi neni zadarmo a pritom vetsinou neni potreba. Proto Python poskytuje ordered i neordered dict. Ty jsi trubka, ktera to nevi, a pak se divi, ze pouziva spatnou datovou strukturu, tj. ma navrzeny spatny datovy model a pak breci, ze musi predelavat pulku programu. To je tvoje vlastni neschponost, python je jednoduchy, ale ne blbuvzdorny, to prave naopak. A muzu ti garantovat, ze at pouzijes jakykoliv jazyk, treba i v Haskell, vzdycky narazis, kdyz nebudes znat jeho datove typy.
Název: Re:Dalsi kiks v Pythonu!!!
Přispěvatel: Zabanovaný Anonymní Troll 01. 04. 2020, 02:32:33
1) Frajer mozna, zkuseny programator se tomu instinktivne vyhyba, protoze je to AntiPattern: https://www.zdrojak.cz/clanky/orm-je-antipattern/ Jestli bez ORM neumis napsat nezabordeleny kod, tvu jproblem.
2) DRY a KISS se vztahuje k dedicnosti a intrfacum, kdy nevyhodu vydavas za vyhodu. Aniz bych posuzoval tu knihovnu a snazil se rozklicovat, zda je chyba v tobe nebo v ni, knihovna neni Python. Jdes na vsechno desne blbe blbe.

"Zkuseny" skripter v Ruby se tak mozna ORM vyhyba. V celem tom clanku neni jedina zminka treba o tom, jak ti Hibernate pomaha zajistit, aby instance modelovych trid byly thread safe, coz je extremne dulezita vec, kterou kdyz si musis zajistovat sam, tak je to totalni opruz.

Vy totiz v Pythonu (a dalsich skriptovacich jazycich) nemate ORM udelane tak poradne, jako my v Jave, a to je je ten problem tohoto vyplakavani.

ORM navic neni berlicka pro blbecky co neumi ani SQL. ORM je pro zkusene programatory. Hibernate drasticky redukuje mnozstvi kodu a bordelu v aplikaci.

Dalsi nonsense v tom clanku je zpochybnovani relacnich databazi. Relacni databaze predstavuje 1:1 (!!!) vztah mezi objekty v OO jazyce a podobou jejich perzistence (narozdil od NoSQL, ktera tento vztah NEZACHOVAVA). ORM je KISS pro praci s objekty.

To, ze si u ORM delam i svoje SQL dotazy, neni nic proti nicemu. Vseobecne jedna se o clanek napsany beztak nejakym skriptovacem, ktery nema ani poradne tooly a standardy vyvoje.

My v Jave mame i svoje vlastni objektove databaze, ktere ale moc nepouzivame, protoze jsou Java-specific. Pouzivame univerzalnejsi SQL databaze, ktere sice vyzaduji ORM vrstvu a dalsi opruzy, ale zato jsou standardni. Jiank bychom si v Jave taky mohli ukladat objekty a pracovat s nima bez nejakeho ORM.
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: MartinK 01. 04. 2020, 09:59:34
Dictionary v Pythonu nezachovava order klicu!!! A ne, nebudu se stvat s OrderedDict.

Fascinuje me, jak casto lide s minimalnimi zkusenostmi, znalostmi a schopnostmi maji zaroven vysoke sebevedomi a nedostatek pokory. Jen takove zamysleni, jinak se ale u tvych prispevku dobre bavim (na tvuj ucet ;)

Jinak poradi klicu je zachovane od Pythonu 3.6 (jako "implementation detail", cca rok 2016) a garantovane od Pythonu 3.7 https://mail.python.org/pipermail/python-dev/2017-December/151283.html
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 01. 04. 2020, 10:11:19
Mas to napsane v clanku,: Článek je volně přeložen z anglického originálu ORM is an anti-pattern, který napsal Laurie Voss (technický vedoucí awe.sm, dříve např. Yahoo! Widgets) a vydal ho na svém blogu pod licencí CC-BY-NC-SA.

original: https://seldo.com/posts/orm_is_an_antipattern

Laurie Voss: Laurie Voss is npm’s CTO. Laurie has over 15 years of experience building web services at scale, including 4 years at Yahoo. He and I perfected our lunchtime banter on the Yahoo! Apps team. Most recently, Laurie led the technical team at Awe.sm. He brings deep experience with databases, analytics, and mission critical infrastructure services.

Není to názor jednoho člověka, problém s ORM má kde kdo.
https://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html
https://www.eversql.com/i-followed-hibernate-orm-to-hell-and-came-back-alive-to-tell-about-it/

Ano, dělá to něco automaticky za tebe, pro tebe je to dobrý. Ale ORM to nedělá dobře a ani nemůže, dokud za ním nebude stát dobrá AI, nesloží to kvalitní SQL dotaz. Není to dobré obecně, a už vůbec pro relační databáze.

Naši databázoví experti ORM upřímně nesnáší, mluví o DOS útoku z jeho strany. Čím složitější jsou data, tím je to horší, zátěž vzrůstá exponenciálně, to je špatně. Pro patlala je to dobrý, pro big data nikoliv.

ORM neumí pořádně využívat možnosti databází, neumí je to používat efektivně a nejde jen o výkon. Databáze mají mnoho skvělých specifických featur, nejen pro výkon, ale třeba i datovou bezpečnost, ORM z toho nic nepoužívá a ani nemůže. ORM je obecné a degraduje databázi v primitivní úložiště. Proč potom ale nepoužívat rovnou primitivní úložiště, proč platít za databázi a tu nechat zahlcovat nesmyslnými dotazy, že?

Trefné přirovnání pro ORM je, že používt ORM je jako jezdit do deset km vzdáleného obchodu autem pro každý rohlík zvlášť. Že neumíš používat transakce je hezké, ale ORM je také efektivně používat neumí. Kvalitní SQL dotazy a transakce jsou přitom klíček k efektivitě. Výsledkem ORM jsou aplikace, kde zadáš dotaz a nudíš se, než ti aplikace dodá výsledek. Přitom ta databáze má maximálně několik milionů záznamů a tvůj dotaz je jednoduchý, odezva by měla být v milisekundách a místo toho je v desítkách sekund.

Tam kde se ORM jakž takž hodí, tj na primitivní věci malého rozsahu, tam nepotřebuješ databázi a kde ji potřebuješ, tam se nehodí ORM, protože ji neumí z větší části používat a kde ji používat umí, neumí to z větší části efektivně. Proto je to antipattern.

Není zas tak složité přistupovat k databázi přímo bez prostředníka, naučit se SQL, na jednoduché věci je SQL jednoduché. A komplexnější věci ti navrhne a efektivně udělá db specialista přes vlžené procedury a trigerry. Kde je proti tomu ORM? Kdybys SQL uměl, pomůže ti to i v té Javě a tyto znalosti bys pak skvěle využil i v Pythonu. Místo toho marníš čas tím, že se neefektivně pro každé prostředí zvlášť učíš rozumět antipatternu. ORM je typický podukt bloatware, ale to ti vyhovuje, na tom je postavena tvoje zkušenost, se kterou si pochvaluješ, jak ti IDE generuje samo kód.

BTW naučilo se už Hibernate alespoň používat multiple inserty?
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: Filip Jirsák 01. 04. 2020, 10:17:07
Dictionary v Pythonu nezachovava order klicu!!!
Zatímco Map v Javě – nezachovává pořadí klíčů. Jak překvapivé. Ona to je totiž režie navíc, přitom u většiny způsobů použití mapy/slovníku zachovávat pořadí klíčů nepotřebujete.

My v Jave mame i svoje vlastni objektove databaze, ktere ale moc nepouzivame, protoze jsou Java-specific. Pouzivame univerzalnejsi SQL databaze, ktere sice vyzaduji ORM vrstvu a dalsi opruzy, ale zato jsou standardni. Jiank bychom si v Jave taky mohli ukladat objekty a pracovat s nima bez nejakeho ORM.
Pokud to nebyl pluralis majestatis, pište sám za sebe. Spousta věcí, co píšete, nemá nic společného s tím, co je programátory v Javě obecně přijímané.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: alex6bbc 01. 04. 2020, 10:53:48
 :D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ByCzech 01. 04. 2020, 11:08:26
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)

Medici z psychiatrie tu chodí získávat praxi  ;D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Karmelos 01. 04. 2020, 11:13:57
Doporučuji ČOBOL.
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: redustin 01. 04. 2020, 11:14:33
Pokud to nebyl pluralis majestatis, pište sám za sebe. Spousta věcí, co píšete, nemá nic společného s tím, co je programátory v Javě obecně přijímané.

Tak nějak
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: Zabanovaný Anonymní Troll 01. 04. 2020, 11:34:37
Dictionary v Pythonu nezachovava order klicu!!!
Zatímco Map v Javě – nezachovává pořadí klíčů. Jak překvapivé. Ona to je totiž režie navíc, přitom u většiny způsobů použití mapy/slovníku zachovávat pořadí klíčů nepotřebujete.

My v Jave mame i svoje vlastni objektove databaze, ktere ale moc nepouzivame, protoze jsou Java-specific. Pouzivame univerzalnejsi SQL databaze, ktere sice vyzaduji ORM vrstvu a dalsi opruzy, ale zato jsou standardni. Jiank bychom si v Jave taky mohli ukladat objekty a pracovat s nima bez nejakeho ORM.
Pokud to nebyl pluralis majestatis, pište sám za sebe. Spousta věcí, co píšete, nemá nic společného s tím, co je programátory v Javě obecně přijímané.

1. Map v Jave je interface, a kdyz do ni das LinkedHashMap, coz ti udela Jackson, tak to mas ordered. To bys mohl vedet.
JSON zachovava poradi klicu, a proto kdyz mam knihovnu ktera deserializuje JSON, tak to MUSI TA KNIHOVNA ctit.

2. 90% pripadu vyvoje nejake komplexnejsi service je klasicka Databazove orientovana komponenta, porad dokolecka, uz poslednich 20 let prinejmensim. Nejvice skody vznika akorat tim, ze to programatori porad nejsou schopni pochopit a snazi se delat jakesik custom reseni a akorat to dojebou.
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: linuxak 01. 04. 2020, 11:52:21
JSON zachovava poradi klicu, a proto kdyz mam knihovnu ktera deserializuje JSON, tak to MUSI TA KNIHOVNA ctit.

Kam na ty nesmysly chodíš? Co takhle si přečíst třeba JSON standard (https://www.json.org/json-en.html)?

An object is an unordered set of name/value pairs.
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: Zabanovaný Anonymní Troll 01. 04. 2020, 12:22:17
JSON zachovava poradi klicu, a proto kdyz mam knihovnu ktera deserializuje JSON, tak to MUSI TA KNIHOVNA ctit.

Kam na ty nesmysly chodíš? Co takhle si přečíst třeba JSON standard (https://www.json.org/json-en.html)?

An object is an unordered set of name/value pairs.

No tak jsem se spletl no, my v Jave mame json odjakziva ordered, nikdo neni zvedavy na to aby se mu v logach prehazovala poradi atributu 8)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Konšpirátor Rešpirátor 01. 04. 2020, 13:23:44
Existuje programovací jazyk ČOBOL, ktorý vymysleli starí Slováci v 50. - 60. rokoch a pod týmto jazykom idú stále skoro všetky bankové systémy. A banky sa ho nechcú zbaviť, aj keď je starý a primitívny a existujú už lepšie jazyky, pretože systémy sú odladené a stabilné. Keď sa do programu pridávajú nové veci, aj keď sú to vylepšenia, je vysoká pravdepodobnosť, že sa tam zanesú aj nové chyby. Austrália prešla na nové bankové systémy a stálo ju to neskutočné prostriedky. Máme na to a to ešte k tomu v čase, keď sa tu tlačí ešte väčší blud ako kresťanstvo - islam?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 01. 04. 2020, 13:46:48
Tenhle hnus je nějaká forma unique nebo distinct?

.filter((num, index, nums) => nums.indexOf(num) == index)

Ano, to je unique, a neni to Lua, ale Javascript - to je takovy ten jazyk, ktery brzo prevalcuje Python, a ktera ma dneska spousta Javistu v zaloze :D

Tvl tady Pythonisti ani neznaji monady, a pritom my to v Jave pouzivame uz od verze 1.8  8)
Tydlencty "monady" mame v Pythonu odjakziva.
Monády jsou pro malé děti, pro profíka jsou triády.
Počkej, počkej, já jsem zatím teprve u diád... Takhle ty profíky nikdy nedoženu. Kruci, zatr, krám!
Všeho do času ;)
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: qelurg 01. 04. 2020, 14:45:25
JSON zachovava poradi klicu, a proto kdyz mam knihovnu ktera deserializuje JSON, tak to MUSI TA KNIHOVNA ctit.

Kam na ty nesmysly chodíš? Co takhle si přečíst třeba JSON standard (https://www.json.org/json-en.html)?

An object is an unordered set of name/value pairs.

No tak jsem se spletl no, my v Jave mame json odjakziva ordered, nikdo neni zvedavy na to aby se mu v logach prehazovala poradi atributu 8)

Problem je, ze ty se pletes porad, protoze vlastne nic neumis. Ty jsi uzivatel IDE, ktere ti generuje kod a vsechno ti neustale napovida a bez toho jsi uplne ztraceny.
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: Jiří Havel 01. 04. 2020, 15:06:40
JSON zachovava poradi klicu, a proto kdyz mam knihovnu ktera deserializuje JSON, tak to MUSI TA KNIHOVNA ctit.

Kam na ty nesmysly chodíš? Co takhle si přečíst třeba JSON standard (https://www.json.org/json-en.html)?

An object is an unordered set of name/value pairs.

No tak jsem se spletl no, my v Jave mame json odjakziva ordered, nikdo neni zvedavy na to aby se mu v logach prehazovala poradi atributu 8)
Tak jsem se schválně koukl do dokumentace. A třeba takový JsonObject je jednoznačně unordered. :D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 01. 04. 2020, 17:02:52
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)
Název: Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
Přispěvatel: ByCzech 01. 04. 2020, 17:36:05
my v Jave

By mě docela zajímalo, kdo jsou to ti "my v Javě", "my Javisti", "my softwaroví inženýři" ap., které neustále PetrK zmiňuje. Jestli on si totiž jen nemyká - my jeho veličenstvo PetrK Narcis I.  ;D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 02. 04. 2020, 01:53:07
Existuje programovací jazyk ČOBOL, ktorý vymysleli starí Slováci
  ;D
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 02. 04. 2020, 10:04:29
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Jiří Havel 02. 04. 2020, 10:27:33
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.
Akorát že tohle jsou úplně jiné ordered mapy.

Ta c++ ordered mapa řadí prvky podle operátoru porovnání. Ve chvíli, kdy máme unordered mapu, tak už má ta ordered jen minimální využití. Vůbec bych se nedivil, pokud Pythonistům nijak zvlášť nechyběla.

Ta mapa, která PetroviK tak moc chyběla, prvky neřadí. Akorát drží pořadí, v jakém se do ní prvky vkládaly. V c++ nic takového nemáme (šlo by samozřejmě udělat) a zatím mi to nikdy nechybělo. Opět se vůbec nedivím, že se bez ní Pythonisti bez problémů obejdou.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 02. 04. 2020, 10:30:13
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.

To je asi stejne inteligentni prohlaseni, jako ze Python ma multiple inheritance od sameho zacatku a Java porad nic.

Krome toho, ze tuhle zridka uzitecnou vec si v Pythonu snadno naimplementujes, existuji dost dlouho implementace tretich stran, napr. tahle z roku 2010: https://pypi.org/project/blist/1.2.0/
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ByCzech 02. 04. 2020, 10:56:14
Akorát že tohle jsou úplně jiné ordered mapy.

Ta c++ ordered mapa řadí prvky podle operátoru porovnání. Ve chvíli, kdy máme unordered mapu, tak už má ta ordered jen minimální využití. Vůbec bych se nedivil, pokud Pythonistům nijak zvlášť nechyběla.

Ta mapa, která PetroviK tak moc chyběla, prvky neřadí. Akorát drží pořadí, v jakém se do ní prvky vkládaly. V c++ nic takového nemáme (šlo by samozřejmě udělat) a zatím mi to nikdy nechybělo. Opět se vůbec nedivím, že se bez ní Pythonisti bez problémů obejdou.

Přesně! Nechybí a obejdou. Pod to se můžu podepsat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 02. 04. 2020, 11:17:06
Akorát že tohle jsou úplně jiné ordered mapy.

Ta c++ ordered mapa řadí prvky podle operátoru porovnání. Ve chvíli, kdy máme unordered mapu, tak už má ta ordered jen minimální využití. Vůbec bych se nedivil, pokud Pythonistům nijak zvlášť nechyběla.

Ta mapa, která PetroviK tak moc chyběla, prvky neřadí. Akorát drží pořadí, v jakém se do ní prvky vkládaly. V c++ nic takového nemáme (šlo by samozřejmě udělat) a zatím mi to nikdy nechybělo. Opět se vůbec nedivím, že se bez ní Pythonisti bez problémů obejdou.

Přesně! Nechybí a obejdou. Pod to se můžu podepsat.

Mne prijde dost nestastne to, ze to poradi kllcu v novejsich verzich Pythonu vubec vyhlasili za garantovane - to znamena, ze kazda alternativni implementace bude muset poradi drzet nebo to nejaky nestastnik vyuzije a po pripadnem prechodu na jinou implementaci poradi klicu prestane fungovat a program bude mit tezko vysvetlitelne problemy. Ale diskusi k tomu jsem nesledoval, tak netusim, koho a proc tahle vec vubec napadla.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 02. 04. 2020, 11:31:45
Akorát že tohle jsou úplně jiné ordered mapy.

Ta c++ ordered mapa řadí prvky podle operátoru porovnání. Ve chvíli, kdy máme unordered mapu, tak už má ta ordered jen minimální využití. Vůbec bych se nedivil, pokud Pythonistům nijak zvlášť nechyběla.

Ta mapa, která PetroviK tak moc chyběla, prvky neřadí. Akorát drží pořadí, v jakém se do ní prvky vkládaly. V c++ nic takového nemáme (šlo by samozřejmě udělat) a zatím mi to nikdy nechybělo. Opět se vůbec nedivím, že se bez ní Pythonisti bez problémů obejdou.

Přesně! Nechybí a obejdou. Pod to se můžu podepsat.

Mne prijde dost nestastne to, ze to poradi kllcu v novejsich verzich Pythonu vubec vyhlasili za garantovane - to znamena, ze kazda alternativni implementace bude muset poradi drzet nebo to nejaky nestastnik vyuzije a po pripadnem prechodu na jinou implementaci poradi klicu prestane fungovat a program bude mit tezko vysvetlitelne problemy. Ale diskusi k tomu jsem nesledoval, tak netusim, koho a proc tahle vec vubec napadla.

Nevím jestli je to nešťastné, ale je to imho zbytečné. Rozhodně doporučuji se na to nespoléhat. Pokud budu potřebovat zaručený order dict, použiji OrderDict a to právě s ohledem na kompatibilitu jak se staršími verzemi, tak různými klony a transkompilátory a kdo ví čím ještě. Také viz json a další serializátory, které to nemusí zachovat. Jestli to udělali za cenu nižšího výkonu, a obávám se že jo, tak je to rozhodnutí spíše pitomé než dobré. Vzniká tím akorát další pitfall pro začátečníky, takže nejlepší je považovat dict stéle za unordered a podle toho se také chovat.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 02. 04. 2020, 11:37:16
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.
Akorát že tohle jsou úplně jiné ordered mapy.

Ta c++ ordered mapa řadí prvky podle operátoru porovnání. Ve chvíli, kdy máme unordered mapu, tak už má ta ordered jen minimální využití. Vůbec bych se nedivil, pokud Pythonistům nijak zvlášť nechyběla.

Ta mapa, která PetroviK tak moc chyběla, prvky neřadí. Akorát drží pořadí, v jakém se do ní prvky vkládaly. V c++ nic takového nemáme (šlo by samozřejmě udělat) a zatím mi to nikdy nechybělo. Opět se vůbec nedivím, že se bez ní Pythonisti bez problémů obejdou.
V Pythonu je k dispozici OrderedDict, někdy se to hodí, takže v něm opravdu nechybí. Tomu blábolovi vadilo, že ordered není (nebyl) i běžný dict. Bouře ve sklenici vody, akorát si vyléval si na Pythonu zlost za vlastní neschopnost.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 02. 04. 2020, 11:42:09
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.

To je asi stejne inteligentni prohlaseni, jako ze Python ma multiple inheritance od sameho zacatku a Java porad nic.

Krome toho, ze tuhle zridka uzitecnou vec si v Pythonu snadno naimplementujes, existuji dost dlouho implementace tretich stran, napr. tahle z roku 2010: https://pypi.org/project/blist/1.2.0/
Tak hlavne je tento datovy typ k dispozici v modulu collections, kde jsou i dalsi specialni kontejnery jako deque, namedtuple, nebo defaultdict. https://docs.python.org/2/library/collections.html#ordereddict-objects

https://docs.python.org/2/library/collections.html#ordereddict-objects
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 02. 04. 2020, 12:47:57
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)
Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.

Tak pán to nemínil globálně, ale na ten konkrétní případ, kde data putují skrze několik datových reprezentací a ordered je pouze v pythonu, kterému jako jedinému to bylo vyčítáno, že to neumí :-).

A ten map z C++ je přece něco úplně jiného. Schválně, zkus v něm udělat tohle:

Kód: [Vybrat]
>>> d = {}
>>> d[3] = 'trojka'
>>> d['trojka'] = 3
>>> d[(3, 'trojka')] = 'prekvapeni'
>>> d
{3: 'trojka', 'trojka': 3, (3, 'trojka'): 'prekvapeni'}
>>> for k, v in d.items():
...     print(type(k), type(v))
...
<class 'int'> <class 'str'>
<class 'str'> <class 'int'>
<class 'tuple'> <class 'str'>

Když je řeč o tom co kdo od kdy umí, který datový kontejner v C++ tohle bez dalšího umí a ty s ním dovedeš předvést ekvivalentní ukázku?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 02. 04. 2020, 14:06:56
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 02. 04. 2020, 14:46:52
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 02. 04. 2020, 15:02:57
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)
To není o vzdělání, to je o egu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 02. 04. 2020, 15:05:30
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)

Ano, vzdělání mají kvalitní, ale výsledky mnohdy mizerné.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 02. 04. 2020, 15:13:01
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)

Ano, vzdělání mají kvalitní, ale výsledky mnohdy mizerné.
No a už jste teda nějak rozsekli ? Jestli Python nebo Java, dynamické nebo statické typování a ty mapy, nebo o čem je tu teď řeč ?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 02. 04. 2020, 15:17:42
No a už jste teda nějak rozsekli ? Jestli Python nebo Java, dynamické nebo statické typování a ty mapy, nebo o čem je tu teď řeč ?

Tady bylo nějaké konkrétní zadání, tzn. jednou provždy zavrhnout Javu nebo ji nechat žít? Flame war je flame war, tam k žádnému rozseknutí ani dojít nemůže.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 02. 04. 2020, 15:20:35
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)

Zase si pleteš vzdělání s papírem?  ::)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 02. 04. 2020, 15:21:38
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)
To není o vzdělání, to je o egu.
Možná, ale ego v kombinaci s Dunning-Krugerovým efektem vede k tomu, co je tady na fóru. Kdyby bylo fórum jen pro absolventy VŠ, tak to k blití nebude a diskuse by byla přínosná, nebo aspoň slušná.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 02. 04. 2020, 15:27:18
Možná, ale ego v kombinaci s Dunning-Krugerovým efektem vede k tomu, co je tady na fóru. Kdyby bylo fórum jen pro absolventy VŠ, tak to k blití nebude a diskuse by byla přínosná, nebo aspoň slušná.

No, Idrisi, vzhledem k tomu, že jsem absolvoval VŠ s titulem Ing., si snad mohu dovolit říct, že si s tím svým vzděláním (či papírem) docela fandíš a děláš z něj zbytečný fetiš. Nejagresivnější a nejtrapnější účastník tohoto vlákna o sobě tvrdí, že VŠ vzdělání má a víš co? Já mu to klidně i věřím! Zamindrákovaných asociálů s červeným diplomem by se našlo také asi víc než dost.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 02. 04. 2020, 16:47:40
Možná, ale ego v kombinaci s Dunning-Krugerovým efektem vede k tomu, co je tady na fóru. Kdyby bylo fórum jen pro absolventy VŠ, tak to k blití nebude a diskuse by byla přínosná, nebo aspoň slušná.
tvrdí, že VŠ vzdělání má
Tak tvrdit může. Jak taky můžu tvrdit, že mám na Floridě vilu s bazénem a v garáži vedle sebe Porsche a Corvettu. Akorát nevím, proč bych to dělal.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 02. 04. 2020, 16:52:04
asociálů s červeným diplomem by se našlo také asi víc než dost.
To je možné, ale aspoň by nepsali vyložené kraviny z odborného hlediska.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 02. 04. 2020, 17:20:25
asociálů s červeným diplomem by se našlo také asi víc než dost.
To je možné, ale aspoň by nepsali vyložené kraviny z odborného hlediska.

Ty si to fakt myslíš, co?  :o
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 02. 04. 2020, 17:30:25
asociálů s červeným diplomem by se našlo také asi víc než dost.
To je možné, ale aspoň by nepsali vyložené kraviny z odborného hlediska.

Ty si to fakt myslíš, co?  :o

Tak víš jak. Jedna věc je mít názor, klidně debilní. Další věc je bejt drsnej, nebo neurvalej. Ale demagogie kterou tu někteří provozujou je na mě už fakt moc. Je to děsně otravný.

Osobně to považuju za neduh nemoderovaných diskusí. Kdokoliv může přijít, a napsat cokoliv. Zlo/nekvalita je vždycky silnější.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Cikáda 02. 04. 2020, 17:42:06
asociálů s červeným diplomem by se našlo také asi víc než dost.
To je možné, ale aspoň by nepsali vyložené kraviny z odborného hlediska.

Ty si to fakt myslíš, co?  :o

Tak víš jak. Jedna věc je mít názor, klidně debilní. Další věc je bejt drsnej, nebo neurvalej. Ale demagogie kterou tu někteří provozujou je na mě už fakt moc. Je to děsně otravný.

To je pravda, ale pořád jde takové lidi ingorovat. A nebo to prostě vyvrátit a zbytečně se nehádat. Ono asi není náhodou, že po svém posledním přešlapu, ten softwarový inženýr mlčí.

Osobně to považuju za neduh nemoderovaných diskusí.


Ale fórum moderované je...

Kdokoliv může přijít, a napsat cokoliv. Zlo/nekvalita je vždycky silnější.

Jo, jenže filtrace by taky moc nepomohla. Nakonec by to skončilo třeba tak, že by tu byla parta pseudoelitářů typu Idris, kteří by se vzájemně ve své velikosti plácali po ramenou a ostatním nadávali do odpadu. To si člověk nevybere. :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 02. 04. 2020, 17:55:10
asociálů s červeným diplomem by se našlo také asi víc než dost.
To je možné, ale aspoň by nepsali vyložené kraviny z odborného hlediska.

Ty si to fakt myslíš, co?  :o

Tak víš jak. Jedna věc je mít názor, klidně debilní. Další věc je bejt drsnej, nebo neurvalej. Ale demagogie kterou tu někteří provozujou je na mě už fakt moc. Je to děsně otravný.

To je pravda, ale pořád jde takové lidi ingorovat. A nebo to prostě vyvrátit a zbytečně se nehádat.
Demagogie nejde vyvrátit. Ale jinak souhlas. Nemá smysl, protože z toho nic užitečného nevzejde.


Osobně to považuju za neduh nemoderovaných diskusí.


Ale fórum moderované je...

Fakt?  ???


Kdokoliv může přijít, a napsat cokoliv. Zlo/nekvalita je vždycky silnější.
Jo, jenže filtrace by taky moc nepomohla. Nakonec by to skončilo třeba tak, že by tu byla parta pseudoelitářů typu Idris, kteří by se vzájemně ve své velikosti plácali po ramenou a ostatním nadávali do odpadu. To si člověk nevybere. :)

Možná. Můžeš mít pravdu. Nejsem schopen posoudit. Z builder.cz jsem měl dobrou zkušenost. Nevím, zda tam byli elitáři, ale když se někdo zeptal, tak dostal erudovanou a funkční odpověď.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 02. 04. 2020, 18:24:37
Nevím, zda tam byli elitáři, ale když se někdo zeptal, tak dostal erudovanou a funkční odpověď.
Ono nejde o “elitu” (ať tím trollové myslí cokoliv), ale o 1) znalosti a 2) slušnost. Když je fórum plné nesmyslů a nadávek, tak je o ničem a přínos je nula. Normální člověk se chce ideálně něco nového dozvědět, to mu ale to bahno lezoucí z trollů znemožní. Možná to bez tvrdé moderace nejde, nevím, třeba Stackoverflow nebo Reddit si obsah hlídají.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 02. 04. 2020, 18:29:05
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)

Ano, vzdělání mají kvalitní, ale výsledky mnohdy mizerné.
No a už jste teda nějak rozsekli ? Jestli Python nebo Java, dynamické nebo statické typování a ty mapy, nebo o čem je tu teď řeč ?

Něco takového rozsekávat je z principu nesmysl. Já to vidím tak, že preference programovacího jazyka je dána způsobem myšlení člověka. Je to jako preference politické strany. Z nějakého prostředí vzejdeš a to tě (zde)formuje tak, že už jinak myslet nedokážeš. Změna myšlení je těžká věc, mnozí to nedokážou ani když za to zaplatí životem. Takže tu máme spoustu staticky myslících programátorů, kteří čelí čím dál větší konkurenci ze strany dynamických jazyků, se kterými si nerozumí a rozumět nemohou. Jejich nika aplikačního programování se jim třeba přesouvá na web, kde vládne Javascript. I do dalších oblastí dynamické jazyky pronikají, jim se zmenšuje jejich teritorium, začínají být přežití a je na ně vyvíjen tlak, aby začaly používat ty krásné nové mladé a v ledasčem i blbé dynamické jazyky. To je podobné jako s mnohými frustrovanými důchodci, které nikdo nepotřebuje, protože svět se mění příliš rychle a jejich zkušenosti jsou zbytečné, nikdo o ně nestojí a tomu novému zase nerozumí oni. Takže chápu, že si vylévají svou zlost a nadávají všem okolo, i když se u toho zesměšňují pro vlastní neschopnost.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 02. 04. 2020, 18:41:42
asociálů s červeným diplomem by se našlo také asi víc než dost.
To je možné, ale aspoň by nepsali vyložené kraviny z odborného hlediska.

Ty si to fakt myslíš, co?  :o

Tak víš jak. Jedna věc je mít názor, klidně debilní. Další věc je bejt drsnej, nebo neurvalej. Ale demagogie kterou tu někteří provozujou je na mě už fakt moc. Je to děsně otravný.

Osobně to považuju za neduh nemoderovaných diskusí. Kdokoliv může přijít, a napsat cokoliv. Zlo/nekvalita je vždycky silnější.
A co ti brání chodit jen do těch moderovaných? Je zajímavý, jak tady neustále naříkáš a přitom jsi ukázkový samolibý troll :-). Ani by mě nepřekvapilo, že ta tzv. demagogie je sebeklam, kterým si obhajuješ svou neschopnost argumentovat proti nepohodlným názorům, nedej bože i faktům. Označit něco nepohodlného za demagogii je běžná úniková reakce, je to způsob jak se vyhnout o tom přemýšlet, je to způsob sebeobrany mozku před změnou myšlení. Pravda a láska zvítězí nad lží a nenávistí, říkal jeden nevzdělaný prezident. Ten současný, vzdělaný, mluví jinak. Tolik můj příspěvek k nesmyslné adoraci vzdělání.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 02. 04. 2020, 19:27:37
Myslím, že se témata jako tohle vždy zvrhnou a člověk se z nich většinou nic kloudného nedozví nebo dozví, ale informace jsou ztracené ve velkém množství šumu, protože tady chybí nějaká sekce "zábava", kde by takové žabo-myší války mezi Pythonisty a Javisty mohly probíhat bez moderování a témata mimo "zábavu" by mohly být přísněji moderované.

Taky mám dojem, že tady témata vznikají hodně nasilu jako kdyby měl zakládání témat někdo v pracovní náplni. Kdysi jsem se s podobným názorem setkal i na Ábíčku, prý si tady Rooťáci povídají sami pro sebe. Tak jak to je, jsou tady opravdu nějací "placení" nebo "na revanš" aktivisti? :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 02. 04. 2020, 21:03:35
Nevím, zda tam byli elitáři, ale když se někdo zeptal, tak dostal erudovanou a funkční odpověď.
Ono nejde o “elitu” (ať tím trollové myslí cokoliv), ale o 1) znalosti a 2) slušnost. Když je fórum plné nesmyslů a nadávek, tak je o ničem a přínos je nula. Normální člověk se chce ideálně něco nového dozvědět, to mu ale to bahno lezoucí z trollů znemožní. Možná to bez tvrdé moderace nejde, nevím, třeba Stackoverflow nebo Reddit si obsah hlídají.

Tak nějak. Já třeba nadávky a aroganci dokážu přežvejkat, když je to vykoupený hodnotou. V opačném případě bahno je dobrý popis.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 10:55:02
Něco takového rozsekávat je z principu nesmysl. Já to vidím tak, že preference programovacího jazyka je dána způsobem myšlení člověka. Je to jako preference politické strany. Z nějakého prostředí vzejdeš a to tě (zde)formuje tak, že už jinak myslet nedokážeš. Změna myšlení je těžká věc, mnozí to nedokážou ani když za to zaplatí životem. Takže tu máme spoustu staticky myslících programátorů, kteří čelí čím dál větší konkurenci ze strany dynamických jazyků, se kterými si nerozumí a rozumět nemohou. Jejich nika aplikačního programování se jim třeba přesouvá na web, kde vládne Javascript. I do dalších oblastí dynamické jazyky pronikají, jim se zmenšuje jejich teritorium, začínají být přežití a je na ně vyvíjen tlak, aby začaly používat ty krásné nové mladé a v ledasčem i blbé dynamické jazyky. To je podobné jako s mnohými frustrovanými důchodci, které nikdo nepotřebuje, protože svět se mění příliš rychle a jejich zkušenosti jsou zbytečné, nikdo o ně nestojí a tomu novému zase nerozumí oni. Takže chápu, že si vylévají svou zlost a nadávají všem okolo, i když se u toho zesměšňují pro vlastní neschopnost.

V branzi se pohybuju dlouha leta.
Borlivy rozvoj Computer Science skonicl nekdy kolem roku 2000, neberte me presne za slovo s tim rokem, hranice neni ostra, tim myslim realne nasazeni, koncepty a akademicke implementace byly mnohem driv, streba Smalltalk.
Branze se stabilizovala, stejne jak uz nikdo nevymysli nic prevratneho v pripade vyroby oceli nebo vyroby aut se spalovacimi motory. A dokud vsichni pojedeme na Von Numannovych pocitacich, bude to tak i nadale, zmeni to az fundamentalni zmena zakladu, v pripade aut je to napr. elektromobil.
Od roku 2000 jsem v branzi zaznamenal tyto dilci zmeny:
1. snizeni tlaku na optimalizaci programu, HW je levny, programator drahy
2. paralelizace, kazdy telefon ma dneska osmijadro
3. cloud a microservices
4. Big data a machine learning - to je ale trochu jiny sport bokem
5. Obrovsky kvantitativni rozmach IT, IT je naprosto vsude, je potreba o rad vice IT pracovniku, a z hlediska IQ bell curve jejich IQ a schopnosti v prumeru silne klesaji.

Posledni paty bod ma IMHO na branzi nejvetsi dopad.
Vznika fenomen, ktery jsem si pojmenoval "milenialni jasavy blb" (dale MJB) 

MJB je presvedcen, ze preference jazyka je cosi na zpusob volby politicke strany. Ja si myslim, ze je lepsi vymontovat na aute dekl olejoveho filtru gola orechem 27, nez to ozvykavat instalaterskym hasakem, tedy zvolit vhodny nastroj pro dane pouziti. Osobne pouzivam nejcasteji Javu a Python, Javu pro urdzovatelne veci s delsim zivotnim cyklem, Python pro jednoucelove udelatka.

Dopad fenomenu MJB je celkovy dumbing-down branze.
Treba WSDL web services. WSDL umoznuje elegantne definovat semantickou konzistenci uz na urovni transportu. Dejte definovat WSDL nejakemu MJB, vysledkem je shluk String<0..n>. A cely smysl WSDL jde do zadi, pak je samozrejme lepsi pouzivat REST/JSON, odpada WSDL rezie a vysledek je stejny. WSDL je kvuli celkovemu dumbigu branze mrtva technologie.
Nebo zde probirana dichotomie staticke vs dynamicke typovani. MJB se naucil Python a na zaklade pouceni od panu Dunninga a Krugera timto pozral salamounovo hovno. Me osobne sice neni jasne, jako ma vyhodu v pripade funkce vypoctu obsahu rectangle(a,b) predat "a" jako string a "b" jako byte array a pak to jak u debilu na dvorku uvnitr funkce kontrolovat, kdo a co mi to vlastne poslal, ale budiz. MJB je presvedcen, ze je toto velika vyhoda. Duvodem je to cituji "krásné nové mladé". Nove jako Python, co je starsi nez java a co je funkcni obdobou starickeho Perlu. A proto, ze je to takova obri vyhoda, proto ze do Pythonu dobastuje typinkg module a vznikl Typescript.

MJB je presvedcen, ze odpor proti dumbing-down je cosi ve stylu frustrovanych duchdcu. Ale kdeze, ja milerad svihnu javou o schody, kdyz vznikne _NECO_LEPSIHO_!!! A ze ve vyhledu (mluvim o pragmatickych mainstream jazycich) nic neni, mozna snad nekdy .Net Core. OMG, vydavat nechut psani long-lifecycle propramy v bastlu, kde se privatni metody znackujou prefixem "__", a atributy objektu se generuji v ramci konstruktoru, za zhrzene duchodce, boze rozboze.

MJB ma obecne velice maly rozhled, duvedem je mmj i nynejsi silny tlak na vysledky. Rychle to upras pomoci cut'n'paste ze Stack Overflow, hlavne si o te technologii nic necti, to zdrzuje. Pouzij technoligii, kterou Google vrati jako prvni, tzv. SEO driven development. A protoze se pise rok 2016 a vsude se pise o Elasticsearch, naser to jako DB backend a vymysli si vlastni notaci pro zapis IPv6 adresnich rozsahu (to vsechno jem realne zazil) A ze Postgres ma nativni podporu pro IPv6? Google ho jako prvni nedal.

Dumbing-down branze je vseobecny. Branzi zmitaj poryvy mody.
Treba Elasticsearch, kdosi vzal Apache Lucene, obalil cluster enginem a voila, mame selmostroj na vsechno. Umi to velice dobre fulltext. Tim to hasne, vsechno ostatni (minimalne v opensource variante) stoji za vylizperdel. Granularita opravneni smesna, zabezpeceni nulove, backup a restore komedie, konsistence dat da li vube bozi. Integrace s BI okolim miziva JDBC/ODBC neumime (nebo mozna uz jo, roky jsem ten bastl nevidel)
Ale neni potreba definovat DB strukturu, neni potreba se nic naucit napr. normalni formy, co tam naseru, to se mi mozna vrati. Pro dumbed-down MJB prvni volba. Myslim, ze autor Elasticsearch byl sam fascinovan tim, kam vsude se jeho fulltext search engine (v teto oblasti velice kvalitni nastroj) dostal.

Nebo InfluxDB, obdobny pripad. Luxusni nastroj na time-series, vsechno ostatni z obecneho DB phledu za vylizperdel

A tak treba Zabbix po letech experimentovani s elastic a influx nasadil TimescaleDB, coz je extenze do Postgresu, ktera umi time series sice hur nez Influx, ale ten Postgres okolo resi problemy, na ktee elastic i influx z vysky kali.

Nebo monitorovaci nastroje, vyvoj sel od prosteho logovani se searchem, pres nastroje s deduplikaci typu Micromuse/Omnibus  ke statickym modelum sveta typu Zabbix a dale k modelovani ISO/OSI networks vcetne automaticne root cause analyzy ve stylu EMC Smarts. Pak prisly microservices, tam staticky model udelat nejde, proto prisel Prometheus, technologicky je to navrat do roku 1998 na uroven Micromuse/Omnibus, ale to je spravne, v pripade microservices to jinak nejde.
Pak prijdu na meeting, tam nejaky MJB zacne mektat, proc ze maji ve firme na dohled Cisca drahy EMC Smarts (technologickou spicku), proc to nenahradime Prometheem zadara, je to, opet pouziji citaci: "krásné nové mladé ". Triple facepalm je malo.

Nebo golang, jedine, co stoji za zminku je snadne pouziti korutin primo podporovanych jazykem, v jinych jazycich nutno pouzivat externi knihovnu, popr. je to mene vykonne. Zbytek golangu stoji za vylizperdel. Ale je to tak primitivni, ze gibbon (a tedy i MJB) se to nauzi za odpoledne, takze prvni volba. Opet stejna prisnicka jako u elasticu a influxu, jedna se o niche nastroj pro specificke pouziti (konkrekte Google to ma na svoje microservicy v cloudu), v ramci MJB SEO driven developmentu to zacnem srat vsade.

A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".




Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ondrah 03. 04. 2020, 12:49:32

V branzi se pohybuju dlouha leta.
..............
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".

Tolik keců o ničem. Stačilo napsat "jsem starý a zapšklý".

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 03. 04. 2020, 13:22:15

V branzi se pohybuju dlouha leta.
..............
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".

Tolik keců o ničem. Stačilo napsat "jsem starý a zapšklý".

Ale kus pravdy ma. Tahle branze namisto standardizace straslive diverguje a spousta veci se lepi na kolene.

Je ovsem take pravda, ze k zavrzeni "stare" technologie mohou byt casto dobre duvody. Napr. XML je v mnoha ohledech odporny jazyk, ktery se na spoustu veci naprosto nehodi, presto byl pouzivan tam, kde napr. JSON vyhovi lepe. JSON navrhnul nekdo v tezke kocovine, jelikoz nema ani podporu komentaru atd. atp. Takze pojdme tedy pouzit neco jineho. reStructuredText - jako obecne dobry, hosi, ale kdo prisel s tim genialnim napadem, ze podtrhavat musim minimalne stejne dlouhou lajnou, jako je nadpis nad ni? To by nestacilo rict, ze ==== je proste uz dost?

Kdyby Google stacila Java, C++ a Python, nikdy by neprisel s Go. Kdyby Google stacily Java, C++, Python a Go, nezacal by experimentovat s Rustem. Kdyby Java nebyla v necem spatna, nepodporoval by Google Kotlin.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 13:33:36
Něco takového rozsekávat je z principu nesmysl. Já to vidím tak, že preference programovacího jazyka je dána způsobem myšlení člověka. Je to jako preference politické strany. Z nějakého prostředí vzejdeš a to tě (zde)formuje tak, že už jinak myslet nedokážeš. Změna myšlení je těžká věc, mnozí to nedokážou ani když za to zaplatí životem. Takže tu máme spoustu staticky myslících programátorů, kteří čelí čím dál větší konkurenci ze strany dynamických jazyků, se kterými si nerozumí a rozumět nemohou. Jejich nika aplikačního programování se jim třeba přesouvá na web, kde vládne Javascript. I do dalších oblastí dynamické jazyky pronikají, jim se zmenšuje jejich teritorium, začínají být přežití a je na ně vyvíjen tlak, aby začaly používat ty krásné nové mladé a v ledasčem i blbé dynamické jazyky. To je podobné jako s mnohými frustrovanými důchodci, které nikdo nepotřebuje, protože svět se mění příliš rychle a jejich zkušenosti jsou zbytečné, nikdo o ně nestojí a tomu novému zase nerozumí oni. Takže chápu, že si vylévají svou zlost a nadávají všem okolo, i když se u toho zesměšňují pro vlastní neschopnost.
V branzi se pohybuju dlouha leta.

No jo, uz jsi holt starej, a to te vede k despektu vuci mladym, ne z pozice pravdy, ale arogance stari. A diky tomu se ti povedlo paradni fopa. Protoze ja nejsem zadny MJB, liznul jsem si z lehka jeste eru derovacich stitku a ucil se programovat v ASM na ZX spectru. Ale na rozdil od tebe jsem neuviznul v minulosti.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 13:41:48

V branzi se pohybuju dlouha leta.
..............
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".

Tolik keců o ničem. Stačilo napsat "jsem starý a zapšklý".

Ale kus pravdy ma. Tahle branze namisto standardizace straslive diverguje a spousta veci se lepi na kolene.

Je ovsem take pravda, ze k zavrzeni "stare" technologie mohou byt casto dobre duvody. Napr. XML je v mnoha ohledech odporny jazyk, ktery se na spoustu veci naprosto nehodi, presto byl pouzivan tam, kde napr. JSON vyhovi lepe. JSON navrhnul nekdo v tezke kocovine, jelikoz nema ani podporu komentaru atd. atp. Takze pojdme tedy pouzit neco jineho. reStructuredText - jako obecne dobry, hosi, ale kdo prisel s tim genialnim napadem, ze podtrhavat musim minimalne stejne dlouhou lajnou, jako je nadpis nad ni? To by nestacilo rict, ze ==== je proste uz dost?

Kdyby Google stacila Java, C++ a Python, nikdy by neprisel s Go. Kdyby Google stacily Java, C++, Python a Go, nezacal by experimentovat s Rustem. Kdyby Java nebyla v necem spatna, nepodporoval by Google Kotlin.

Pokud se nahradi stara technologie z dobreho duvodu, nereknu proti ani krles.
Sam jsem v Deplhi ani v C nic nepsal minimalne 15 let.

Trmacka je, kdyz zduvodnenim pro nahradu je blaboleni, ze je to "krasne nove a mlade".

XML je blbe citelne, fajn, JSON jde cist lip, oki.
Vylepsili jsme jeden aspekt ze sta.
Kde mame XSD validaci?
Kde je XSLT?
Kde je XPATH? Jo vim, uz existuje zprasek JSONPath se smesne malou podmnozinou funkce XPATH2. A vzhledem k tomu, za mapa v JSON nema zarucene poradi, neni mi uplne jasne, jak to muze fungovat, asi na pevne vire.

A protoze JSON neni zadny zazrak, prisel YAML, ta zkratka znamena Yet Another Markup Language, z toho bordelu si delaji perdel uz i samotni tvurci tech "standardu"

Klasika, vylepsil jsem jeden aspekt z mnoha, na zbytek jsem se vysral, a duha se rozklene nad krajinou, je zde dalsi "krasna nova  mlada" zalezitost, a kdo potrebuje XSLT, nebo nevericne kouka na neexistenci exceptions a generik v GO, je zapskly duchodec.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: KorporatniLopata 03. 04. 2020, 13:42:47

V branzi se pohybuju dlouha leta.
..............
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".

Tolik keců o ničem. Stačilo napsat "jsem starý a zapšklý".
Ale kdeže, má v mnohém pravdu.
Fakticky se tu navzájem nechápou dvě skupiny lidí, které pracují na projektech s naprosto rozdílným životním cyklem. Tak nějak by si měl každý zkusit ujít pár mil v botách toho druhého.
Na rozdíl od gelurga si nemyslím, že javascript mne jako člověka delajiciho na backendech banky nějak ohrožuje. Ostatně, ta představa že statické vs dynamický jazyk je nějaká změna paradigmatu mi příjde lichá. Změna paradigmatu je přechod na funkcionální programování a tam by se měl cítit pythonista ohrožen stejně jako javista. Nebo taky ne, koneckonců jde jen o změnu myšlení, s tím se zrovna v IT musí člověk vypořádávat každou pětiletku :)

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 13:52:03
Něco takového rozsekávat je z principu nesmysl. Já to vidím tak, že preference programovacího jazyka je dána způsobem myšlení člověka. Je to jako preference politické strany. Z nějakého prostředí vzejdeš a to tě (zde)formuje tak, že už jinak myslet nedokážeš. Změna myšlení je těžká věc, mnozí to nedokážou ani když za to zaplatí životem. Takže tu máme spoustu staticky myslících programátorů, kteří čelí čím dál větší konkurenci ze strany dynamických jazyků, se kterými si nerozumí a rozumět nemohou. Jejich nika aplikačního programování se jim třeba přesouvá na web, kde vládne Javascript. I do dalších oblastí dynamické jazyky pronikají, jim se zmenšuje jejich teritorium, začínají být přežití a je na ně vyvíjen tlak, aby začaly používat ty krásné nové mladé a v ledasčem i blbé dynamické jazyky. To je podobné jako s mnohými frustrovanými důchodci, které nikdo nepotřebuje, protože svět se mění příliš rychle a jejich zkušenosti jsou zbytečné, nikdo o ně nestojí a tomu novému zase nerozumí oni. Takže chápu, že si vylévají svou zlost a nadávají všem okolo, i když se u toho zesměšňují pro vlastní neschopnost.
V branzi se pohybuju dlouha leta.

No jo, uz jsi holt starej, a to te vede k despektu vuci mladym, ne z pozice pravdy, ale arogance stari. A diky tomu se ti povedlo paradni fopa. Protoze ja nejsem zadny MJB, liznul jsem si z lehka jeste eru derovacich stitku a ucil se programovat v ASM na ZX spectru. Ale na rozdil od tebe jsem neuviznul v minulosti.

Heh, v mym textu neni ani stopy despektu vuci mladym, tam je despekt vuci hloupym.
A vez, ze z mladyho blba bude stary blb a stary blb byl mladym blbem.

Kdyz mi nekdo realne zduvodni, proc je muj nazor mylny, nemam problem to uznat. Realny duvod ale neni jasani blba, ze dana vec je "nova krasna mlada"

Ja derovaci stitky nezazil ale taky jsem programoval ASM na Didaktiku.
Ale narozdil od tebe jsem neuvizl v minulosti proceduralniho programovani z dob dernych stitku, python/perl skriptovani neni nic jineho, objekty byly dobastleny pozdeji a pomerne pres ruku.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 14:04:11

V branzi se pohybuju dlouha leta.
..............
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".

Tolik keců o ničem. Stačilo napsat "jsem starý a zapšklý".
Ale kdeže, má v mnohém pravdu.
Fakticky se tu navzájem nechápou dvě skupiny lidí, které pracují na projektech s naprosto rozdílným životním cyklem. Tak nějak by si měl každý zkusit ujít pár mil v botách toho druhého.
Na rozdíl od gelurga si nemyslím, že javascript mne jako člověka delajiciho na backendech banky nějak ohrožuje. Ostatně, ta představa že statické vs dynamický jazyk je nějaká změna paradigmatu mi příjde lichá. Změna paradigmatu je přechod na funkcionální programování a tam by se měl cítit pythonista ohrožen stejně jako javista. Nebo taky ne, koneckonců jde jen o změnu myšlení, s tím se zrovna v IT musí člověk vypořádávat každou pětiletku :)

Souhlas, duymamicky proceduralni jazyk se pouziva stejne jako staticky, akoras s hromadou opruzu a dalsich zdroju chyb navic.
Na male veci to staci, odpadne boilerplace definice statickych typu.

Ted si hraju s Kafka Streams, tam je potreba prestelovat mozek na jine mysleni, v pripade Java vs Python ani omylem.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 03. 04. 2020, 14:08:50
XML je blbe citelne, fajn, JSON jde cist lip, oki.
Vylepsili jsme jeden aspekt ze sta.
Kde mame XSD validaci?
Kde je XSLT?
Kde je XPATH? Jo vim, uz existuje zprasek JSONPath se smesne malou podmnozinou funkce XPATH2. A vzhledem k tomu, za mapa v JSON nema zarucene poradi, neni mi uplne jasne, jak to muze fungovat, asi na pevne vire.

JSON Schema treba existuje, kdyz jsme u toho. Ale ja jsem netvrdil, ze JSON je ve vsem vhodnejsi, ale ze se XML pouzivalo (i) tam, kde bylo kanonem na vrabce.

Klasika, vylepsil jsem jeden aspekt z mnoha, na zbytek jsem se vysral, a duha se rozklene nad krajinou, je zde dalsi "krasna nova  mlada" zalezitost, a kdo potrebuje XSLT, nebo nevericne kouka na neexistenci exceptions a generik v GO, je zapskly duchodec.

Co se tyce Go, take se mi nelibi jeho pristup, presto uz dnes pouzivam nekolik ruznych toolu, ktere v nem nekdo napsal. Tak mu asi holt v necem prijde vhodne. Mne osobne je v IT uplne jedno, co je mlade a krasne, natoz nove. V tom mladem a novem je casto hodne energie a dokaze se poucit z problematickych aspektu tech starsich reseni. A casto dokaze v novem kontextu oprasit stare myslenky - viz Rust a jeho spojeni konceptu z C++, ML atd.

A mimochodem, tvrdil jsem uz pred casem, ze Go vymysleli stari paprdove z casu Unixu a C a i proto je ten navrh jazyka takovy prapodivny.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 15:41:52

V branzi se pohybuju dlouha leta.
..............
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".

Tolik keců o ničem. Stačilo napsat "jsem starý a zapšklý".
Ale kdeže, má v mnohém pravdu.
Fakticky se tu navzájem nechápou dvě skupiny lidí, které pracují na projektech s naprosto rozdílným životním cyklem. Tak nějak by si měl každý zkusit ujít pár mil v botách toho druhého.
Na rozdíl od gelurga si nemyslím, že javascript mne jako člověka delajiciho na backendech banky nějak ohrožuje. Ostatně, ta představa že statické vs dynamický jazyk je nějaká změna paradigmatu mi příjde lichá. Změna paradigmatu je přechod na funkcionální programování a tam by se měl cítit pythonista ohrožen stejně jako javista. Nebo taky ne, koneckonců jde jen o změnu myšlení, s tím se zrovna v IT musí člověk vypořádávat každou pětiletku :)

Teď jsi to nevědomky přesně vystihl. Funkcionální jazyk tě donutí ke změně myšlení, buď to a nebo v něm nic neuděláš. Dynamický jazyk tě k tomu nedonutí, můžeš se ho totiž používat (hloupě) jako statický a nějak to půjde, jen nevyužiješ výhody dynamického jazyka a naopak ti chybí vlastnosti toho statického. A přesně tohle nepochopení vede k závěru:

Citace
Souhlas, duymamicky proceduralni jazyk se pouziva stejne jako staticky, akoras s hromadou opruzu a dalsich zdroju chyb navic.

Viz výše. Prostě nepoužívá a nedává ani žádný smysl, aby tomu tak bylo, že? A tohle tvrdí jinak určitě inteligentní člověk. Takhle ho používají jen ti, kdo s ním neumí, ti kdo ho nechápou, ti kdo ho vnímají jako zmrzačený statický jazyk (být rybou je nahouby, vždyť každý ví, že nemá nohy a proto se nemůže hýbat), kterému něco zásadního chybí. A používají ho většinou z donucení vnějších okolností. Dokud statické typy chápeš jako něco, co ti pomáhá a chybí, místo jako věc, která tě omezuje a která ti překáží, tak nechápeš dynamický jazyk. Jeden z důvodů nepocgopení je, že se statickým typům přisuzují vlastnosti, které jim nepřísluší, viz můj odkaz na staticky typovaný jazyk C. Místo k zamyšlení vedl k nadávkám, protože lidé se svého myšlení vzdávají neradi, je to dost nákladné.

A znovu se odvolávám na politiku a myšlení lidí (zde)formované systémem ve kterém vyrostli a žijí. Jsou tu lidé, kteří chtějí  tuhý režim, stát, který se o vše postará a všechno zařídí, pro které je svoboda imaginární pojem a jsou tu lidé, pro které je svoboda důležitou hodnotou a chtějí volnost a zodpovědnost za sebe sama. A podle svého způsobu myšlení si volí jak strany, tak i jazyky. Čímž netvrdím, že staticky myslící programátor dává přednost totalitním režimům, tyhle preference jsou na sobě nezávislé. Jde jen o tu podobnost naučeného způsobu myšlení, které determinuje volbu s výsledkem lidí, kteří nadávají buď na totalitu nebo na demokracii.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 16:12:52
Něco takového rozsekávat je z principu nesmysl. Já to vidím tak, že preference programovacího jazyka je dána způsobem myšlení člověka. Je to jako preference politické strany. Z nějakého prostředí vzejdeš a to tě (zde)formuje tak, že už jinak myslet nedokážeš. Změna myšlení je těžká věc, mnozí to nedokážou ani když za to zaplatí životem. Takže tu máme spoustu staticky myslících programátorů, kteří čelí čím dál větší konkurenci ze strany dynamických jazyků, se kterými si nerozumí a rozumět nemohou. Jejich nika aplikačního programování se jim třeba přesouvá na web, kde vládne Javascript. I do dalších oblastí dynamické jazyky pronikají, jim se zmenšuje jejich teritorium, začínají být přežití a je na ně vyvíjen tlak, aby začaly používat ty krásné nové mladé a v ledasčem i blbé dynamické jazyky. To je podobné jako s mnohými frustrovanými důchodci, které nikdo nepotřebuje, protože svět se mění příliš rychle a jejich zkušenosti jsou zbytečné, nikdo o ně nestojí a tomu novému zase nerozumí oni. Takže chápu, že si vylévají svou zlost a nadávají všem okolo, i když se u toho zesměšňují pro vlastní neschopnost.
V branzi se pohybuju dlouha leta.

No jo, uz jsi holt starej, a to te vede k despektu vuci mladym, ne z pozice pravdy, ale arogance stari. A diky tomu se ti povedlo paradni fopa. Protoze ja nejsem zadny MJB, liznul jsem si z lehka jeste eru derovacich stitku a ucil se programovat v ASM na ZX spectru. Ale na rozdil od tebe jsem neuviznul v minulosti.
1) Heh, v mym textu neni ani stopy despektu vuci mladym, tam je despekt vuci hloupym.

2) Kdyz mi nekdo realne zduvodni, proc je muj nazor mylny, nemam problem to uznat. Realny duvod ale neni jasani blba, ze dana vec je "nova krasna mlada"

3) Ale narozdil od tebe jsem neuvizl v minulosti proceduralniho programovani z dob dernych stitku, python/perl skriptovani neni nic jineho, objekty byly dobastleny pozdeji a pomerne pres ruku.
1) co znamená zkratka MJB?
2) to funguje jen pro lidi z tveho okruhu mysleni, tzv. realita je v beznem lidskem poznani subjektivní a take zalezi na tom, co vubec povazujes za argument a ktere argumenty odfiltrujes ze sveho vnimani - ale obavam se, ze to je na tebe prilis filosoficke, nevzdelanec by rekl etericke
3) perl neni python, python uz ma treti predelanou verzi, objektovy system ma take predelany (viz new objects, k tomu dokonce doslo za chodu behem druhe verze) a ma je implementovane zdarile. Python vyrostl zdola a zaslouzene, je to dobry multiparadigmaticky jazyk, ktery, ano, umoznuje i proceduralne imperativni programovani. I to je jeho vyhoda, ze si muzes vybrat a mixovat ruzna paradigma podle toho, co se kde vice hodi nebo co je ti kde blizsi.

V minulosti jsem skutecne castecne uvizl, protoze jeste porad programuji v C, ale s chapanim a prijimanim toho dobreho z novych veci mam myslim mene problemu nez ty.

K tomu vyvoji IT ti chybi dve veci. Presun aplikaci z desktopu na na web a presun lidi z pc na mobilni platformu. Tedy zmena z pozadavku na vykon smerem na mobilitu a efektivitu. To by mimochodem pro staticke jazyky melo byt vyhodne, protoze efektivita (mereno spotrebou ci dobou vybiti baterie) je na jejich strane. Jenze presun aplikaci na web tomu podrazi nohy. I tak ale zatim pro mobilni platformu vznika spousta aplikaci napsanych ve statickem jazyku. Tam se otvira novy prostor.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 16:15:19
XML je blbe citelne, fajn, JSON jde cist lip, oki.
Vylepsili jsme jeden aspekt ze sta.
Kde mame XSD validaci?
Kde je XSLT?
Kde je XPATH? Jo vim, uz existuje zprasek JSONPath se smesne malou podmnozinou funkce XPATH2. A vzhledem k tomu, za mapa v JSON nema zarucene poradi, neni mi uplne jasne, jak to muze fungovat, asi na pevne vire.

JSON Schema treba existuje, kdyz jsme u toho. Ale ja jsem netvrdil, ze JSON je ve vsem vhodnejsi, ale ze se XML pouzivalo (i) tam, kde bylo kanonem na vrabce.

On tam zmínil ještě jednu takovou věc. Že se prostě vývoj dost usadil. Máme tady pár jazyků (Java, C) a technologií (XML), které jsou usazené, a mají ohromný záběr. Mají své neduhy, ale jak to chceš vylepšit, když je to tak velký.

Třeba XML je značkovací jazyk fakt hloupě ukecanej. Mnoho věcí (třeba atributy) jsou tam navíc a zbytečně to všechno komplikujou. Jenže i když bych vytvořil lepší variantu, tak budu muset dodělat i všechny ty související technologie (namespace, validace, dotazování, transformace). A přesně na tomhle dojel JSON plus to, že to není oproti XML zase taková výhra (komentáře, escapování, čísla).

A když si dá někdo tu práci, a začne vytvářet jazyk, který je opravdu promyšlený a silný (Rust), tak se stejně nezavděčí.

Souhlasím s tím, že dnešní doba je plná polotovarů.

Třeba zmiňovaný Python - jeho historická role byla, že ukázal jak vypadá čitelnost. To "starejm" jazykům opravdu scházelo. A za sebe musím říct, že jsem rád, že se z toho poučili a vznikají věci jako Scala, Kotlin, Rust, TypeScript, Elm, Idris, Agda, ...
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 03. 04. 2020, 16:21:30
XML je blbe citelne, fajn, JSON jde cist lip, oki.
Vylepsili jsme jeden aspekt ze sta.
Kde mame XSD validaci?
Kde je XSLT?
Kde je XPATH? Jo vim, uz existuje zprasek JSONPath se smesne malou podmnozinou funkce XPATH2. A vzhledem k tomu, za mapa v JSON nema zarucene poradi, neni mi uplne jasne, jak to muze fungovat, asi na pevne vire.

JSON Schema treba existuje, kdyz jsme u toho. Ale ja jsem netvrdil, ze JSON je ve vsem vhodnejsi, ale ze se XML pouzivalo (i) tam, kde bylo kanonem na vrabce.

On tam zmínil ještě jednu takovou věc. Že se prostě vývoj dost usadil. Máme tady pár jazyků (Java, C) a technologií (XML), které jsou usazené, a mají ohromný záběr. Mají své neduhy, ale jak to chceš vylepšit, když je to tak velký.

Třeba XML je značkovací jazyk fakt hloupě ukecanej. Mnoho věcí (třeba atributy) jsou tam navíc a zbytečně to všechno komplikujou. Jenže i když bych vytvořil lepší variantu, tak budu muset dodělat i všechny ty související technologie (namespace, validace, dotazování, transformace). A přesně na tomhle dojel JSON plus to, že to není oproti XML zase taková výhra (komentáře, escapování, čísla).

A když si dá někdo tu práci, a začne vytvářet jazyk, který je opravdu promyšlený a silný (Rust), tak se stejně nezavděčí.

Souhlasím s tím, že dnešní doba je plná polotovarů.

Třeba zmiňovaný Python - jeho historická role byla, že ukázal jak vypadá čitelnost. To "starejm" jazykům opravdu scházelo. A za sebe musím říct, že jsem rád, že se z toho poučili a vznikají věci jako Scala, Kotlin, Rust, TypeScript, Elm, Idris, Agda, ...
Usadit se usadil, je to takový potential well :) Fakt by mě zajímalo, co přelomového přinese blízká budoucnost. Asi kvantové počítače, které jdou uchladit i doma.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Jiří Havel 03. 04. 2020, 16:22:19
Viz výše. Prostě nepoužívá a nedává ani žádný smysl, aby tomu tak bylo, že? A tohle tvrdí jinak určitě inteligentní člověk. Takhle ho používají jen ti, kdo s ním neumí, ti kdo ho nechápou, ti kdo ho vnímají jako zmrzačený statický jazyk (být rybou je nahouby, vždyť každý ví, že nemá nohy a proto se nemůže hýbat), kterému něco zásadního chybí. A používají ho většinou z donucení vnějších okolností. Dokud statické typy chápeš jako něco, co ti pomáhá a chybí, místo jako věc, která tě omezuje a která ti překáží, tak nechápeš dynamický jazyk. Jeden z důvodů nepocgopení je, že se statickým typům přisuzují vlastnosti, které jim nepřísluší, viz můj odkaz na staticky typovaný jazyk C. Místo k zamyšlení vedl k nadávkám, protože lidé se svého myšlení vzdávají neradi, je to dost nákladné.
Já jsem jeden z těch, co vnímají statické typy jako pomoc a občas mi zatraceně chybí. Takže bych to využil a zeptal se na nějaké bližší info. Máš nějaké materiály nebo příklady toho, jak má vypadat to přemýšlení, které využívá výhody dynamických jazyků? Něco co by mi ten jiný styl uvažování trochu osvětlilo?

Zatím veškerá omezení, která jsem kdy cítil vycházela spíš z nedokonalé implementace než ze statických typů jako takových. V jazycích s rozumnými generiky a typovou inferencí nemám pocit, že by mě typy nějak omezovaly v rozletu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: ondrah 03. 04. 2020, 17:11:55

V branzi se pohybuju dlouha leta.
..............
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".

Tolik keců o ničem. Stačilo napsat "jsem starý a zapšklý".

Ale kus pravdy ma. Tahle branze namisto standardizace straslive diverguje a spousta veci se lepi na kolene.

Je ovsem take pravda, ze k zavrzeni "stare" technologie mohou byt casto dobre duvody. Napr. XML je v mnoha ohledech odporny jazyk, ktery se na spoustu veci naprosto nehodi, presto byl pouzivan tam, kde napr. JSON vyhovi lepe. JSON navrhnul nekdo v tezke kocovine, jelikoz nema ani podporu komentaru atd. atp. Takze pojdme tedy pouzit neco jineho. reStructuredText - jako obecne dobry, hosi, ale kdo prisel s tim genialnim napadem, ze podtrhavat musim minimalne stejne dlouhou lajnou, jako je nadpis nad ni? To by nestacilo rict, ze ==== je proste uz dost?

Kdyby Google stacila Java, C++ a Python, nikdy by neprisel s Go. Kdyby Google stacily Java, C++, Python a Go, nezacal by experimentovat s Rustem. Kdyby Java nebyla v necem spatna, nepodporoval by Google Kotlin.

Jasně že má kus pravdy, bylo by dost smutné, aby se v tom sáhodlouhém blábolu žádná pravda nenašla. Jenže ta celá pravda je, jak už to bývá, někde na půli cesty. A když někdo předvede takřka hysterický výlev ve stylu devadesátiletého dědka, co v jednom kuse mává holí a nadává na mládež pod padesát, tak si z toho rozhodně neodnesu dojem, že má pravdu, ale spíš že má nějaký mentální problém.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 03. 04. 2020, 17:22:58
On tam zmínil ještě jednu takovou věc. Že se prostě vývoj dost usadil. Máme tady pár jazyků (Java, C) a technologií (XML), které jsou usazené, a mají ohromný záběr. Mají své neduhy, ale jak to chceš vylepšit, když je to tak velký.

Tady to vidím ještě v pohodě - C je assembler vyšší úrovně a dá se dopňovat a potenciálně nahradit čímkoli - těch podobných jazyků se v poslední dobou vyrojilo dost. Java v podstatě taky - prostě ji lze pomaloučku doplňovat/nahrazovat třeba Kotlinem. C i Java se ale vyvíjejí, což je IMO dobře pro všechny.

Třeba XML je značkovací jazyk fakt hloupě ukecanej. Mnoho věcí (třeba atributy) jsou tam navíc a zbytečně to všechno komplikujou. Jenže i když bych vytvořil lepší variantu, tak budu muset dodělat i všechny ty související technologie (namespace, validace, dotazování, transformace). A přesně na tomhle dojel JSON plus to, že to není oproti XML zase taková výhra (komentáře, escapování, čísla).

Zrova namespacy bych asi klidně oželel a myslím si, že velká část mašinérie, která se kolem XML udělala, je ve stylu "když máš po ruce kladivo, všechno vypadá jako hřebík". Prostě máme to magické XML a co bychom s ním tak ještě mohli dělat?

A když si dá někdo tu práci, a začne vytvářet jazyk, který je opravdu promyšlený a silný (Rust), tak se stejně nezavděčí.

Rust má našlápnuto - Microsoft, Google, Dropbox, Apple, Facebook - tam všude se pomalu prosazuje. A pro zajímavost autor shellu Fish (psaného v C++) teď pracuje na novém shellu zvaném Crush v Rustu. Těch věcí, co se dají v Rustu dělat a dělá se na nich, jsou mraky. Holt to ale nikdy nebude Go (s filosofií, kterou zde trefně popsal Standa Blábol).

Třeba zmiňovaný Python - jeho historická role byla, že ukázal jak vypadá čitelnost. To "starejm" jazykům opravdu scházelo. A za sebe musím říct, že jsem rád, že se z toho poučili a vznikají věci jako Scala, Kotlin, Rust, TypeScript, Elm, Idris, Agda, ...

Nevím, jestli Python všechny tyhle jazyky inspiroval, ale ta vzájemná inspirace na poli programovacích jazyků je široká a je to super.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 17:41:59
Třeba zmiňovaný Python - jeho historická role byla, že ukázal jak vypadá čitelnost. To "starejm" jazykům opravdu scházelo. A za sebe musím říct, že jsem rád, že se z toho poučili a vznikají věci jako Scala, Kotlin, Rust, TypeScript, Elm, Idris, Agda, ...

Nevím, jestli Python všechny tyhle jazyky inspiroval, ale ta vzájemná inspirace na poli programovacích jazyků je široká a je to super.
Tak jsem to ani nemyslel. Spíše jak říkal Evan Czaplicki, absence type enference není nemožnost, ale jen lenost návrhářů.

Typy moderních jazyků jsou úplně jiné typy než typy prastarejch jazyků jako je C.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 17:55:36
Viz výše. Prostě nepoužívá a nedává ani žádný smysl, aby tomu tak bylo, že? A tohle tvrdí jinak určitě inteligentní člověk. Takhle ho používají jen ti, kdo s ním neumí, ti kdo ho nechápou, ti kdo ho vnímají jako zmrzačený statický jazyk (být rybou je nahouby, vždyť každý ví, že nemá nohy a proto se nemůže hýbat), kterému něco zásadního chybí. A používají ho většinou z donucení vnějších okolností. Dokud statické typy chápeš jako něco, co ti pomáhá a chybí, místo jako věc, která tě omezuje a která ti překáží, tak nechápeš dynamický jazyk. Jeden z důvodů nepocgopení je, že se statickým typům přisuzují vlastnosti, které jim nepřísluší, viz můj odkaz na staticky typovaný jazyk C. Místo k zamyšlení vedl k nadávkám, protože lidé se svého myšlení vzdávají neradi, je to dost nákladné.
Já jsem jeden z těch, co vnímají statické typy jako pomoc a občas mi zatraceně chybí. Takže bych to využil a zeptal se na nějaké bližší info. Máš nějaké materiály nebo příklady toho, jak má vypadat to přemýšlení, které využívá výhody dynamických jazyků? Něco co by mi ten jiný styl uvažování trochu osvětlilo?

Zatím veškerá omezení, která jsem kdy cítil vycházela spíš z nedokonalé implementace než ze statických typů jako takových. V jazycích s rozumnými generiky a typovou inferencí nemám pocit, že by mě typy nějak omezovaly v rozletu.

Jo, to by me taky zajimalo.
Zvlast kdyz se podivam na nove univerzalni jazyky s potencialem budouciho rozvoje, napr. go, switft, rust, kotlin. Staticky typovane sakumprask vsecko.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 17:56:50
Viz výše. Prostě nepoužívá a nedává ani žádný smysl, aby tomu tak bylo, že? A tohle tvrdí jinak určitě inteligentní člověk. Takhle ho používají jen ti, kdo s ním neumí, ti kdo ho nechápou, ti kdo ho vnímají jako zmrzačený statický jazyk (být rybou je nahouby, vždyť každý ví, že nemá nohy a proto se nemůže hýbat), kterému něco zásadního chybí. A používají ho většinou z donucení vnějších okolností. Dokud statické typy chápeš jako něco, co ti pomáhá a chybí, místo jako věc, která tě omezuje a která ti překáží, tak nechápeš dynamický jazyk. Jeden z důvodů nepocgopení je, že se statickým typům přisuzují vlastnosti, které jim nepřísluší, viz můj odkaz na staticky typovaný jazyk C. Místo k zamyšlení vedl k nadávkám, protože lidé se svého myšlení vzdávají neradi, je to dost nákladné.
Já jsem jeden z těch, co vnímají statické typy jako pomoc a občas mi zatraceně chybí. Takže bych to využil a zeptal se na nějaké bližší info. Máš nějaké materiály nebo příklady toho, jak má vypadat to přemýšlení, které využívá výhody dynamických jazyků? Něco co by mi ten jiný styl uvažování trochu osvětlilo?

Zatím veškerá omezení, která jsem kdy cítil vycházela spíš z nedokonalé implementace než ze statických typů jako takových. V jazycích s rozumnými generiky a typovou inferencí nemám pocit, že by mě typy nějak omezovaly v rozletu.

Jo, to by me taky zajimalo.
Zvlast kdyz se podivam na nove univerzalni jazyky s potencialem budouciho rozvoje, napr. go, switft, rust, kotlin. Staticky typovane sakumprask vsecko.
Taky se přidávám. První pokus nevyšel, tak snad druhý bude lepší.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 18:08:18
Viz výše. Prostě nepoužívá a nedává ani žádný smysl, aby tomu tak bylo, že? A tohle tvrdí jinak určitě inteligentní člověk. Takhle ho používají jen ti, kdo s ním neumí, ti kdo ho nechápou, ti kdo ho vnímají jako zmrzačený statický jazyk (být rybou je nahouby, vždyť každý ví, že nemá nohy a proto se nemůže hýbat), kterému něco zásadního chybí. A používají ho většinou z donucení vnějších okolností. Dokud statické typy chápeš jako něco, co ti pomáhá a chybí, místo jako věc, která tě omezuje a která ti překáží, tak nechápeš dynamický jazyk. Jeden z důvodů nepocgopení je, že se statickým typům přisuzují vlastnosti, které jim nepřísluší, viz můj odkaz na staticky typovaný jazyk C. Místo k zamyšlení vedl k nadávkám, protože lidé se svého myšlení vzdávají neradi, je to dost nákladné.
Já jsem jeden z těch, co vnímají statické typy jako pomoc a občas mi zatraceně chybí. Takže bych to využil a zeptal se na nějaké bližší info. Máš nějaké materiály nebo příklady toho, jak má vypadat to přemýšlení, které využívá výhody dynamických jazyků? Něco co by mi ten jiný styl uvažování trochu osvětlilo?

Zatím veškerá omezení, která jsem kdy cítil vycházela spíš z nedokonalé implementace než ze statických typů jako takových. V jazycích s rozumnými generiky a typovou inferencí nemám pocit, že by mě typy nějak omezovaly v rozletu.
Já jsem jeden z těch, co vnímají statické typy jako pomoc a občas mi zatraceně chybí. Takže bych to využil a zeptal se na nějaké bližší info. Máš nějaké materiály nebo příklady toho, jak má vypadat to přemýšlení, které využívá výhody dynamických jazyků? Něco co by mi ten jiný styl uvažování trochu osvětlilo?

Zatím veškerá omezení, která jsem kdy cítil vycházela spíš z nedokonalé implementace než ze statických typů jako takových. V jazycích s rozumnými generiky a typovou inferencí nemám pocit, že by mě typy nějak omezovaly v rozletu.

Nemám. Imho to nejde staticky myslícímu člověku racionálně vysvětlit. Můžeš to zkoušet používat a buď přijde aha efekt a nebo nepřijde. Kdysi na to téma měl přednášku na techtalku Niclas Nilsson https://www.se-radio.net/2007/03/episode-49-dynamic-languages-for-static-minds/ ale imho ti to nepomůže, protože to není otázkou nedostatku informací, ale změny myšlení, a to může přijít jen s vlastní zkušeností. Můžeš si zkusít přečíst pár knih na téma javascript design patterns, kde jsou kodifikovány některé způsoby využití, které by tě asi jinak nenapadly, ale jsem pesimista. Tak jako polovina čechů nepochopí, že demokracie je dobrá, imho nepochopí ani polovina programátorů, že dynamické jazyky jsou dobré. Starý struktury musí vymřít a to špatný nerozujný mládí s tím už takové problém nemá.

Statické typy nejsou jenom o jejich deklaraci, ale o tom, že ti determinují, co můžeš za běhu s programem ještě dělat a co už ne. Zjednodušeně řečeno, statické jazyky rozlišují kód a data, dynamické nikoliv (byť míra implementace je různá).  V dynamickém jazyku můžeš kód používat stejně jako data. Což by ti mělo úplně měnit pohled na program a programování, má to řadu důsledků a možností, třeba javascriptové aplikaci můžeš nový kód posílat jako data a za běhu měnit její funkčnost. A ne jako nějakou nouzovou záležitost, kdy servr opravuje za běhu lokální na js založenou aplikaci, ale jako běžné chování. Staticky myslícím programátorům se z toho zvedá kufr, pro ně je to prasárna, všechno chtějí mít pevné, neměnné, prostě statické předem zkontrolované, dynamicky 'mutujíci se' program je pro ně představa z pekla. Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data, s každou stránkou se mohou načíst jiné, z pohledu uživatele se to mění za běhu aplikace, dělat změny i za běhu interpretu (zjednodušuji, vím) je už jen drobné rozšíření tohoto konceptu. Nebo třeba autonomně za běhu programu se vytvářející stovky nových tříd/datových typů na základě obsahu příchozích dat, která jsou hodně variabilní (na to aby je programátor předem otypoval všechny ručně), ale mají své časté opakující se vzory, aby stálo za to jim přiřadit vlastní datové typy.

To jenom pro představu možností. To že ty osobně nenarážíš na možnosti statických typů je proto, že myslíš staticky a nechceš proto po nich víc, než ti umožňují. Zkus ale nahradit javascript v prohlížeči nějakým statickým jazykem. Ne že by to nešlo, ale narazíš na řadu omezení a problémů, která to přinese. Ne že by to lidé nezkoušeli, kdo si pamatuje java applety? Jestli tohle ti neumožní alespoň vidět nové možnosti, které přináší dynamické jazyky, tak ti asi nic nepomůže. A pokud ano, tak chápeš nesmyslnost tvrzení, že dynamické jazyky jsou stejné jako statické, ale horší.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 18:22:28
Jo, to by me taky zajimalo.
Zvlast kdyz se podivam na nove univerzalni jazyky s potencialem budouciho rozvoje, napr. go, switft, rust, kotlin. Staticky typovane sakumprask vsecko.
Ktery z techto 'univerzalnich' jazyku ma dle tebe potencial nahradit Javascript?
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 18:45:20
Viz výše. Prostě nepoužívá a nedává ani žádný smysl, aby tomu tak bylo, že? A tohle tvrdí jinak určitě inteligentní člověk. Takhle ho používají jen ti, kdo s ním neumí, ti kdo ho nechápou, ti kdo ho vnímají jako zmrzačený statický jazyk (být rybou je nahouby, vždyť každý ví, že nemá nohy a proto se nemůže hýbat), kterému něco zásadního chybí. A používají ho většinou z donucení vnějších okolností. Dokud statické typy chápeš jako něco, co ti pomáhá a chybí, místo jako věc, která tě omezuje a která ti překáží, tak nechápeš dynamický jazyk. Jeden z důvodů nepocgopení je, že se statickým typům přisuzují vlastnosti, které jim nepřísluší, viz můj odkaz na staticky typovaný jazyk C. Místo k zamyšlení vedl k nadávkám, protože lidé se svého myšlení vzdávají neradi, je to dost nákladné.
Já jsem jeden z těch, co vnímají statické typy jako pomoc a občas mi zatraceně chybí. Takže bych to využil a zeptal se na nějaké bližší info. Máš nějaké materiály nebo příklady toho, jak má vypadat to přemýšlení, které využívá výhody dynamických jazyků? Něco co by mi ten jiný styl uvažování trochu osvětlilo?

Zatím veškerá omezení, která jsem kdy cítil vycházela spíš z nedokonalé implementace než ze statických typů jako takových. V jazycích s rozumnými generiky a typovou inferencí nemám pocit, že by mě typy nějak omezovaly v rozletu.
Já jsem jeden z těch, co vnímají statické typy jako pomoc a občas mi zatraceně chybí. Takže bych to využil a zeptal se na nějaké bližší info. Máš nějaké materiály nebo příklady toho, jak má vypadat to přemýšlení, které využívá výhody dynamických jazyků? Něco co by mi ten jiný styl uvažování trochu osvětlilo?

Zatím veškerá omezení, která jsem kdy cítil vycházela spíš z nedokonalé implementace než ze statických typů jako takových. V jazycích s rozumnými generiky a typovou inferencí nemám pocit, že by mě typy nějak omezovaly v rozletu.

Nemám. Imho to nejde staticky myslícímu člověku racionálně vysvětlit. Můžeš to zkoušet používat a buď přijde aha efekt a nebo nepřijde. Kdysi na to téma měl přednášku na techtalku Niclas Nilsson https://www.se-radio.net/2007/03/episode-49-dynamic-languages-for-static-minds/ ale imho ti to nepomůže, protože to není otázkou nedostatku informací, ale změny myšlení, a to může přijít jen s vlastní zkušeností. Můžeš si zkusít přečíst pár knih na téma javascript design patterns, kde jsou kodifikovány některé způsoby využití, které by tě asi jinak nenapadly, ale jsem pesimista. Tak jako polovina čechů nepochopí, že demokracie je dobrá, imho nepochopí ani polovina programátorů, že dynamické jazyky jsou dobré. Starý struktury musí vymřít a to špatný nerozujný mládí s tím už takové problém nemá.

Statické typy nejsou jenom o jejich deklaraci, ale o tom, že ti determinují, co můžeš za běhu s programem ještě dělat a co už ne. Zjednodušeně řečeno, statické jazyky rozlišují kód a data, dynamické nikoliv (byť míra implementace je různá).  V dynamickém jazyku můžeš kód používat stejně jako data. Což by ti mělo úplně měnit pohled na program a programování, má to řadu důsledků a možností, třeba javascriptové aplikaci můžeš nový kód posílat jako data a za běhu měnit její funkčnost. A ne jako nějakou nouzovou záležitost, kdy servr opravuje za běhu lokální na js založenou aplikaci, ale jako běžné chování. Staticky myslícím programátorům se z toho zvedá kufr, pro ně je to prasárna, všechno chtějí mít pevné, neměnné, prostě statické předem zkontrolované, dynamicky 'mutujíci se' program je pro ně představa z pekla. Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data, s každou stránkou se mohou načíst jiné, z pohledu uživatele se to mění za běhu aplikace, dělat změny i za běhu interpretu (zjednodušuji, vím) je už jen drobné rozšíření tohoto konceptu. Nebo třeba autonomně za běhu programu se vytvářející stovky nových tříd/datových typů na základě obsahu příchozích dat, která jsou hodně variabilní (na to aby je programátor předem otypoval všechny ručně), ale mají své časté opakující se vzory, aby stálo za to jim přiřadit vlastní datové typy.

To jenom pro představu možností. To že ty osobně nenarážíš na možnosti statických typů je proto, že myslíš staticky a nechceš proto po nich víc, než ti umožňují. Zkus ale nahradit javascript v prohlížeči nějakým statickým jazykem. Ne že by to nešlo, ale narazíš na řadu omezení a problémů, která to přinese. Ne že by to lidé nezkoušeli, kdo si pamatuje java applety? Jestli tohle ti neumožní alespoň vidět nové možnosti, které přináší dynamické jazyky, tak ti asi nic nepomůže. A pokud ano, tak chápeš nesmyslnost tvrzení, že dynamické jazyky jsou stejné jako statické, ale horší.

Heh, presne neco podobneho jem cekal.
Rozhodne doporucuju precist si povidku Woodyho Allena: "Kdyby byli impresioniste dentisty", ktere popisuji tvurci muka mladeho zubare, co se pokousi vytvret neotrele a inspirativni zubni protezy a je znechucen prizemnosti pacientu, co si stezuji, ze se s tim neda kousat.

Programovani je inzenyrska cinnost, pozadovanym vysledkem je funkcni program za definovanou dobu za pomoci beznych standardu, aby mohl spoluporacovat ci praci prevzit jiny pracovnik.

Libovolne praktiky zmeny chovani programu za chodu je desiva prasecina, ktera ma realny vyznam jenom pri psani pocitacovych viru. Kdyz se divam  do mnou bezne pouzivanych knihoven z pypi.org, nikde jsem takovy hnuj nevidel.

Realita v teto oblasti je jina, je to prosta znouzectnost.
Python je skriptovaci jazyk z roku 1991, o dost starsi nez treba Java. Vznikl defacto jako lepsi bash ci perl a ostatne se takto pouziva dodnes. Kdyz pozdeji tvurci uznali za vhodne, ze do pythonu pridaji prvky OOP, sli na to jednoduchou cestou. Objekt v pythonu je zjednodusene receno shlukem pointeru na funkce, pricemz funkce s magickym nazvem _init_() se spusti pri instanciaci, kde se muze do seznamu pridavat dalsi pointery na atributy (proto se atributy objektu definuji v initu) pricemz tento atribut muze byt i jina nova funkce.
Takze je mozne v pythonu udelat objekt, ketry se za pouziti spravneho ifu v _init_() v utery instanciuje neco uplne jineho, nez ve stredu. Naprosta lahoda udrzovat takovy kod. Ostatne takto v pythonu nikdo nepise.
Tam se v realu pridavaji typehinty a dekoratory jako je @Property, aby tyhle historicke znouzectnosti pouzivat nemuseli.

Nahradit javascript pomerne uspesne umoznije Typescript s transpilaci. Angular2 na nem stoji.
Java applety nezdechly kvuli statickemu typovani, ale z prosteho duvodu, ze byly navrzene debilne, AWT grafika byla otres a byly mimo DOM.

"Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data"
No to ani omylem, JS over http je prosty deployment kanall.
Standardni JS aplikace pri pageonload nahraje komplet JS zdrojak, (obvykle optimalizovany pouze pro potreby dane aplikace) a browser to zkompiluje do bytecode. Pri page load event se casto spusti init framweorku. Pak uz se jenom volaji JS funkce a to staticky. A i ty v pripade Angular2 vznikly traspilaci Typescriptu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 18:48:21
Jo, to by me taky zajimalo.
Zvlast kdyz se podivam na nove univerzalni jazyky s potencialem budouciho rozvoje, napr. go, switft, rust, kotlin. Staticky typovane sakumprask vsecko.
Ktery z techto 'univerzalnich' jazyku ma dle tebe potencial nahradit Javascript?

V pripade realne pouzitelneho WebAssmbly vsechny. Spise ale predpokladam cestu Javascriptu jako nizkourovnoveho assembleru, ktery bude cilem transpilace z kvalitnejsich jazyku, napr. Typescript.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 19:08:03
Oceňuji, že jsi napsal něco k tomu dynamickému myšlení.

Dovolím si jen pár poznámek člověka, který dobře zná oba světy.

Statické typy nejsou jenom o jejich deklaraci, ale o tom, že ti determinují, co můžeš za běhu s programem ještě dělat a co už ne. Zjednodušeně řečeno, statické jazyky rozlišují kód a data, dynamické nikoliv (byť míra implementace je různá).  V dynamickém jazyku můžeš kód používat stejně jako data. Což by ti mělo úplně měnit pohled na program a programování, má to řadu důsledků a možností, třeba javascriptové aplikaci můžeš nový kód posílat jako data a za běhu měnit její funkčnost. A ne jako nějakou nouzovou záležitost, kdy servr opravuje za běhu lokální na js založenou aplikaci, ale jako běžné chování. Staticky myslícím programátorům se z toho zvedá kufr, pro ně je to prasárna, všechno chtějí mít pevné, neměnné, prostě statické předem zkontrolované, dynamicky 'mutujíci se' program je pro ně představa z pekla. Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data, s každou stránkou se mohou načíst jiné, z pohledu uživatele se to mění za běhu aplikace, dělat změny i za běhu interpretu (zjednodušuji, vím) je už jen drobné rozšíření tohoto konceptu. Nebo třeba autonomně za běhu programu se vytvářející stovky nových tříd/datových typů na základě obsahu příchozích dat, která jsou hodně variabilní (na to aby je programátor předem otypoval všechny ručně), ale mají své časté opakující se vzory, aby stálo za to jim přiřadit vlastní datové typy.
To co popisuješ je scénář, který se běžně dělá dynamickými jazyky, o tom žádná. Ale staticky typované jazyky s tím nemají žádný principielní problém.
Staticky typované jazyky nejsou od toho, že chceš mít všechno "pevné, neměnné", ale o tom, že chceš mít všechno "předem zkontrolované". To je zásadní rozdíl. Jen a pouze čas kontroly. Opravdu. Všechny ty kouzla, která jsi tu popisoval, tak se bez problému ve statických jazycích dělají. To je možná důvod, proč stále mám problém vidět v tom to kouzlo. Nikoli má neochota, nebo neschopnost (jak mi rád podsouváš), ale to, že jsi furt netrefil ten správnej demonstrativní příklad. Je pravda, že zde může hrát roli i to, že já znám staticky typované jazyky relativně dobře.

Ne že by to lidé nezkoušeli, kdo si pamatuje java applety?
Java applety chcíply z jiného důvodu, než že byly napsaný ve staticky typovaném jazyce
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Idris 03. 04. 2020, 19:33:21
Oceňuji, že jsi napsal něco k tomu dynamickému myšlení.

Dovolím si jen pár poznámek člověka, který dobře zná oba světy.

Statické typy nejsou jenom o jejich deklaraci, ale o tom, že ti determinují, co můžeš za běhu s programem ještě dělat a co už ne. Zjednodušeně řečeno, statické jazyky rozlišují kód a data, dynamické nikoliv (byť míra implementace je různá).  V dynamickém jazyku můžeš kód používat stejně jako data. Což by ti mělo úplně měnit pohled na program a programování, má to řadu důsledků a možností, třeba javascriptové aplikaci můžeš nový kód posílat jako data a za běhu měnit její funkčnost. A ne jako nějakou nouzovou záležitost, kdy servr opravuje za běhu lokální na js založenou aplikaci, ale jako běžné chování. Staticky myslícím programátorům se z toho zvedá kufr, pro ně je to prasárna, všechno chtějí mít pevné, neměnné, prostě statické předem zkontrolované, dynamicky 'mutujíci se' program je pro ně představa z pekla. Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data, s každou stránkou se mohou načíst jiné, z pohledu uživatele se to mění za běhu aplikace, dělat změny i za běhu interpretu (zjednodušuji, vím) je už jen drobné rozšíření tohoto konceptu. Nebo třeba autonomně za běhu programu se vytvářející stovky nových tříd/datových typů na základě obsahu příchozích dat, která jsou hodně variabilní (na to aby je programátor předem otypoval všechny ručně), ale mají své časté opakující se vzory, aby stálo za to jim přiřadit vlastní datové typy.
To co popisuješ je scénář, který se běžně dělá dynamickými jazyky, o tom žádná. Ale staticky typované jazyky s tím nemají žádný principielní problém.
Staticky typované jazyky nejsou od toho, že chceš mít všechno "pevné, neměnné", ale o tom, že chceš mít všechno "předem zkontrolované". To je zásadní rozdíl. Jen a pouze čas kontroly. Opravdu. Všechny ty kouzla, která jsi tu popisoval, tak se bez problému ve statických jazycích dělají. To je možná důvod, proč stále mám problém vidět v tom to kouzlo. Nikoli má neochota, nebo neschopnost (jak mi rád podsouváš), ale to, že jsi furt netrefil ten správnej demonstrativní příklad. Je pravda, že zde může hrát roli i to, že já znám staticky typované jazyky relativně dobře.

Ne že by to lidé nezkoušeli, kdo si pamatuje java applety?
Java applety chcíply z jiného důvodu, než že byly napsaný ve staticky typovaném jazyce
Hlavně existuje polymorfismus zajišťující dostatečnou míru dynamičnosti při zachování bezpečnosti. A víc dynamicky prasit se dá typovými asercemi (typicky třeba v Go, které nemá generika), dokonce i v C++, kde to vypadá obzvlášť hnusně, ale účel to plní. Pro fajnšmekry pak je “protocol-oriented programming”, které je ekvivalentní typovým třídám à la Haskell (ty jsou IMHO ze statických typů nejlepší).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 19:41:51
1) Programovani je inzenyrska cinnost, pozadovanym vysledkem je funkcni program za definovanou dobu za pomoci beznych standardu, aby mohl spoluporacovat ci praci prevzit jiny pracovnik.

2) Libovolne praktiky zmeny chovani programu za chodu je desiva prasecina, ktera ma realny vyznam jenom pri psani pocitacovych viru. Kdyz se divam  do mnou bezne pouzivanych knihoven z pypi.org, nikde jsem takovy hnuj nevidel.

3) Realita v teto oblasti je jina, je to prosta znouzectnost.
Python je skriptovaci jazyk z roku 1991, o dost starsi nez treba Java. Vznikl defacto jako lepsi bash ci perl a ostatne se takto pouziva dodnes. Kdyz pozdeji tvurci uznali za vhodne, ze do pythonu pridaji prvky OOP, sli na to jednoduchou cestou. Objekt v pythonu je zjednodusene receno shlukem pointeru na funkce, pricemz funkce s magickym nazvem _init_() se spusti pri instanciaci, kde se muze do seznamu pridavat dalsi pointery na atributy (proto se atributy objektu definuji v initu) pricemz tento atribut muze byt i jina nova funkce.
Takze je mozne v pythonu udelat objekt, ketry se za pouziti spravneho ifu v _init_() v utery instanciuje neco uplne jineho, nez ve stredu. Naprosta lahoda udrzovat takovy kod. Ostatne takto v pythonu nikdo nepise.
Tam se v realu pridavaji typehinty a dekoratory jako je @Property, aby tyhle historicke znouzectnosti pouzivat nemuseli.

4) Nahradit javascript pomerne uspesne umoznije Typescript s transpilaci. Angular2 na nem stoji.
Java applety nezdechly kvuli statickemu typovani, ale z prosteho duvodu, ze byly navrzene debilne, AWT grafika byla otres a byly mimo DOM.

5) "Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data"
No to ani omylem, JS over http je prosty deployment kanall.
Standardni JS aplikace pri pageonload nahraje komplet JS zdrojak, (obvykle optimalizovany pouze pro potreby dane aplikace) a browser to zkompiluje do bytecode. Pri page load event se casto spusti init framweorku. Pak uz se jenom volaji JS funkce a to staticky. A i ty v pripade Angular2 vznikly traspilaci Typescriptu.

1) Kez by, ale je to blabol, v IT se na standardy moc nehraje, ale zrovna Javascript standardizovany je. O kterem z tech 'univerzalnich' statickych jazyku muzes rict to same?

2) Metaprogramovani z pohledu statickeho ptrogramatora je nepochybne prasecina :-). A to je ukazkovy stret realit, na kterem selhava tve 'racionalni argumenty uznavam'. Byt se ti to neustale deje pred ocima v tvem webovem prohlizeci.

3) Vznik jazyka Python je zcela bezpredmetny, stejne jako vznik Javascriptu nebo Rustu. Python je od te doby uz uplne jiny a tim ze si dovolil nezachovat zpetnou kompatibilitu a projit dvakrat redesignem se zbavil hnusne kole zateze, kterou si za sebou tahne treba Java i Javascript. Coz je sice riskantni krok, ale Pythonu vysel a vystreli ho do nebe.

5) Typescript Javascript nenahrazuje, je na nem totalne zavisly, typovy system ma navic volitelny. Je to na urovni typovych anotaci v pythonu. A vzniklo to pro potreby programatoru se statickym myslenim, kteri ke svemu zivotu potrebuji staticke typy. Javascript bezici v prohlizeci zcela bezne za behu modifikuje program, je to bezna technika, dela se to pres prototypovou dedicnost, kdy se modifikuji tridy DOMu nebo pridava dalsi funkcionalita objektum array, string atd. A cim vic jsou weby ajaxove, tim casteji se to dela za behu, reload stranky je uz webovych aplikaci zastarala technika.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 19:58:25
To co popisuješ je scénář, který se běžně dělá dynamickými jazyky, o tom žádná. Ale staticky typované jazyky s tím nemají žádný principielní problém.
Staticky typované jazyky nejsou od toho, že chceš mít všechno "pevné, neměnné", ale o tom, že chceš mít všechno "předem zkontrolované". To je zásadní rozdíl. Jen a pouze čas kontroly. Opravdu. Všechny ty kouzla, která jsi tu popisoval, tak se bez problému ve statických jazycích dělají. To je možná důvod, proč stále mám problém vidět v tom to kouzlo. Nikoli má neochota, nebo neschopnost (jak mi rád podsouváš), ale to, že jsi furt netrefil ten správnej demonstrativní příklad. Je pravda, že zde může hrát roli i to, že já znám staticky typované jazyky relativně dobře.

Ne že by to lidé nezkoušeli, kdo si pamatuje java applety?
Java applety chcíply z jiného důvodu, než že byly napsaný ve staticky typovaném jazyce

To je oxymoron, kdyz chces mit vsechno zkontrolovane v dobe kompilace, nemuzes to pak vytvaret za chodu, a naopak. Pro statickou analyzu nepotrebujes staticke typy, na to ti staci typove anotace, ktere ma python nebo truescript. Vyhoda statickych typu je jina a imho jedina, umoznuje podstatne lepsi optimalizaci na urovni strojoveho kodu. Kdyz se ty kouzla ve statickych jazycich delaji, proc nemaji plnohodnotnou funkci eval (ci jeji ekvivalent, treba pythoni compile) nebo repl? Coz je dalsi z vyuziti schopnosti prace s dynamicky vytvarenym kodem.

Imho budoucnost je v jazycich, ktere tohle vsechno volitelne pojmou a nic si nebudou vynucovat. Zaklad takoveho jazyku bude nutne dynamicky s tim, ze si programator bude moci dobrovolne rict, tady chci statickou kontrolu, tohle chci mit dynamicky, tohle chci mit objektove, tady mi staci procedury a tyhle data zpracuju funkcionalne. Python se tomu blizi i kdy ma jeste co zlepsovat. Ale treba python 4 prinese dalsi pokrok.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 03. 04. 2020, 20:04:42
Heh, v mym textu neni ani stopy despektu vuci mladym, tam je despekt vuci hloupym.
A vez, ze z mladyho blba bude stary blb a stary blb byl mladym blbem.

Kdyz mi nekdo realne zduvodni, proc je muj nazor mylny, nemam problem to uznat.
Uvažuješ úplně špatně, protože to, že do IT přicházejí lidé, kteří mají stále nižší IQ je důvodem rozmachu IT. Kdyby Bill Gates a Jobs nestrčili počítač do ruky každému blbcovi (když použiji tvůj arogantní slovník), tak by se IT nerozvíjelo tak dynamicky.

Nejsme schopni zajistit, aby se rodilo větší procento dětí s vysokým IQ, abychom těmito dětmi dokázali obsadit ty statisíce nových IT pracovních pozic, které vznikají. Tvoje arogance je stejná, jako kdybys viděl 5leté dítě jak si ťuká na tablet a začal mu nadávat, že dnes na počítači dělá kdejaký blb a kdeže jsou ty časy kdy na obsluhu počítače byly potřeba 2 vysoké školy.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ink 03. 04. 2020, 20:28:45
Heh, v mym textu neni ani stopy despektu vuci mladym, tam je despekt vuci hloupym.
A vez, ze z mladyho blba bude stary blb a stary blb byl mladym blbem.

Kdyz mi nekdo realne zduvodni, proc je muj nazor mylny, nemam problem to uznat.
Uvažuješ úplně špatně, protože to, že do IT přicházejí lidé, kteří mají stále nižší IQ je důvodem rozmachu IT. Kdyby Bill Gates a Jobs nestrčili počítač do ruky každému blbcovi (když použiji tvůj arogantní slovník), tak by se IT nerozvíjelo tak dynamicky.

Nejsme schopni zajistit, aby se rodilo větší procento dětí s vysokým IQ, abychom těmito dětmi dokázali obsadit ty statisíce nových IT pracovních pozic, které vznikají. Tvoje arogance je stejná, jako kdybys viděl 5leté dítě jak si ťuká na tablet a začal mu nadávat, že dnes na počítači dělá kdejaký blb a kdeže jsou ty časy kdy na obsluhu počítače byly potřeba 2 vysoké školy.

Vy myslíte politicky, Halík!
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 20:38:23
Jo, to by me taky zajimalo.
Zvlast kdyz se podivam na nove univerzalni jazyky s potencialem budouciho rozvoje, napr. go, switft, rust, kotlin. Staticky typovane sakumprask vsecko.
Ktery z techto 'univerzalnich' jazyku ma dle tebe potencial nahradit Javascript?

V pripade realne pouzitelneho WebAssmbly vsechny. Spise ale predpokladam cestu Javascriptu jako nizkourovnoveho assembleru, ktery bude cilem transpilace z kvalitnejsich jazyku, napr. Typescript.
Takze je to kdyby, ale asi zadny a pak je tedy za univerzalni jazyk oznacen typescript zavisly na javascriptu? To je mi tedy náhrada javascriptu.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Jiří Havel 03. 04. 2020, 20:39:01
Nemám. Imho to nejde staticky myslícímu člověku racionálně vysvětlit. Můžeš to zkoušet používat a buď přijde aha efekt a nebo nepřijde. Kdysi na to téma měl přednášku na techtalku Niclas Nilsson https://www.se-radio.net/2007/03/episode-49-dynamic-languages-for-static-minds/ ale imho ti to nepomůže, protože to není otázkou nedostatku informací, ale změny myšlení, a to může přijít jen s vlastní zkušeností. Můžeš si zkusít přečíst pár knih na téma javascript design patterns, kde jsou kodifikovány některé způsoby využití, které by tě asi jinak nenapadly, ale jsem pesimista. Tak jako polovina čechů nepochopí, že demokracie je dobrá, imho nepochopí ani polovina programátorů, že dynamické jazyky jsou dobré. Starý struktury musí vymřít a to špatný nerozujný mládí s tím už takové problém nemá.
Sorry, ale podle čeho soudíš že dynamické jazyky nepoužívám? Dělal jsem ve Smalltalku a teď nejvíc v Lue. Oba mi v porovnání se zmiňovaným Javascriptem přijdou výrazně konzistentnější.

BTW, ten podcast mluví o věcech z nichž spousta je na dynamičnosti jazyka úplně nezávislá. Bloky a uzávěry, funkce co vrací funkce, Currying, nebo continuations se vyskytují třeba v Haskellu. Což je pro mně jakýsi vzor toho jak má vypadat dobrý statický typový systém.
Citace
Statické typy nejsou jenom o jejich deklaraci, ale o tom, že ti determinují, co můžeš za běhu s programem ještě dělat a co už ne. Zjednodušeně řečeno, statické jazyky rozlišují kód a data, dynamické nikoliv (byť míra implementace je různá).  V dynamickém jazyku můžeš kód používat stejně jako data. Což by ti mělo úplně měnit pohled na program a programování, má to řadu důsledků a možností, třeba javascriptové aplikaci můžeš nový kód posílat jako data a za běhu měnit její funkčnost. A ne jako nějakou nouzovou záležitost, kdy servr opravuje za běhu lokální na js založenou aplikaci, ale jako běžné chování. Staticky myslícím programátorům se z toho zvedá kufr, pro ně je to prasárna, všechno chtějí mít pevné, neměnné, prostě statické předem zkontrolované, dynamicky 'mutujíci se' program je pro ně představa z pekla. Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data, s každou stránkou se mohou načíst jiné, z pohledu uživatele se to mění za běhu aplikace, dělat změny i za běhu interpretu (zjednodušuji, vím) je už jen drobné rozšíření tohoto konceptu. Nebo třeba autonomně za běhu programu se vytvářející stovky nových tříd/datových typů na základě obsahu příchozích dat, která jsou hodně variabilní (na to aby je programátor předem otypoval všechny ručně), ale mají své časté opakující se vzory, aby stálo za to jim přiřadit vlastní datové typy.
Opravdu mi browser servíruje dynamicky generované kusy javascriptu? Není to spíš tak, že dostávám předpřipravené kousky, které někdo odladil, otestoval, možná prohnal nějakým transpilerem, linterem a obfuskátorem? S důrazem hlavně na to testování, protože můj dojem z dynamických jazyků je, že důkladné pokrytí testy je jediný způsob, jak se z toho nezbláznit. A taky jak si být aspoň trochu jistý, že jsem vychytal aspoň překlepy.

Stejně by mi webserver mohl servírovat kousky java/.net bytekódu, nebo dokonce x86 binárky. A nebo reálněji třeba webassembly. Mimochodem i ten javascript, co dostávám, mohl vzniknout transpilací z nějakého statického jazyka. Jako příjemce by to pro mně neznamenalo žádný rozdíl.
Citace
To jenom pro představu možností. To že ty osobně nenarážíš na možnosti statických typů je proto, že myslíš staticky a nechceš proto po nich víc, než ti umožňují. Zkus ale nahradit javascript v prohlížeči nějakým statickým jazykem. Ne že by to nešlo, ale narazíš na řadu omezení a problémů, která to přinese. Ne že by to lidé nezkoušeli, kdo si pamatuje java applety? Jestli tohle ti neumožní alespoň vidět nové možnosti, které přináší dynamické jazyky, tak ti asi nic nepomůže. A pokud ano, tak chápeš nesmyslnost tvrzení, že dynamické jazyky jsou stejné jako statické, ale horší.
Jinak zbytek keců o tom že to staticky myslícímu člověku nejde vysvětlit, nebo že to buď vidím nebo mi nic nepomůže si vážně můžeš nechat. Mohl bych to jednoduše otočit stylem že dynamicky myslící člověk není schopný pobrat výhody statických jazyků. Přínos nula.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: qelurg 03. 04. 2020, 21:04:18
Nemám. Imho to nejde staticky myslícímu člověku racionálně vysvětlit. Můžeš to zkoušet používat a buď přijde aha efekt a nebo nepřijde. Kdysi na to téma měl přednášku na techtalku Niclas Nilsson https://www.se-radio.net/2007/03/episode-49-dynamic-languages-for-static-minds/ ale imho ti to nepomůže, protože to není otázkou nedostatku informací, ale změny myšlení, a to může přijít jen s vlastní zkušeností. Můžeš si zkusít přečíst pár knih na téma javascript design patterns, kde jsou kodifikovány některé způsoby využití, které by tě asi jinak nenapadly, ale jsem pesimista. Tak jako polovina čechů nepochopí, že demokracie je dobrá, imho nepochopí ani polovina programátorů, že dynamické jazyky jsou dobré. Starý struktury musí vymřít a to špatný nerozujný mládí s tím už takové problém nemá.
1) Sorry, ale podle čeho soudíš že dynamické jazyky nepoužívám? Dělal jsem ve Smalltalku a teď nejvíc v Lue. Oba mi v porovnání se zmiňovaným Javascriptem přijdou výrazně konzistentnější.

2) BTW, ten podcast mluví o věcech z nichž spousta je na dynamičnosti jazyka úplně nezávislá. Bloky a uzávěry, funkce co vrací funkce, Currying, nebo continuations se vyskytují třeba v Haskellu. Což je pro mně jakýsi vzor toho jak má vypadat dobrý statický typový systém.
Citace
Statické typy nejsou jenom o jejich deklaraci, ale o tom, že ti determinují, co můžeš za běhu s programem ještě dělat a co už ne. Zjednodušeně řečeno, statické jazyky rozlišují kód a data, dynamické nikoliv (byť míra implementace je různá).  V dynamickém jazyku můžeš kód používat stejně jako data. Což by ti mělo úplně měnit pohled na program a programování, má to řadu důsledků a možností, třeba javascriptové aplikaci můžeš nový kód posílat jako data a za běhu měnit její funkčnost. A ne jako nějakou nouzovou záležitost, kdy servr opravuje za běhu lokální na js založenou aplikaci, ale jako běžné chování. Staticky myslícím programátorům se z toho zvedá kufr, pro ně je to prasárna, všechno chtějí mít pevné, neměnné, prostě statické předem zkontrolované, dynamicky 'mutujíci se' program je pro ně představa z pekla. Přitom přesně takto webové aplikace fungují, nalinkovaný js do stránky není nic jiného než program poslaný jako data, s každou stránkou se mohou načíst jiné, z pohledu uživatele se to mění za běhu aplikace, dělat změny i za běhu interpretu (zjednodušuji, vím) je už jen drobné rozšíření tohoto konceptu. Nebo třeba autonomně za běhu programu se vytvářející stovky nových tříd/datových typů na základě obsahu příchozích dat, která jsou hodně variabilní (na to aby je programátor předem otypoval všechny ručně), ale mají své časté opakující se vzory, aby stálo za to jim přiřadit vlastní datové typy.
3) Opravdu mi browser servíruje dynamicky generované kusy javascriptu? Není to spíš tak, že dostávám předpřipravené kousky, které někdo odladil, otestoval, možná prohnal nějakým transpilerem, linterem a obfuskátorem? S důrazem hlavně na to testování, protože můj dojem z dynamických jazyků je, že důkladné pokrytí testy je jediný způsob, jak se z toho nezbláznit. A taky jak si být aspoň trochu jistý, že jsem vychytal aspoň překlepy.

4) Stejně by mi webserver mohl servírovat kousky java/.net bytekódu, nebo dokonce x86 binárky. A nebo reálněji třeba webassembly. Mimochodem i ten javascript, co dostávám, mohl vzniknout transpilací z nějakého statického jazyka. Jako příjemce by to pro mně neznamenalo žádný rozdíl.
Citace
To jenom pro představu možností. To že ty osobně nenarážíš na možnosti statických typů je proto, že myslíš staticky a nechceš proto po nich víc, než ti umožňují. Zkus ale nahradit javascript v prohlížeči nějakým statickým jazykem. Ne že by to nešlo, ale narazíš na řadu omezení a problémů, která to přinese. Ne že by to lidé nezkoušeli, kdo si pamatuje java applety? Jestli tohle ti neumožní alespoň vidět nové možnosti, které přináší dynamické jazyky, tak ti asi nic nepomůže. A pokud ano, tak chápeš nesmyslnost tvrzení, že dynamické jazyky jsou stejné jako statické, ale horší.
5) Jinak zbytek keců o tom že to staticky myslícímu člověku nejde vysvětlit, nebo že to buď vidím nebo mi nic nepomůže si vážně můžeš nechat. Mohl bych to jednoduše otočit stylem že dynamicky myslící člověk není schopný pobrat výhody statických jazyků. Přínos nula.
1) Z nechápavosti, ale tak ti prostě nejsou souzeny. Souhlas, Javascript není dobře navržený jazyk, když vznikal, byla to spíš legrace, nikdo s ním tak velké ambice neměl. Holt stane se, smutné je, že nikdo nepřišel s lepší náhradou nebo alespoň javascriptem 2, který by se zbavil té nesmyslné zátěže. Přitom by v prohlížeči mohl běžet pár let paralelně s tím stávajícím a bezbolestně převzít štafetu.
2) To je pravda, ale už je to dost staré, tehdy to ještě nebylo všeobecně známé.
3) Původ není podstatný, podstatná je možnost modifikovat dynamicky a jednoduše běžící runtime. Testování je potřeba vždy, statické typy tě přece před překlepem nezachrání.
4) Jak bys v javě za běhu modifikoval třídu a všem stávajícím instancím změnil chování nějaké metody?
5) Otočit to samozřejmě můžeš, ale nemáš proti komu, protože nikdo tu význam statických jazyků nepopírá.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: LarryLin 03. 04. 2020, 21:25:53
Heh, v mym textu neni ani stopy despektu vuci mladym, tam je despekt vuci hloupym.
A vez, ze z mladyho blba bude stary blb a stary blb byl mladym blbem.
Kdyz mi nekdo realne zduvodni, proc je muj nazor mylny, nemam problem to uznat.
Uvažuješ úplně špatně, protože to, že do IT přicházejí lidé, kteří mají stále nižší IQ je důvodem rozmachu IT. Kdyby Bill Gates a Jobs nestrčili počítač do ruky každému blbcovi (když použiji tvůj arogantní slovník), tak by se IT nerozvíjelo tak dynamicky.
Nejsme schopni zajistit, aby se rodilo větší procento dětí s vysokým IQ, abychom těmito dětmi dokázali obsadit ty statisíce nových IT pracovních pozic, které vznikají. Tvoje arogance je stejná, jako kdybys viděl 5leté dítě jak si ťuká na tablet a začal mu nadávat, že dnes na počítači dělá kdejaký blb a kdeže jsou ty časy kdy na obsluhu počítače byly potřeba 2 vysoké školy.
Vy myslíte politicky, Halík!
Nee, myslím ekonomicky. Před 20 lety Standa Blábol a jeho 500 splupracovníků s IQ 200 pracovali na bankovních systémech v ČR což tenkrát bylo TOP zaměstnání. Dnes je potřeba na zajištění bankovních systémů 10000 pracovníků, ale v ČR je stále jen těch 500 lidí s IQ 200.

Správně by se měl Standa ze své pracovní pozice Vývojáře bankovních systémů přesunout na Vývojáře AI a těm 10000 zaměstnancům připravovat lepší automatizaci. Tak to má v ekonomice fungovat. Pokud se Standa nepřesunul na Vývojáře AI, tak zaspal dobu a teď nemůže pochopit, že Čo bolo, to bolo!  :)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: tomas88 03. 04. 2020, 21:35:47
Tady se kazdy ohani IQ a pritom se resi takovy pakarny ;) Staticky nebo dynamicky. Vzdyt je to stejna debata jako jestli mezery nebo tabulatory. Proste nema reseni. Nebo ma, ale protistrana ho stejne neprijme. Takze jako by nemel.

Pokud mam nest zodpovednost, volim staticky typovany jazyky. A kdyz po me zodpovednost nikdo nevyzaduje (to jest jsem na tom projektu jen jako pracovni jednotka), tak klidne experimenty vseho druhu a na vsech frontach. A az se to zacne srat, tak jdu dal.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Jiří Havel 03. 04. 2020, 21:47:12
To je oxymoron, kdyz chces mit vsechno zkontrolovane v dobe kompilace, nemuzes to pak vytvaret za chodu, a naopak. Pro statickou analyzu nepotrebujes staticke typy, na to ti staci typove anotace, ktere ma python nebo truescript.
Je nějaký principielní rozdíl mezi statickými typy a těmi typovými anotacemi? V obou případech jsou to překladačem vynucená omezení možných hodnot.
Citace
Vyhoda statickych typu je jina a imho jedina, umoznuje podstatne lepsi optimalizaci na urovni strojoveho kodu. Kdyz se ty kouzla ve statickych jazycich delaji, proc nemaji plnohodnotnou funkci eval (ci jeji ekvivalent, treba pythoni compile) nebo repl? Coz je dalsi z vyuziti schopnosti prace s dynamicky vytvarenym kodem.
Třeba takový Haskell (ghc) má plnotučný repl, eval a všechny tyhle radosti. Cerní C++ interpret ten repl zvládá taky bez problémů.

To, jestli má jazyk eval, repl a podobné věci není až tak závislé na statičnosti nebo dynamičnosti daného jazyka. Závisí to spíš na tom, jestli se programy v daném jazyce distribuují v podobě zdrojáků nebo jako nějaký bytecode či binárky. Jde jenom o tom, jestli se vyplatí k tomu programu přibalit řádově větší a složitější kompilátor/interpret. Nebo jestli tam ten kompilátor stejně přibalený být musí.

1) Z nechápavosti, ale tak ti prostě nejsou souzeny. Souhlas, Javascript není dobře navržený jazyk, když vznikal, byla to spíš legrace, nikdo s ním tak velké ambice neměl. Holt stane se, smutné je, že nikdo nepřišel s lepší náhradou nebo alespoň javascriptem 2, který by se zbavil té nesmyslné zátěže. Přitom by v prohlížeči mohl běžet pár let paralelně s tím stávajícím a bezbolestně převzít štafetu.
Omyl, JavaScript není vůbec navržený jazyk. Vznikl jako demíčko, které napsal jeden člověk za týden a shodou okolností se ujal jako standard. Proč nikdo nepřišel s lepší náhradou je IMO jasné. U webového jazyka je úplně jedno, jestli je statický, dynamický, takový nebo makový. Jediné relevantní kritérium je kompatibilita s tou hromadou existujícího JavaScriptu. Všechno ostatní jsou jen důsledky.
Citace
3) Původ není podstatný, podstatná je možnost modifikovat dynamicky a jednoduše běžící runtime. Testování je potřeba vždy, statické typy tě přece před překlepem nezachrání.
Možnost modifikovat runtime nevyplývá ze statičnosti/dynamičnosti ale z toho, jestli má ten jazyk vždycky přibalený kompilátor/interpret.
Testovat je třeba. Ale drtivá většina překlepů se ve statických jazycích chytne už při kompilaci, protože metody jako "SeParam" žádný interface nemá.
Citace
4) Jak bys v javě za běhu modifikoval třídu a všem stávajícím instancím změnil chování nějaké metody?
Javu moc dobře neznám. V C++ bych asi věděl. Přes věci jako dll injection se dají dělat zajímavé divočiny.
Daleko lepší nápad mi ale přijde, pokud má daný systém nějaké zotavení z pádu, kontrolovaně shodit celý proces a nahradit ho novou verzí.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 21:49:05
To je oxymoron, kdyz chces mit vsechno zkontrolovane v dobe kompilace, nemuzes to pak vytvaret za chodu, a naopak.
Právě že můžeš. V tom je ten spor.


Kdyz se ty kouzla ve statickych jazycich delaji, proc nemaji plnohodnotnou funkci eval (ci jeji ekvivalent, treba pythoni compile) nebo repl?
Protože mají.
Haskell, Elm mají repl co je znám.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 21:52:59
4) Jak bys v javě za běhu modifikoval třídu a všem stávajícím instancím změnil chování nějaké metody?
Javu moc dobře neznám. V C++ bych asi věděl. Přes věci jako dll injection se dají dělat zajímavé divočiny.
Daleko lepší nápad mi ale přijde, pokud má daný systém nějaké zotavení z pádu, kontrolovaně shodit celý proces a nahradit ho novou verzí.
Jedna možnost - reflexí.
Druhá možnost - něco kolem vzoru interpreter.
Záleží, jak bych to chtěl pojmout. Zda jako hack, nebo jako systém.
(Určitě existují další způsoby.)
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 21:57:42
Imho budoucnost je v jazycich, ktere tohle vsechno volitelne pojmou a nic si nebudou vynucovat. Zaklad takoveho jazyku bude nutne dynamicky s tim, ze si programator bude moci dobrovolne rict, tady chci statickou kontrolu, tohle chci mit dynamicky, tohle chci mit objektove, tady mi staci procedury a tyhle data zpracuju funkcionalne. Python se tomu blizi i kdy ma jeste co zlepsovat. Ale treba python 4 prinese dalsi pokrok.

To je všechno možný. Jen připomínám, že otázka nezněla jaká bude budoucnost. Ale otázka zněla, jak je to s tím dynamickým myšlením. To je to, co nás už tři zajímá.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 22:02:41
Hlavně existuje polymorfismus zajišťující dostatečnou míru dynamičnosti při zachování bezpečnosti. A víc dynamicky prasit se dá typovými asercemi (typicky třeba v Go, které nemá generika), dokonce i v C++, kde to vypadá obzvlášť hnusně, ale účel to plní.
Go a jeho generování kódu polymorfních funkcí je nejvíc.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Standa Blábol 03. 04. 2020, 23:14:43
4) Jak bys v javě za běhu modifikoval třídu a všem stávajícím instancím změnil chování nějaké metody?
Javu moc dobře neznám. V C++ bych asi věděl. Přes věci jako dll injection se dají dělat zajímavé divočiny.
Daleko lepší nápad mi ale přijde, pokud má daný systém nějaké zotavení z pádu, kontrolovaně shodit celý proces a nahradit ho novou verzí.
Jedna možnost - reflexí.
Druhá možnost - něco kolem vzoru interpreter.
Záleží, jak bych to chtěl pojmout. Zda jako hack, nebo jako systém.
(Určitě existují další způsoby.)

Kdyz uz takovou potrebu, ze menim classes za chodu, vybec mam, je neco hodne spatne v architektonickem navrhu.
V realu tohhle vede leda tak k nedefinovanemu bordelu, protoze nedokazu zajistit, aby se objekt nemodifikoval v nejakem prechodovem stavu.

V Jave proto Spring Boot sestavuje aplikaci pri startu, classes kompozice se sestavi jako IoC assembly podle konfigurace, musi vsak splnovat interface, pres ktere to spring via @autowired slepi dohromady. Jak uz aplikace nabehne, do kodu se uz nehrabe, to je hovadina.

Obdobnou funkcionalitu muze poskytnou Java OSGi container, tam se ale za chodu nemeni jednotlive classes, ale services. Tam je mozne uhlidat konzistenci, vymeni se zkratka servica, coz je uplne jina immutable class se stejnym interfacem, stavajici runy zkratka dobehnou, servica se otoci s novou class a hotovo. Je to vlastne obdoba microservices v ramci JVM.
Ma to definovany lifecycle, ostatni spolupracujici servicy zpusobne pockaji, nez se moje servica otoci.
Mutace class za chodu, i kdyz to pres reflection api asi pujde, je tak leda gigabordel.
Dalsi aspekt, jak se ma zachovat serializace? Kdyz ponecham puvidni id serializace, tak lzu, a zpusobim tak leda pad JVM pri deserializaci. Kdyz mam id jine, coz spravne byt musi, je to defacto jina class.
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: BoneFlute 03. 04. 2020, 23:23:25
4) Jak bys v javě za běhu modifikoval třídu a všem stávajícím instancím změnil chování nějaké metody?
Javu moc dobře neznám. V C++ bych asi věděl. Přes věci jako dll injection se dají dělat zajímavé divočiny.
Daleko lepší nápad mi ale přijde, pokud má daný systém nějaké zotavení z pádu, kontrolovaně shodit celý proces a nahradit ho novou verzí.
Jedna možnost - reflexí.
Druhá možnost - něco kolem vzoru interpreter.
Záleží, jak bych to chtěl pojmout. Zda jako hack, nebo jako systém.
(Určitě existují další způsoby.)

Kdyz uz takovou potrebu, ze menim classes za chodu, vybec mam, je neco hodne spatne v architektonickem navrhu.
V realu tohhle vede leda tak k nedefinovanemu bordelu, protoze nedokazu zajistit, aby se objekt nemodifikoval v nejakem prechodovem stavu.

V Jave proto Spring Boot sestavuje aplikaci pri startu, classes kompozice se sestavi jako IoC assembly podle konfigurace, musi vsak splnovat interface, pres ktere to spring via @autowired slepi dohromady. Jak uz aplikace nabehne, do kodu se uz nehrabe, to je hovadina.

Obdobnou funkcionalitu muze poskytnou Java OSGi container, tam se ale za chodu nemeni jednotlive classes, ale services. Tam je mozne uhlidat konzistenci, vymeni se zkratka servica, coz je uplne jina immutable class se stejnym interfacem, stavajici runy zkratka dobehnou, servica se otoci s novou class a hotovo. Je to vlastne obdoba microservices v ramci JVM.
Ma to definovany lifecycle, ostatni spolupracujici servicy zpusobne pockaji, nez se moje servica otoci.
Mutace class za chodu, i kdyz to pres reflection api asi pujde, je tak leda gigabordel.
Dalsi aspekt, jak se ma zachovat serializace? Kdyz ponecham puvidni id serializace, tak lzu, a zpusobim tak leda pad JVM pri deserializaci. Kdyz mam id jine, coz spravne byt musi, je to defacto jina class.

Mě to nevysvětluj.

Ale uvedu taky příklad z praxe: mám aktorovej model. Takže spustím aplikaci, ta si natáhne těch pár tasků, a běží. V databázi je definováno, kdy se má který task spustit. Mezi tím přijde požadavek na nový task. Takže si ho napíšu, odladím, přihodím k aplikaci a - upravím záznam db! Aplikace se podívá a uvidí, že tam má další task, tak si ho načte, inicializuje, vyřeší závislosti a spouští podle plánu.

Nevím, mě to přijde dynamický hezky.

Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Ondrej Nemecek 04. 04. 2020, 16:26:51
Nic proti, ale byl bych opatrný při hodnocení co vede nutně k bordelu a co ne. Když si vezmete Smalltalk, tak ten běží už spoustu let víceméně z jednoho a toho samého image a classy se tam také mění za běhu... Změny se projeví v nových instancích, možná lze v některých implementacích i modifikovat běžící instance, to přesně nevím.

V javě lze taky načítat různé verze téže knihovny (s různými problémy, které to nutně přináší) a můžete do určité míry i modifikovat instance. Svoje využití to má, i když určitě nepůjde o běžné využití v aplikační logice. Ale pro instrumentaci, monitoring, profiling a debugging se to používá běžně, sem tam i pro tvorbu tříd za běhu (dynamické proxy, AOP).
Název: Re:Doporučte programovací jazyk pro Windows
Přispěvatel: Johnny 04. 04. 2020, 16:59:12
Nic proti, ale byl bych opatrný při hodnocení co vede nutně k bordelu a co ne. Když si vezmete Smalltalk, tak ten běží už spoustu let víceméně z jednoho a toho samého image a classy se tam také mění za běhu... Změny se projeví v nových instancích, možná lze v některých implementacích i modifikovat běžící instance, to přesně nevím.
U toho Smalltalku se změny projeví dokonce i u stávajících instancí, pokud jde o předávané zprávy, v případě přidávaných instančních proměnných jsou u stávajích instancí pochopitelně nil, ale i tehdy je lze dodatečně inicializovat.