Dobrý den/ahoj,
Zrovna se učím programovat v Pythonu, Javě a v C++ a ze začátku mi přijdou ty programovací jazyky stejné, jen se liší zápisem. Jaký je prosím mezi nimi rozdíl ? Co se dá naprogramovat v Javě nebo C++ co se v Pythonu naprogramovat nedá a co znamená to, že je C++ rychlý jazyk ? Zkoušel jsem googlit, ale moc z toho chytřejší nejsem.
Děkuji
Rozdíl mezi programovacími jazyky
Re: Rozdíl mezi programovacími jazyky
Ve všech třech jazycích můžeš naprogramovat úplně cokoliv, neexistuje nic co by se "nedalo". Rozdíly budou jinde:
Python je interpretovaný jazyk, dnes se říká skriptovací, a funguje téměř stejně jako kdysi BASIC na osmibitových počítačích. Prostě napíšeš svůj program v nějakém textovém editoru, a tak jak je, ho předáš interpretu, což je speciální program, který provádí jeho příkazy. Jestli používáš dávkové soubory v příkazovém řádku, tak je to vlastně totéž. Akorát Python toho umí podstatně víc než dementní CMD.
Výhoda je ta, že program můžeš okamžitě spustit na jakémkoliv počítači, s libovolným typem i architekturou procesoru, a pod jakýmkoliv operačním systémem. Stačí když tam bude nainstalovaný Python s příslušnými knihovnami v dostatečně vysoké verzi. Také je programování v Pythonu velmi snadné a rychlé.
Nevýhoda je, že takový způsob provádění programu je prostě pomalý.
C++ je kompilovaný jazyk, takže když napíšeš zdrojový program, musíš ho před spuštěním nejdřív zkompilovat - přeložit do strojového kódu, kterému rozumí konkrétní procesory, a pro určitý operační systém. Jinde ho nespustíš.
Výhoda je, že tvůj program poběží téměř maximální rychlostí jakou hardware umožňuje, a dokáže lépe využít jeho možnosti a výkon.
Nevýhoda je, že programování v C++ je mnohem obtížnější a zdlouhavější, můžeš v programu udělat spoustu chyb a pokud ho neovládáš dost dobře, tak budou tvoje programy plýtvat pamětí a strojovým časem. Takže zase tak rychlé nebudou.
Java je něco mezi, překládá se do tzv. bytekódu, který se potom spouští na virtuálním stroji, což je také takový interpret. Ale protože se už nemusí zabývat jednotlivými příkazy v textu, může běžet mnohem rychleji, a navíc dokáže běh programu sledovat a optimalizovat za chodu, což ho ještě víc urychluje. Ale tak rychle jako C++ běžet nemůže. Ovšem, špatně napsaný program v C++ může být pomalejší než dobře napsaný program v Javě!
Výhoda je, že programy v Javě jsou přenositelné mezi více platformami, ale s omezeními.
Nevýhoda je, že proto mají větší systémové nároky a navíc javovští programátoři ani netuší, co se ve skutečném hardwaru odehrává.
Jak odlišně mohou vypadat stejné programy v různých jazycích si můžeš prohlédnout tady: https://www.99-bottles-of-beer.net/
Něco o programování dříve se dočteš tady: https://logix.cz/michal/humornik/Pojidaci.Kolacu.xp
A jak snadné to dnes máš uvidíš tady
https://www.youtube.com/watch?v=uFQ3sajIdaM
Python je interpretovaný jazyk, dnes se říká skriptovací, a funguje téměř stejně jako kdysi BASIC na osmibitových počítačích. Prostě napíšeš svůj program v nějakém textovém editoru, a tak jak je, ho předáš interpretu, což je speciální program, který provádí jeho příkazy. Jestli používáš dávkové soubory v příkazovém řádku, tak je to vlastně totéž. Akorát Python toho umí podstatně víc než dementní CMD.
Výhoda je ta, že program můžeš okamžitě spustit na jakémkoliv počítači, s libovolným typem i architekturou procesoru, a pod jakýmkoliv operačním systémem. Stačí když tam bude nainstalovaný Python s příslušnými knihovnami v dostatečně vysoké verzi. Také je programování v Pythonu velmi snadné a rychlé.
Nevýhoda je, že takový způsob provádění programu je prostě pomalý.
C++ je kompilovaný jazyk, takže když napíšeš zdrojový program, musíš ho před spuštěním nejdřív zkompilovat - přeložit do strojového kódu, kterému rozumí konkrétní procesory, a pro určitý operační systém. Jinde ho nespustíš.
Výhoda je, že tvůj program poběží téměř maximální rychlostí jakou hardware umožňuje, a dokáže lépe využít jeho možnosti a výkon.
Nevýhoda je, že programování v C++ je mnohem obtížnější a zdlouhavější, můžeš v programu udělat spoustu chyb a pokud ho neovládáš dost dobře, tak budou tvoje programy plýtvat pamětí a strojovým časem. Takže zase tak rychlé nebudou.
Java je něco mezi, překládá se do tzv. bytekódu, který se potom spouští na virtuálním stroji, což je také takový interpret. Ale protože se už nemusí zabývat jednotlivými příkazy v textu, může běžet mnohem rychleji, a navíc dokáže běh programu sledovat a optimalizovat za chodu, což ho ještě víc urychluje. Ale tak rychle jako C++ běžet nemůže. Ovšem, špatně napsaný program v C++ může být pomalejší než dobře napsaný program v Javě!
Výhoda je, že programy v Javě jsou přenositelné mezi více platformami, ale s omezeními.
Nevýhoda je, že proto mají větší systémové nároky a navíc javovští programátoři ani netuší, co se ve skutečném hardwaru odehrává.
Jak odlišně mohou vypadat stejné programy v různých jazycích si můžeš prohlédnout tady: https://www.99-bottles-of-beer.net/
Něco o programování dříve se dočteš tady: https://logix.cz/michal/humornik/Pojidaci.Kolacu.xp
A jak snadné to dnes máš uvidíš tady
https://www.youtube.com/watch?v=uFQ3sajIdaM
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 10
- 1346
-
od lucaso84
Zobrazit poslední příspěvek
01 kvě 2024 12:11
-
-
Rozdíl mezi 1920x1080 vs 1920x1200
od ski1961 » 20 zář 2023 11:00 » v Rady s výběrem hw a sestavením PC - 7
- 1456
-
od petr22
Zobrazit poslední příspěvek
20 zář 2023 12:46
-
-
- 2
- 602
-
od Nejtt
Zobrazit poslední příspěvek
23 kvě 2023 19:53
-
-
Vypínaní spojení mezi mobilem reprákem.
od nulka » 08 říj 2023 14:06 » v Mobily, tablety a jiná přenosná zařízení - 0
- 3873
-
od nulka
Zobrazit poslední příspěvek
08 říj 2023 14:06
-
-
-
Word 2007: Jak zrušit prázdné řádky na každé stránce mezi čarou a poznámkami?
od Jirka0508 » 29 pro 2023 00:30 » v Windows 11, 10, 8... - 1
- 1126
-
od mmmartin
Zobrazit poslední příspěvek
29 pro 2023 13:00
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů