Gyurkity Péter

Alkotója szerint egyre többen térnek vissza a C++ nyelvre

Bjarne Stroustrup, a C++ programozási nyelv alkotója szerint nem igaz az a korábban elhangzott állítás, miszerint az újabb programozási nyelvek előnyt élveznek gyermekével szemben, sőt, egyre többen állnak vissza rá.

Stroustrup, aki jelenleg a Texas A&M Egyetem professzora, az ACCU konferencián fejezte ki meggyőződését, és hangsúlyozta, hogy a Java, valamint a C# növekvő népszerűsége ellenére a C++ nyelvre még számos rendkívül sikeres év vár. "A C++ elterjedtebb mint korábban bármikor, és jelenleg mintegy 3 millió programozó használja a nyelvet világszerte. Bármerre nézünk, mindenütt a C++ terjedését láthatjuk - újabb és újabb projektek indulnak, és egyfajta visszarendeződés történik a világban, ahogy egyre többen térnek vissza a jól ismert, megszokott programozási nyelvhez" - jelentette ki Stroustrup.

Szerinte ez a folyamat azért nem ilyen nyilvánvaló, mert a C++ népszerűsítése nem kiterjedt reklámkampányon keresztül történik, ellentétben az újabb programozási nyelvekkel. A Sun például büszkén hirdette a Java szerepét a Mars Rover programban, viszont nem esett szó arról, hogy a felszín analizálásánál, valamint az útvonaltervezésnél a C++ legalább ilyen fontos szerepet játszott.


A Sun a Javat büszkén reklámozta a Mars Roverrel

Érdekes módon a professzor állításait a kutatócégek által végzett felmérések nem támasztják alá. Az Evans Data elemzői például saját adataik alapján arra a következtetésre jutottak, hogy az elmúlt hat évben folyamatosan csökkent a C++ nyelvet használó programozók száma, és arányuk az 1998-as 76 százalékról 2004-re 46 százalékra zuhant. Hozzátették azonban, hogy a csökkenés üteme az elkövetkezendő évben lelassul, és a nagyvállalatok a jelenlegi helyzethez hasonlóan egyszerre több programozási nyelvet használnak majd.

A Forrester Research elemzése az elkövetkezendő éveket tekintve hasonló következtetésre jutott. Véleményük szerint a szoftverfejlesztő cégek továbbra sem fognak kizárólag egy nyelvre támaszkodni, és a fejlesztési munkálatok az esetek többségében továbbra is a C++, a Visual Basic, illetve a Java között oszlanak majd meg. "Nem támaszkodik valós alapokra az a nézet, miszerint a világon jelenleg két jelentős programozási nyelv - a Java és a C# - létezik" - jelentette ki James Governor, a Redmonk kutatócég elemzője. "A C++ szerepe még mindig jelentősnek mondható, és nem szabad megfeledkeznünk a szkript nyelvek - a PHP és a Python - fontosságáról sem."

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • Robin Hood #33
    A string mint típus tulajdonképp egy változó, az osztály pedig változók és az azokat kezelő függvények összessége egybezárva. Ebből kifolyólag egy változó kevesebb helyet foglal, egyszerűbb kezelni, cserébe mindenki láthatja az adott érvényességi helyen belül. Persze lehet úgy is felfogni hogy minek ide optimalizáció, vegyünk a gépbe mégtöbb ramot, vinyót, de azért egy magas(abb) szintű nyelvben se kell feleslegesen pazarolni az erőforrást, még akkor se ha alapból nem olyan hatékony mint az asm.

    A legfontosabb azonban a string elérése. Char[] esetén csak pointerrel címezheted (indirekt), változó és class esetén érték szerint is adhatsz át. A pointeres címzés amellett hogy hozzáértő kezekben nagyon hasznos lehet, kevésbé hozzáértőknél a leggyakoribb hibaforrás. Arról nem is beszélve hogy string típus hiányában egyik függvény AnsiStringet ad vissza, a másik másmilyen strin osztályt vár bemenetként, aztán konvertálhatsz oda-vissza, ami szintén hibaforrás, és a futást lassító tényező.

    Nem véletlen hogy a Java után a C#-ba is bejött a string típus (pascalban már volt alapból).
  • BiroAndras #32
    Mennyiben rosszabb egy string osztály egy beépített típusnál ?
  • Robin Hood #31
    Akkor hogy felfogd: string típus N-I-N-C-S C++-ban. Van AnsiString O-S-Z-T-Á-L-Y, meg K-A-R-A-K-T-E-R-T-Ö-M-B típus. Ez egyik se string T-Í-P-U-S, csak annak valamiféle pótléka. Mert pótolni azért lehet. De a hengerfejből se ugyanaz a gyári Honda, mint a vietnami utángyártott... Ezek a tények, amit rajtad kívül mindenki tud. A szánalmas bizonyítványmagyarázásod meg nem érdekel, vegyél inkább a kezedbe egy C++-os könyvet, sosem késő tanulni!
  • CAD #30
    Nezd baratom amit csinalsz az semmi mas mint szorszalhasogatas - raadasul teljesen ertelmetlen modon.

    Azt irtad, hogy kihagytak a C++-bol a string tipust, melyre a valaszom az volt hogy a string osztaly a C++ standard resze. Ezek utan te elkezdtel valamit kavarni, amelynek a vilagon semmi ertelme.

    A C++ -ban a felhasznaloi tipusok (leirom meg1x, hogy felfogd: tipusok) megadasara hasznalhato egyik eszkoz a class, azaz osztaly. Minekutan a string C++ template osztaly (char mint aktualis parameter) a C++ standard konyvtar resze innentol kezdve a C++ reszet kepezi a string tipus, megha az template osztaly segitsegevel is van megvalositva.

    A C++ rendelkezik ugynevezett beepitett tipusokkal is, ezek a int, char stb., de ismet hangsulyozom, ezek beepitett tipusok, es ugyanugy a C++ reszei mint a string felhasznaloi tipus, de ha mar szorszalat hasogatunk, te tipusrol beszeltel, nem beepitett tipusrol (remelem most erre elmentel vagy 3x, hogy a reszletek mocskos getvajaba tocsogunk).

    Hatalmas tevedesbe vagy ugyanakkor, ha azt gondolod, hogy a nyelv nem mas mint a szintaktikus, szemantikus szabalyok, tovabba a beepitett tipusok, vezerlesi szerkezetek stb. osszessege, ugyanis a kore epitett standard konyvtarak ugyanugy a nyelv reszet kepezik altalaban, igy a C++ eseteben is. (Remelem megvolt a 4. is)

    Ha ezzel ugy gondolod, hogy vitatkozni szeretnel, akkor javaslom, hogy valamely BTK-s ismerossel tedd, mert filozofiai kerdesek megvitatasara nem ez a megfelelo kozosseg es forum sem.

    Namost innentol kezdve gondold at, hogy valojaban mit is szerettel volna irni mert latom felremagyarazni dolgokat, feleslegesen kioktatni emberekt azt kivalloan tudsz... csak ertelmet nem latom.
  • trabant #29
    Amíg egy keygent vagy 64k demot kell lekódolni, addig lehet asm-ban is wizardkodni, de ha vmi nagy progit kell alkotni, főleg határidőre, akkor senki nem fogja megvárni amíg elszöszmötölsz API hívásokkal. Akkor már ketyeg a kötbér, ami a te bőrödre megy...
  • trabant #28
    Vagy ezt:

    Standard C++ Library Reference

    string
    A type that describes a specialization of the template class basic_string with elements of type char as a string.

    typedef basic_string<char> string;



    A másik linkeden is egyből kiszúrja az ember szemét: String constructors Típusnak ugyebár nem nagyon van konstruktora. Kösz a linkeket, jól alátámasztottad amit mondtam. :D
  • trabant #27
    Ugye el is olvastad mi van az MSDN-es linkeden? Idézem:

    The C++ language supports two types of strings:

    Null-terminated character arrays often referred to as C strings.
    Template class objects, of type basic_string, that handle all char-like template arguments.


    Ugye nem kell lefordítanom?
  • Benoke #26
    Igen, de hol van az leírva hogy ezt kötelező szeretni? Fenntartom magamnak a jogot hogy utálljam.
  • Pheel #25
    "Köszönhető ez talán annak hogy próbáltam megismerkedni a Visual C++ -al, na számomra az minden de nem segítség :)"
    Már ne is haragudj, de ez inkább téged jellemez, mint a szerkesztőt... :-P
  • Benoke #24
    A nap legjobb mondása:
    "Szerintem akármennyi nyelv van mind jó valamire"

    Igen ez így van szerintem is, különben nem lenne, ha nem lenne jó valamire.