Hirdetés

2024. április 26., péntek

Gyorskeresés

Hozzászólások

(#29) chey


chey
csendes tag

Beszállnék én is egy kicsit, mert LabVIEW, C, C++ tapasztalatom is van. Szeretném leírni az előnyöket és a hátrányokat:

LabVIEW:
előny: azért jó, mert bárki (értsd: bárki) gyorsan, könnyen és fájdalommentesen meg tud benne tanulni programozni. Ha nem tudsz még programozni (vagy csak kicsit), megtanulhatod a ciklusokat, elágazásokat, ha nagyon belemélyedsz, még a többszálú tervezést, szálbiztos működést is elsajátíthatod. A debuggere futás közben, valós időben is engedi megnézni az egyes értékeket, ami egyes esetekben rendkívül előnyös. Csak és kizárólag a grafikus felhasználói felület megtervezése és átgondolása után tudsz benne bármit is fejleszteni, így nagy tapasztalatra tehetsz szert a GUI és a funkcionalitás összehangolásának terén.
hátrány: fizetős és drága. Ezen kívül nagy memóriaigényű ill. nagy számítási kapacitást igénylő feladatok elvégzésére alkalmatlan, mivel a memóriakezelése csapnivaló. Bár bizonyos mértékben befolyásolható az erőforrások elosztása, egy nagy projekt esetén valószínűleg a LabVIEW környezet korlátaiba fogsz ütközni.

C++ :
Bár volt C++ tapasztalatom, az elég korlátozott volt, és mellette szinte kizárólag LabVIEW-t használhattam csak hosszú évekig. Amikor munkahelyet váltottam, a Sams Teach Yourself C++ in 24 Hours könyv 2011-es kiadásából készültem. Ennek a könyvnek az egyik első mondata az, hogy a C++ -hoz nem kell tudni C-ben programozni, sőt az akár káros is lehet. Az ezredforduló környékén készült C++ könyvek mind C-t tanítanak, csak van egy objektumorientált fejezetük (meg néhány apró eltérés, pl. printf helyett cout, stb.). A fent említett könyv más szempontból mutatja a nyelvet, ami szerintem nagymértékben lecsökkenti a tanulási időt, növeli az élvezetet a tanulás közben, és azután növeli a produktivitást.
előny: nagyméretű projekteket lehet benne áttekinthetően fejleszteni (megfelelő feljesztőkörnyezet esetén), ugyanakkor a C-ben tanult technikákkal extrém hatékony hardverközeli kód fejlesztését is lehetővé teszi. A C++ 11 már olyan funkciókat vezet be, amik jelentősen megkönnyítik a programozó életét. Ilyenek pl. garbage collector-hoz hasonló működés annak overhead-je nélkül, lambda függvények, generikus programozást segítő eszközök. Mindemellett a C++ minig törekszik a leghatékonyabb fordításra, ami pl. egy szimuláció esetén megnövelheti a számítási teljesítményt Java-val vagy C# -pal szemben. Léteznek olyan fejlesztőkörnyezetek, amikkel a Java-hoz hasonló egyszerűséggel lehet felhasználói felületet készíteni.
hátrány: az első és legfontosabb a pointerek és referenciák. Kétségtelenül hatékonyak, de nagyon észnél kell lenni a használatuk során. Ezen túl a C-vel való (nem teljes) kompatibilitás inkonzisztenciákat okoz, ami pl. a Java-ra nem jellemző.

C:
Majdnem Assembly hatékonyságú kód írását teszi lehetővé, a Pascal-nál bővebb funkcionalitással. Véleményem szerint Pascal-t könnyebb tanulni, mint C-t, de megéri a befektetés. Csak akkor ajánlom a C-t, ha hardverközeli programot szeretnél írni, pl. eszközillesztőt, vagy éppen mikrovezérlő programját.
előny: pointerek és referenciák. Olyan, mintha még egy dimenziót kapna az ember.
hátrány: pointerek és referenciák. Nehéz megérteni őket, a különbséget közöttük (főleg a * és & operátorok keverése miatt), és úgy el lehet közöttük keveredni, mint vasorrú bábának a mágneses viharban.

Java: nincs pointer és a C++ -ra jellemző inkonzisztencia. De lassabban is fut :) Ha nem szeretnél a pointerekkel és referenciákkal bajlódni, de szeretnél nagyobb projekteket fejleszteni, válaszd a Java-t.

[ Szerkesztve ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.