Já používám c# a chtěl bych začít učit aji javu c++ ,ale kdyz sem to
řekl tátovy tam mně na to odpověděl ať se učím jenom jeden ,ale já si
osobně myslím , že by bylo lepší umět ich víc.
Tohle už je opravdu nemoc, musím sem napsat nějaký článek. C++ je
starý a složitý jazyk, který se na běžné aplikace téměř nepoužívá.
Podle tvých programů, co jsi tu ukazoval, jsi v C# tak v 2. lekci z asi 70ti
co tu jsou. Hezky si to tu pročti a nauč se pořádně C#, až potom má smysl
přemýšlet o dalších jazycích.
Dej na radu @sdraco|5 . Já osobně dělám v C# necelé dva roky a až teď
si říkám, že se poohlénu už i trochu jinam ale prioritou mi zůstává C#.
Určitě zkoušej paralelně weby - HTML + CSS a dále klidně JS + PHP.
Zatím jsi mnoho asi nevytvořil a nejsi nijak daleko. Zůstaň u C# a uč se
ho.
@sdraco|5 - Osobně mě i torchu C++ zajímá, sice bych v něm asi nechtěl
dělat, ale čistě ze zvědavosti myslím, že není špatný se v něm něco
málo naučit
Určitě to špatné není, když chápeš k čemu je a jak funguje. Jenže
všichni si myslí, že se programuje v C++, asi jak vidí to plus plus, tak že
je to lepší nebo já nevím, co za tím stojí. Přitom je ten jazyk do
začátků naprosto nevhodný a na tvorbu většiny aplikací také.
Jak píše sdraco, nauč se nejdřív pořádně jeden jazyk, pak už
přejít na jiný je celkem jednoduché (pokud jsou to podobné jazyky, což C#,
Java i C++ jsou).
C/C++ se dnes už hodí jen na specifické aplikace, kde využiješ jeho
vlastnosti, které jiné jazyky nemají - třeba když budeš psát Operační
systém (i když i OS by se dal napsat i v Javě/.NET) nebo nějakou aplikaci,
kde jde o rychlost.
Pokud několik let intenzivně neprogramuješ, tak pro tebe učit se C++
nemá cenu, protože stejně nedokážeš naprogramovat nic, na co bys to C++
potřeboval a v C# / Javě jde programování rychleji.
Jinak učit se (jako primární) "obskurní" jazyky jako Scheme nebo Haskel
bych až tolik nedoporučoval, největší poptávka je po programátorech v
Javě, .NET a C++ (případně PHP).
Při výuce programování není nutné a často ani vhodné učit se jazyk,
který je žádaný na trhu. Mnohem lepší je naučit se jazyk, ve kterém
programátor získá správné návyky. Získá tím schopnost naučit se
programovat v libovolném dalším jazyku za poměrně krátkou dobu.
Bash také vlastně patří mezi obskurní jazyky. Dají se v něm napsat
nejen neskutečně líné aplikace, ale i svižné vícevláknové programy.
Totéž však platí i pro Javu, C# a další. Proto je důležité získat
správné programátorské návyky.
Samozřejmě nejde jen o rychlost, ale také o udržovatelnost. Proto vznikly
návrhové vzory. Některé propagované, jiné zavrhované. Usnadňují
komunikaci mezi programátory.
Pokud nějaký produkt umožňuje dělat víc chyb, tak je podle tebe
lepší? A C++ ti rozhodně umožní v programu nasekat daleko víc chyb, než
třeba Java nebo C#. Proto ti C++ vůbec nedoporučuji. Alespoň do doby, než
se naučíš programovat.
Jak znám tyhle jazyky rozepisovat nebudu - to by zabralo hodně času, a
poslední dobou ho nemám moc, no troufnu si říci, že je znám celkem dobře,
čemu odpovídá i doba kterou v nich pracuji
Pokud jsi myslel, že jsou tyto jazyky jednoduché na použití, tak máš
pravdu. Nicméně záleží na tom, co v nich děláš. Aby byla aplikace v PHP
napsaná správně, chce to poměrně pokročilé znalosti i v oblasti
architektury. Na druhou stranu include tam dokáže naflákat každý.
Na youtube říkají věcí Jazyků jsou desítky, možná stovky. O každém jazyce najdeš jak
je nejlepší, protože to píše zrovna ten, kdo v něm pracuje. Asi ti
dochází, že všechny nejlepší nebudou. Řiď se tím, v čem se aktuálně
progoramuje, protože 1. to bude dobré a 2. pro to najdeš práci.
Srovnáváš to jako armádní nůž (C++) s kalašnikovem (C#, Java). S
kalašnikovem naděláš na bojišti větší paseku než s armádním nožem
už po krátkém výcviku, ale s nožem se dají vyrobit i kvalitnější
zbraně, než je kalašnikov. Dlouho však trvá, než se s nožem naučíš na
potřebné úrovni a můžeš se přitom i poranit.
Takže C++ je dobrý, ale jen pro toho, kdo to s ním umí. Hodně
začátečníků na něm pohoří.
Programovacích jazyků jsou tisíce. Sám jsem jich pár také napsal.
Některé jazyky jsou vhodné pro výuku, jiné pro komerci. Je lepší
nejprve začít těmi výukovými a pak plynule přejít k těm komerčním.
Jinak je riziko špatných návyků, jaké třeba vidím na oficiálním serveru
Oracle. Tam mají chyb jak maku.
Hlavní výhodou C++ je jeho svoboda. Můžeš si v něm dělat co chceš,
všechno si v něm můžeš udělat vlastní, ovšem za cenu toho, že ten jazyk
je znatelně složitější, než modernější jazyky. Musíš se v něm starat
o spoustu věcí navíc, například o správu paměti. Pokud se to naučíš,
tak s tím nemusí být problém, ale to může trvat dost dlouho, pokud se na
to dřív nevykašleš a nebo v něm nebudeš programovat špatně. Prostě s
nedostatkem zkušeností a schopností se jeho hlavní přednost obrací v
nevýhodu. Pak také musíš počítat s tím, že spoustu věcí, které v C#
nebo Javě jsou součástí jazyka, si v C++ musíš psát sám, popřípadě se
v něm dělají složitěji (někdy dost znatelně).
Pokud na to má hlavu, tak ať si začne třeba se strojovým kódem, ovšem
troufnu si tvrdit, že nemá (nebrat jako urážku). Já třeba s C++ v
podstatě začínal, ale trvalo mi docela dlouho než sem se ho naučil
pořádně a řekl bych, že ne každý to zvládne.
Já assembler občas používám v kombinaci s C++. Další z jeho výhod.
Avšak jak jste psali, souhlasím, že pro začátečníka je naprosto
nevhodný. A naučí špatné návyky v OOP, jelikož byl jedním z prvních a
oop nebylo tak promyslene.
C++ není objektový jazyk, je to jazyk smíšený a třídy v něm nejsou
navrženy tak, aby se v něm dobře programovalo objektově, nýbrž tak, aby s
jejich pomocí bylo možné tvořit datové typy, se kterými bude možno
zacházet co nejvíce stejně, jako s typy primitivními, tedy co
nejpřirozeněji (viz konverzní funkce, konverzní/kopírovací konstruktory,
přetěžování operátorů).
Je tam obrovský rozdíl v syntaxy. Jinak skoro nic. Mě osobně přijde
vb.net trochu zbytečně "ukecané". Je to ale na tobě. Knihovny jsou stejné,
kompatibilita i rychlost také.
Už jsem se sice ptal, ale zeptám se tě znovu: Které aplikace ti pod
Linuxem nejely? Mám totiž opačnou zkušenost: Mnoho aplikací, které pod
Linuxem používám, neběží ve Windows nebo na nich běží mizerně.
Zajímavé. Už jsem takhle instaloval hodně systémů. Se starším Grubem
byly potíže, pokud linuxový bootovací oddíl byl až za hranicí 128 GB.
Podle mne to má Ubuntu 12.04 LTS už vyřešeno.
když chci udělat nějakou kravinu použiju např C# ale když se jedná
grafiku nebo něco složitého na výkon tak c++ je na to nejlepší podle toho
jestli jsem v Linuxu nebo ve Windows.
Na linuxu se, pokud vím, v C++ programuje celkem dost, ale je zvláštní,
že spousta programátorů u linuxu dává přednost C před C++, tvrdí, že je
to čistější jazyk.
Pokud potřebuji, aby to bylo skutečně rychlé, tak to na Linuxu udělám
ve Fortranu nebo v C. Pokud to potřebuji objektově, tak podle typu úlohy
sáhnu po Pythonu nebo Javě. Pokud to má být webová služba, použiji PHP.
Pokud potřebuji, aby jednojádrová úloha jela paralelně na více jádrech,
poradí si s tím Bash. A tak bych mohl pokračovat, těch jazyků tu mám asi
20.
Nevím jak je to u linuxu, ale pod Windows pokud program zkompiluji jako C++
tak je o něco rychlejší, než když ho zkompiluji jako C, přičemž v C++ se
dá programovat v podstatě úplně stejně jako v C a k tomu má spoustu věcí
navíc, které ale pokud nechceš, nemusíš používat. Tudíž, proč
používat C, když můžu psát v C++?
Nové verze Ubuntu vychází každých 6 měsíců. Verze 13.04 je proti LTS
novější o jeden rok. Jednou za 2 roky vydají verzi, kterou před vydáním
důkladněji testují a navíc tuto verzi udržují déle - v daném případě
dalších 5 let. Stačí tedy upgradovat jednou za 2 roky verzi LTS a máš
stále čerstvý a dobře podporovaný OS.
Verze, které nejsou označeny LTS, jsou spíš pro vývojáře a ty, kterým
nějaké drobné chyby nevadí. Jsou to vlastně takové bety. Používat se
dají, ale jsou takové "bez záruky" - asi tak na úrovni Windows
Na Linuxu je C zkombinováno s C++, Fortranem a kdoví s čím ještě.
Lexikální analyzátory jsou samozřejmě různé, ale zbytek je společný. Je
to tedy jeden kompilátor na všechno s podobnými výsledky.
Ve Windows to možná bude tím, že C++ je novější a výkonnější v
optimalizacích. C se nechalo zestárnout a už se asi moc neudržuje, aby
vývojáři raději přešli k C++.
Zřejmě je tedy výhodné ve Windows psát programy v C a překládat je
kompilátorem C++. Nevidím v tom problém.
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.