Zaciname programovat :-)

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
Kicker
Čierna listina bazáru
Čierna listina bazáru
Príspevky: 1486
Dátum registrácie: Pi 30. Júl, 2010, 11:35
Bydlisko: Nová Baňa

Zaciname programovat :-)

Príspevok od používateľa Kicker »

Zdravim pani. Chodim sa SOS som v 3. rocniku a kedze nas dokopy nic neucia, tak by som sa chcel samostatne naucit programovat.
Problem ze neviem v akom jazyku.

Kazdy odporuca nieco ine. Chcel by som tomu prist na chut a vzdy sa v zivote hodi vsetko co clovek vie.
Osobne sa mi paci C++, aky je vas nazor? Resp. poznate nan nejaky vyukovy kurz pre zaciatocnikov?


Dakujem :-)
CPU:Intel Core i5 4440 Cooler: Noctua NH-U12F MB:MSI B85 G43 VGA:GIGABYTE N760OC RAM: Crucial Ballistix Sport 8GB HDD: Crucial m500 256GB + Seagate Barracuda 7200.12 500GB + Seagate Barracuda 7200.12 1TB PSU: Fortron Blue Storm II 500W Keyboard: Logitech K290 Mouse: Roccat Kone Pure LCD: LG Flatron W2243S (22")
Používateľov profilový obrázok
kami_sama
Používateľ
Používateľ
Príspevky: 362
Dátum registrácie: Po 05. Sep, 2005, 20:00
Bydlisko: Bratislava

Re: Zaciname programovat :-)

Príspevok od používateľa kami_sama »

takychto topicov je tu par, skus to vyhladat.

ale priblizne to plati takto:
pascal: dobre pre algoritmizaciu, rychlejsie budes moct vytvarat kod. casom mozes prejst na delphi, co je objektovo orientovana verzia, ale viac-menej mrtvy jazyk.
c: dobre pre zaklady, tiez na algoritmizaciu, ale pochopit ukazovatele a hlavne pouzit je trosku namahave. ked chces robit low-level veci (vnorene systemy napr.), alebo v linux/unix, je to viac menej zaklad.
c++: to iste, co plati pre c s rozdielom, ze c++ je uz objektovo orientovany. vseobecne vsak nie je na to najvhodnejsi (toto je vsak na diskusiu)
java/c#: velmi podobne jazyky a architektura softveru. objektovo orientovane jazyky. dobra podpora, bohate kniznice pre obidve jazyky. zakladny rozdiel je, ze java je od oracle a c# od microsoftu.

potom su este dalsie moznosti, ale tieto veci su zaklady. ked chces robit weby, potom php, javascript, ruby, python, ... su pre teba.

ked sa tomu chces venovet seriozne, tak by som ti odporucil si stiahnut dev c++ a najst nejake tutorialy na nete.

na zaklad to staci a potom mozes prejst na tazsie/ine veci.
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: Zaciname programovat :-)

Príspevok od používateľa crux2005 »

Začínať s C++ nie je IMHO najlepšia cesta, keďže je o dosť komplexnejší a pre začiatočníka teda aj zložitejší ako obyč. C.

C++ sa ti asi preto páči, lebo napr. práca so stringami je o dosť jednoduchšia ako v C a pod.
s pozdravom, crux.
Používateľov profilový obrázok
vmm
Čierna listina bazáru
Čierna listina bazáru
Príspevky: 458
Dátum registrácie: Št 15. Mar, 2007, 08:00
Bydlisko: Namestovo

Re: Zaciname programovat :-)

Príspevok od používateľa vmm »

Zalezi akym smerom sa chces uberat . Zaklad je matematika, ak pojdes hlbsie bez nej sa nepohnes.
C++ je vseobecny.
Potom mas skriptove jazyky a ine. npr. web
Ak pojdes na vys. elektro smer nie je naskodu - visual basic a ine.
Ak pojdes na informu tam ti staci c++ a java a mozno sa stretnes s Common Lisp.
Sam si urci oblast a podla toho si urcis jazyk :-)
Používateľov profilový obrázok
pEpinko
Používateľ
Používateľ
Príspevky: 850
Dátum registrácie: Po 19. Máj, 2008, 09:31
Bydlisko: BA/NR

Re: Zaciname programovat :-)

Príspevok od používateľa pEpinko »

C, Pascal, Delphi (ObjectPascal)
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: Zaciname programovat :-)

Príspevok od používateľa crux2005 »

Keď vieš poriadne jeden jazyk, nie je problém sa naučiť niečo iné.
s pozdravom, crux.
jetmarek
Nový používateľ
Nový používateľ
Príspevky: 11
Dátum registrácie: Št 23. Feb, 2012, 19:49

Re: Zaciname programovat :-)

Príspevok od používateľa jetmarek »

Zdravim,potreboval by som poradit, ktoru knihu by som si mal kupit ako uplny zaciatocnik, ked sa chcem naucit programovat v Pythone. Pripadne ci je to dobra volba ucit sa ako prvy programovaci jazyk Python.Dik.
Používateľov profilový obrázok
M1ch4l
VIP
VIP
Príspevky: 6679
Dátum registrácie: Št 21. Feb, 2008, 14:00
Bydlisko: Kysucký Lieskovec / Praha

Re: Zaciname programovat :-)

Príspevok od používateľa M1ch4l »

python: slo by to asi. sam python neviem ale nieco som o tom cital. Ak sa nemylim, je to jazyk na vysokej urovni abstrakcie, co ma svoje + a - vzhladom na ucenie

ja by som na zaciatok asi odporucal C#, potom C++ a C. Pascal je obsolete. Sice je vhodny na to, aby sa clovek naucil zaklady algoritmizacie, ale to iste sa da urobit aj v C# a nepochytis ten stupidny pascalsky styl, ktoreho sa neskor budes musiet zbavit.

Crux ma pravdu. Akonahle sa naucis nieco v jednom, to iste budes vediet aj v inom jazyku, len bude trosicku rozdiel v zapise. Su ale jazyky, ktore maju dost vyrazne specifika, napr. C++ so svojim systemom dedicnosti, sablonami.
Music: AKG K240 MK II / Beyerdynamic DT 770 Pro 80 Ohm @ Topping DX7 Pro
Bike: 2022 Canyon Neuron CF 8; Coffee: Chemex 6-cup
Spoiler: ukázať
CPU 7800 X3D + DeepCool AK620; MB ROG Strix B650E-E; RAM G.Skill 32GB 6000CL30; GPU 7900XT Pulse; OS SSD 980 Pro 1TB; Storage SN850X 2TB, 860 QVO 2TB; PSU ROG Strix 850W Aura; CASE Define R4 Arctic White Window; Peripherals Aorus AD27QD + DELL U2311H, Razer Huntsman V2 (red linear), Razer Basilisk V3 Pro + Razer Destructor 2, Blue Snowball
Používateľov profilový obrázok
mArtinko5MB
Používateľ
Používateľ
Príspevky: 1879
Dátum registrácie: St 04. Jan, 2012, 23:32
Bydlisko: Kosice

Re: Zaciname programovat :-)

Príspevok od používateľa mArtinko5MB »

kami_sama napísal: java/c#: velmi podobne jazyky a architektura softveru. objektovo orientovane jazyky. dobra podpora, bohate kniznice pre obidve jazyky. zakladny rozdiel je, ze java je od oracle a c# od microsoftu.
aby sme boli kompletní, java app sú portable, c# nie :)
vmm napísal:Zalezi akym smerom sa chces uberat . Zaklad je matematika, ak pojdes hlbsie bez nej sa nepohnes.
bullshit :)
vmm napísal: Ak pojdes na informu tam ti staci c++ a java a mozno sa stretnes s Common Lisp.
c#, c++, .Net, java - je to voľné
jetmarek napísal:Zdravim,potreboval by som poradit, ktoru knihu by som si mal kupit ako uplny zaciatocnik, ked sa chcem naucit programovat v Pythone. Pripadne ci je to dobra volba ucit sa ako prvy programovaci jazyk Python.Dik.
Žiadnu ! Kupovať knihy na programovanie je úplna zbytočnosť. Všetko potrebné je na nete. Stačí sa spýtať uja Google
ja by som na zaciatok asi odporucal C#, potom C++ a C
Nesúhlas, ja osobne ten Pascal. Sám som tým začínal, je to veľmi dobré na začiatok ... Radšej by som začal pomaly :)
Naposledy upravil/-a mArtinko5MB v Pi 24. Feb, 2012, 14:48, upravené celkom 5 krát.
It might make sense just to get some in case it catches on. If enough people think the same way, that becomes a self fulfilling prophecy.
- Satoshi Nakamoto
Používateľov profilový obrázok
materik
Používateľ
Používateľ
Príspevky: 2327
Dátum registrácie: Št 10. Apr, 2008, 14:00
Bydlisko: Prešov

Re: Zaciname programovat :-)

Príspevok od používateľa materik »

ja by som na zaciatok asi odporucal C#, potom C++ a C
toto si tu uz napisal viackrat, ale teraz som to uz neprehltol... to je ako keby si sa ucil soferovat na sedmickovom bmw
s automatom, tempomatom a kopou elektroniky ktora prakticky soferuje za teba, a potom sa posadil do V3S (vetriesky).
Je to sice brutalny stroj ktory vyjde aj na kolmu stenu, ale vsetko je kruty manual...

Ak niekoho raz naucis na finty typu garbage collector, exceptions atd. tak ak narazi na smerniky a manualnu spravu pamate
s tym spojenu, tak moze byt z toho soknuty nie len on ale aj comp.

Python nie je zly, ale prechod na striktnejsie jazyky moze byt bolestivy. ;)
vmm napísal:Zalezi akym smerom sa chces uberat . Zaklad je matematika, ak pojdes hlbsie bez nej sa nepohnes.
tiez dodam bullshit... treba logiku a predstavivost
PC -> Topping DX7 Pro+ -> Meze 109 PRO / Microlab B77
Používateľov profilový obrázok
M1ch4l
VIP
VIP
Príspevky: 6679
Dátum registrácie: Št 21. Feb, 2008, 14:00
Bydlisko: Kysucký Lieskovec / Praha

Re: Zaciname programovat :-)

Príspevok od používateľa M1ch4l »

podla mna je spravny postup od jednoduchsieho ku zlozitejsiemu
kazdy mame iny nazor, podla mna nie je uplne vhodne zatazovat cloveka hned zozaciatku samostatnou spravou pamate. Clovek moze do istej miery programovat aj bez toho, aby mal tusenie o nejakych pointroch. Proste je to moderne a efektivne financne i z hladiska development time, takze get over it.
A potom kto chce, sa nauci aj tie low-level veci.

Ale isty zmysel ma aj postup od niecoho co nema GC a vynimky a pod.

Je tazke odpovedat na otazku "Co zvolit ako prvy jazyk"

Pohodlie C# a Javy a pod. moze mat za nasledok istu neschopnost neskor a zistenie "Sakra ved ja neviem programovat", co je ale normalne...po tom, co sa clovek nauci 1 jazyk este nemusi vediet programovat.

Na druhej strane vybafnut na niekoho hned na zaciatku pointre moze mat daleko horsi efekt typu "Ja sa to nikdy nenauciiim beeee"

Na zaciatok treba jazyk s vyraznou kontrolou od prekladaca, aby to zaciatocnikovi nepadalo na kazdom rohu, a nieco v com sa pohodlne pracuje so zakladnymi vecami a da sa dobre debugovat (trasovat). Takze klasicke C ide prec, tam uz string prinasa so sebou neduhy, pascal ma katastrofalne IDE ale da sa pouzit (ma silnu kontrolu, dobre zakladne typy, + ma pointre, daju sa na tom ucit zakladne dynamicke datove struktury, ale tie sa nekonecne krat lepsie robia objektovo).
Takze nemozem si pomoct, ale vychadza mi najlepsie C#. Mas super IDE v podobe visual studia, mas tam pohodlie, dobru syntax, vela to napise za teba, nemusis sa starat o pamat. Spravu pamate sa proste naucis neskor. Vychadza mi to lepsie, pretoze ked uz budes vediet C#, tak budes robit menej chyb v programe, takze veci budu skor padat na dynamickej alokacii ako na programe. Alebo aj C++, tam sa da dynamickej alokacii vyhnut pouzitim standardnych kontajnerov, len C# ma jednoduchsiu syntax.
Music: AKG K240 MK II / Beyerdynamic DT 770 Pro 80 Ohm @ Topping DX7 Pro
Bike: 2022 Canyon Neuron CF 8; Coffee: Chemex 6-cup
Spoiler: ukázať
CPU 7800 X3D + DeepCool AK620; MB ROG Strix B650E-E; RAM G.Skill 32GB 6000CL30; GPU 7900XT Pulse; OS SSD 980 Pro 1TB; Storage SN850X 2TB, 860 QVO 2TB; PSU ROG Strix 850W Aura; CASE Define R4 Arctic White Window; Peripherals Aorus AD27QD + DELL U2311H, Razer Huntsman V2 (red linear), Razer Basilisk V3 Pro + Razer Destructor 2, Blue Snowball
Používateľov profilový obrázok
_Ludo_
Nový používateľ
Nový používateľ
Príspevky: 136
Dátum registrácie: Ut 29. Jún, 2010, 12:13
Bydlisko: Nové Mesto nad Váhom

Re: Zaciname programovat :-)

Príspevok od používateľa _Ludo_ »

V prvom rade hovorim, ze nie som ziadny super programator. Ale moj nazor je, ze na cistom C nie je uplne na skodu zacinat. Prekusat sa na zaciatku cez pointre, struktury a celkovu pracu s pamatou moze byt trochu frustrujuci oriesok ale v buducnosti sa to IMHO vyplati.

Takisto zalezi ci ma Kicker aspon ake take ponatie o tom co je to kompilacia a fungovani pocitaca.

Nejake online kurzy v CZ/SK jazyku:
http://www.sallyx.org/sally/c/
http://programujte.com/clanky/10-c-c/9/
http://www.linuxsoft.cz/article_list.ph ... tegory=186
Doporucujem sa tiez pozriet na vzorove programy od Pavla Herouta http://www.kopp.cz/www/cz/3225-stahni-a ... iklady.zip

Pri uceni mozu pomoct informacie z tejto stranky http://www.algoritmy.net/
Trovaricon
Nový používateľ
Nový používateľ
Príspevky: 38
Dátum registrácie: Ne 09. Mar, 2008, 14:00
Bydlisko: Bratislava / Presov

Re: Zaciname programovat :-)

Príspevok od používateľa Trovaricon »

V prvom rade treba zistit od autora temy: co sa vlastne chce naucit ?

Naucit sa programovat neznamena to iste ako naucit sa algoritmizovat - na tom sa asi zhodneme.

Ak sa chce ucit algoritmizovat, tak pascal nie je zly jazyk. My sme napr. algoritmizovali vysokoskolsku matiku na strednej skole (aproximacne metody) alebo napr. riesili rekurziu (Queens problem, Chess horse problem) - vsetko v pascale a nevidim v tom ziaden problem po prechode na ine jazyky.

Rovnako ako v C sa daju aj v Pascale dobre ucit datove struktury - totiz ten dovoluje (ale nenuti) pouzivat smernikovu aritmetiku (presiel som ucenim sa struktur v oboch).

Takze co je cielom sa naucit ?

Ak sa chce naucit tvorit klientske aplikacie:
- jazyky dotNEt-u (C#, VB.NET, C++/CLI - asi najschodnejsia cesta je C#) alebo Java
- miziva az ziadna potreba matematiky

Ak sa chce naucit algoritmizovat / pochopit datove struktury:
- C alebo Pascal
- stredna potreba matematiky

Ak sa chce naucit low level programovanie (preco smerniky casto automaticky ludia povazuju za low level ?)
- C / C++
- nizka potreba matematiky
- vysoke poziadavky na znalost HW architektury (nemylit si s vedomostami o tom, kolko ma ktory CPU ALU alebo GPU shaderov :laugh: )

Ak si chce napisat vlastny graficky engine:
- C++, C++/CLI, C#, Java (tie posledne dva jazyky bude niekto mozno tazko "hltat", ale spravnost aj rychlost riesenia je plne v rukach programatora)
- velka potreba matematiky

Uplne ine poziadavky na vedomosti (a vyber jazyka) ma program na hardcopy obrazovky & priame vytlacenie screenu tlaciarnou alebo manipulacia s funkciou obsluhujucou system timer (low level programovanie), ine napisanie "oknoidnej" aplikacie pre poistovnu (klientska aplikacia) a uplne ine napisanie vlastnej "Doom" hry (graficky engine).

U klientskej aplikacie je programatorovi v 99.99% pripadov jedno co sa skryva za:

Kód: Vybrať všetko

zoznam = new List<Int32>();
a nemusi vediet co znamenaju slova goniometria / polynom

low-levelak zase asi automaticky pise (pri unsigned integer):
i >> 2 namiesto i / 2

Resume: Teda co sa chce autor ucit ? Najuniverzalnejsie su dnes naozaj zrejme Java / .Net jazyky (C#), su vsak oblasti, kde sa s nimi daleko clovek nedostane. Velmi dobre sa vsak cez ne riesi viacvlaknove programovanie a programovanie sietovej komunikacie. (Threading v C je oproti tomu nocna mora)
Cas potrebny na vyvoj aplikacie je casto zlomok oproti rieseniu v C/C++.


mArtinko5MB napísal: aby sme boli kompletní, java app sú portable, c# nie :)
.Net CLI je ECMA a ISO standard, takze to nie je celkom pravda.
Velkym plus .Net aplikacii je jednoduchost prace s nativnymi kniznicami.
Navyse v takom C# sa daju robit "zhovadilosti" od pisania assembleru, cez pouzivanie smernikovej aritmetiky, pisanie "standardneho kodu" po funkcionalne programovanie. Takze "to svoje" si tam vie najst vela ludi :laugh:

Na druhej strane, ak sa nepouzivaju lambda vyrazy, delegaty a podobne "ficurky" .Net, tak "portovanie" C# commandline aplikacie do Javy je casto otazka copy/paste, prepisania "includov" a parkrat pouzitie find&replace.

EDIT: v prvom rade treba vediet po anglicky (citat). Pri programovani to treba brat ako uplnu samozrejmost.
Gigabyte GA-970A-UD3, 16GB ECC DDR3, AMD FX-6300@4GHz, Xigmatek Loki, Asus HD7770 DirectCU, Intel 330 180GB / Seagate 7200.14 1.5TB + 2TB, Corsair CX400, CM 330K (mod), Philips 235PQ2EB + LG W2253TQ-PF, Windows 8 x64 Pro
Používateľov profilový obrázok
pEpinko
Používateľ
Používateľ
Príspevky: 850
Dátum registrácie: Po 19. Máj, 2008, 09:31
Bydlisko: BA/NR

Re: Zaciname programovat :-)

Príspevok od používateľa pEpinko »

Trovaricon napísal:low-levelak zase asi automaticky pise (pri unsigned integer):
i >> 2 namiesto i / 2
Moc nesuhlasim s celym postom, ale toto mi hlavne udrelo do oci, lebo je tam pekne vidiet co so sebou prinasa taketo zmyslanie. Totiz aj ty si tam urobil chybu, i / 2 da vo vacsine pripadov iny vysledok ako i >> 2. Z takeho to zapisu nie je jasne, ze autor myslel delenie. Navyse kazdy jeden optimalizator kodu, ktory sa pouziva to delenie prelozi ako bitovy shift.
Trovaricon
Nový používateľ
Nový používateľ
Príspevky: 38
Dátum registrácie: Ne 09. Mar, 2008, 14:00
Bydlisko: Bratislava / Presov

Re: Zaciname programovat :-)

Príspevok od používateľa Trovaricon »

Ano mam tam chybu. Samozrejme tam ma byt posun o jeden bit. To, ze to v dnesnej dobe kazdy prekladac tak prelozi je dost slaby argument.
Ide o to, ci si programator uvedomuje, ze vykonat operaciu s realnym cislom: f * 0.5 je rychlejsie ako f / 2 (tu plati tiez argument, ze prekladac si predsa konstanty takto prevedie).
Ak niekto pise klientske aplikacie, tak ho to vacsinou vobec nemusi zaujimat. Na druhej strane sa vsak najdu oblasti, kde je podstatne nie len vediet, ze je to rychlejsie ale aj preco.

Nesuhlasis s vyberom programovacich jazykov, alebo s cim konkretne ?
Gigabyte GA-970A-UD3, 16GB ECC DDR3, AMD FX-6300@4GHz, Xigmatek Loki, Asus HD7770 DirectCU, Intel 330 180GB / Seagate 7200.14 1.5TB + 2TB, Corsair CX400, CM 330K (mod), Philips 235PQ2EB + LG W2253TQ-PF, Windows 8 x64 Pro

Návrat na "Programovanie"