Programovanie - pomoc
Zdravím, chcel by som sa učiť programovať, ale mám zopár otázok:
1) Najdôležitejšie a najpoužívanejšie programovacie jazyky sú pravdepodobne C, C++, Java a HTML spolu s CSS a PHP. Preto by som sa chcel asi učiť
jeden z týchto. HTML, CSS a PHP sú na tvorbu webových stránok. Vedeli by ste stručne napísať, kde všade sa používajú C, C++ a Java?
2) Ktorý jazyk je ideálny pre úplných začiatočníkov?
3) Ktorý jazyk sa používa na platforme Android na tvorbu aplikácií s príponou .apk?
4) Ktoré jazyky sú použiteľné na viacerých operačných systémoch (hlavne Windows)?
5) Ktoré jazyky majú určite budúcnosť resp. s ktorými jazykmi sa dá najlepšie uplatniť?
6) Podľa mňa je operačný systém/software potrebný pre vznik jazykov a jazyky sú potrebné
pre vznik operačného systému. Čo bolo teda skôr - programovacie jazyky alebo operačný systém/software?
7) Koľko rokov sa treba aktívne venovať kódovaniu, aby som sa zaradil medzi skúsených programátorov, ktorí dokážu všetko nakódovať?
8) Popri kódovaní bude treba vedieť aj ako tak grafiku alebo dá sa (aspoň zatiaľ) zaobísť bez toho?
9) Operačný systém Windows 8 so sebou priniesol Windows Store, čo je niečo ako Play Store na Androide.
Ktorý programovací jazyk sa používa na vytváranie aplikácii vo Windows Store? Akú majú príponu tieto aplikácie?
10) V operačnom systéme Windows 8 sa dajú nainštalovať aj klasické programy a hry pre počítače s OS Windows,
ale aj tie, ktoré nájdeme vo Windows Store, správne?
11) Koľko približne rokov sa tomu treba venovať, aby nebol problém zvládnuť prijímačky na programátorskú vysokú školu? Vraj sa tam dostanú iba tí,
čo sa venujú programovaniu už od cca 12 rokov, ostatní akože nemajú šancu?
12) Je možné vedieť aj viacero jazykov? Sú od seba veľmi odlišné alebo stačí vedieť syntax každého z nich?
Ak viete odpovedať aspoň na časť z nich, píšte prosím (formou 1), 2), ...). Vopred ďakujem za pomoc.
1) Najdôležitejšie a najpoužívanejšie programovacie jazyky sú pravdepodobne C, C++, Java a HTML spolu s CSS a PHP. Preto by som sa chcel asi učiť
jeden z týchto. HTML, CSS a PHP sú na tvorbu webových stránok. Vedeli by ste stručne napísať, kde všade sa používajú C, C++ a Java?
2) Ktorý jazyk je ideálny pre úplných začiatočníkov?
3) Ktorý jazyk sa používa na platforme Android na tvorbu aplikácií s príponou .apk?
4) Ktoré jazyky sú použiteľné na viacerých operačných systémoch (hlavne Windows)?
5) Ktoré jazyky majú určite budúcnosť resp. s ktorými jazykmi sa dá najlepšie uplatniť?
6) Podľa mňa je operačný systém/software potrebný pre vznik jazykov a jazyky sú potrebné
pre vznik operačného systému. Čo bolo teda skôr - programovacie jazyky alebo operačný systém/software?
7) Koľko rokov sa treba aktívne venovať kódovaniu, aby som sa zaradil medzi skúsených programátorov, ktorí dokážu všetko nakódovať?
8) Popri kódovaní bude treba vedieť aj ako tak grafiku alebo dá sa (aspoň zatiaľ) zaobísť bez toho?
9) Operačný systém Windows 8 so sebou priniesol Windows Store, čo je niečo ako Play Store na Androide.
Ktorý programovací jazyk sa používa na vytváranie aplikácii vo Windows Store? Akú majú príponu tieto aplikácie?
10) V operačnom systéme Windows 8 sa dajú nainštalovať aj klasické programy a hry pre počítače s OS Windows,
ale aj tie, ktoré nájdeme vo Windows Store, správne?
11) Koľko približne rokov sa tomu treba venovať, aby nebol problém zvládnuť prijímačky na programátorskú vysokú školu? Vraj sa tam dostanú iba tí,
čo sa venujú programovaniu už od cca 12 rokov, ostatní akože nemajú šancu?
12) Je možné vedieť aj viacero jazykov? Sú od seba veľmi odlišné alebo stačí vedieť syntax každého z nich?
Ak viete odpovedať aspoň na časť z nich, píšte prosím (formou 1), 2), ...). Vopred ďakujem za pomoc.
1) Rozhodně se nedá říct, že by byly nejdůležitější. Důležité je, co chceš dělat. Nicméně ti tam chybí ještě .NET, což je taková Java podle MS s tím, že má některé fičury z C a C++, které by se občas můžou hodit. Obecně se dá říct, že C a C++ se používá tam, kde je potřeba hrubý výkon (např. programy pro práci s grafikou). Jsou ale těžší na naučení a často musíš vědět přesně co děláš, aby ti program nezačal padat. Ty jazyky dovolují strašné prasárny:) Java a .NET tě naproti tomu od hodně věci odstíní. Jsou daleko uživatelsky přívětivější, hodně věci pohlídají za tebe a podporují spousty knihoven. To, že jsou pomalejší než C nebo C++ taky nejde brát úplně doslova. Kompilátory provádějí řadu optimalizací v často se rychlosti C vyrovnají. Spíš by se slušilo říct, že těžko napíšeš v C# (.NET) rychlejší aplikaci než v C (pokud v C nesprasíš kód:). Za mě bych tam ještě přidal databáze. Pokud se chceš programováním živit, tak bys měl umět i SQL.
2.) Těžko říct, záleží co chceš vyrábět. Pokud chceš programovat hry, tak bych rovnou skočil po C a C++, pokud chceš dělat informační systémy tak bych šel třeba po tom .NETu. Je docela perspektivní a narozdíl od Javy ti nehází tolik klacků pod nohy. Ty věci tam tak nějak prostě fungují bez složitého nastavování a má řadu fičur, co Java ne. Ale to máš sto lidí, sto názorů.
4.) Multiplatformní jsou do jisté míry všechny jmenované. Často však musíš použít specifický build. .NET je nativně Windows only, nicméně existují nezávislé implementace (MONO), které by měly fungovat i pod Linuxem.
5.) C++, .NET, Java i PHP - vším se dá v pohodě a dobře živit.
6.) Samozřejmě, že jazyky. Vždycky můžeš psát rovnou strojovej kód:) Ono taky není programovací jazyk jako programovací jazyk.
7.) To je otázka ve stylu - jak dlouho budu muset chodit plavat, než vyhraju Olympiádu :)
8.) Opět - záleží co chceš dělat. U běžných aplikací pro Windows grafiku nepotřebuješ (a pokud ano, existuje spousta knihoven, které ti práci ušetří). Otázkou ale je, co si představuješ pod tou "grafikou".
11.) Ona nějaká taková existuje?:) Na klasickou informatiku nepotřebuješ vlastně žádnej základ. Pokud jsi šikovný, naučíš se to tam i s gymplem. VŠ jsou od toho, aby ti daly základy, vypilovat to už ale musíš sám. Rozhodně to není tak, že z tebe výška udělá špičkovýho programátora. Může ti tak maximálně dát kvalitní základ.
12.) Programovací jazyky nejsou angličtina. Syntax se naučíš za chvilku. Jazyky jsou jen nástrojem, jak dosáhnout cíle a na tobě je akorát zvolit si názor nejvhodnější. Programování vůbec není o jazycích, ale o logickém myšlení a schopnosti algoritmizovat (jinými slovy není problém, aby dobrý programátor C nebyl po týdnu učení Javy lepší jak ten, co dělá Javu 5 let).
2.) Těžko říct, záleží co chceš vyrábět. Pokud chceš programovat hry, tak bych rovnou skočil po C a C++, pokud chceš dělat informační systémy tak bych šel třeba po tom .NETu. Je docela perspektivní a narozdíl od Javy ti nehází tolik klacků pod nohy. Ty věci tam tak nějak prostě fungují bez složitého nastavování a má řadu fičur, co Java ne. Ale to máš sto lidí, sto názorů.
4.) Multiplatformní jsou do jisté míry všechny jmenované. Často však musíš použít specifický build. .NET je nativně Windows only, nicméně existují nezávislé implementace (MONO), které by měly fungovat i pod Linuxem.
5.) C++, .NET, Java i PHP - vším se dá v pohodě a dobře živit.
6.) Samozřejmě, že jazyky. Vždycky můžeš psát rovnou strojovej kód:) Ono taky není programovací jazyk jako programovací jazyk.
7.) To je otázka ve stylu - jak dlouho budu muset chodit plavat, než vyhraju Olympiádu :)
8.) Opět - záleží co chceš dělat. U běžných aplikací pro Windows grafiku nepotřebuješ (a pokud ano, existuje spousta knihoven, které ti práci ušetří). Otázkou ale je, co si představuješ pod tou "grafikou".
11.) Ona nějaká taková existuje?:) Na klasickou informatiku nepotřebuješ vlastně žádnej základ. Pokud jsi šikovný, naučíš se to tam i s gymplem. VŠ jsou od toho, aby ti daly základy, vypilovat to už ale musíš sám. Rozhodně to není tak, že z tebe výška udělá špičkovýho programátora. Může ti tak maximálně dát kvalitní základ.
12.) Programovací jazyky nejsou angličtina. Syntax se naučíš za chvilku. Jazyky jsou jen nástrojem, jak dosáhnout cíle a na tobě je akorát zvolit si názor nejvhodnější. Programování vůbec není o jazycích, ale o logickém myšlení a schopnosti algoritmizovat (jinými slovy není problém, aby dobrý programátor C nebyl po týdnu učení Javy lepší jak ten, co dělá Javu 5 let).
Pěkná volovina. První otázkou je platforma. Dále programovací paradigma. Typ aplikace. Typ přístupu. Typ typování. Atd. To znamená, že prvně musíš vědět CO chceš dělat - web/Desktop? OOP/funkcionální/imperativní/... programování? Silné/slabé/schématické typování? Script/kompilovaný/virtuální stroj? A pokud web/Desktop - tak ještě - co přesně? Web - applet, aplikace, soubor aplikací, realtime,...? Desktop: Na jakém OS? V jaké oblasti? (Pro jaký shell,...) Atd. Těch otázek tu leží tisíce. Jazyk se volí podle aplikace, ne podle toho, jak se ti jaký bude učit. Ale ty očividně netušíš co chceš - což je pak hold těžké. .NET a Java jsou pouze nezjnámější, jelikož jsou nejmladší. Zdaleka bych nedával prioritu obrovskému .NET. Dělá se v něm pěkně (rozhodne lépe, než v Javě), ale virtuální stroj je prostě velmi obecné vyjádření. Vem si, že chceš třeba jen malý scriptík (J#,...) a musíš tahat celé .NET. Ale není to jen o velikosti - ale i o tom, kolik to žere CPU atd. Ale tím nepohřbívám virtuální stroj - jen bych to neviděl tak černobíle. Pro mě je ideál takové D/D2. Máš tam celé spektrum - Assembly - C#/Java - a pořád se to točí kolem C++. Představ si tedy virtuální stroj na úrovni C++ s možnosti inline Assembleru - a přesto D/D2 není tak známé. Je to velká škoda - je to rozhodně lepší jazyk, než C#. Takovéto diskuze jsou tu dnes a denně. A jsou k ničemu! Jdi a programuj - jinak se nic nenaučíš.
A k tvé otázce zda byl prvně OS, či jazyk:
Jazyky byly původně jen shrnutím funkcí OS. Základem všeho je BIOS (i dnes) - alespoň pro bootování. To znamená, že binární/executable soubor jde spustit na úrovni BIOSu. (BIOS má základní set funkcí napevno vpálený do paměti - dnes RAM - dříve externí ROM, ke kterým se přistupuje přes přerušení) Takže se programovalo v hexeditorech, pozdeji v Assembly. Z funkcí OS (DOSu) se postavil první vyšší jazyk - BAS. (base - základní) A byl to jen soubor slov pro použití funkcí kernelu. (jádra OS) Postupně se z funkcí OS skládaly další jazyky - viz. C. (A BAS se vylepšil do formy Batch - krom slov pro volání funkcí kernelu byla přidána další klíčová slova - a byl to jazyk trochu víc podobný C) Takže jazyk/OS musí mít zasobu knihoven. Proto se dá třeba .NET použít zároveň v OS. Viz. Cosmos. Proto ani jazyk, ani OS nejsou důelžité. Jedná se tu o vytvoření zásoby knihoven - funkcí. Jestli jsou tyto funkce volány z jazyka, či z nějakého kernelu, to je již jedno...
A k tvé otázce zda byl prvně OS, či jazyk:
Jazyky byly původně jen shrnutím funkcí OS. Základem všeho je BIOS (i dnes) - alespoň pro bootování. To znamená, že binární/executable soubor jde spustit na úrovni BIOSu. (BIOS má základní set funkcí napevno vpálený do paměti - dnes RAM - dříve externí ROM, ke kterým se přistupuje přes přerušení) Takže se programovalo v hexeditorech, pozdeji v Assembly. Z funkcí OS (DOSu) se postavil první vyšší jazyk - BAS. (base - základní) A byl to jen soubor slov pro použití funkcí kernelu. (jádra OS) Postupně se z funkcí OS skládaly další jazyky - viz. C. (A BAS se vylepšil do formy Batch - krom slov pro volání funkcí kernelu byla přidána další klíčová slova - a byl to jazyk trochu víc podobný C) Takže jazyk/OS musí mít zasobu knihoven. Proto se dá třeba .NET použít zároveň v OS. Viz. Cosmos. Proto ani jazyk, ani OS nejsou důelžité. Jedná se tu o vytvoření zásoby knihoven - funkcí. Jestli jsou tyto funkce volány z jazyka, či z nějakého kernelu, to je již jedno...