Diskuze: Java nebo C++
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 30 zpráv z 30.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Záleží co chceš programovat. Obecně ale platí, že Java je jednoduchý moderní jazyk, kdežto C++ je složitý nízkoúrovňový jazyk v dnešní dobře vhodný jenom na části programů, které jsou velmi náročné na výkon, třeba hry. Každopádně podle mě je Java lepší pro začátečníka a změna jazyků není vůbec těžká - po 2 až 3 dnech dokážeš normálně pracovat v novém jazyce a vždycky máš při ruce Google.
No, ze začátku co jsem četla, tak je dobré zkusit naprogramovat kalkulačku, jednoduchý slovník a podobně. Jsem totální zelenáč, takže myslím, že za kalkulačku která umí sčítat, odčítat, dělit a násobit budu více než ráda. A myslím, že u mě to bude více než 3 dny. Vidím to tak na měsíc..
Ne, je to opravdu jednoduché. Opravdu bych ze začátku doporučil spíše Javu, ale co se týče naprostých základů, jsou oba jazyky v podstatě totožné.
Dobře, děkuji. Zítra mi přijde již opravený netbook, tak na něm něco zkusím. Uvidím, jak mi to půjde a pokud byste nebyl proti, klidně bych vám napsala do zprávy mé poznatky a případné pokroky.
To záleží co chceš dělat. Pokud tomu chceš opravdu rozumět, vědět co
se dole děje a umět dokonale optimalizovat program, je lepší C++. Dostaneš
opravdu hluboké znalosti programování.
Pokud chceš nějakou aplikaci, kde ti moc nejde o výkon, ale prostě něco
vytvořit, je lepší Java. Vývoj je rychlejší, pohodlnější. Na druhou
stranu když se naskytne problém (například s rychlostí programu), nemusíš
být schopen/schopná efektivně problém analyzovat a vyřešit.
Já začínal s C++. Bylo to těžké, šlo to pomaleji, ale jsme za to
rád.
C++ je, jak už tu někdo řekl, složitý jazyk; obsahuje spoustu konstrukcí a má spoustu vlastností (i kvůli jeho historickému vývoji a postupnému přidávání vlastností), takže může být dost problém vybrat si z něj ty části, které mají pro člověka smysl a moc se nezaplete do toho, čemu nerozumí.
Také bych v tomto případě doporučil Javu.
Děkuji všem. Zkusím zítra Javu a pokud ji pochopím, tak bych později
přešla k C++. Jsem jen zvědavá, jestli vůbec něco dokážu, protože co
jsem se náhodně dívala do článků, tak tam jsou podivné zkratky, kterým
vůbec nerozumím.
A ještě otázka: co nejčastěji žádají zaměstnavatelé? Slyšela jsem i
PHP a C#. Ať vím, na jakou úroveň bych se někdy mohla dostat.
Ono je u té Javy (a u většiny více používaných jazyků) trochu potíž v tom, že je prolezlá objektově orientovanému programování a i v začátcích se mu nedá úplně vyhnout. Ale uvidíš, jak to půjde.
Zaměstnavatele bych zatím neřešil, na to bude spousta času později. Pokud budeš umět libovolný z více používaných jazyků (Java, C#, PHP...), nemyslím si, že budeš mít problém najít práci (resp. určitě ne kvůli jazyku). Navíc po jistém zvládnutí jednoho jazyka nebudeš mít moc problémy zvládnout jemu podobné (např. z Javy na C#), takže neber svoji aktuální volbu jako životní rozhodnutí, se kterým se pak už nedá nic dělat.
Java společně s C# a PHP patří mezi nejžádanější jazyky. A jak jsem již psal já a Martin Dráb změna jazyka je velmi jednoduchá záležitost. V praxi programátoři ovládají klidně 10 jazyků, i když jen 2-3 ovládají na výborné úrovni, protože je užívají nejčastěji. Opravdu, důležitost volby jazyka je často zbytečně přeceňovaná.
Na otázku "Java nebo C++" je moje odpověď C# - je to jazyk, který je
někde mezi nimi a vychází z nich, ale jde mnohem rychleji dopředu.
Navíc teď díky krokům MS (multiplatformnost) má před sebou celkem světlou
budoucnost.
Ale jak už tu padlo, jakmile se naučíš dobře používat jeden jazyk, už není problém používat jiný, obzvlášť pokud mají podobnou syntaxi (C/C++/C#/Java) nebo aspoň podobnou filozofii (imperativní x deklarativní programování apod.).
Pravda, hodně mě potěšilo, když jsem o tom poprvé četl, hlavně kvůli ASP.NET. Jenom je škoda, že Visual Studio je jen na Windows, protože je to v podstatě jediné rozumné IDE pro C#. Ale zrovna přechod z Javy na C# je asi nejjednodušší přechod ze všech, to se člověk jen diví, jak je to všechno lepší a jednodušší. Ještě to chce multiplatformní DirectX.
Pokial sa pytas, ci zacat s C++ alebo Javou, tak urcite C++. Dovod je jednoduchy: z C++ lahsie prejdes do Javy/C# ako opacne.
Moj nazor je taky, ze pokial sa chce niekto ucit programovat, mal by zacat s algoritmami a nie s objektami. Dokonca by som zaciatocnikovi odporucil zacat programovat (za tento nazor budem asi zatracovany) v Pascale. Syntax nie je prilis zlozita, da sa z neho prejst velmi lahko do C/C++ ci PHP.
S tímto názorem nesouhlasím, dítě se taky nejdřív naučí lézt po
čtyřech a až potom se naučí chodit. Všechno co se učíš tak se učíš
od nejjednoduššího po nejsložitější, ne obráceně.
btw. každou chvíli to tu David utlumí, protože se to tu pořád řeší
dokola přitom je tu na to článek: http://www.itnetwork.cz/…ace-programy
Ten článek jsem si přečetla už nejméně 3x. Nemám nic proti této stránce, je dokonalá, ale dívala jsem se i po jiných. Přeci jen 100 lidí, 100 chutí (názorů). Přečtu si tedy něco o C# s tím, že bych začala Javou, poté přešla na C# a následně na C++. Může být?
ano, novodoby trend je Object First. Znie to uzasne. Ale...
Zacinajuci programator hned narazi na pojmy ako je objekt, trieda, instancia
triedy. Jednotlivo tieto pojmy su lahko pochopitelne, az pokial nepride veta:
Vytvor mi objekt X1 ako instanciu triedy XY.
A presne tu mala drviva vacsina mojich studentov na univerzite problem, lebo
zrazu nevedeli co vlastne maju robit.
Urcite, ked vytvaras nejaky objekt, tak ten objekt by mal nieco robit. Najlepsie
riesit nejaky problem. Teda je potrebne navrhnut a implementovat nejaky
algoritmus (napriklad vypocet korenov kvadratickej rovnice).
Takze metoda Object First je podla mna o mnoho narocnejsia, pretoze musis pochopit nie len objekty, ale zaroven sa ucit navrhovat aj implementovat algoritmy.
Tak teď jsi mě totálně zmátl Budu se muset naučit základní terminologii.
Pochopil jsi mě špatně, samozřejmě, že by každý měl začít "neobjektově", ale v nějakém vysokoúrovňovém jazyku, jako je java, C#, a potom až přejít na složitější nízkoúrovňový jazyk, jako je C, C++.
Omlouvám se za svou nezkušenost, ale toto jsem taky nepochopila:
*Je důležité si uvědomit, že začínající programátor se neučí jazyk. Učí se programovat a jazyk je jen prostředek pro zápis programu. Umění programovat není vázáno na žádný programovací jazyk. Pokud umíte programovat třeba imperativním způsobem, tak se naučíte nový jazyk z dané skupiny během 2 dnů, maximálně týdne. Počet jazyků neříká vůbec nic o schopnostech programátora.
Doporučuje se začít programovat s imperativním jazykem. Nejdříve nízkoúrovňový, potom vysokoúrovňový jazyk.*
Nechápu smysl prvních dvou vět. Neučím se jazyk, ale programovat, k
němuž je vlastně jazyk potřeba.. Jsem jediná, kdo to nepojal?
A také poslední věta - píší, že dříve nízkoúrovňový a poté
vysokoúrovňový. Přičemž o pár řádků výše na dané stránce je
napsáno, že Java patří do vysokoúrovňového.. Takže podle nich by se
mělo začít Pascalem a C.. Jaký je váš názor?
Já se opět vmísím do diskuse...
Programovat se dá třeba pomocí vývojových diagramů, jazyk k tomu vůbec není potřeba. Ten slouží jen jako prostředek jak program předat procesoru. Je to jen nástroj. Programování samo o sobě by se dalo chápat jako "vytváření řešení problémů spustitelné na počítači". Jazyk je opravdu jenom nástroj.
Pro začátečníka jsou většinou vhodné jazyky imperativní, staticky typované.
Dám sem příklad hledání dělitelů zadaného čísla v Javě a C/C++ pro porovnání:
Java:
package com.company;
public class Main
{
public static void main(String[] args)
{
int cislo = 1000;
for (int i = 1; i <= cislo; i++)
{
if (cislo % i == 0)
{
System.out.printf("%d\n", i);
}
}
}
}
C/C++
#include <stdio.h>
int main()
{
int cislo = 1000;
for (int i = 1; i <= cislo; i++)
{
if(cislo % i == 0)
{
printf("%d\n", i);
}
}
}
Jak vidíš, kód je prakticky stejný. Ta část, která se liší je automaticky generovaná vývojovým prostředím. Tudíž ze začátku tam není prakticky žádný rozdíl. Začínat v nízkoúrovňovém jazyce je poměrně složité. Pascal je starý jazyk se špatným návrhem, dnes nepoužitelný. Pokud chceš začít s nízkoúrovňovým jazykem tak rozhodně C/C++. Za mě ale pořád musím doporučit Javu nebo C#. Tady už je poměrně jedno, který z nich si vybereš.
Ačkoli se znalost C++ hodí, dnes se bez něj obejde i profesionální programátor. Proč se zaobírat manuální správnou paměti, když to garbage collector udělá za tebe? Začátečníka to zbytečně zatěžuje.
Takže jak jsem již mnohokrát řekl a myslím, že je to většinový názor, Java nebo C# je vhodnější.
Ještě bych doplnil část článku, na který bylo výše odkazováno.
Mezi nevhodné jazyky patří např. zastaralý Pascal, Delphi nebo céčko. Pro začátečníky není vhodné ani C++, jelikož je příliš složité, to samé platí pro JavaScript.
Díky za rady. Nakonec jsem se (na základě rad zdejšího člena) rozhodla zkusit Python. Je to prý velmi jednoduché a takový ten základ. Jakmile zvládnu Python, chtěla bych přestoupit na Javu nebo C# C++ (podle toho, co je vhodnější).
Až na dynamické typování souhlasím, že je to dobrý jazyk pro začátečníky.
Tak to asi nepůjde :/ Stáhla jsem si to, ale nejde to spustit. Resp. potřebuji aktualizovat na novější systém (mám Windows 7 Starter). Půjde nějaký jiný jazyk spustit bez další aktualizace?
Co přesně nefunguje? Nejde Ti to vůbec nainstalovat? Mám dojem, že Starter nespustí .msi soubor. Každopádně tady: "https://www.python.org/downloads/release/python-351/" jsem našel .exe instalátor. To taky nefunguje?
Starter edice Windows je velice limitovaná. Ale pokud vím, tak Java by tam měla jít bez problémů. Ale Microsoft to dost omezil, takže je možné, že to prostě nepůjde a nic s tím nepůjde udělat.
Zobrazeno 30 zpráv z 30.