6
  • kvp
    #6
    "aki nem vette a fáradtságot hogy megtanulja a 100x komplexebb és jobb C++-t"

    Mindent (is) hasznalok, igy c++-ot, java-t es python-t is (c-t es python-t meg mikrovezerlon is), de a c++ meg mindig nem volt kepes elerni a java alapszintu tudasat, mert ahhoz alapjaiban kellene atirni a mukodeset es erre egyszeruen nem hajlando a szabvanyugyi testulet.

    Ellenben c-ben (es persze igy c++)-ban is meg lehet irni mindent amit a java tud, csak nem kotelezo a hasznalatuk, igy ha valaki hibazik, akkor serul a rendszer integritasa. Gondolok itt pointer-ek, tombok, stb. hibas hasznalata altal okozott memoria integritas serulesekre. Ezt mar az objective c is kepes volt kikuszobolni, de a c# is megoldotta valahogy, a java pedig tervezesi szinten szuntette meg. Amiota van nativ binarisra forditott java, azota egyszeruen nincs olyan feladat amit erdemesebb c++-ban programozni java helyett. Es akkor meg ott vannak a c++-os "szabvany" konyvtarak, amikbol tobb egymast uto is van es ezek is evente valtoznak, ugyanakkor ezek mar tervezesi szinten sem kepesek kezelni egy garbage collector-os biztonsagos memoriakezelot ami utolag kerulne hozzaadasra. Amit egyebkent meg a c is gond nelkul tud fogadni. (mivel a nyelvnek maganak nincs runtime resze)

    A c++ tulsagosan c-s maradt ahhoz, hogy a java-val egy szintem lehessen es tulsagosan sok run time komponenst es "szabvany" konyvtarat kapott ahhoz, hogy kozvetlenul kulso kod nelkul a nyers "vason" futtathato legyen. Egy nyelvnek vagy resze a teljes futtatasi kornyezet, szoftveres memoriavedelemmel es ha kell szemetgyujtessel egyutt vagy ha ez hianyzik, akkor ne legyen runtime komponense, hanem ennek funkcioit bizza az aktualis operacios rendszerre. A c++ valahol a ket szek kozott a pad alatt ul ebben a tekintetben. A java es a python a teljesen menedzselt vedett kornyezetek jo peldai, mig a c a futtatasi kornyezet nelkuli, gyakorlatilag hardver programozasra keszult nyelv. A c++ egyik celra sem jo teljes mertekben es ha minden runtime komponenst eldobunk a c++-bol, akkor gyakorlatilag egy kiterjesztett szintaxisu c-ve valik, mig ha minden extra feature-t be akarunk rakni (dinamikus reflexio, garbage collector, stb.), akkor szinte az osszes c++-os szabvany konyvtar kuka es szinte a 0-rol kellene ujra felepiteni a programozasi kornyezetet.

    Ezert nepszeru a java es a python alkalmazasfejlesztesre es ezert irjak meg mindig c-ben az alacsonyszintu (hardverkozeli) kodokat. De az elozo hozzaszolasban meg sem emlitettem a c++-t, csak a c/java/python harmast hasonlitottam ossze.
  • Borg18754
    #5
    Te valami butthurt C fejlesztő lehetsz aki nem vette a fáradtságot hogy megtanulja a 100x komplexebb és jobb C++-t, ezért inkább leszólod. Régen valóban nerm volt ilyen jó a C++, de a modern változata fényévekkel a C előtt jár már.
  • kvp
    #4
    A c 1972 ota letezik, azaz 54 eve. A java kb. fele olyan idos es a java vm is c-ben van irva, mint ahogy a legtobb operacios rendszer is. Mindket nyelvnek nagy elonye, hogy mukodnek es nem modositgatjak oket olyan gyorsan, hogy ne lehetne egyszer megtanulni es onnantol hasznalni oket. A java gyakorlatilag a c leszarmazottja lett, amit a felig kitalalt es azota foltozgatott c++ nem volt kepes elerni.

    A python egy script nyelv, mig a java eleve lefordithatora lett tervezve (jvm-re vagy barmilyen nativ binarisra), ezert a java teljesitmenye nativ kodra forditva kb. ugyanolyan mint egy kulon megirt dinamikus ellenorzeseket es szemetgyujtot futtato c-s kode. Ezt egyetlen script nyelv sem tudja.

    A python nepszeruseget az adja, hogy konnyu hozza stabil kodot irni, ezert sok kutatasi projectben hasznaltak, igy nagyon sok olyan dolgot tamogat library-k segitsegevel amit a java nem. A java elonye, hogy sok ceges projectben hasznaltak, igy sok olyan dolgot tamogat library-k segitsegevel amit a python nem. Alapvetoen mindkettot c-ben irtak es a motorhaztetok alatt legalul c-s kodok vannak.

    MI-s kodok eseten egyebkent a python c-ben irt matematikai szoftverkonyvtarakat hasznal, csak a feladatok leirasahoz hasznaljak a python-t, igy a teljesitmeny tenylegesen az also c-s kodok teljesitmenyetol fugg. MI gyorsito hardverek eseten is c-s kod van a hardver es a java vagy a python magas szintu felulete kozott.

    Nem veletlen, hogy elobb utobb ha valaki eleg melyre as, akkor c-s kodot talal es mivel c alkotja az operacios rendszerek es a forditasi kornyezetek alap kodjat, ezert szinte minden platformon a c-t rakjak eloszor ossze mukodore. Nem valoszinu, hogy ez mostanaban megvaltozna amig emberek fejlesztik a hardvereket es az alapszintu szoftvereket. (MI eseten barmilyen absztrakt emberek altal nem olvashato szimbolikus nyelv hasznalhato ami kepes kozvetlen binaris generalasra, ehhez legkozelebb talan a gcc fordito belso RTL fai vannak)
  • Sequoyah
    #3
    Az AI meg elegge kiserleti fazisban van, es a Python erre alkalmasabb.

    De az AI integracios Java frameworkok gyorsan veszik at a funckiokat a Python-tol, szoval az nagyvallalati AI integracioban valoszinuleg marad a Java.
  • Kryon
    #2
    A Python most a gépi tanulás miatt lett olyan felkapott. Ott jellemzően azt használják.
  • kjhun
    #1
    Ha már, a különféle programozási nyelvekről szó van... Arról se feledkezzünk meg, hogy egy adott nyelven írt program, mennyi erőforrást és időt zabál meg, a kevésbé falánk társaihoz képest!

    Egy kis olvasnivaló: ITT

    A Python eléggé hátul kullog.
    Utoljára szerkesztette: kjhun, 2025.05.27. 20:55:00