Zdroje ke studiu programování

Lege

Re:Zdroje ke studiu programování
« Odpověď #15 kdy: 16. 04. 2012, 11:58:00 »
Proč se na VŠ učí jako základ C/C++ ?

To je poměrně jasné, protože programátor by měl znát svuj počítač. Copak by jste si představovali jako základ?? Smalltalk aby se učili programátoři programovat na

Pejsek1 zastekej;
Kocicka3 zamnoukej;
 
Nebo snad java aby se učili studenti hledat na googlu potřebnou třídu a poté udělat:

import;
problem.solve() ?

Každý z vás jistě ví že se nealgoritmuje v jazyce nýbrž na papir a v každém paperu, kde se nějaký algoritmus vysvětluje se abstrahuje od jakéhokoliv programování a šahá se tedy spíše po pseudokodu / matematice. Tím je tedy i naprosto vysvětlitelné, proč se zaměřuje IT výuka hodně na matematiku, logiku, stringologii, grafy ... Přepsat to potom do konkrétního jazyka je práce pro kodéry (honosně pojmenované "Softwaroví inženýři" = kreslíře ) a to je potom vyloženě mechanická práce.

Ti nejlépe placení nejsou soft. inženýři co to jen naťukají v tom konkrétním jazyce ale manažeři a lidé co tomu skutečně rozumí
(znalost teorie složitosti, diskrétní matematiky, lineární algebry, grafových algoritmů) a opravdu znalci (ASM, JVM znalci, HW,..)

Začít v C je opravdu o hodně těžší než začít v něčem HLL a potom nevědět co je to paměť (Java, C#). Ale to tam se naučí člověk správně programovat...


smoofy

  • *****
  • 1 029
    • Zobrazit profil
    • E-mail
Re:Zdroje ke studiu programování
« Odpověď #16 kdy: 16. 04. 2012, 13:01:09 »
to Lege:
Ze zkusenosti muzu rici ze na vetsine IT fakult drtive vetsine skol se uci programovani v prvnich rocnicich spise jako zaklady algoritmizace a pro tyto ucely neni C/C++ úplně nejvhodnější. Programátor by měl znát svůj počítač, ale od toho jsou tady software development obory a to bych řekl, že zadavatel příspěvku tak úplně nestuduje vzhledem k ústavu do jehož stáda patří.
Nikdo tady nemluví o extrémech typu robot Karel, Baltík etc. ale vysokoúrovňové jazyky jsou pro vysvětlení principů algoritmizace daleko vhodnější z již v předchozích příspěvcích uvedených důvodů.

Lege

Re:Zdroje ke studiu programování
« Odpověď #17 kdy: 16. 04. 2012, 13:23:10 »
to Lege:
Ze zkusenosti muzu rici ze na vetsine IT fakult drtive vetsine skol se uci programovani v prvnich rocnicich spise jako zaklady algoritmizace a pro tyto ucely neni C/C++ úplně nejvhodnější. Programátor by měl znát svůj počítač, ale od toho jsou tady software development obory a to bych řekl, že zadavatel příspěvku tak úplně nestuduje vzhledem k ústavu do jehož stáda patří.
Nikdo tady nemluví o extrémech typu robot Karel, Baltík etc. ale vysokoúrovňové jazyky jsou pro vysvětlení principů algoritmizace daleko vhodnější z již v předchozích příspěvcích uvedených důvodů.

Kvalitní názor. A ohledně ČZU to tak asi bude. Co vím tak tam stejně do studentů vší silou perou (především nejmenovaný "Ovoce" profesor ) smalltalk ze všech sil. Nevidím ale příliš výhodu třeba Javy oproti C++  snad kromě memory managementu, prototypovat se dá stejně dobře v C++ jako v Javě a objektový model mi také přijde poněkud rozumější než se zabývat podivným a poněkud nekoncepčním řešením přes boxing primitivních typů, interfacy a další věci..

Záleží ale hodně na tom jakým způsobem se ta algoritmizace v Javě vyučuje, znám 2 fakulty, kde to probíhá stylem "Tady použijete .sort() tamhle compareTo() tady použijte tuto metodu, tamhletu.." To potom opravdu neučí lidi programovat. Pokud je to ale tak, že  se opravdu učí algoritmy tak je to zřejmě v pořádku.

-------------------------------
Sem odchovaný ProgTestem

skunk

Re:Zdroje ke studiu programování
« Odpověď #18 kdy: 16. 04. 2012, 13:33:36 »
Ono je to těžké, ty potřebuješ získat hodně dobré návyky na myšlení. Potřebuješ algoritmizovat a to tak, abys tomu nějak rozuměl "po svém". Na tohle mi třeba hodně pomohl jazyk Scheme potažmo Common Lisp. Ty jazyky mají nejjednodušší syntaxi (jedinými synt. symboly jsou závorky).

Give it a try.

smoofy

  • *****
  • 1 029
    • Zobrazit profil
    • E-mail
Re:Zdroje ke studiu programování
« Odpověď #19 kdy: 16. 04. 2012, 14:41:53 »
ad Lege
Nezáleží na tom co která škola vyučuje za jazyk, ale měla by to umět svým studentům vysvětlit a odůvodnit a to se zjevně neděje.
Lidi které programování baví se s ním seznámili už dávno a v těchto předmětech se dostaví pouze na první cviko pro zadání semestrálky a pak na další ji odevzdat. Ostatní se pak snaží semestrem prokousat smolením testů v podobě najdi zapomenutý středník a přepiš, aby fungovalo, a to si myslím, že v nikom moc chuť programovat nevzbudí jelikož chybí vysvětlení zásadního problému a to PROČ vůbec programovat a proč v TOMTO určitém jazyce.
  Dnesni doba je ovsem s prominutim natolik zku_vena, ze podporuje generovani dutejch hlav s diplomem a prehlizi fakt, ze k zisku titulu je potřeba reálných znalostí použitelných v praxi a zrovna IT je toho zarnim prikladem. Dodnes si pamatuju prvni prednasku jisteho profesora ktery rekl: "Ti z Vás, kteří chcete studovat jste tady správně. Vy co chcete být úspěšní a vydělávat peníze tady ztrácíte čas." Až s odstupem času a zkusenostmi cloveku dochazi jak moc velkou pravdu vlastne mel.


smoegel

Re:Zdroje ke studiu programování
« Odpověď #20 kdy: 16. 04. 2012, 21:07:31 »
kazdy na to ide po svojom.
ja som vecny amater a programujem vtedy ked potrebujem ulahcit kazdodennu opakujucu sa cinnost.
po urcitom case sa z kuskov scriptov stavaju vacsie celky a mnohe casti kodu sa opakuju.
Najskor staci prikazovy riadok ale postupom casu to treba prezentovat v grafike alebo prostrednictvom web stranky , grafu atd.
Zrazu clovek pride na to ze potrebuje napisat nieco komplexnejsie , vykonnejsie , v threadoch a pripajajuce sa na oracle,ldap, mysql
a este komunikovat cez SSL.
Tym som chcel povedat ze nech nemlatis prazdnu slamu a nevybijas sa len tak do vzduchu najdi si ciel ktory chces vyriesit.
Na ten si zvol najvhodnejsi prostriedok (Perl je ako pomocnik nenahraditelny) , rozhodni sa ake platformy by si chcel zastresit a podla
toho sa zariad.Ako budes projekt rozsirovat, vylepsovat , ladit budu pribudat skusenosti z roznych oblasti (grafika, databazy,web...).
Kombinacia dvoch jazykov mi pride optimalna. Pouzivaj veci na to na co sa hodia najlepsie.

Mne pride ako dobra volba prave C++ / QT4 / QML ale ci je to komercne do buducnosti dobra volba bohuzial neviem .

 




mikrom

Re:Zdroje ke studiu programování
« Odpověď #21 kdy: 16. 04. 2012, 22:04:52 »
Neni to jednoduche, na skole sa sice ucis algoritmy, napriklad triedenie poli roznymi metodami. Lenze v praxi nikoho toto nezaujima aky si dobry z teorie, ale ci vies, alebo nevies rychlo riesit veci z praxe.
Takze lepsie je ked pouzijes vysokourovnovy jazyk, naimportujes si prislusny modul a napises list.sort() a mas program hotovy za 2 hodiny, ako ked si ten sort() sam v C 2 dni programujes a hladas chyby.

Ja som sa na skole naucil iba Pascal, C a na numerike Fortran ale v praxi som spoznal skriptovacie jazyky ako REXX, Perl, Tcl, Python, Ruby, Groovy (poradie uvadzam podla veku - nie podla mojej oblubenosti) a tieto mi pomahaju riesit kazdodenne problemy.

Podla mna ked sa v skole ucis algortmizaciu v klasickom jazyku ako je C/C++ je to super. Ale ak to s programovanim myslis vazne kukni sa popri tom aj na nieco ine ako napr. Java a hlavne horeuvedene skriptovacie jazyky - su to neocenitelni pomocnici.

Pomaha citat diskusne fora a zapajat sa do nich. Ja ked mam cas, tak si formu udrzujem tu:
http://www.tek-tips.com/userinfo.cfm?member=mikrom

pedro

Re:Zdroje ke studiu programování
« Odpověď #22 kdy: 16. 04. 2012, 22:41:07 »
No, já tedy nejsem programátor, ale fakt mně zaujalo, že nejsi první od koho slyším, přišel jsem na školu, jsem tam 1-2 semestry a automaticky přemýšlím o tom, jak uspět na trhu práce. Před deseti lety, kdy jsem byl asi v tvým věku většina z nás přišla do školy, prvních pár přednášek a cvičení se snažila pochytit "wo co jako gou", pak nafasovala zadání semestrálek a po zbytek semestru (ano, nějaké to vylejvání hlavy mezitím taky proběhlo) se snažila stmelit tu akademickou srágotku, aby dostali alespoň zápich...

Z praxe ti řeknu jedno. Jestli tě nebaví teoretické věci, tak jsi na VŠ zbytečně. Když půjdeš rovnou do praxe a budeš mít chuť a touhu, tak na tom budeš po pěti letech zaručeně líp, než budoucí Ing.

Jinak já se kdysi učil programovat v C, pěknou učebnici na C napsal Herout.

qgwga

Re:Zdroje ke studiu programování
« Odpověď #23 kdy: 16. 04. 2012, 23:19:53 »

Re:Zdroje ke studiu programování
« Odpověď #24 kdy: 16. 04. 2012, 23:44:46 »
sice jsem v programování stále lama (IT není hlavním oborem mého studia), nicméně jsem si už pár jazyky prošel a mohu sdělit své zkušenosti

C - výborný low level jazyk pro low level záležitosti, před programátorem se nesnaží žádným způsobem skrývat železo, na kterém program běží, pokud plánujete pozdější přechod k C++ je vhodný i jako jazyk pro osahání základů na command line aplikacích , pro začátečníka může být díky své striktní typovosti a nulové automatizaci trošku náročnější, nicméně lze se ho naučit - sám jsem se ho učil ihned po BASICu, na gymnáziích bývá většinou prvním jazykem, ke kterému studenty posadí
C++ - jak již bylo řečeno nejpokročilejší a nejkomplikovanější plně objektový kompilovatelný jazyk - na jedné straně umožňuje použití mnohých elegantních technik, na straně druhé umožňuje v některých místech low level kontrolu nad programem po vzoru C, před příchodem šidítek typu .NET byl prakticky standardem pro tvorbu desktopovývh aplikací, pro začátečníka nicméně nevhodný - abyste se v něm neutopil, musíte již mít něco odprogramováno, společně s C++ je zároveň vhodné se učit i nějaký GUI toolkit, abyste mohl vytvářet grafické aplikace
Java - výborný jazyk pro výuku (převážně OOP), ze zkušeností, co mám z J2ME navíc Java obsahuje velice přehledné API pro ovládání GUI aplikací (očekávám, že klasický desktop na tom bude podobně), bohužel aplikace napsané v Javě jsou na desktopu mnohdy neskutečně pomalé
Pascal - společně s Delphi nejjednodušší cesta, jak začít psát grafické aplikace pro win (na vejšce nás naučili základy prakticky za jeden semestr - a to tak, že v první hodině pochopíte základní filozofii win api a samotný jazyk se učíte až později, kdy už si vytváříte klikací aplikace), bohužel doba Pascalu zkončila někdy s koncem 90. let a dnes se již prakticky nepoužívá - proto nepovažuji příliž za vhodnou variantu

HTML/CSS/PHP/JS/MySQL - kombinace, která vám umožní vytvářet webové aplikace, její znalost se hodí, PHP je pro začátečníky celkem lehce stravitelné, nicméně musíte mít na paměti, že prostředí webu je naprosto jiný svět, než ten desktopových aplikací

ke zdrojům bych vám doporučil se podívat na seriály o programování zde na rootu a případně na http://builder.cz/ nicméně počítejte s tím, že jakákoliv kniha o programování se stává zastaralou ve chvíli, kdy je vydána, proto taktéž studujte aktuální znění manuálů k programům, které budete používat a nebojte se hledat aktuální informace na diskusních fórech (např. u HTML již ani žádná verze 5 neexistuje a standardizace probíhá v živém režimu)

ne

Re:Zdroje ke studiu programování
« Odpověď #25 kdy: 17. 04. 2012, 00:04:24 »
C++ ... nejpokročilejší ... plně objektový ... jazyk ...
( s timhle vam opravdu zkuseni programatori souhlasit nebudou )

flv

Re:Zdroje ke studiu programování
« Odpověď #26 kdy: 17. 04. 2012, 00:12:49 »
Jeslti chces najit dobre placenou praci nauc se JavuSE/JEE, hibernate, spring, udelej si vlastni web aplikaci, nasad ji na tomcat pripadne nejaky full aplikacni server (JBoss, WebLogic/Oracle AS), nauc se zakladni moznosti jejich konfigurace, design patterns, jaky je project lifecycle (bugovaci systemy, buildovaci systemy, tzv. continous integration) zakladni metodiky v testovani (junit, typy testu (napr. integracni. regresni)), zakladni podpurny knihovny (napr Apache family) zakladni frontend framewroky (wicket, jsf, tapestry, gwt..aspon neco z toho) zaklady concurrency (knihovny/tridy a best practices), zaklady performance (nastavovani garbage collectoru, zakladni prepinace virtulani masiny, zaklady best practice jako zavirani streamu etc.) dal zaklady SQL a relacnich databazi pripadne i noSQL ays vedel kdy ktery pouzit, zaklady faiolver mangementu (co to je replikace sessiony etc.), zaklady HTML, javascriptu, CSS, zaklady HTTP protocolu, seznam se s moznosti debugovani programu, jak nastavit logovani v programu, jak resit bezbecnost v aplikacich (knihovny, autentikace vs autorizace), zaklady prace s XML (SAX vs DOM, JAXB) transakcni mechanismy (optimistic/pesimistic locking) code quality coverage tooly a v neposledni rade se hodne dobre nauc nejake IDE/Editor v kterym tohle vsechno (resp. 99%) budes delat (napr. Eclipse). Nastuduj si to, zazij si to, nauc se anglicky a nebudes mit problem.

Re:Zdroje ke studiu programování
« Odpověď #27 kdy: 17. 04. 2012, 10:54:33 »
koukám že se to tu nějak rozjelo :)

každopádně díky i za další názory a rady - rozhodl jsem se že dojedu C do levelu abych zvládl udělat zkoušku, a jak už tady někdo napsal tak i základy Smalltalku díky (i když je to muj oblíbenej učitel) Merunkovi.

pak se vrhnu na C++ a Javu, a k tomu si přidám to co budeme dělat v dalších semestrech plus ty základy html, xhtml a toho co k tomu patří :)

s tou angličtinou - nedělá mi problém mluvit s gramatikou jako rodnej mluvčí, to je spisovně i nespisovně bez chyby , rychle a s přízvukem :) Dlouho jsem si myslel že takhle umí anglicky každej ale pak jsem si začal všímat že lidi naopak anglicky neumí skoro vůbec což nechápu a asi ani nepochopim...
Do toho se učím Dánsky a Německy a ovládám trochu ruštinu a protože jazyky kterejma se mluví jsou vlastně stejný jako jazyky kterými se programuje tak věřim že nebudu mít potíže se naučit jakejkoliv programovací jazyk když k tomu přidám že s matematikou nemám nejmenší problémy

ale to je odbočka, to co jsem potřeboval vědět původně jsem se dozvěděl. Low-level aplikace mě moc nezajimají proto pro mě C nebo assemblery vhodný moc nebudou. C++ se chci naučit už jen protože je to můj sen a jeden z cílů co jsem si určil a k tý Javě jsem stejně chtěl směřovat, ještě si rozmyslím platformu kde bych se chtěl orientovat (Jasně jsem na rootu ale musím to napsat že mě táhne Apple jak Mac tak iOS)


takže ještě jednou díky moc všem za vaše postřehy :)


smoofy

  • *****
  • 1 029
    • Zobrazit profil
    • E-mail
Re:Zdroje ke studiu programování
« Odpověď #28 kdy: 17. 04. 2012, 11:24:03 »
Citace
a protože jazyky kterejma se mluví jsou vlastně stejný jako jazyky kterými se programuje
;D ten byl dobrej

ale jinak ti závidím. My debilové se to musíme drtit a beztak to na nás stopy zanechává jen nevelké :). Lidi skutečně anglicky neumí a to co se v ČR a SK považuje za fluent s tím by člověk v zahraničí neobstál.

Re:Zdroje ke studiu programování
« Odpověď #29 kdy: 17. 04. 2012, 14:15:23 »
Citace
a protože jazyky kterejma se mluví jsou vlastně stejný jako jazyky kterými se programuje
;D ten byl dobrej

Mě to tak fakt přijde :) Syntaxe == gramatika, Slovní zásoba == příkazy, k tomu aby člověk mluvil potřebuje slova setřídit pomocí gramatiky no a u programování k tomu použije logiku :)