Ahoj, mám sice maturitu, ale ne v IT oboru, jen nástavbu s oborem
podnikání a zde, na vašem webu se učím čistě C#. Programování mě
baví, ale stále musím přemýšlet nad otázkou ,,Co všechno se musím v
jazyce C# naučit, abych o sobě mohl říct, že jsem programátor, který se
dokáže už alespoň trochu uchytit?" Samozřejmě chápu, že má každá
firma různé požadavky a tak a možná to je celkově moc obecný pojem, ale
nemám vůbec žádnou představu, tak alespoň jestli mi můžete poskytnout
pár nějakých informací pro ujasnění. Klidně i kdyby šlo jen o brigády,
tak jaké znalosti na to potřebuji. Furt mi lítá hlavou ,,a opravdu
potřebuji i databáze? a opravdu potřebuji znát něco úplně dopodrobna,
nebo stačí odevšeho trochu? Třeba mě i tenhle váš web může dostatečně
připravit? A musím znát všechno co je tu? Stačí jen konzolové aplikace,
nebo i okenní?" Opravdu bych byl moc vděčný a ocenil bych, kdyby mi někdo
mohl poskytnout alespoň pár odpovědí, jak to tu ve světě chodí, kdy a kde
se mohu začít uplatňovat v programování a tak Jinak jak už jsem říkal, tak
mě programování baví a nechtěl bych se přestat učit nové věci, ale
určitě by bylo fajn vědět, kdy mohu začít procvičovat a zároveň si tím
i něco přivydělat zabít
dvě mouchy jednou ranou
Opravdu potřebuješ i databáze, jsou vývojáři podceňovány. Okenní
aplikace budeš asi také donucen znát alespoň základy, protože omalovánky
jsou dnes hodně vyžadovány.
Je také dobré se podívat na různé programovací styly, návrhové vzory,
UML apod. Netvrdím, že je nutné se všechno naučit naráz, ale některé
budou užitečné hned od počátku.
Hodně problematické bývá OOP, protože hodně autorů to vysvětluje z
pohledu imperativního programování a je těžké mezi nimi vybírat. Mohu ti
doporučit Rudolfa Pecinovského. Ze zahraničních by ti mohl vyhovovat Bruce
Eckel, který je podle mne ještě lepší.
Potřebuješ databáze a ASP.NET, webové aplikace hýbou světem, skoro
každá poptávka práce po C# požaduje ASPčko. Máme tu na něj videoseriál,
můžeš se kouknout.
Dík a
nejdůležitější z databází bude asi XML a MS-SQL, že? Mě třeba taky
furt vrtalo hlavou, proč je u programátorů ta matika tak brutálně těžká.
Jako chápu, že se to tohodle týká do hloubky víc, než asi čehokoliv
jiného, ale nejdůležitější jsou logika a znalosti ne? A jako bylo pro mě taky dost
krutý pro začátečníka sám pochopit pojmy jako atribut, vlastnost, instance
a tak, je tam toho hodně a vždycky to nutí ty texty přeskakovat a koukat
hlavně na obrázky, takže třeba pro mě by bylo mnohem lepší koukat na
nějaké schéma s šipkami co je atribut, vlastnost a tak, i když jako jinak
je toto asi nejlepší web na českém netu A ty pojmy jsem teda už
rozlousknul a hned vidim všechno mnohem jasněji. Je to fakt jako se naučit
jinou řeč a pak se radovat z nového světa =D
Dík, tak to zas projedu celý tutorial od začátku do konce, hehe A co je lepší - mít vlastní
živnostenský list, nebo být někde ve firmě? Ani nevím jestli nad tím mám
teď takhle přemýšlet, ale já počítači žiju a rád se těším z možné
budoucnosti
XML není databáze, ale je dobré s ním umět dělat. Vlastně ani tak
není nutné dělat s XML, ale spíš s DOM, tedy s jeho reprezentací v
operační paměti. Metody pro konverzi mezi nimi už nevylepšíš.
MS-SQL je jen jednou z mnoha databází. Pokud budeš chtít zůstat u C#,
budeš ji asi potřebovat. Jinak ne.
Pojmy jsou v programování důležité hlavně kvůli komunikaci. Pokud ti
řeknu, že to máš objekty udělat přes Simple Factory, tak je to jednoduché
sdělení včetně postupu.
Schémata se šipkami mi k srdci nepřirostla. Možná také proto, že
často bývají navrhována nesmyslně, bez zjevného vztahu k realitě. A pak
to máš podle toho nesmyslu naprogramovat. Vždyť i kolem architektury MVC je
hromada dohadů a každý to dělá jinak.
Dík za tip Jen doufám,
že vůbec někdo bude ochotný se mnou jednat, až zjistí, že jsem školou
truhlář s nástavbou a že "jen" ve volnym čase programuji Nebude to chtít nějaké
certifikáty, nebo něco takového?
Ahá No já si moc
vážím každého názoru, ono to dost podporuje Jinak teda říkáš databáze.
Já se tedy (jak jsem teď zjistil ohledně toho XML) v databázích ještě moc
nevyznám, ale myslíš, že stačí jen dobře umět s MS-SQL? Kit mi řekl,
že by to tak teda asi mohlo být, když budu dělat čistě v C#
Záleží, třeba já bych být zaměstnaný nechtěl, někdo naopak říká,
že tě to naučí nejvíce. Umět programovat musíš k obojímu, když se to
naučíš, můžeš si pak vybrat co ti bude vyhovovat
Databáze jsou dobré hlavně kvůli tomu, že data je vždy nutné někam
ukládat. Práce se soubory je poměrně komplikovaná, pokud se to má udělat
dobře. Databáze spoustě problémů s ukládáním předchází. Práce s
databázemi je prostě jednodušší a spolehlivější, než se soubory.
100% ti na první job ve firmě bude stačit jen SQL ( MS-SQL pokud C# ) a
OOP + samozřejmě pokročilejší práci s jazykem C# ( nemusíš umět
všechno.. ono ani ne 50% doučíš se v práci praxí a podobně ) Po 2-4
letech v první firmě si můžeš dovolit jít do větší firmy kde se
požaduje 2-4 letá praxe v jiné prográtorské firmě (většinou požadujou
vysokou školu). Můj názor je ale úplně jiný... nauč se OOP ani databáze
umět nemusíš. Vymysli si svůj projekt, kterej přitáhne lidi. Osobně ve
firmě pracovat nechci, chci mít vlastní projekt ( nesnášim když mi někdo
říká co mám dělat ), a jako bokovku bych třeba učil na střední škole
programování za nějakej peníz.
Každopádně jak asi sám víš.. přijít na projekt, kterým si vyděláš
není vůbec sranda. Ale
pokud dostaneš dobrej nápad a naprogramuješ si základ, kterej se dá
používat. Jsi za vodou.
Dík moc za názory Jinak
to je určitě dobrý tip, jak říká Winitrix, vytvořit nějaký projekt,
který dokáže upoutat a pak díky tomu získat práci, ale když se budu
jentak hlásit o pracovní místo a dám jim tam životopis, kde nebude škola
ani certifikát, tak se se mnou moc bavit asi nebudou, nebo myslíte že jo?
Jako nejlepší by bylo v příloze zaslat i ukázkové práce nebo něco, ale
nevím jestli by vůbec o to nějaký personalista stál Nemáte prosím nějaké
návrhy jak "zaujmout personalisty", nebo celkově firmy? Jak vůbec navázat
řeč bez nutnosti veledíla, které by kolovalo netem?
Je to jednoduché. Nejprv se nechat najmout na práci, kterou nikdo nechce
dělat. Třeba jako dobrovolník k nějakému zajímavému projektu a pokud
jsi
dobrý, tak s tebou buď rovnou pokračují na dalších věcech nebo si
prostě
do životopisu napíšeš zkušenost s prací na projektu. Personalisti se
stejně v IT nevyznají, takže mají papírek s požadavkem a ten opakují,
dokud
neřekneš že ano - umím, nebo ne - neumím. Vysvětlovat nemá smysl.
Pokud ale máš jakákoli potvrzení, reference nebo příklady práce, je
slušná šance, že to předají odborníkovi.
Dobře Jinak než se do
toho vrhnu, tak bych měl ještě otázku, jestli si v těch databázích musím
volit jaký jazyk budu používat, protože mě už od včerejška vrtá hlavou,
proč jsem tam četl PhP. Jako vím, že se tam používá SQL, ale protože moc
netuším o co přesně v těch databázích jde, kromě ukládání dat, tak by
mě zajímalo proč tam spadají další jazyky, jen pro upřesnění Jen plácnu - abych si pak omylem
nestáhnul MySQL pro PhP a pak nekoukal, co to na mě vybaflo
MySQL a PHP jsou dva samostatné nástroje, které spolu mohou komunikovat
jazykem SQL. Podobně může komunikovat s MySQL i C#, Java, Python, Ruby, C++
nebo všechny současně.
já vim, mě šlo hlavně o to propletení, jestli je to pro mě hodně
důležité a brát ohled na to, abych měl co nejdřív MySQL pro jazyk C#,
nebo teda stáhnutou knihovnu, která obsahuje tento přídavek jazyka Sharp.
Nevím totiž, jestli se bez toho zatím obejdu, když se chci jen naučit
pracovat v databázi a učit se jazyku SQL, podle toho tutoriálu co tu máte o
MySQL
Jazyk SQL je velmi jednoduchý a nejlepší je použít ho alespoň z
počátku úplně samostatně. To znamená spustit si obyčejného klienta MySQL
a psát příkazy přímo do něho podle manuálu.
Když jsem v jiném vlákně psal pro David Čápka příklad použití
triggeru, tak jsem to kompletně ladil v konzoli. Nepotřeboval jsem k tomu PHP,
C#, Javu ani jiný nástroj. Když bylo něco špatně, server mi to ihned
oznámil. Nemusel jsem to tedy pracně ladit v nějakém editoru, konzole mi
kontroluje každý řádek. Výsledek jsem jen přetáhl myší do
prohlížeče.
Spíš si teď začínám čímdál víc říkat, proč, když jsou ty
databáze tak jednoduché a žádané, tak proč se to lidi nenaučí a "nejdou
žít" trochu na úrovni člověka, vzhledem ke všem těm fabrikám a
dělníkům, kteří x hodin jen nudně "plácají rukama" za pár kaček.
To že umíš databáze neznamená že se tím uživíš. Příjde do firmy
10 programatorů : ty umíš datbáze, ostatní uměj databáze + nějaký
další jazyk, jazyky. Vyberou si toho který umí databáze, jazyk a nejdelší
praxi. Samotné DB ti jsou slušně k *****.
Samotné databáze ti nejsou k ničemu. Když umíš dobře třeba DB Oracle,
tak máš velmi, velmi hřejivé místečko. Když bance najednou klekne DB a
každou hodinu přijde třeba o několik milionů. Tyto velké DB se
používají také hojně ve státní správě a velkých firmách. Tyto firmy
si své databázové adminy velmi vydržují a Oracle neumí tolik lidí.
tak já myslel ještě nějaký jazyk k tomu, ale i tak,celkově poptávka po
programátorech a celkově IT obor, je stále velká ne? A naučit se teoreticky
nějaký jazyk k tomu mi nepřijde jako problém, to se dá myslim všechno
dohledat, ale problém je ta praxe já tu mám zkouklý skoro všechno, dělám si o všem i
zvláštní, pečlivý poznámky, ale vytvořit kompletně celý velký program
je furt docela oříšek
Bylo by hezký, kdyby někde na netu byla sbírka úloh, stejně jako třeba z
matiky, dle obtížnosti
Už jsem tu měl třeba tipy, ať se snažim okopírovat různé programy, ale
to je kolikrát už tak pokročilé, že to je dost těžké. Nejlepší je
třeba "vytvoř pole s čísly, pomocí cyklu for ho naplň a poté vypiš na
obrazovku". Jo, je to jednoduché, ale kdyby to takhle bylo i s těmi
složitějšími operacemi krok po kroku a na konci úloha na celý program, tak
prostě supr
Spíš si vyberou toho, kdo umí programovací jazyk a neumí databázi,
protože ten recruiter databázím nerozumí.
Když umíš pracovat s DB, aplikace mají třetinovou délku a jsou
stabilnější. Jenže v době, kdy se platí za počet řádek programu a za
množství času strávené laděním, je to tak trochu kontraproduktivní.
Zkus si napsat nějakou jednoduchou hru, třeba i v konzoli, na tom se učí
programování asi nejlépe, protože je to zábavné. Já začínal s hrou na
hádání čísel (zadáš číslo, program vypíše jestli jsi zadal moc malé
nebo moc velké, takhle dokud se netrefíš). Pak třeba v grafice můžeš
začít hadem nebo tak něco. Postupně přejdi na něco složitějšího. Já
jsem jako první větší program dělal poker (Texas hold'em) v konzoli, hráč
proti UI. Byla to strašná prasárna, protože jsem tehdy ještě neznal ani
funkce, natož třídy, takže to bylo celé v main a mělo to asi 8000 řádek,
ale fungovalo to
Jop, to je možné ale být "člověk co spravuje databázi" to zrovna není
můj sen.. a myslím že ani nikoho jiného, kterého baví programování.
Programátor, který jen spravuje databázi to je jako kdyby právník učil
autoškolu. Teda aspoň pro mě... mě osobně DB vůbec, ale vůbec nebavěj a
představit si že pracuju jen jako "ten týpek přes DB". To radši nic.
relycanx: to že tobě programování, databáze příjdou jednoduché
neznamená, že ostatním taky. Znám spoustu lidí co se s tím dlouho prali a
prostě to nechápou, já to třeba nechápu jak někdo nemůže pochopit třeba
array a podobně. Ale pro strašně moc lidí je to nadlidský výkon a proto
okopávaj chodníky nebo dojej krávy.
Přiznávám že z SQL umím minimum, ale to nic nemění na tom že jsou to
anglické věty, které splácám na sebe. A většina z SQL se dá naučit za
strašně krátkou dobu ( proto to taky neumím protože si pořád říkám to
se naučím zachvíli ještě je čas ) a ve škole se to bere tak.. znáš to.
Jediný co je na SQL zajímavý je select. Navíc je to DOTAZOVACÍ jazyk a ne
programovací. To je docela dobrý argument k tomu že v SQL se
neprogramuje.
Jsem na ty databáze zvědavý no a co se týče toho programování, tak já
už dost let dělám v game makeru, takže principy znám. Mě tu hlavně
zaujmulo to objektové programování - třídy, objekty a hlavně metody. To je
úplně brutální, když jde hromádka příkazů dát do jednoho celku a
vytvořit celou složitou operaci, která jde kdykoliv vyvolat znovu. A nevím
jestli je těžké pochopit vyloženě tu teorii. Mě třeba dělá problém,
když čtu kód nějakého programu, kde je mraky proměnných, tak se vyznat v
tom, která se na jakou odkazuje a kde má vlastně ten "had" z proměnných
začátek a konec
Hodně programátorů umí z SQL jen minimum. Půlstránkový select je pro
ně problém. Mnozí neumí ani pořádně insert nebo update, lepí to přes
aplikaci a testují data ještě před tím, než je do databáze uloží. Proto
také aplikace vypadají tak jak vypadají.
Jazyk SQL není kompletní programovací jazyk, proto je označován za
dotazovací jazyk. XSL je kompletní programovací jazyk, ale přesto je
označován za šablonovací. Každý z nich používá jiné paradigma, SQL
každému programátorovi nesedne.
Proto je tu to objektove programovani. Tim si kod hodne zprehlednis. Nejdrive
ale musis pochopit o cem to oop je. Nejakou chvili to potrva, ale vysledek tam
pote bude videt. Navic myslim, ze bez oop s v dnesni dobe programator jen tak
neobejde. Zaklady sql nejsou slozite a na ukladani dat jaou databaze
neocenitelny pomocnik.
U tech tvych projektu jde hlavne o to si vytycit nejaky cil a pokisit se ho
dotahnout do konce. Kdyz neconevis, pomuze google nebo tady devbook. Navic i
tutorialy zde jsou velmi kvalitni. Sam sem se tu oop zacal ucit podle nich.
Zkus to rozlišit na dvou programech, které dělají totéž, ale jeden to
má v C++ na 50 řádcích a druhý to má na jednom řádku v shellu. Kdo z
nich je lepší programátor, když ten "skriptař" to bude mít dřív a
dokonce ten jeho program bude rychlejší?
Nerekl bych prikazu. Pote by neslo pouzit prave oop nikdy. Spise volani
samostatnych metod. Pokud bych mel metodu,ve ktere volam dalsi a zavisi u nich
na poradi tak ok,ale jak chces zjistit delku pole pred jeho naplnenim?
Ale chapu jak si to myslel.
Jasně, ale když budeš takových blbostí hledat víc, tak nakonec dojdeš
k tomu, že v OOP jsou while, if, switch a další řídící struktury de facto
zbytečné a že jsou tam jen kvůli programátorům, kteří je vyžadují.
To máš pravdu a jsem rád že si to nahodil. Je rozdíl si ten příkaz
napsat (programátor) a ten příkaz jen hloupě používat a nevědět pomalu
ani jak to uvnitř funguje (lepič) Takže pro mě je rozhodně lepší ten kdo to udělá v C++
samozřejmě teď otázka "umí si to ten co to dělal v shellu napsat taky sám
v nějakém jazyce?" Až pak bych začal řešit rychlost a počty řádků.
Chtěl bych tě vidět, jak tohle obhajuješ při tvorbě programu, který
má třeba jen seřadit jména podle abecedy.
Otázka tedy zní obráceně: Umí to ten programátor v C++ udělat i
nějakým hotovým nástrojem, který je na to určen? Nebo ho mám vyhodit hned
kvůli nízké produktivitě jeho práce?
Dejme tomu list, fajn používá to každý javista, C#ista. Ale hodně z
nich ani neví jak si udělat vlastní list bez použití pole - jen přes
spojový seznam. A podle tebe to jsou programátoři, podle mě ne. Stejně tak
jako podle mě není práce ve worldu programování. Obhajovat nic nemusím je
to můj osobní názor. Taky nejsem dokonalý a nevím jak se některé věci co
používám vytváří například... teď mě nic nenapadá ... jo třeba
bufferedImage v javě taky nemám páru jak bych to udělal sám pomocí
něčeho jiného a udělat si vlastní bufferedImage, proto si taky neříkám
programátor.
Naučit se používat hotové nástroje je daleko jednodušší než "to"
napsat sám. Pokud něco programátor dokáže sám napsat, pak pro něj nebude
problém se naučit pro tu danou věc používat nějaký hotový nástroj.
Pokud ale někdo umí pouze používat již hotové nástroje, nevypovídá to o
něm, že je dobrý programátor, protože ve skutečnosti třeba neumí
nic.
Podle tebe tedy jsem programátor, protože umím udělat list přes spojový
seznam. Jenom to už tak nedělám, protože jsem líný. Stejně tak už
neprogramuji AVL stromy ani hashovací tabulky, i když je umím. A se sortem se
už také párat nebudu, protože dělat porovnávací funkci pro česká
písmenka je opruz.
Podle mě je programátor ten člověk, který si nástroje, které
používá umí napsat i sám. To že to sám nepíše je úplně jedno...komu
by se chtělo si psát svůj list když už v javě arraylist je. Ale nenazval
bych programátorem někoho kdo arraylist používá a udělat si ho sám
neumí. No docela jsme odbočili od SQL až po spojový seznam v c++. hehe
Já jsem si v C++ spojový seznam dělal, stejně tak šablonu pro práci s
poli nebo vlastní String, a používám to. Ne proto, že by to snad bylo
efektivnější než standardní khihovny, ale funguje to přesně tak jak mi to
vyhovuje. A ten spojový seznam není zase až tak jednoduchý, záleží tedy,
co všechno člověk chce aby to umělo.
Taky jsem si dělal spojový seznam a fungovalo to přesně jako pole a
trochu jsem zajel i do listu. Nepoužívám to, pole v Javě mi vyhovuje stejně
jako arraylist. Nepotřebuju si v každym projektu includovat další třídu.
Kde jsem si to napsal sám. Určitě na nějaké věci by to mohlo být dobré,
ale stejně nemusím při každém projektu vynalézat kolo.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.