Kezdőoldal » Számítástechnika » Egyéb kérdések » Van értelme a C-nek 2021ben?

Van értelme a C-nek 2021ben?

Figyelt kérdés
Én magam a számítástechnikát csak hobbiként űzöm, és nem is ebbe az irányba tanulok, viszont barátom igen, és mondta hogy egyetemen ezt a nyelvet "tukmálják rá". Érdekel hogy mi értelme van a C-nek, miért nem modern és hasznosabb nyelveket oktatnak mint Python, de akár egy C++ vagy C#. Vagy rosszul látom, hogy mostmár semmi értelme nincs elölre írt könyvtárak nélkül dolgozni?
2021. ápr. 29. 05:03
 1/7 anonim ***** válasza:
100%

A C kicsi, egyszerű, gyors, nagyjából minden platformra létezik hozzá fordító, és vannak olyan területek (pl. kernelfejlesztés, beágyazott rendszerek), ahol megkerülhetetlen.

Könyvtárak természetesen a C-hez is léteznek, de még mennyi...

2021. ápr. 29. 05:50
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
100%

Persze, hogy van.

Túl azon, hogy mondjuk beágyazott rendszereket, rendszerközeli szoftvereket, és valós idejű rendszereket finoman szólva is pazarló lenne pl. C#-ban írni, azt azért ne felejtsük el, hogy a C nagyon sok másik nyelvnek az alapja. Többek között a C++-nak is, ami lehet, hogy nem egy divatnyelv, de még mindig a legnépszerűbb nyelvek között van, és tulajdonképpen a C bővítésének is tekinthető. De C-alapú szintaxist használ például a Java, a Perl, a JavaScript, a PHP, a C#, a D, stb, stb...

Továbbá: lehet, hogy a Python és a C# trendibb, de ezekkel nem fogsz a dolgok mögé látni úgy, mint a C-vel. És az egyetemnek messze nem az a célja, hogy betanított kódereket képezzen a szomszédos szoftverfejlesztő KKV éppen aktuális kedvenc nyelvében, hanem az, hogy egy időtálló, átfogó tudást adjon, aminek 15 év múlva is akár közvetlenül, akár közvetetten (!) hasznát tudod venni.

Meg halkan jegyzem meg, hogy a tanuláshoz nem mindig az a legjobb eszköz, amivel dolgozni is fog az ember. Olyasni is olvasókönyvből tanultál meg, és nem Coelho műveiből, előbbit mégsem veszik tömegszám az emberek. ;)

2021. ápr. 29. 05:56
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
100%

"semmi értelme nincs elölre írt könyvtárak nélkül dolgozni?"

Ha szerinted ilyenek nincsenek C-hez, akkor alapszinten sem ismered a nyelvet. A C a moduláris programozás egyik mintanyelve.

2021. ápr. 29. 05:57
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:

"mostmár semmi értelme nincs elölre írt könyvtárak nélkül dolgozni"

És szerinted pl. a Python könyvtárak függvényeit milyen nyelven írják? Vagy az lenne a legjobb, ha egy-két generáció múlva már a képzett szoftveres mérnökréteg sem értene a C-hez? Te talán nem látod, de a C a mai napig erősen az alapja a moduláris programozásnak, nem csak C területen.

2021. ápr. 29. 08:58
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
Utolsó részt úgy értettem hogy azokat az egyetemen nem használhatják, sajáttal kell dolgozni
2021. ápr. 29. 09:19
 6/7 anonim ***** válasza:
100%

"miért nem modern és hasznosabb nyelveket oktatnak"

Jobb helyeken nem programozási nyelveket oktatnak, hanem programozást, aminek az eszköze a programozási nyelv. Ha barátod Python-fan, semmi akadálya, hogy amit órán tanulnak, azt utána Pythonban is megvalósítsa. (Pár nagyon nyelvfüggő dolgot leszámítva.) Elvégre élesben is ez így fog működni. Abban ne reménykedjen, hogy most megtanul egy nyelvet, és évtizedekig abból fog megélni. Egy ideig talán, de idővel kénytelen lesz más nyelvet és technológiát is elsajátítani, mégpedig egymaga.

2021. ápr. 29. 09:31
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

"azokat az egyetemen nem használhatják, sajáttal kell dolgozni"

Nekik kell elemi rendszerhívásokkal implementálni még a printf-et is?

Kötve hiszem.

Értem én, hogy te mire gondoltál, de rosszul fogalmaztad meg. ;) A C nyelv - előre megírt könyvtárak nélkül - még szöveg beolvasására és kiírására sem alkalmas. Ami persze nem valami negatívum vagy csökevényesség, hiszen pont erről szól a moduláris programozás. Könyvtárak nélkül a nyelv csak egy szűk utasításkészletet tartalmaz, azért, hogy feleslegesen semmit ne fordítson bele olyasmiket, amikre az adott feladathoz nincs is szükség. Mondjuk ha én egy automatizálási feladaton dolgozok egy beágyazott rendszerben, ott tök felesleges a szöveges be- és kiviteli függvényeket berántani a programba. Ez is a C előnye, hogy nagyon nagy mértékben szabályozható, hogy az adott feladatban úgymond mire legyen képes a nyelv.

Ti úgy értettétek, hogy összetettebb feladatokat nem oldhat meg úgy, hogy netről levadássza valamilyen előre megírt implementációját a feladatnak, és ő meg csak lefuttatja a más által megírt megoldást.

De hiszen a tanulásnak pont az a lényege, hogy ő maga gondolkodjon, és jöjjön rá, hogy hogyan lehet a kiindulási pontból egy algoritmus segítségével a kívánt eredményig eljutni. Sajnos sok Python-os tanulónál látni azt, hogy egy feladat "megoldása" abból áll, hogy "na, ehhez milyen könyvtárat kéne letöltenem?" Gyakorlatilag előre elkészített algoritmusokat legóz össze, és fogalma nincs róla, hogy például egy logaritmikus keresés micsoda, hogyan működik, mik az előnyei, mik a hátrányai, stb.

Később, ha már képes magas szinten algoritmizálni, akkor nyugodtan használjon külső függvénykönyvtárakat... de ameddig az ember programozni tanul, addig nem célravezető, ha más rágja meg helyette az ételt. ;)

Egyébként is csínján kell bánni a netről levadászott könyvtárakkal. Tényleg meg tudják gyorsítani a munkát, de mi garantálja, hogy jól, és optimálisan működnek?

2021. ápr. 29. 09:46
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, 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!