Zobrazit příspěvky

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


Příspěvky - jano6

Stran: 1 2 [3] 4
31
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 07. 11. 2020, 23:25:05 »
Citace
Java otevřela nový segment. Python nahradil Perl.

Ja by som bol opatrný pri slove nahradil. V súčasnosti je dnes viac Perl programátorov,
ako v minulosti. Akurát ostantné jazyky sú populárnejšie a Perl nie je na očiach.
Skôr by som tipoval, že Python obsadil oblasti, ktoré mohol mať Perl. Na webe Perl
zas vytlačilo PHP.

Je pozoruhodné, že Python oveľa viac populárny ako Perl. Perl je len o 2-3 roky starší
ale jeho CPAN bol spustený v roku 1995!!! Python mal dlhé roky v tom chaos a jednodný
repozitár sa podarilo dosiahnuť len pár rokov dozadu.

32
Vývoj / Re:Kotlin nebo Scala pro backend?
« kdy: 07. 11. 2020, 23:15:10 »
Citace
V čem byl Python revoluce? Beru třeba Lisp nebo Smalltalk, ale proč Python?

No zrejme nie vo features, ktoré má, ale možno je Python revolúciou preto, že sa doslova
masovo rozšíril. Je to jazyk aj pre nie programátorov. Pre veľa ľudí, pre ktorých sú
excelové funkcie už nedostatočné. To sa v histórii nepodarilo žiadnemu jazyku.

Citace
Když si v aplikaci uděláš jednu statickou Common třídu (nebo klidně víc podle zaměření, když by jich bylo moc),
tak její metody můžeš používat úplně stejně jako obyčejné funkce - nebo ne?

Stále tam musíme napísať tú Common triedu, ďalej je tam statický kontext, ktorý všetko len zamotáva.
A takéto statické  metódy nemožno použiť všade, kde by sa dala použiť bežná funkcia; viď tzv higher-order funkcie.

Citace
Podívejte se na funkce v JavaScriptu. Jsou to obyčejné funkce a zároveň objekty.

No to áno, to je v pohode, takto to majú aj Python či Ruby. Problém je, že v Jave či C#  metódy
nie sú ani jedno.

33
Vývoj / Re:Kotlin nebo Scala pro backend?
« kdy: 06. 11. 2020, 13:19:37 »
Java má pitomá a neintuitivní generika a na cokoli trochu zavánějící pozdní vazbou se musí použít reflexe, i když by de fakto stačila interface. To jsou podle mě největší bolesti javy.

Pre mňa je to neexistencia obyčajných funkcií. Túto nepochopiteľnú chybu okopírovali aj v C#; potom
sa to snažili nejako napraviť cez built-int delegáty, ale nie je to ono.
Podľa mňa to vyplýva z toho, že Java je ako sa dnes hovorí opinionated jazyk; všetko musí byť objektovo.
Pre veľkú časť úloh objektové programovanie nie je potrebné a dokonca je zbytočné. Nemožnosť tvoriť
obyčajné funkcie zabrzdil rozvoj Javy ako jazyka a oproti moderným jazykom pôsobí zastaralo. Nuž, keď
sa raz základy zle postavia, tak už stavbu neprerobíme.


34
Vývoj / Re:Kotlin nebo Scala pro backend?
« kdy: 02. 11. 2020, 20:21:00 »
F# je tiež veľmi pragmatický jazyk. Všetky kolekcie sú immutable okrem polí; pretože
polia sa často využívajú vo výpočtoch, ktoré sú mutable. V jazyku neexistuje null hodnota,
ale keby to bolo treba, dá sa to spojazdniť pomocou AllowNullLiteral atribútu.
Rekurzia je first-class, ale v jazyku sú aj tradičné for cykly; niekedy sa to proste hodí.

Clojure veľmi nepoznám, ale rozhodne je to veľmi zaujímavý jazyk. Keď som si porovnával
príklady na rosetta code, tak čo sa týka čitateľnosti, zrozumiteľnoti, a elegancie, tak väčšinou
mi vyšiel F#.  V niektorých prípadoch to bol však Clojure. Zároveň fakt, že syntax LISPU sa
výrazne nezmenila od roku 1958, je veľmi pozoruhodný. (Porovnajme si to s tým, ako sa
drasticky menia jazyky napr. PHP, JS, C# či C++.)


Kotlin ale nesúťaží priamo s jazykmi Scala, Clojure, Haskell či OCalm. Kotlin je pragmatický jazyk ...

Právě na Kotlinu se mi líbí ten pragmatismus. Také mám rád FP (zkušenosti z Rustu), ale na Haskell (alespoň zatím) nemám a dále mi vyhovuje OOP, takže se Scala ukazovala za dobrou volbu, ale Kotlin a jeho pragmatismus (HTML dsl například) je také velice pěkná volba. A to mě dostalo sem. Kotlin má také funkcionální prvky.

No tak pak se nabizi Clojure. Z toho pragmatismus strika do vsech smeru.

35
Vývoj / Re:Jake používáte prostředí pro vývoj (C++)_
« kdy: 02. 11. 2020, 19:12:08 »
Diq za tip. To je zaujímavé, s xmllint som doteraz nerobil.

Stiahnite si zo stránky https://bugs.eclipse.org/bugs/buglist.cgi?component=SWT
CSV súbor bugs-2020-11-01.csv.

$ grep '"ASSIGNED"|"REOPENED"|"NEW"' bugs-2020-11-01.csv | vim -

Otvoríme si vyfiltrované žijúce bugy v editore VIM. Pomocou G príkazu sa bleskovo
dostaneme na koniec editora; úctyhodných 1637 bugov.

Zkus si tam vložit tento filtr:
Kód: [Vybrat]
curl "https://bugs.eclipse.org/bugs/buglist.cgi?component=SWT" |
    xmllint --html --xpath '//table/tr[td/span/@title="NEW"]/td[@class="bz_short_desc_column"]/a' - |
    vim -

Trochu lepší a rychlejší XPath:
Kód: [Vybrat]
'/html/body/div/table/tr[td/span/@title="NEW"]/td[@class="bz_short_desc_column"]/a'

36
Vývoj / Re:Jake používáte prostředí pro vývoj (C++)_
« kdy: 01. 11. 2020, 19:34:50 »

Citace
a má cenu se to učit nebo je to pozéřina, protože to vypadá cool?

VIM sa má cenu učiť. Sú veci, ktoré pre ktoré nemá konkurenciu. (S výnimkou Emacsu.)
Trebárs zo shellu si presmerujete do VIM bufferu výstup, kde ho priamo ďalej
môže upravovať, filtrovať. Napr. spustíte grep, awk, sed a text sa vam priamo
v editore mení. Môžte to robiť bleskovo s stovkami tisíc riakov dát. To proste
nemá konkurenciu.


Eclipse. Nekolik vyhod:
- da se pouzit na vicero jazyku najednou java, C++, php ...
- je stejny na ubuntu i ve windows, nastavil jsem si a mam roznake prostredi na ruznych platformach
- ma vetsinu vychytavek IDE

Nevyhody urcite napisou do diskuze ostatni.

Eclipse je bieda. Ale poriadna bieda. UI je najhoršie, aké poznám. (Keď sa vám otvorí, zakryje
celú obrazovku, pretože tam natrebali bezhlavo stovky rôznych options.) Je to príšerne
zabugovaný soft. Eclipse pre GUI používa knižnicu SWT, ktorá oproti Swingu je tenkým obalom
nad GTK, Windows API a Cocoa. Udržiavať taký shit musí byť peklo. Nuž ale posúďte sami:

Stiahnite si zo stránky https://bugs.eclipse.org/bugs/buglist.cgi?component=SWT
CSV súbor bugs-2020-11-01.csv.

$ grep '"ASSIGNED"|"REOPENED"|"NEW"' bugs-2020-11-01.csv | vim -

Otvoríme si vyfiltrované žijúce bugy v editore VIM. Pomocou G príkazu sa bleskovo
dostaneme na koniec editora; úctyhodných 1637 bugov.

:%! sort -t, -k8,8

Pomocou tohoto príkazu priamo zosortujeme naše dáta podľa dátumu; najstarší bug je z júla
2011. Mnohé bugy sú typu otvorím file dialog a Eclipse padá, Eclipse spadne pri otvorení
HTML súboru; množtvo bugov spôsobuje zamŕzanie a spomalenie systému, či krach JVM.

Eclipse občas použijem pri hromadnej úprave HTML súborov. Tá funkcionalita síce vyzerá
strašne, ale je funkčná. Inak to neotváram ani za svet.

VS Code mám rád, avšak jeho filozofia Editor pre všetko ho odsudzuje na
VS Code Always Beta.

37
Vývoj / Re:Kotlin nebo Scala pro backend?
« kdy: 01. 11. 2020, 18:56:58 »
Kotlin ale nesúťaží priamo s jazykmi Scala, Clojure, Haskell či OCalm. Kotlin je pragmatický jazyk
pre Java programátorov, pre ktorých je tento jazyk zjavením. Opravuje množstvo chýb, opomenutí
a nezmyslov napr: infantilný názov ArrayList pre zoznamy, neexistencia bežných funkcií, neexistencia literálovej
syntaxe pre kolekcie, vynucované výnimky, dodrbané Futures, práca s kolekciami z praveku, bienda podpora základného FP
programovania a mnoho ďalšieho.  V Kotline je všetko logickejšie, premyslenejšie a omnoho viac expresívne.
Rovnaká úloha v  Kotline si vyžaduje je zlomok kódu, oproti Jave. Okrem toho je zaujímavá možnosť kompilácie
do JS alebo natívneho kódu. Spolu s DSL abstrakciami sú to naozaj brutal zaujímavé veci.

Jednou z priorít jazyka Kotlin bola spätná kompatibilita s Javou a jej knižnicami a čo najjednoduchší
prechod. IntelliJ má zabudovaný pomerne mocný refaktoring Java kódu na Kotlin. Java postupne morálne
starne a prechod na tento jazyk je najviac priamočiarí.

Java programátor, ktorý prejde na Kotlin, získa strašne veľa. Skúseného FP programátora nemusí Kotlin vôbec ohúriť;
ale to jeho dizajnéri ani memali za cieľ.


S prominutím, ale jazyk bez pattern matchingu, bez algebraickych datovych typu, a optimalizovany na to aby se operace provadely skrz efekty neni funkcionalni jazyk. Kotlin ma o nekolik radu slabsi typovy system a vpodstate nepouzitelnou generiku. Zkratka je to funkcionalne **vypadajici** hromadka syntaktickeho cukru nad javou.

Zajem o scalu by byl, bohuzel s nabidkou pozic je to bida :-(.

38
Citace
Java example:

Kód: [Vybrat]
try {
  a1 = action1();
  a2 = action2();
  a3 = action3();
  a4 = action4();
  a5 = action5();
} catch (Exception e) {
  log.error("Je to rozbity")
  System.exist();
}

Ono to ale v praxi takto pekne rozhodne nevyzera.

Kód: [Vybrat]
       try {

...

        } catch (SQLException ex) {
           ...
        } finally {

            DBUtils.closeResultSet(rs);
            DBUtils.closeStatement(pst);
            DBUtils.closeConnection(con);
        }
    }

a potom

Kód: [Vybrat]
    public static void closeResultSet(ResultSet rs) {

        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException ex) {
                logger.log(Level.FINEST, "Could not close JDBC ResultSet", ex);
            } catch (Throwable ex) {
                // We don't trust the JDBC driver: It might throw RuntimeException or Error.
                logger.log(Level.FINEST, "Unexpected exception on closing JDBC ResultSet", ex);
            }
        }
    }

Jedna vynimka moze generovat dalsiu, a ta dalsia potom dalsiu. Z toho je potom poriadne kosaty kod,
ktory ma daleko k dobrej citatelnosti. Ta poznamka "We don't trust the driver" pochadza zo Springu;
to pridava kodu dalsiu uroven komplexnosti a zamotanosti. Je z toho potom uplny binec.  Mne Java
naopak vynimky poriadne znechutila.

Go ma svoje podivnosti, ako je vyssia spominana chyba, ked sa premenna nevyuziva, vynucovane
taby, Go slice, Github importy, formatovanie casu (to som chvilu zazeral, pokial mi to doslo, pouziva sa namiesto
formatovacich specifikatorov natvrdo retazec datumu a casu.)

Avsak vo svojej oblasti je genialny; vyborne sa hodi na mnostvo taskov na ktore Python nestaci a
Rust je velmi komplikovany. Chcete importovat data z Excelu, efektivne spustat web requesty, pochrumat
obrovske mnostvo dat --> na to je Go ako stvorene, portabilny, malicke binarky a vyrazne jednoduchsie
riesenie ako trebars v tom Ruste, pricom rychlost Go je len o nieco mensia ako pri Ruste.

Ja by som najradsej na vsetko pouzil F#, ale ked zbuildovany Hello World ma 30MB, tak to Go ma svoje
caro.

39
Studium a uplatnění / Re:Start Java programování
« kdy: 15. 10. 2020, 14:19:26 »
Nuž ja som to nepísal, ako fanúšik .NET, ktorý má potrebu chváliť .NET a kritizovať Javu. Ja som (bol)
primárne Java/Python programátor, ktorý po čase začal pozerať po alternatívach. Kebyže chcem,
tak viem riadne zjazdiť Javu a jej nedostatky, pretože ju dosť dobre poznám. (Trvalo len nejakých 25 rokov,
kým prišiel multiline string alebo doteraz nefunkčné API pre zvuk...)

MS nie je tým, čo bol za tých dvoch indivíduí. V súčastnosti ak je nejaká spoločnosť hostílna a pribrzdená,
tak to je tá druhá.

Zasa nežartujme s tými hrami; porovnávať Unity s hocičím v Jave, to snáď nie.

Podľa môjho názoru je .NET lepšia voľba pre IOT a ML, je to tam viac prepracované a kompaktné. Od nástrojov,
knižníc až po integráciu s Azure. MS do toho poriadne investuje; je to jedna z ich priorít.  Ale môžem sa mýliť.

Jedno čo má Java výhodu pri vývojových nástrojoch je to, že IntelliJ IDEA má community edition, kým Rider nie.
NetBeans je bohužiaľ mŕtve a Eclipse je o ničom. Pre Windows je Visual Studio community edition. Je na tom
Java naozaj oveľa lepšie?!

Hej, JVM má Scalu, Groovy, Kotlin, Clojure,  .NET má len jeden -- avšak geniálny F#. A práve F# bol jedným z dôvodov,
prečo som sa nakoniec začal vážne zaujímať o .NET.  C#/F# combo je veľmi chytľavé.

Keď som písal, že je C# komerčne úspečný, nemyslel som tým, že je najúspešnejší. Pozrel som si momentálne počet
pracovných pozícií na jooble.org 57000 Java vs 40000 .NET. To je nejaký priepastný rozdiel? Proste .NET nie je ako Go
či  Rust, ktoré sú super jazyky a ľudia ich majú radi, ale niet  pre nich dostatok jobov.

Summa summarum, ja mám rád úhľadný kód, na ktorý sa dobre díva. Kód, ktorý je expresívny. C# je pre mňa
v tomto oveľa lepšia voľba. Avšak ako som už vyššie spomenul, v prípade potreby je prechod na JVM pomerne
jednoduchý.


Java je OK, ale osobne by som sa skôr prikláňal k .NET. C# je komerčne úspešný jazyk, s množstvom pracovných pozícií.
C# je klon Javy s tým, že má množstvo vecí vylepšených a lepšie navrhnutých.  S .NET má človek oveľa väčší výber -- je
tam desktop, IOT, ML, web, hry, cloud. Java si vo viacerých oblastiach ani neťukne.
To jste nezvolil zrovna dobrá kritéria, když jste chtěl vychvalovat .NET oproti Javě. .NET zvládl některé novější věci zapracovat rovnou do původního návrhu, zatímco Java to řeší zpětně kompatibilními změnami – v některých případech je vidět, že to trochu drhne. Ale komerční úspěšnost a množství pracovních pozic – jednoznačně vede Java. .NET je svázán jen se světem Microsoftu, všude jinde je Java. S Javou můžete programovat desktop, IoT, ML, web, hry, cloud, ale také serverové aplikace, serverless, mobilní aplikace… Stejně tak ekosystém kolem Javy je výrazně bohatší – ať už knihovny, vývojové nástroje nebo další jazyky nad JVM.

Nesporně navrch má .NET v jediném případě – když chcete programovat nativní desktopové aplikace pro Windows. Ve všech ostatních případech už to bude záležet případ od případu, někdy bude vhodný i .NET, ale v průměru najdete jiná lepší řešení (vedle Javy také třeba Python nebo JavaScript/TypeScript).

40
Studium a uplatnění / Re:Start Java programování
« kdy: 15. 10. 2020, 11:23:37 »
Hmm, tak ruku do ohňa za to nedám. Core Java od Cay Horstmanna mám doma a tá je OK. Je to niečo medzi
výukovým materiálom a referenčnou príručkou.

Knihu od Herbert Schildta som si prezeral v kníhkupectve, je staršia verzia v preklade (Java 7). Čo som
si tak letmo prezeral, tak vyzerala byť OK. Má tiež celkom dobré referencie.


... alebo  Herbert Schildta.
Jeho knížky o Javě jsou dobré? Protože co spáchal o C a C++ dalo vzniknout výrazu "bullschildt", jak to bylo zlé.

41
Studium a uplatnění / Re:Start Java programování
« kdy: 15. 10. 2020, 11:12:19 »
Citace
Ahoj komunito, je mi 36 let (já vím, pořád mladý  ;) ), není ale pozdě začít směrovat kariéru na JAVA programming?

Svojím spôsobom vek nie je podstatný. Otázne je však ako je možné, že si doteraz nekódil. Ja som sa nevedel dočkať, kedy
si nasporím na svoj prvý počítač (Didaktik M) aby som sa mohol hrať a programovať.

Prečo chceš začať programovať? Prečo práve Java? Čo ja vidím, tak ľudia si nájdu v inzerátoch relatívne pekné platy
pre Java pozície, tak nad tým uvažujú. Programovanie je však remeslo a musí to človeka baviť.

Java je OK, ale osobne by som sa skôr prikláňal k .NET. C# je komerčne úspešný jazyk, s množstvom pracovných pozícií.
C# je klon Javy s tým, že má množstvo vecí vylepšených a lepšie navrhnutých.  S .NET má človek oveľa väčší výber -- je
tam desktop, IOT, ML, web, hry, cloud. Java si vo viacerých oblastiach ani neťukne.


.NET má skvelú dokumentáciu https://docs.microsoft.com/en-us/dotnet/ a kanál s výukovými videami https://www.youtube.com/c/dotNET/videos.

Aj keby človek nakoniec predsa len skončil na Java pozícii, tak prechod od C# na Javu nie je problém. 

42
Studium a uplatnění / Re:Start Java programování
« kdy: 15. 10. 2020, 10:44:25 »
Cítim pri tejto knihe nejakú nostalgiu, keďže to bola moja prvá kniha o Jave. Avšak rozhodne by som ju už dnes
neodporúčal. Nielenže nereflektuje 15 rokov vývoja (Date vs LocalDate, try-with-resources...), ale je plná podivností a chýb.
Autor nemá asi rád System.out.println, preto si tam zadefinuje vlastnú print funkciu a v mnohých príkladoch
používa cez statický import `import static net.mindview.util.Print.*`. Inokedy predsa len používa System.out.println`, ale potom zas
dokonca `out.println`. To je riadne mätúce.

Všade pchá triedy, dokonca aj keď vysvetľuje dátové typy alebo základné konštrukcie. Úplne zbytočne tak mätie začiatočníka.

Používa FileReader, čož by nemal, pretože táto triedy vychádza z systémovej lokalizácie; bolo to opravené v Java 11, kde sa
kódovanie dá explicitne nastaviť. To je jedna z mnoha vychytáviek, ktoré skúsení Java programátori vedia, ale začiatočník
je v tom stratený. Samozrejme pri Swing aplikácii nespustí program na EDT (túto závažnú chybu sme vtedy robili asi všetci).

Samostatná kapitola sú výnimky, čo tam on s nimi robí...

Posúďte sami; autor vysvetľuje dedičnosť na tomto príklade:

Kód: [Vybrat]
//: reusing/Detergent.java // Inheritance syntax & properties. 
import static net.mindview.util.Print. * ;
class Cleanser {
  private String s = "Cleanser";
  public void append(String a) {
    s += a;
  }
  public void dilute() {
    append(" dilute()");
  }
  public void apply() {
    append(" apply()");
  }
  public void scrub() {
    append(" scrub()");
  }
  public String toString() {
    return s;
  }
  public static void main(String[] args) {
    Cleanser x = new Cleanser();
    x.dilute();
    x.apply();
    x.scrub();
    print(x);
  }
}
public class Detergent extends Cleanser { // Change a method:   
  public void scrub() {
    append(" Detergent.scrub()");
    super.scrub(); // Call base-class version   
  } // Add methods to the interface:   
  public void foam() {
    append(" foam()");

  } // Test the new class:   
  public static void main(String[] args) {
    Detergent x = new Detergent();
    x.dilute();
    x.apply();
    x.scrub();
    x.foam();
    print(x);
    print("Testing base class:");
    Cleanser.main(args);
  }
}
/* Output: Cleanser dilute() apply() Detergent.scrub() scrub() foam() Testing base class: Cleanser dilute() apply() scrub()
    */

Drbne tam dve main funkcie??!!

Osobne by som odporúčal buď Cay Horstmanna alebo  Herbert Schildta.

http://sd.blackball.lv/library/Thinking_in_Java_4th_edition.pdf



Citace: Kit rlink=topic=23670.msg338037#msg338037 date=1602675593
Bruce Eckel: Thinking in Java.

Je uplne mimo, posledni vydani je 2004.

Je na té knize něco špatně?

43
Vdaka za odpovede. Tak vyskusam zdroj 5.1V/3A pre RPI. Porozmyslam aj nad ostatnymi rieseniami.

Citace

Jinak já mám RPi a tam jsem vždy jel na originálním zdroji. Banana něco takového nemá?

Pokial viem Banana svoje nema, ale je  kompatibilna s RPI, preto by ich zdroje mali byt OK.

Citace
Ty výše linkovaný zdroje meanwell používám na několika stovkách kusů BP

Stovky BP? To znie zaujimavo. Mozme vediet na co su urcene? Ako sa to da manazovat?

44
Hardware / Volba vhodného napájecího adaptéru pro Banana Pi
« kdy: 20. 08. 2020, 14:36:13 »
Zdravim,

Kupil som si Banana Pi BPI-P2 Maker. Podla specifikacie to vyzaduje zdroj:
Power source: Micro USB with 5 V/2 A or PoE
https://www.varia-store.com/en/produkt/84069-banana-pi-bpi-p2-maker-single-board-computer-without-emmc-wi-fi-and-bt.html

Rozumiem, ze by tom mal zvladnut aj ethernetovy kabel. Avsak pri volbe
napajacieho adaptera, je OK ak si zvolim 5V/2.5A, 5.1V/3A, alebo 5.25/4A? Taketo zdroje lahsie zohnat.

Diq.

45
Odkladiště / Re:Seriály o IT
« kdy: 18. 08. 2020, 10:55:50 »
Add Mr. Robot

Chlapi, tak ja som v živote nevidel niečo tak zvrátené. Ten seriál je presýtený násilím a drogami. Nie krv ala Rambo 4, ale predovšetkým verbálne násilie. Tie veci, ktoré si tam herci v tom seriály povedia, to človeka až strasie. Tvorcovia seriálu sa až sadisticky vyžívajú v tom, ako skoncujú s nejakou postavou. Nehumánne, úplne odľudštené scény; napr. hanobenie ľudského tela alebo hrobu. Explicitné homosexuálne scény sa v tomto úplne stratia.

Mr. Robot je vizitkou Hollywoodu, je to svedectvo absolútneho úpadku Ameriky. Rozhodne neodporúčam nikomu normálnemu.

Stran: 1 2 [3] 4