Má cenu učit se programovat? – Vzdělání – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Má cenu učit se programovat? – Vzdělání – Fórum – Programujte.comMá cenu učit se programovat? – Vzdělání – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Osprey0
Duch
11. 12. 2015   #1
-
0
-

Dobrý den, je mi 16 let a studuji střední školu obor bezpečnostně právní činnost. Tímto se chci zeptat, jestli má smysl pro mne samotného, naučit se programovat, když v dnešní době existují redakční systémy, např: Wordpress, ve kterém si můžete v podstatě jednoduše vytvořit všechny typy stránek. A jestli bych to vůbec časově stíhal. V matematice jsem průměr. Chtěl bych umět vytvářet jednoduší aplikace ve Windows, android a webové stránky. 

Díky za odpovědi.

Nahlásit jako SPAM
IP: 90.181.36.–
Reklama
Reklama
Kit+11
Guru
11. 12. 2015   #2
-
+1
-
Zajímavé

#1 Osprey
Měl by ses zeptat hlavně sám sebe. Pokud se to učit nechceš, tak to samozřejmě smysl nemá.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Matěj Andrle+1
Grafoman
12. 12. 2015   #3
-
0
-

#1 Osprey
Však web se sotva programuje. Učit se Turingův stroj, hardware, algoritmiku, ... To smysl má! (Odpověď již znám, neb mi zmíněné přineslo hmotné statky.)

Nahlásit jako SPAM
IP: 31.30.56.–
peter
~ Anonymní uživatel
2721 příspěvků
12. 12. 2015   #4
-
0
-

Nevim, jestli sledujes zpravy, ale programovani chteji prosadit na zakladnich skolach, stejne jako se ted uci cizi jazyk. Take jsem zaslechl, ze se na stredni skole uci dva cizi jazyky uz ted. Oboje vitam.
Pridal bych k tomu jizdu na kole, plavani, jizdu v aute. Kolo a plavani jsme na ZS meli, pred 15 lety, ale prekvapive jsem na vysce zjistil, ze spolubydlici neumi plavat! A tim se boji vlezt do vetsi vody, coz ho desne omezuje.
Take se ztratili na ZS dilny a pestitelstvi. My jsme se 2 roky ucili. Ale ten ucitel nam houby vysvetlil. Strcil do ruky treba hoblik a delej, jak umis, hlavne mi to neznic.

Nahlásit jako SPAM
IP: 193.84.199.–
ondrej39+1
Věrný člen
12. 12. 2015   #5
-
+1
-
Zajímavé
Kit +

#1 Osprey
Jednoduše řečeno, .

Pokud ti jde o to, naučit se nově přemýšlet, poznat booleovu algebru, na níž je celá počítačová logika postavená, je programování skvělý způsob, jak do těchto tajů proniknout. Pokud ti jde o možnost uplatnění se v budoucnu a možnost najít si dobře placenou práci (a to i v poměru s ostatními obory), pak je programování také věc, po které se vyplatí sáhnout.

Pokud jediné, co znáš, je Wordpress, pak o programování víš opravdu málo. Wordpress se hodí tak možná na velmi jednoduché webové prezentace, na všechno ostatní se programují vlastní systémy. A programuje je kdo? Přece programátoři.

Pokud chceš dělat webové stránky, aplikace pro Windows a Android a zabývat se těmito třemi věcmi, pak by pro tebe byla nejlepší volba sáhnout po Javě. Weby ti můžou běžet na JBossu, Windows aplikace běží v JVM a na Android se aplikace programují převážně v Javě.

Každopádně ber velmi vážně radu Kita... Měl by ses zeptat hlavně sám sebe. Pokud se to učit nechceš, tak to samozřejmě smysl nemá. IT je obor, který se velmi rychle vyvíjí dopředu, s tím souvisí i programovací jazyky, jejich nové možnosti, člověk může znalostně zarknět. Programování je také tak nesmírně rozsáhlý obor, že tě bohužel ani nemají šanci všechno naučit na škole, která se na IT specializuje, tudíž je člověk nucen učit se sám ve volném čase - pochopitelně, pokud tě programování nebaví, tak si na ně ve volném čase prostor neuděláš a nebudeš nic umět. A ačkoliv jsou v IT práce relativně dobře placené, pro člověka s IT zaměřením, který nic neumí, platí to stejné, jako pro lidi v ostatních oborech, že ho buď nikde nevezmou, nebo bude brát bídnou mzdu.

Nahlásit jako SPAM
IP: 46.39.172.–
Inject all the dependencies!
Osprey0
Duch
12. 12. 2015   #6
-
0
-

Děkuji za rady. Když naprogramuji nějaký web, tak grafiku musí udělat grafik, nebo se to dá udělat v JavaScriptu a CSS?

Nahlásit jako SPAM
IP: 90.181.36.–
Kit+11
Guru
12. 12. 2015   #7
-
+1
-
Zajímavé

#6 Osprey
Grafiku si můžeš udělat sám, není to nic složitého. Javascript k tomu není potřebný, stačí CSS.

Někteří profesionálové nedělají téměř žádnou grafiku a přitom mají obsahově velmi kvalitní weby.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:5ca6:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Osprey0
Duch
12. 12. 2015   #8
-
0
-
Nahlásit jako SPAM
IP: 90.181.36.–
Kit+11
Guru
12. 12. 2015   #9
-
0
-

#8 Osprey
Na tvorbu webových stránek to sice moc není, ale na desktopové aplikace se to docela hodí.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
ondrej39+1
Věrný člen
12. 12. 2015   #10
-
+1
-
Zajímavé
Kit +

#8 Osprey
Jestli chceš začínat jenom u webů, doporučím ti spíš PHP než Javu. Deploy je snazší. PHP ti také odpustí spoustu prasáren (což může, ale nemusí být úplně dobré), chybí předávání skalárních typů (minimálně do úplného nasazení PHP7), spousta věci se řeší přes PhpDoc, atp.

Pokud s programováním úplně začínáš, zjisti si, co je objekt, k čemu slouží. V OO jazycích (čímž PHP, Java nebo i C# a C++ jsou) je totiž objekt (téměř) úplně všechno. Jakmile se naučíš, co je to class/object state, můžeš se podívat po návrhových vzorech, které ti opět rozšíří obzory aplikačního vývoje.

Nahlásit jako SPAM
IP: 46.39.172.–
Inject all the dependencies!
Dejvd0
Newbie
3. 2. 2016   #11
-
0
-

Zdravím, mam dotaz na zkušené programátory. Je ještě reálné se ve 30 naučit programovat a najít si do budoucna práci, nebo vystudovat VŠ v oboru IT?

Nahlásit jako SPAM
IP: 89.176.182.–
Kit+11
Guru
3. 2. 2016   #12
-
0
-

#11 Dejvd
Ano, je to reálné klidně i v 50 letech. Pokud máš analytické myšlení, půjde to i poměrně snadno. Můžeš začít klidně hned, protože všechny potřebné učebnice se dají stáhnout a web je plný různých tutoriálů.

Čím ses živil dosud?

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dejvd0
Newbie
3. 2. 2016   #13
-
0
-

#12 Kit
Mám mistrovství v c++, ale abych byl upřímný moc to do té hlavy neleze, Je pravda, že jsem úplný začátečník. Takže se snažím denně koukat do knihy. Nějaké tipy a rady :-)

Nahlásit jako SPAM
IP: 89.176.182.–
Kit+11
Guru
3. 2. 2016   #14
-
0
-

#13 Dejvd
C++ je podle mne tím nejtěžším jazykem, který sis mohl vybrat. Netvrdím, že ho nezvládneš, ale použitelné aplikace v C# či Javě začneš produkovat mnohem dříve.

Nestačí denně koukat do knihy. Musíš si ty příklady zkoušet.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dejvd0
Newbie
3. 2. 2016   #15
-
0
-

#14 Kit
Je pravda, že jsem se s c++ setkal poprvé na VŠ na které jsem nevydržel z nulových znalostí a proto jsem u toho zůstal. Pokud je jednodušší Jawa nebo C, určitě přehodnotím své dosavadní možnosti a změním. Jde mi o to programy s který mi se pak lze uživit do budoucnosti.

Nahlásit jako SPAM
IP: 89.176.182.–
Kit+11
Guru
3. 2. 2016   #16
-
0
-

#15 Dejvd
Jawa je značka motocyklů, Java je programovací jazyk. Místo C raději C#.

Pokud chceš programovat jen pro Windows, vyber si C#. Pokud pro ostatní platformy (např. pro Android), nauč se Javu. Pokud chceš programovat weby, nauč se PHP.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dejvd0
Newbie
3. 2. 2016   #17
-
0
-

#16 Kit
Jestli se můžu zeptat co programuješ ty? Nějaké knížky, které jsou pro začátečníka nejlepší? Tak teď aby se člověk rozhodl. 

Nahlásit jako SPAM
IP: 89.176.182.–
Kit+11
Guru
3. 2. 2016   #18
-
0
-

#17 Dejvd
Hlavně PHP a databázi MySQL. A pak zhruba dalších 20 jazyků, které znám, ale ve kterých programuji jen občas.

Dnes je docela důležité naučit se OOP a 2 základní kolekce: Seznamy a mapy.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dejvd0
Newbie
3. 2. 2016   #19
-
0
-

Takže nějaké programy ve kterých se dá učit Java, c++ ( používám Codeblock)  nebo PHP. Některé věci o kterých píše jsou pro mě španělská vesnice. Takže nejdůležitější je zkoušet a zkoušet. 

Nahlásit jako SPAM
IP: 89.176.182.–
ondrej39+1
Věrný člen
3. 2. 2016   #20
-
0
-

#15 Dejvd
C++ je šíleně složitý OO jazyk, jeden z nejsložitějších vůbec. Další hodně složitý jazyk je pak JavaScript, hlavně pokud již máš zkušenosti s OO programováním, protože JavaScript je založen trošku jinak, na prototypech, a když jsi byl postižen OO designem, bude ti trvat alespoň týden opravdu pracného učení, aby ses do JS dostal.

Z trojice Java/PHP/C# víceméně nemůžeš udělat chybu ani s jedním z nich. Všechny tři jazyky jsou velmi přívětivé i k začátečníkům, řekl bych že Java a C# snad ještě o něco více než PHP.

Co by ses měl naučit? Toho je tak šíleně moc, že nejlepší bude, když prostě začneš u nějakých "begging tutorial for programming in <jazyk>" návodů a postupně, jak budeš znát více a více věcí, budou tě zajímat další věci, o nichž by ses rád dozvěděl.

Nahlásit jako SPAM
IP: 79.141.243.–
Inject all the dependencies!
Dejvd0
Newbie
3. 2. 2016   #21
-
0
-

#20 ondrej39
Díky za rady, určitě si je vezmu k srdci. Nějaké programy v kterých se dá učit Java, nebo C. Nebo ještě nějaké rady pro začátečníka.

Nahlásit jako SPAM
IP: 89.176.182.–
Kit+11
Guru
3. 2. 2016   #22
-
0
-

#20 ondrej39
K tomu bych dodal, že PHP je někdy přívětivé až moc. Snese opravdu i velmi hrůzný zápis, který by v jiných jazycích nemohl vůbec projít. Bohužel se takto špatně napsané programy blbě udržují. K tomu má ještě slabé typování, které se může u složitějších programů proměnit v noční můru.

Jinak si samozřejmě PHP nemohu vynachválit. Základy PHP jsem se naučil za mnohem kratší dobu než základy Javy.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dejvd0
Newbie
4. 2. 2016   #23
-
0
-

Nějaká dobrá knížka na učeni Java, koukal jsem na Pavla Herouta Učebnice jazyka Java, ale je to z roky 2010  a Java 6, pokud to nevadí teda.  Nechám si poradit. Předem díky.

Nahlásit jako SPAM
IP: 194.50.64.–
Kit+11
Guru
4. 2. 2016   #24
-
0
-

#23 Dejvd
Z té jsem se sice také učil. Není špatná, ale je na ní poznat, že autor dělá hlavně jazyk C.

Líbila se mi kniha Bruce Eckel: Thinking in Java. Je v ní dobře vysvětleno OOP.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
2721 příspěvků
4. 2. 2016   #25
-
0
-

Dejvd - Programovani se brzo stane predmetem na zakladni skole. Co myslis, proc asi? Pomuze lepe chapat moznosti programu. Nekteri lide ocekavaji od programu splnene sny, totiz. Nevi, jak reagovat na chybu, co asi zadavaji chybne. Kdezto programator uz ma par tipu a dokaze vyplnit i spatne vytvoreny formular. Pripadne obejit zadavani rodneho cisla ci mejlu nejaky nesmyslem.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:cbc:766...–
peter
~ Anonymní uživatel
2721 příspěvků
4. 2. 2016   #26
-
0
-

Dejvd - Jo, hele, a proc porad chces Javu? Pro web je privetivejsi php. Pro prohlizec potrebujes html, css, javascript. Javascript a java jsou uplnne jine jazyky. Java je podobna urovni php pro web, ale php je privetivejsi. Qt/c++ je naprosty des a hruza, co jsem zjistil nedavno :) Zvlast, kdyz potrebujes pracovat usporne a predavat pointry zanorovane pres 3 funkce, bordel s datovymi typy a ruznym pojmenovanim v ruznych knihovnach a pak mezi tim delat konverze... no vyzkousej a uvidis, ze php je uplne zlate, proti tomu.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:cbc:766...–
Kit+11
Guru
4. 2. 2016   #27
-
0
-

#26 peter
Správně jsi naznačil, že každý jazyk má svou oblast, pro kterou byl stvořen a kde je nejlepší.

  • na desktopovou aplikaci pro Windows bude asi nejlepší C#
  • na dynamické webstránky PHP
  • na desktopové aplikace ostatních OS a mnoho serverových aplikací Java
  • na interaktivní práci v prohlížeči Javascript
  • na vědecké výpočty Python

Každý z těch jazyků umí hodně z toho, co umí i ty ostatní. Přesto je dobré pro každou problematiku vybrat ten správný nástroj.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dejvd
~ Anonymní uživatel
14 příspěvků
4. 2. 2016   #28
-
0
-

#26 peter
Proč Java? Začnu to z jiné stránky věci. Začal jsem s c++ a jako úplný začátečník jsem přišel na to, že do hlavy takový jazyk nedostanu. I když jsem si to mylně představoval. Proto vybírám jazyky,které jako začátečník můžu zvládat a do budoucna se pořádně naučit, člověk se učí celý život. Taky rád nějaký jazyk s kterým bych měl do budoucna možnost nějakého uplatnění. Proto jsem vděčný za každou radu zkušených lidí. :-) 

Nahlásit jako SPAM
IP: 89.176.182.–
Kit+11
Guru
4. 2. 2016   #29
-
0
-

#28 Dejvd
Java je dobrá. Je sice hodně svazující (přísné typové kontroly, menší množství povolených konstrukcí, ...) ale to je vše za účelem znepříjemnění psaní nevhodného kódu, často přebíraného z imperativních jazyků. Proto tam také nejsou zjednodušené gettery a settery jako třeba v C# - jsou to nežádoucí konstrukce. Tím nás tlačí do zápisu takového objektového kódu, ve kterém tyto konstrukce mít nebudeme.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
2721 příspěvků
8. 2. 2016   #30
-
0
-

Fajn. No, ja bych zacal php. Hlavne proto, ze spousta prikladu se da najit googlem, dalsi jsou v online dokumentaci. A dokumentace je citelna. Treba ted jsem zkoumal WebRTC a z te dokumentace proste neni jasne, co je vstup funkce a co ocekavat jako vystup a nejaky example, mozna reseni, pouziti, no, to tam vubec neni. Zlata php dokumentace :) Zatim jsem to nerozchodil. Ukol pro dnesek :)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:d16e:54...–
Dejvd0
Newbie
26. 3. 2016   #31
-
0
-

Ahoj, mám dotaz. Nechodí někdo na Ostravskou univerzitu  obor aplikovaná informatika. V čem tam programujete? Díky

Nahlásit jako SPAM
IP: 89.176.182.–
ondrej39+1
Věrný člen
26. 3. 2016   #32
-
0
-

#31 Dejvd
Na univerzitu nechodím, ale programuje se tam převážně v Javě (dokonce i webové aplikace se tam dělají v Jave, čímž se logicky nakousne i JS, HTML, CSS - i když poslední dva jazyky úplně do programování nespadají), jako PV pak máš C, C++, PHP (eventuálně Prolog, což teda fakt nehcápu, proč by se funkcionální programování učilo zrovna na něm).

Pro víc detailů si projdi sám předměty, které na tom oboru jsou.

Nahlásit jako SPAM
IP: 46.39.172.–
Inject all the dependencies!
Dejvd0
Newbie
20. 11. 2016   #33
-
0
-

Ahoj,rád bych se přihlásil na OSU, obor informatika a potřeboval bych poradit ohledně dobrých publikaci z kterých se lze na učit na přijímačky. Seznam témat je zde.  

Základní pojmy z informatiky.
Algoritmy a algoritmické myšlení.
Jednoduché pojmy z oblasti hardware a software.
Logické řady - doplňování číselných řad.
Základy logiky a logického myšlení.
Základy středoškolské matematiky.

Díky za rady.

Nahlásit jako SPAM
IP: 78.45.122.–
peter
~ Anonymní uživatel
2721 příspěvků
21. 11. 2016   #34
-
0
-

#33 Dejvd
A dotaz je? Nevis o informatice nic? Nebo, co chces rici? Nebo, nac se ptas? Ktere z toho ti doporucit? Hadam, ze to vsechno jsou jen kapitoly v knize, obory, seznam temat (neco jako mas na maturitu, seznam temat). Nemeli by to byt samostatne knizky. Jestli neumis nic, tak urcite vsechno. Jestli jste informatiku meli na stredni, tak nic nebo aspon algoritmy, logiku (oboje), mozna zakladni pojmy hw sw, abys mel tak prehled, jakym zpusobem to budou chtit prezentovat.

Základní pojmy z informatiky. - ?

Algoritmy a algoritmické myšlení. - hadam, ze to bude zamerene na algoritmy, jako treba cykly, serazovani cisel a pod; nejspis to budou placat v Pascalu

Jednoduché pojmy z oblasti hardware a software. - to by mohlo byt zamerene na komponenty pc a strukturu, jak je to propojeno, procesor, pameti, disk, ... schema procesoru

Logické řady - doplňování číselných řad. - ?

Základy logiky a logického myšlení. - ? jedno z tech dvou by mohli byt logicke obvody, procesor je tez logicky obvod, kteremu, kdyz das nejakou sadu nul a jednicek, tak byrobi jinou sadu nul a jednicek

Základy středoškolské matematiky. - tak to je naprosto nutne pro algoritmy

Nahlásit jako SPAM
IP: 2001:718:2601:26c:9439:65...–
RomanZ
~ Anonymní uživatel
252 příspěvků
22. 11. 2016   #35
-
0
-

#34 peter

Ja jsem ten dotaz pochopil tak, ze Dejvd vyjmenoval temata a chce doporucit literaturu k temto tematum.

Nahlásit jako SPAM
IP: 194.212.10.–
Dejvd0
Newbie
14. 1. 2017   #36
-
0
-

Přesně tak :-) Má cenu se učit programovat a jít na vysokou a myslet si, že po vystudování člověka zaměstnají po 30 bez předchozích zkušeností?

Nahlásit jako SPAM
IP: 212.109.191.–
Kit+11
Guru
14. 1. 2017   #37
-
0
-

#36 Dejvd
Ano, má to cenu. Jen počítej s tím, že budeš nastupovat jako tester nebo programátor junior.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dejvd0
Newbie
14. 1. 2017   #38
-
0
-

Ohledně mého předchozího dotazu, znáte nějaké dobré knížky, kde bych našel ty témata na příjímačky. Díky

Nahlásit jako SPAM
IP: 212.109.191.–
Kit+11
Guru
14. 1. 2017   #39
-
0
-

#38 Dejvd
Určitě se bude hodit nějaká učebnice matematiky a fyziky.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Matěj Andrle+1
Grafoman
14. 1. 2017   #40
-
+1
-
Zajímavé
Kit +

#36 Dejvd
Mám za sebou střední zdravotnickou. Tím to hasne. A co? Pracuji za boží plat na skvělých projektech. Nejde o to, co máš za sebou. Jde tu o to, co máš v hlavě a rovněž o míru odhodlání.

Nahlásit jako SPAM
IP: 86.49.120.–
ranar0
Duch
23. 1. 2017   #41
-
0
-

The information presented here has been Music School for informational purposes only.  First American does not provide tax, legal or accounting advice. 

Nahlásit jako SPAM
IP: 61.5.134.–
hanpari0
Návštěvník
23. 1. 2017   #42
-
0
-

#29 Kit

Proto tam také nejsou zjednodušené gettery a settery jako třeba v C# - jsou to nežádoucí konstrukce. Tím nás tlačí do zápisu takového objektového kódu, ve kterém tyto konstrukce mít nebudeme.

Prosím, můžeš mi to vysvětlit? Jaké konstrukce tedy Java podporuje?

Nahlásit jako SPAM
IP: 178.72.234.–
ondrej39+1
Věrný člen
25. 1. 2017   #43
-
0
-

#42 hanpari
Podporuje úplně normální konstrukce jako každý mature objektově orientovaný jazyk, takže i gettery a settery, které rozhodně nejsou evil, když se používají tam, kde mají. ;)

Nahlásit jako SPAM
IP: 94.230.157.–
Inject all the dependencies!
hanpari0
Návštěvník
25. 1. 2017   #44
-
0
-

#43 ondrej39
To nejspíš bude věc názoru.

Nahlásit jako SPAM
IP: 178.72.234.–
ctverec
~ Anonymní uživatel
16 příspěvků
28. 1. 2017   #45
-
0
-

Programování chtějí prosadit na základních školách jako povinný předmět? Ojoj, to zas bude mrtvých. Programování je fajn věc, ale není pro každého. Každý je jiný. Pro někoho stačí základní seznámení a to stačí. Jestli tam zas nějací chytráci budou s tím děti trápit a rozdávat koule, tak by měli dostat nakopáno do koulí.

Nahlásit jako SPAM
IP: 89.176.174.–
Kit+11
Guru
8. 2. 2017   #46
-
0
-

#42 hanpari

Prosím, můžeš mi to vysvětlit? Jaké konstrukce tedy Java podporuje?

Java podporuje namespace, rozhraní, třídy, metody, objekty a primitivní datové typy. Z toho poskládáš vše, co potřebuješ.

Abys pokaždé nemusel vynalézat kolo, bylo sestaveno několik návrhových vzorů, které zároveň slouží k jednodušší komunikaci mezi programátory. Gettery ani settery mezi nimi nejsou. Zejména settery jsou považovány za programátorské zlo, ale ani gettery nejsou pro kvalitní OOP potřebné. Jde to prostě i bez nich a přitom všechny atributy mohou být privátní. Dokonce jsou takové aplikace kratší, rychlejší a snadno čitelné.

Není tedy žádný důvod pro užívání getterů ani setterů, protože programování pouze komplikují.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:68fb:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hanpari0
Návštěvník
9. 2. 2017   #47
-
0
-

#46 Kit
Trochu jsem si zabádal, a hele, ona to není nakonec nic jiného než ta ohraná písnička na téma mutability/immutability. Nebylo mi moc jasné oč jde, když settery a gettery nejsou nakonec nic jiného než metody, obzvlášť v Javě a v principu nejde o nic jiného než návrhový vzor vložený přímo do jazyka, který Java zjevně podporuje.

Jinak samozřejmě změna stavu objektu je zlo, které  propagují a propagovaly OOP jazyky (ale Java není OOP, že ne?), ale že se jednou dožiju toho, že mi někdo bude přes Javu vnucovat principy, které jsou vlastní FP jazykům, to bych tedy nečekal. A co další FP prvky? Kolik se jich do Javy podařilo propašovat kromě anonymních funkcí?

Je ti alespoň jasné, že bez persistentních typů budeš mít potíže s výkonem, když budeš psát své OOP takhle? Nebo chceš přes metody měnit vnitřní stav objektů, to ale pak není nic jiného než převlečený setter?

Nahlásit jako SPAM
IP: 178.72.234.–
Kit+11
Guru
9. 2. 2017   #48
-
0
-

#47 hanpari
Nejsem proti mutaci objektu. Například metody add() nebo notify() mohou (nemusí) modifikovat vnitřní stav objektu, ale settery to nejsou. Chybou je, pokud objektu chci modifikovat jeho konkrétní atribut, který však má být zapouzdřený, tedy skrytý. Okolí objektu vůbec nesmí tušit, jaké atributy objekt má. Objekt má pouze rozhraní, ve kterém jeho privátní atributy nemají co pohledávat.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:f19d:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
ondrej39+1
Věrný člen
9. 2. 2017   #49
-
0
-

Jak jsem psal, na getterech není nic špatného. Settery úplně nemusím, ale gettery jsou naprosto OK, pokud potřebuješ například zobrazit obsah objektu uživateli, anebo třeba nově vytvořený objekt, který prošel validací, uložit do databáze (ať jsem se snažil, jak jsem se snažil, elegantní způsob jak uložit objekt do DB bez getterů jsem prostě nenašel - a jestli existuje, šup sem s ním, prosím).

Ve vrstvě aplikace obsahující business logiku bys měl mít samozřejmě objekty obalené agregáty, poskytující kontext, ale v prezentační vrstvě, kde chci jen vidět, jestli se uživatel jmenuje Pepa, nebo Ondřej, je to opravdu jedno.

Programátory, kteří hlava nehlava prohlašují, že getters jsou evil, považuji za zabedněnce a za neznalé.

Nahlásit jako SPAM
IP: 94.230.157.–
Inject all the dependencies!
hanpari0
Návštěvník
9. 2. 2017   #50
-
0
-

#48 Kit
A co když tvůj interface vyžaduje setter nebo getter? Což, jak jsem se díval, je v Javě naprosto v pořádku.

V každém případě bych žádnému začátečníkovi Javu nedoporučoval. Z mého pohledu je to mastodont, který prostě zastaral. Clojure je jiná liga, popřípadě Scala. Ale ani jeden bych nedoporučil začátečníkovi, možná že Groovy by byla pro začátečníka nejlepší volba, pokud to musí být JVM. 

Nahlásit jako SPAM
IP: 178.72.234.–
Kit+11
Guru
9. 2. 2017   #51
-
0
-

#50 hanpari
Gettery ani settery do interface nedávám, proto je ani nemusím implementovat.

Gettery ani settery v Javě (na rozdíl od C# či PHP) nejsou implementovány. Pokud někomu chybí, obchází to běžnými metodami, které nazve getXX() a setXX().

Samozřejmě pokud cizí třída má v interface gettery či settery, tak je použít musím. Nejčastěji s adaptérem a tím je odstíním od zbytku své aplikace.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:c1a6:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hanpari0
Návštěvník
9. 2. 2017   #52
-
0
-

#51 Kit
Ale já ti rozumím, na tvém místě bych to dělal podobně.

Jenom bych použil jiný jazyk, protože bych se v Javě upsal.

Nahlásit jako SPAM
IP: 178.72.234.–
Kit+11
Guru
9. 2. 2017   #53
-
0
-

#52 hanpari
Primárně používám PHP, ale ani v Javě se tímto způsobem moc neupíšeš. Prostě máš v každé třídě celkově méně metod a tím jsou ty třídy jednodušší a přehlednější.

Když to vezmeš do detailů, tak gettery a settery docela brutálně porušují SRP. V konečném důsledku zdemolují celý SOLID.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:c1a6:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hanpari0
Návštěvník
9. 2. 2017   #54
-
0
-

#53 Kit
PHP a Java, drobet masochismus, ne?

Jsi si jistý, že se neupíšeš?

Kolik takových tříd musíš vytvořit? Notabene když musíš používat návrhové vzory, kterým by ses mohl alespoň částečně vyhnout, kdybys měl k dispozici moderní vlastnosti C#, abychom zůstali v OOP mainstreamu.

Nahlásit jako SPAM
IP: 178.72.234.–
Kit+11
Guru
9. 2. 2017   #55
-
0
-

#54 hanpari
Jistěže se neupíši. Obvykle je můj kód poloviční délky proti délce kódu konkurence. Kromě toho mi významně pomáhá editor, který mi toho asi tak polovinu napíše sám.

Těch tříd mám možná víc (mívám je výrazně kratší), ale o to lépe se dají recyklovat (adresa trvalého i přechodného pobytu je prostě třída Adresa) a dá se mnohem lépe využít polymorfismu (eliminuje se tím drtivá většina switchů).

Další výhodou tohoto přístupu je, že na hotové třídy při dobrém návrhu už zpravidla nemusím sahat a pouze přidávám další. V případě změny zadání vyměňuji celé třídy. Je to rychlejší, než předělávka.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:c1a6:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hanpari0
Návštěvník
9. 2. 2017   #56
-
0
-

#55 Kit
Editor napíše, ale nepřečte. :)

Já osobně považuji čtení OOP kódu za nesmírně obtížné. Člověk skáče z místa na místo a nikde se nic podstatného neděje.

Podle mne bys dávno skončil například tady:

http://lucasmreis.github.io/blog/type-driven-domain-modelling-part-1/

Kdyby sis ovšem nevybral dva jazyky, které ti budou pokud možno házet klacky pod nohy :) Ale proti gustu...

Nahlásit jako SPAM
IP: 178.72.234.–
Kit+11
Guru
10. 2. 2017   #57
-
0
-

#56 hanpari
To je v F#, který jde mimo mne. Nevidím možnosti jeho uplatnění na Linuxu.

OO kód je naopak velmi přehledný. Ovšem pokud ho autor nepíše jak čuně a drží se pravidel SOLID. Více teček (Java, C#) či šipek (PHP) na řádku je prostě vždy problém.

Java mi občas hází klacky pod nohy, zejména pokud ji chci integrovat s více jazyky do jedné aplikace. PHP mi vyhovuje mnohem lépe, protože má v sobě integrována potřebná rozhraní pro více jazyků dle potřeby. Mnohem lépe se pracuje s MySQL (bez podivného bindování), XML a XSLT jsou také skvěle použitelné, formáty CSV i JSON se dají velmi snadno číst i zapisovat. Ani rozhraní na další (i NoSQL) databáze nejsou nijak ošizena. PHP je prostě mým oblíbencem a při správném zacházení je i rychlý. Nějakého házení klacků pod nohy jsem si nevšiml.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hanpari0
Návštěvník
10. 2. 2017   #58
-
0
-

#57 Kit
Hm, pokud jde o F#, na linuxu se bez problémů používá v produkčním prostředí s Mono. Ale jde určitě o odvážnou volbu. :)

Co jsem viděl, tak si lidé stěžovali spíš na to, že nejsou nástroje srovnatelné s VS Studiem. Ale podle mne je VS Code s Ionide výborné. Ionide se vyvíjí velice rychle.

Navíc F# je součástí Dotnet Core, ale tam je na nějaké hodnocení příliš brzy. Zkrátka, pokud bys chtěl F# vyzkoušet, Linux není vysloveně překážka.

F# je jedinečně navržený a podle mne stojí za seznámení. Clojure je také výborný, ale není pro každého.

Hodně štěstí. :)

PS: Mimochodem,  kdybys měl shodou okolností nějaké zkušenosti s VS Code + PHP, docela by mne to zajímalo. Jeden kamarád se mne na to nedávno ptal, ale protože jde PHP mimo mne, nebyl jsem schopný mu odpovědět.

Nahlásit jako SPAM
IP: 178.72.234.–
Kit+11
Guru
10. 2. 2017   #59
-
0
-

#58 hanpari
Mono na Linuxu prostě není ono. Sice to funguje, ale časem narazíš na nějaké mantinely, které se blbě obchází. Kromě toho mi technologie od Microsoftu moc nesedí. Snaží se vyjít vývojářům vstříc všelijakým syntaktickým cukrem i za cenu porušování pravidel správného programování. Z programu tak snadno vznikne nepřehledná džungle.

Z téhož důvodu se vyhýbám VS. Není prostě pro Linux stavěný. Asi jako kdybys provozoval Apache na Windows. Jede to, ale není to ani dobré, ani bezpečné.

Na PHP mi vyhovuje, že má vlastní HTTP server. To velmi urychluje vývoj, protože hezky vypisuje všechny chyby při vyřizování požadavků. Bílá stránka v prohlížeči by mi toho moc neřekla.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:90b9:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hlucheucho+12
Posthunter
10. 2. 2017   #60
-
+1
-
Zajímavé
Kit +

Opět diskuze o tom co je zlo. Největším zlem je přílišná regulace a příliš svazující pravidla. Skutečný malér nastává, když se důsledné dodržování pravidel dovede ad absurdum. Když se k tomu přidá, že je potřeba mít pravidlo na vše a zdravý úsudek a intuice (rozuměj seslký rozum) jsou nepřípustné, pak není divu, že celá EU je tam kde je. Už jsem to psal jinde. Je to jen nástroj a záleží na člověku jak je ppoužije. Na tom se pozná dobrý programátor, elektrikář, instalatér.... Kladivem jde zatlouct hřebík, ale když to budu dělat blbě, hřebík zkroutím do spirály a potom, co se pořádně klepnu do prstu skončím na pohotovosti.

Pravidlům zdar (a někdy, bohužel čím dál tím častěji, zmar)

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Kit+11
Guru
10. 2. 2017   #61
-
0
-

#60 hlucheucho
Když to vezmu do důsledků, tak PHP mě nesvazuje prakticky v ničem, dá se v něm prasit bez nějakého významného omezení. O to větší je důraz na soudnost programátora, aby si nějaký styl zvolil a držel se ho.

V poslední době jsem si například zvykl pojmenovávat anonymní funkce. Zní to sice divně, ale čitelnost a přehlednost aplikace se tím významně zvýší.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:90b9:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hanpari0
Návštěvník
10. 2. 2017   #62
-
+1
-
Zajímavé
Kit +

#61 Kit
Vlastně to nezní divně. Je to naopak důvod, proč v Pythonu jsou lambda funkce okleštěné na pouhé výrazy, aby neumožňovaly dlouhé anonymní zápisy. Takže v tom nejsi sám :)

Nahlásit jako SPAM
IP: 195.5.186.–
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Má cenu učit se framework? — založil Akimi Keita

Ma to cenu? — založil DeathHumanCZ

Webdeveloping-má to cenu ? — založil Gobik

Co sa ucit??? — založil matus

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý