Diskuze: Kdy a kde začít? Jaké minimální znalosti potřebuji pro uplatnění jako C# programátor?

Člen

Zobrazeno 76 zpráv z 76.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
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.
Zpočátku bude asi dobré se někde nechat zaměstnat jako tester. Uvidíš pak, zda budeš víc tíhnout k živnosti nebo ne. Obojí má své výhody i nevýhody.
No koukám že programování je celé takové..abstraktní. Že fakt asi hodně záleží na tom, jak kdo myslí.
Hodně firem stačí jen databáze a ovládání OOP na dobré úrovni.
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
Bohužel hodně programátorů si jen myslí, že OOP umí.
Ano, MS-SQL a framework ASP .NET, potom po tobě skočí všude, lidí co to umí je málo a potřebuje to každá druhá firma.
Zaměstnání může pomoct k rozjezdu. Podnikání nese i svá rizika a bez vstupního kapitálu není jednoduché je ustát.
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.
Důležitá je ta část názvu "SQL" ne to co je před ní... Petr nebo Pavel...
MariaDB v názvu "SQL" nemá a přesto nebude od věci, když se s ní naučíš dělat. Funguje totiž stejně jako MySQL.
Jednotlivé SQL databáze se sice od sebe dost liší, ale základ je stejný.
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 Hartinger 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 *****.
To je jednoduché, k programování musíš být nadprůměrně inteligentní. Jen blbců je prý třetina populace, ještě více je průměrně inteligentních.
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.
Správa databáze je hlavně programování. Někdo si myslí, že databáze je jen datové úložiště, ale to už dávno neplatí.
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
Dík za tip, taky určitě zkusim Tyjo, ale narvat to všechno do jedný třídy.. tyjo, to by se mi
nechtělo v tom něco hledat
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.
Jasný, ale jako programování bych to nenazval spíš jako scriptování když už.
V tom případě je scriptováním i programování v Javě nebo C#.
SQL dotazy si v aplikacích obvykle před použitím kompiluji, takže jazyk SQL je na stejném levelu.
Správně, programátoři jsou jen lidi co dělají C++ a níž. Zachvíli se bude říkat i sekretářkám programátoři.
Pokud sekretářka umí dělat makra v Excelu, tak už je to vlastně také programátorka. Už vytvoření tabulky se vzorečky je vlastně programování...
Ne do jedné třídy, ale do jedné funkce, třídu jsem tam neměl žádnou
(nebylo to v C#)
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.
Otázkou je, co si programátor představuje pod pojmem OOP. Pokud v metodě záleží na pořadí příkazů, už se jedná spíš o imperativní programování.
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.
Proč bych měl zjišťovat délku pole před jeho naplněním? V OOP to není nutné a dokonce to nebylo nutné ani v tak starém jazyku jako např. ve Fortranu.
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ů.
tak sem to nemyslel.
Jen ze ten tvuj popis neni uplne presny. To je vse.
Když jsme u toho, tak existují jazyky s čistým OOP, ale jsou pro praxi nepoužitelné, protože některé vlastnosti se tam dělají až moc složitě.
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.
a přesně tohle jsem měl na mysli, dík neumim se vyjadřovat.
EDIT: ten bufferedimage nebyl zrovnu dobrý příklad
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
Opravdovému programátorovi stačí děrovačka štítků, kompilátor Fortranu a pivo.
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.
Já tam implementoval i spojení dvou seznamů nebo vložení pole do seznamu atd. K tomu jsem se snažil aby to nebylo úplně pomalé.
Zobrazeno 76 zpráv z 76.