Kezdőoldal » Számítástechnika » Programozás » A C++ alacsony, vagy magas...

A C++ alacsony, vagy magas szintű nyelv?

Figyelt kérdés

Itt az írják, hogy magas:


[link]


Viszont pár helyen alacsony szintűt írnak.


2022. dec. 29. 03:11
1 2 3
 1/25 anonim ***** válasza:
58%

Én a mai programozási módszerekhez képest én olyan közepes szintre sorolnám. Minden viszonyítás kérdése. Az assembly-hez képest magas szintű nyelv. Egy Java, C#, Python, stb. nyelvhez képest alacsony szintű. Erre azt a magyarázatot tudom adni, hogy C++-ban a memóriakezelés teljes mértékben a te felelősséged, illetve a compile során előállt bináris nem cross-platform.


Ez csupán az én személyes véleményem persze.

2022. dec. 29. 03:22
Hasznos számodra ez a válasz?
 2/25 anonim ***** válasza:
47%
Talán azért mondják alacsonyszintűnek, mert - sokan hangoztatják - hogy a fordított kód "szinte olyan" mintha assembly-ben írták volna.
2022. dec. 29. 03:37
Hasznos számodra ez a válasz?
 3/25 anonim ***** válasza:
77%

Azért vannak magasszintű tulajdonságai is, és attól hogy a bináris nem crossplatform még a kód lehet az. A python és java esetében se csak úgy mennek a dolgok mindenhol, kell nekik futtatókörnyezet

Az STL-ben tengeteg minden van, amit így nem kell neked megcsinálni (vector, hashmap, keresés, stringek, stb), amit egy alacsonyszintű nyelvben meg kéne.

Modern C++-ban vannak smart pointerek, amikkel lényegében ki lehet váltani a memóriakezelést, de persze ettől csinálhatsz saját memóriakezelő kódot az optimalizálásához.

Ráadásul több programozási paradigmát is támogat, pl. a procedurálisat, mint amilyen a C, az objektumorientáltat, és úgy tudom valamennyire belegyömöszölték már a funkcionális programozást is.

2022. dec. 29. 03:47
Hasznos számodra ez a válasz?
 4/25 anonim ***** válasza:
72%

Low, mid, high level language. Ezek a meghatározások nem egzaktak. Nincs pontosan körül írva, hogy mi számít alacsony szintnek, ahogy az sem, mi az ami már magas.

Általános megközelítésben, az alacsony szintű nyelvek gépközeliek, azaz el lehet velük érni a vasat, jellemzően nincs, vagy nem feltétlenül van köztes layer (API) a programozó és a hardver között, bár ez nem kitétel. Ezen túl, az eszközkészletük szegényes*, nem támogatják az OOP-t sem.

A high level nyelvek eszköztára viszont bőséges, velük egy utasítással meg lehet valósítani azt, ami egy low level nyelv esetében tucatnyi, vagy több tucatnyi utasítást igényelne. Pl . split, sort.

A high level nyelvek esetében kényelmesebb a fejlesztés, a kód írására fordított idő lerövidül. Cserébe lassabb, erőforrás-igényesebb kódot kapunk, mintha ugyanazt low level nyelven írtuk, irattuk volna.

A mid level language, mint jelző, a szakmában nem használatos. Ettől függetlenül, beékelhető egy ilyen fogalom is a két előbb jellemzett közé. Talán a C lehet a kivétel, azt nevesíti pár szakkönyv mid level nyelvként. Ha ezt elfogadjuk alap definíciónak, akkor low level nyelv az assembly és high level nyelv a C++.

Más szakmabeliek szerint viszont a C egy alacsony szintű nyelv. Én is ezt vallom.


A C++ egyébként olyan nyelv, ami tartalmazza a low level nyelvekre jellemző lehetőségeken túl a high level nyelvek eszközgazdagságát, multiparadigmusát is.


* A szegényes itt nem a kevésre való utalás, hanem arra, hogy a nyelv egy-egy utasítása, önmagában nem képes, csak alig valamire. Érdemibb dolog, low level nyelven, csak több utasítás egymásra ható felhasználásával, kombinálásával valósítható meg.

2022. dec. 29. 09:26
Hasznos számodra ez a válasz?
 5/25 anonim ***** válasza:
0%
Egyik sem, inkább egy közepes.
2022. dec. 29. 11:52
Hasznos számodra ez a válasz?
 6/25 A kérdező kommentje:
#2 Ez igaz. Nekem is mondták egyszer, hogy bizonyos egyszerűbb dolgok, pl. összeadás, nem sokkal lassabb, mint assemblyben.
2022. dec. 29. 14:47
 7/25 A kérdező kommentje:
#4 Igazad van. A mai hardverekkel, már javascriptben is lehet olyan 3D-s játékot írni, ami simán megy. Csak gyorsabban.
2022. dec. 29. 14:50
 8/25 anonim ***** válasza:
Nagy programok esetén sokszor gyorsabb a C++, mint az Assembly, mert a fordító elég jól tud optimalizálni. Ahhoz, hogy Assembly-ben olyan szinten tudj hatékony kódot írni elég pengének kell lenni
2022. dec. 29. 14:53
Hasznos számodra ez a válasz?
 9/25 A kérdező kommentje:
Akkor mégse gyorsabb, csak nehéz olyan jó programozónak lenni.
2022. dec. 29. 15:32
 10/25 anonim ***** válasza:
77%
Az Assembly akkor lesz gyorsabb, ha jó programot ír valaki benne, kifejezetten optimalizálva. Egy magasabb szintű nyelvben magasabb szinten könnyebben lehet optimalizálni, pl. nem a függvény belsejét optimalizáljuk agyon, hanem más architektúrát használunk, ahol eleve kevesebbszer van meghívva. Ez most egy buta példa volt persze, de nem olyan egyszerű a dolog, hogy ez gyorsabb vagy az gyorsabb
2022. dec. 29. 15:38
Hasznos számodra ez a válasz?
1 2 3

További kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!