To je uhol pohľadu, resp. ako si zadefinujeme pojmy. Pretože z môjho uhla pohľadu, je framework jednoducho súbor knižníc. Napríklad Spring Boot projekt si vytvorím tak, že zadefinujem potrebné závislosti a Maven mi stiahne potrebné knižnice (u nás JAR súbory). Framework obsahuje množstvo kódu, ktorý sa v projektoch opakuje. Kto koho volá; na to v Jave máme pojem dependency injection, ale primárne nerozlišujeme podľa toho pojmy framework a knižnica. Možno to tak máte zadefinované v Haskelli.
No, já jsem reagoval na to, jak někdo někdo prohlásil, že preferuje knihovny proti frameworkům. Samozřejmě, je to otázka, jak se to nadefinuje, ale když někdo něco takového prohlásí, tak tím typicky myslí to, že se se vyrobí kód toho typu, co jsem ukázal (používá knihovny) vs. to, že napíšu "new project" a vyrobí se mi projekt o 20 souborech s předdefinovaným kódem, který následně modifikuju. Někdo (ty?) na to reagoval ve smyslu, že používat knihovny dává smysl (to samozřejmě ano), ale princip konfliktu "library vs. framework" je to, co jsem psal.
Spring je v podstatě snaha dostat se z typického frameworku zpátky na úroveň knihovny, ale třeba ty anotace mají pořád nádech frameworku.
To som nepovedal. Bolo to na ilustráciu toho, že predstava, že si zoberieš knižnicu, pozrieš si API a začneš ju
používať je nereálna. Swing bol len príklad zložitejšej knižnice. Bez dlhodobého štúdia princípov UI a Swingu to nespraví začiatočník správne. Ako spravíš Tetris hru vo Swingu? Veď je to jednoduché, zvolíš si správne triedy zavoláš tie správne metódy...
Jo, přesně tak. V čem je problém? Principy UI jsou všude stejné, liší se jenom implementace. Upřímně řečeno, poměrně dost knihoven, které používám (a dokonce i napíšu) poté promptně zapomenu. A když se vrátím k rozdílu mezi frameworkem a knihovnou, tak největší průšvih jsou právě věci typu anotace (v Haskellu je na podobně blbé úrovni makrojazyk), protože ty makra člověk musí "znát", zatímco to ostatní se dá odvodit.
Mal by to byť Haskellista. Ale odbáčaš od témy. Pointa toho, čo som povedal je, že mne sa zdá, že ty zužuješ (neviem prečo) všetko na Javu ako jazyk. Pritom Java je ekosystém s viacerými programovacími jazykmi. Tvrdíš niečo o Javistoch, hovoríš, že Java je taká a taká, pritom Java programátori môžu využívať viaceré jazyky: Java, Kotlin, Scala, Groovy, či Clojure.
Celá tahle diskuze začal tím, že OP se divil, že nemůže být brán jako C# senior programátor, když má velké zkušenosti z Javy. Na což tady někdo odpověděl, že by mohl klidně být senior programátorem v haskellu - přičemž na to jsem reagoval, že tímto směrem ne, ale opačně klidně. Dále jsme se dostali k tomu, že na to, aby někdo mohl být považován za seniora potřebuje poměrně hodně zkušeností, z nichž jen malá část je vázána na konkrétní jazyk a řešený problém.
A to "opačně klidně" je postavené na tom, že Haskell je prostě z hlediska možností jazyka někde úplně jinde než Java (i když v posledních verzích do Javy některé věci konečně začínají implementovat). Dobrý programátor je schopen programovat v jakémkoliv jazyce, akorát ten Haskell fakt zabere docela dlouho. A nikoliv proto, že by to byla spousta triviálních věcí (jako v Javě), ale protože to je fakt složité. (rozdíl ve stylu "naučit se telefonní seznam" vs. "dokázat fermatovu větu" (teda to je zase úplně jiný level, ale jen pro ilustraci)).
Na to si potrebuješ naštudovať GroupLayout manager, čo sú to sequenčné a paralelné grupy a musíš praxou zistiť, ako to všetko v praxi uplatniť. (Naučiť sa pravidlá šachu vs hrať úspešne šach.) Je to triviálny príklad, ale bez dlhšieho štúdia nespravíš dobrý layout. A to som výrazne pomohol tým, že som tam dal GroupLayout, pretože korektný layout vo Swingu sa dá spraviť len s ním alebo s MigLayout manažérom. Toto všetko som zistil až po mnohých mesiacoch štúdia. Napríklad, ak by sa na to niekto spýtal na stackoverflow, veľmi často dostane nesprávnu odpoveď. Ktorá síce funguje, ale nie je portabilná.
Já tě vůbec nechápu. Dal jsi otázku týkající se 2 knoflíků dole. Odpověděl jsem, že bych použil BorderLayout, knoflíky dát do toho PAGE_END. Zadání splněno.
To hraní s GroupLayoutem je normální řešní problému. Děláš z toho strašnou vědu. Taky znám spoustu temných zákoutí všeho možného SW, ale to prostě není podstatou toho být senior programátor. To je naopak být schopen rychle najít efektivní řešení a když na takovéhle problémy narazíš, tak je prostě vyřešit.