• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Różnice między Python, C++ a Java

Object Storage Arubacloud
0 głosów
554 wizyt
pytanie zadane 8 marca 2023 w C i C++ przez Daniel338 Nowicjusz (120 p.)
Siemka,

Czy ktoś mógłby mi pomóc i powiedzieć jakie definitywne różnice są między trzema językami programowania? Mam na myśli Python, C++ a Java.  Bardzo byłbym wdzięczny za pomoc. PAN PROFESOR niestety jest bardzo detaliczną osoba. Najlepiej jakby to było z punktu widzenia osoby która programuje w tych językach. Dzięki wielkie z góry!  :)
komentarz 8 marca 2023 przez VBService Ekspert (253,340 p.)
edycja 8 marca 2023 przez VBService

ChatGPT - daje nawet niezłą dopowiedź:

Oto kilka podstawowych różnic między Python, C++ a Java:

  1. Szybkość:
    C++ jest najczęściej uważany za jeden z najszybszych języków programowania, dzięki czemu jest idealny do pisania aplikacji wymagających wysokiej wydajności, podczas gdy Python jest bardziej skłonny do bycia wolniejszym z powodu dynamicznej natury swojego typowania i interpretacji kodu. Java znajduje się gdzieś pośrodku i jest zwykle szybsza niż Python, ale wolniejsza niż C++. Python i Java są bardziej przenośne i łatwiejsze do pisania.
     

  2. Typowanie:
    C++ i Java są językami silnie typowanymi, co oznacza, że zmienne muszą być zadeklarowane z konkretnym typem i nie można ich zmienić, to oznacza, też, że typy zmiennych muszą być zadeklarowane podczas pisania kodu. Python jest językiem słabo typowanym, co oznacza, że zmienne nie muszą mieć określonego typu i mogą zmieniać swoje typy w trakcie wykonywania programu.
     

  3. Składnia:
    C++ i Java mają bardziej skomplikowaną składnię niż Python, ale jednocześnie dają większą kontrolę nad pamięcią i efektywniejsze zarządzanie nią. Python ma prostszą składnię i jest łatwiejszy do nauki.
     

  4. Zarządzanie pamięcią:
    C++ jest językiem, który wymaga ręcznego zarządzania pamięcią. Oznacza to, że programista musi ręcznie przydzielać i zwalniać pamięć dla zmiennych. Java i Python posiadają mechanizmy automatycznego zarządzania pamięcią.
     

  5. Interpretacja vs. kompilacja:
    Python jest językiem interpretowanym, co oznacza, że kod jest tłumaczony na bieżąco podczas wykonywania programu. C++ i Java są językami kompilowanymi, co oznacza, że kod jest tłumaczony na maszynowy przed uruchomieniem programu.
     

  6. Użycie:
    Python jest często używany w analizie danych, sztucznej inteligencji i uczeniu maszynowym. C++ jest często używany w systemach operacyjnych, grach i oprogramowaniu wbudowanym, gdzie wydajność jest kluczowa. Java jest często używana w tworzeniu aplikacji internetowych i mobilnych.

 

IMO punkt 3 prawie w całości mógłby się zawierać w punkcie 4, więc do punktu 3 "poprosiłem" o doprecyzowanie, oto, efekt (już lepiej to wygląda)

Składnia C++:

  • C++ jest językiem typowanym statycznie, co oznacza, że ​​typ każdej zmiennej musi być zadeklarowany przed użyciem.
  • W C++ stosuje się nawiasy klamrowe { } do grupowania instrukcji w bloki kodu.
  • Polecenia w C++ kończą się średnikiem (;).
  • W C++ używa się operatora dwukropka (::) do odwoływania się do składowych klas, a operator strzałki (->) do odwoływania się do składowych wskaźników na obiekty.
     

Składnia Java:

  • Java jest również językiem typowanym statycznie.
  • W Java stosuje się nawiasy klamrowe { } do grupowania instrukcji w bloki kodu.
  • Polecenia w Javie kończą się średnikiem (;).
  • W Javie korzysta się z operatora kropki (.) do odwoływania się do składowych klas, a operator strzałki (->) nie jest stosowany.
     

Składnia Python:

  • Python jest językiem typowanym dynamicznie, co oznacza, że typ zmiennej jest określany w trakcie działania programu.
  • W Pythonie stosuje się wcięcia (tabulacje lub spacje) do grupowania instrukcji w bloki kodu.
  • Polecenia w Pythonie nie kończą się średnikiem (;).
  • W Pythonie nie ma operatora dwukropka (::), a operator kropki (.) jest używany do odwoływania się do składowych klas oraz modułów.  
komentarz 8 marca 2023 przez tkz Nałogowiec (42,000 p.)
W drugim punkcie pomieszał statyczne/dynamiczne z silnym/słabym typowaniem.
Imo możliwości zarządzania pamięcią w javie i pythonie w porównaniu do C++ są takie same, czyli żadne.
Czwarty punkt to bzdura. Są inteligentne wskaźniki, są narzędzia przez które można tego całkowicie uniknąć.
Piąty to też bzdura. Python podlega procesowi kompilacji, tzn. jest tłumaczony na inny język, na bytecode.
Szósty punkt jest bardzo wybiórczy. Jeżeli korzystasz z pythona do inżynierii danych, sztucznej inteligencji, to korzystasz z C++ w ładniejszej oprawie.
komentarz 8 marca 2023 przez Wiciorny Ekspert (270,170 p.)

Java:
a operator strzałki (->) nie jest stosowany.

ojj widać, że się myli już tutaj ChatGTP, niestety to jest jego dalej wada, że wrzuca co "przefiltruje", oczywiście że operator jest używany, i został on uznany jako lambda operator. edycja j8.

Dodatkowo, Java nie daje dobrego zarządzania pamięcią, bo wszystko praktycznie jest dedykowane przez GC i VM :D natomiast w C++ odpowiada głównie programista  Z punktu programisty jest dobre, bo nie musi sie on o to martwic, a tylko pozornie, bo robiąc głupie operacje, zostawiając niepotrzebnie referencje jako używane, naraża się na dalsze wykorzystanie i braku kolektowania przez GC.



 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 465 wizyt
pytanie zadane 14 marca 2017 w Java przez Kubs Mądrala (5,190 p.)
+1 głos
2 odpowiedzi 777 wizyt
0 głosów
2 odpowiedzi 3,439 wizyt
pytanie zadane 24 maja 2017 w Rozwój zawodowy, nauka, praca przez devnull Nowicjusz (120 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...