Napriklad http://leviathan.xf.cz/?p=78 tenhleten clovek ma pro mne mnohem vetsi cenu nez vyse zmineni experti. Tohodle bych hned zamestnal s nastupnim platem $4k a po mesici by se uvidelo.
"...protože si myslím, že mi to prospěje na vejšce, kde se snad v jiném vyšším jazyku ani nedělá."ROFL, you've made my day! :-D
Návrh uživatelského rozhraní, nebo lepení již hotových předpřipravených komponent bez ničeho dalšího - to je "programování"Ono programování webové aplikace ale přeci není jen lepeni hotových komponent. Programátoři business logiky v takové aplikaci by měli být docela na úrovni.
A právě u složitějších úkolu v programátořině je dobrá znalost matematiky něco, co za a) umožňuje to celé mít hotové mnohonásobně rychleji, než bez znalosti matematiky, za b) často je podmínka vůbec aby se dal program udělat, za c) často je to podmínka toho za c) abyste na následné údržbě programu poté neprodělali majlant kvůli nedostatečně zvládnuté implementaci. Taktéž z matematicky vzdělaného člověka, jak se v praxi projevuje lezou obvykle spolehlivější programy.S ani jedním bodem nemohu souhlasit, přesto že jsem MA prošel. Matematika obvykle stačí středoškolská, důležitější je mít abstraktní myšlení, znát OOP, AOP a podobné techniky, umět pracovat v týmu, zvládat návrhové vzory, umět dobře chápat UML diagramy, být spolehlivý a svědomitý, snažit se neustále se vzdělávat atp. To, že z matematicky vzdělaného člověka lezou obvykle spolehlivější programy je takový výkřik do tmy. Samozřejmě určité typy algoritmů vyžadují hluboké znalosti matematiky, ale takových lidí stačí ve větší firmě pár.
Možná uvedu pár fakt: Já jsem ve svém programování velmi dobře využil vysokoškolskou matematiku, a to nedělám nic extra.Nějaký konkrétní případ na to využití vysokoškolské matematiky by byl? Já za poslední 2-3 roky nevyužil vůbec nic. Samozřejmě pokud je na pořadu dne počítačová grafika (a její algoritmy) nebo matematický a podobný software, pak prosím.
Jsem starší ročník, neučil jsem OOP, AOP, UML ani další - ale každou z těchto zkratek jsem v pohodě pochopil a vzal za své během max. několika dní. Ono totiž jde o v podstatě primitivně jednoduché věci - na které opravdu nepotřebujete školuŠkolu nepotřebujete na spoustu věcí, ale to neznamená, že je to lehké. Pochopit základní princip OOP opravdu nic těžkého není. Ale vytvořit dobrý design s UML diagramy tak, aby byl srozumitelný a formálně správný, to už nějaké znalosti chce. A chce to také hlavně zkušenosti.
Navíc přiznejte si, že spolehlivost, svědomitost, schopnost práce v týmu - to jste úplně vedle, to totiž nejsou znalosti, ale osobní schopnosti člověka, a pokud se bavíme o potřebných znalostech programátora, tak jenom zbytečně uvádíte věci mimo téma.Samozřejmě to nejsou znalosti, ale vlastnosti, nicméně i ty lze časem získat (i to se dá naučit). Každopádně jsou přibližně stejně důležité jako ty znalosti. Možná i důležitější, protože znalosti se dají získat asi i snadněji. Mimo téma mi to rozhodně nepřipadá.
Znovu říkám, na lepení komponent nepotřebujete žádnou extra programátorskou teorii znát. Je to stejné jako ten, kdo skládá počítače nepotřebuje znát podrobněji elektroniku, přestože s elektronikou dělá. A těch pár zkratek kolem lepení komponent se snadno zaučíte - pak je skoro zbytečné jít na školu.Ona to není tak úplně pravda. Na lepení komponent je nejlepší znát i ty komponenty uvnitř velmi dobře. Často dojde k situaci, že ladíte chybu a musíte rozumět tomu, jak se může projevovat a kde jí opravit. To bez znalosti komponent dáte dohromady těžko. A že studovat dneska na vysoké škole informatiku jen proto, abyste mohl jít někam programovat, je zbytečné, je myslím známý fakt. Trochu to shrnu - dobrý programátor dneska nemusí mít extra vzdělání, ale měl by mít ty výše popsané vlastnosti.
Co opravdu nesnáším je nedržení se tématu. Konkněte jsou ZNALOSTI a ZKUŠENOSTI. OOP i UML jsou směšně jednoduché věcičky, které se v zásadě naučíte velmi velmi snadno. Na tom nic nezměníte, tak to prostě je - a že se z prdu dělá kulička, na tom nic nezmění.A kde vidíte pořád to vaše debilní matematicko znalostní téma? Článek se zabýval stavem IT odborníků v ČR. Vidíte tam někde, že by se týkal matematiky a znalostí? Matematiku tu nadhodil ten první příspěvek v diskusi. Já pouze dodávám, že znalosti nejsou vůbec ta nejdůležitější složka, kterou musí dobrý programátor mít.
Nedávno jsem dělal zobrazovač hodnot k jednomu hw. Nic než jendoduché čtení a zobrazování jednoho hw zařízení. Uživil jsem tak zadání povolených mezí tabulkou (= interpolace), zobrazení grafu (= proložení bodů křivkou), odfiltrování šumu (= digitální filtr odfiltrovávající vyšší harmonické ve Fourierově řadě). Samozřejmě jsem matematiku používat nemusel - ale jednak bych to programovat několikrát déle, a jednak by to vypadalo hůř. Ač to nebyl záměr, program se zadavateli a hlavně kvalita výstupů a přesnost tak líbil, že ho dal jakožto reklamu na svojí firmu jako zařízení s mým program na Havajskou univerzitu, což mě těší. Matematika mi umožnila zkrátit dobu vývoje několikanásobně, za cenu vyšší kvality programu, vyšší odměny, zlepšení jména atd. atd. atd.To je přesně místo, kde se trocha matematiky hodí. Ale dá se poměrně snadno nastudovat. Mimoto podobný program není nic, co by uživilo tým 20 programátorů na půl roku. Z hlediska trhu je to drobnůstka.
Co takhle rovnou do toho přibrat, zda je pro programátora dobré mít postel na sever, nebo na jih a úloha tlouštěk žížal před domem programátora na jeho práci?Proč ne. Já se věcem zavánějícím nadpřirozenem nebráním ;) . A psychická pohoda programátora je také velmi důležitá.
Na lepení komponent není potřeba až tak moc dobře ty komponenty znát vnitřně. Už také proto, že vnitřek komponent se může naprosto radikálně měnit verze od verze. Jediné, co je stabilní je interface (API), a koneckonců Vy jakožto velký zastánce předůležitosti OOP (kteréžto se zapouzdřením a dalšími atributy "černé skříňky" chlubí) asi víte. Naopak, lidi musí brát komponenty tak, že co není v interface a co není v dokumentaci je NEZARUČENO!Nemluvil jsem pouze o komponentách frameworku, ale i o komponentách, které vytovořili jiní lidé v týmu a které daný člověk spojuje a často také oživuje. Ono když vám nějaká komponenta vyhodí podivnou výjimku a vy nebudete vůbec vědět, která bije, tak toho asi moc neuděláte. Nemyslel jsem tím znalost každé řádky komponenty. Spíše důkladnou znalost funkčnosti a požadavků dané komponenty. Nevím, kde jste sebral to, že jsem velký zastánce OOP. OOP má svoje limity a na některé situace se vůbec nehodí.
A co že to všechno ještě nesnášíte? :) A pozor na infarkt
Bohužel musím říct, že i toto je v některých regionech problém. Na Rychnovsku (kraj HK) nejsme schopni již dva roky sehnat nikoho, kdo by byl schopný za rozumný čas alespoň slepit pár těch komponent k sobě a udělat z toho funkční okno.
Pravda, zaměstnávali jsme jednoho člověka, ale ten nám utekl, protože druhý semestr mu nevyšel rozvrh... :-( A dávat někomu, kdo pracuje dva dny z pěti rozpracovat komponentu, je nereálné, už prostě proto, že napsat si jí sám za týden je lepší, než čekat na ni měsíc...
Bohužel ani takoví "programátoři" tu nejsou natož potom programátoři...
Bohudíky, zrovna včera se u nás zastavil člověk s dlouholetou praxí, tak snad se alespoň tak trochu někam pohneme...
Slovo "nejoptimálnější" smysl rozhodně má - identifikuje nejlepší ze všech neoptimálních řešení.
Slovo optimální znamená: nejlepší, nejlépe vyhovující. Žádné nejlepší z neoptimálních řešení. Smysl proto nemá. To že se dnes poměrně běžne používá nic neomlouvá. Neoptimální řešení také logicky nemůže být nikdy nejoptimálnější.
tak byste se měl také pozastavovat nad tím, že "vyšší budova" je ve skutečnosti menší, než "vysoká budova" apod...
A když vedle sebe bude stát vysoká budova a vyšší budova? :)
A pokud vám vadí to skloňování, tak mám takový pocit, že přídavná jména jako "dokonalý"
Dokonalejší je podle mého názoru stejný nesmysl jako optimálnější. Nulovější jsem ještě nikdy neslyšel.
Je docela možné, že jedna z příčin vzniku takových slov je neuvádění celé skutečnosti. Často se stává, že se nalezne nějaké optimální řešení. Ale je nutné dodat, že to řešení je optimální v daných podmínkách - tedy například poměr cena/výkon, s danými materiály, vlivem na životní prostředí a podobně. Následně se podmínky změní a mění se i řešení. To se potom označí jako optimálnější. Ve skutečnosti se však změnily podmínky a tedy i kritéria určující optimálnost a nové řešení může být znovu nanejvýše optimální.
Podobný nesmysl je i uvádět spojení typu: maximálně optimální
Pokud se změní parametry, jedná se o jinou situaci a proto je nutné vypočítat nové optimum. Nové optimum bude (nejspíš) jiné než to předchozí. Ale v podstatě ho nelze s tím původním srovnávat - situace je jiná, změnily se podmínky. Ano, pokud se jedná neustále o stejné rovnice, pak lze říct, že třeba spotřeba paliva na ujetý kilometr je nižší než byla dříve. Ale nedá se vůbec použít věta, že motor je optimálnější.
A pokud jsem dobře pochopil váš příklad, myslel jste vlastně dvoufázový výpočet: 1) stanovení vhodných parametrů 2) výpočet řešení. Potom pro vás nejoptimálnější je takový výsledek, kdy byly zvoleny nejlepší parametry. Ale takový výsledek je "pouze" optimální. Vůbec nezáleží na tom, jak se k němu dostaneme.
Slovo dokonalejší je pro mě tenký led. Pokud rozumím dobře slovu dokonalý, pak i dokonalejší a zdokonalit je nesmysl, který se však používá o něco déle než optimálnější
"A stejně se blbci matematici pokoušejí všechny počítače napasovat na Turingův stroj, nevěda (asi už 30 let), že stroje se mohou propojovat a spolupracovat."Zajímavé, ničeho podobného jsem si nevšiml. Ty ostatní abstraktní výpočetní stroje byly zrušeny? Kdy?
Chyba ale není v absolventech analýzy, ale v učitelích (hlavně z MFF), kteří se odmítají naučit něco jiného než kalkulus matematické ananlýzy.Týýýjo, to znamená, že mám imaginární kamarády...protože na MFF se přeci učí jen matematická analýza, tak nemůžou být reální, když byučují třeba teorii grafů nebo další diskrétní matematiku... Člověče, byl jste někdy vůbec na MFF? Myslíte, že třeba morfeo.centrum.cz se naprogramovalo integrálama? A ta zmínka o Wordu je obzvláště trapná. :-)
"Ale podobně memorování latinských textů pomáhá zlepšovat paměť. Přitom latinu ani matematickou analýzu, člověk pracující v oboru IT nakonec potřeboval nebude."A tady bych se ohradil. Latinská morfologie procvičí analytické myšlení (mně kdysi na konci základky naučila základním "technikám polního lingvisty") a vzhledem k vazbám a vlivům latiny na současné evropské jazyky se ani ta slovní zásoba nedá brát jako vyložené memorování, spíš jde o zasazování již tušených střípků na správná místa, No a pokud jde o "memorování textů", tak pak už je jedno, jestli je to latina nebo Máchův Máj.