Jövőre lenyomja a C# a C++-t, a C pedig a Java-t
2011-12-07T15:06:14+01:00
2012-02-02T10:04:58+01:00
2022-07-24T06:27:20+02:00
  • A topik címe nem a nyitó kérdés.
    A téma egy cikkre lett létrehoza a TIOBE indexről, ahol mellesleg a C# a jósolt módon "le is nyomta" a C++-t.
    Mutasd a teljes hozzászólást!
  • Ez szerintem nem drukkerkocsma-típusú kérdés. Más területeken érdemes használni ezeket.

    Én azt valószínűsítem, hogy mivel mindennapos problémák megvalósítására a .NET az alkalmasabb (C#), a speciális problémákra (ld. feljebb) pedig inkább a C++, ezért valószínűleg előbb-utóbb jelentősen nagyobb kereslet lesz a .NET szakemberekre.

    Ugyanakkor a C++ nyilvánvalóan nélkülözhetetlen, tehát szó sincs arról, hogy eltűnne. Az abban profi szakemberek (jelenlegi ismereteinkből kiindulva) feltehetően a belátható jövőben nem nagyon lesznek munkanélküliek.

    Ha pedig mégis, még mindig át tudnak nyergelni.
    Mutasd a teljes hozzászólást!
  • A nyitó kérdésre:
    Szerintem a C# soha,de soha nem nyomja le a jó öreg C++-t.
    Mutasd a teljes hozzászólást!
  • Ma egy legeslegáltalánosabb mezei hétköznapi programozó PHP-t, Java Script-et, HTML-t és CSS-t kódol.

    Az a webfejlesztő. A programozó C++/C#/Java-t használ. Legnagyobb jóindulattal se tudnám a HTML és css-t programozásnak nevezni.
    Mutasd a teljes hozzászólást!
  • Néhány segédfüggvény, LUA Jit és probléma megoldva.
    Mutasd a teljes hozzászólást!
  • Ahogy elnézem, a topic épp csak a nyitó kérdéstől kanyarodott el, de nagyon.

    Ma egy legeslegáltalánosabb mezei hétköznapi programozó PHP-t, Java Script-et, HTML-t és CSS-t kódol. Ezek közül a PHP C szintaktikára hajazik.
    Mutasd a teljes hozzászólást!
  • nem mindig

    persze, ez egyben olyan kódot eredményez hogy hajjaj...
    Mutasd a teljes hozzászólást!
  • Egyrészt, ezt azért szvsz senki nem vette komolyan.

    Másrészt, az hogy a forráskód hordozható egy dolog, az hogy egy build scriptet csinálsz minden környezetre egy másik dolog. A klasszikus C-s hello világ programot tudod fordítani ZX-Spectrumtól, Commodore64-en, PDP-11-en át linuxon, MacOS-en, Windowson, Commodore Amigán át az Android-ig vagy az IOS-en. De ezekhez más-más fordító környezet kell. Bizonyos dolgokat meg lehet oldani keresztfordítással is, de igazából ezt inkább úgy szokták megoldani hogy fenn van az összes platform amire fordítani akarsz (legalább emulátorban) és forráskódot az adott eszközzel fordítod.
    Mutasd a teljes hozzászólást!
  • A határidő lejárt.
    Sajnos nem kaptam értékelhető pályázatot.
    Mutasd a teljes hozzászólást!
  • igen, az összes platformra lenne vagy 1 hét összeállítani a build környezetet, de erre van a marmalade, ami ingyenesen kipróbálható, tényleg működik, nem csak elvileg, hanem aktívan használják.

    persze a cuccnak ára van, ha kereskedelmi alkalmazást akarsz kiadni, akkor évi 400$-ért az összes támogatott platformra fordít neked
    Mutasd a teljes hozzászólást!
  • Igazából a felvetett kérdések döntő többségénél nem jelenik meg a programnyelv. Ha Pl. az SQLite használatára keresel rá NHibernate alatt, akkor nem fogod megemlíteni a programnyelvet. Ugyanez igaz akkor is, ha Pl. a Zend frameworkkel vagy a yii-vel kapcsolatban kérdezel. Pláne így van ez, ha egy adott problémára keresel megoldást, azaz Pl. hogy hogyan kell használni az XXX függvényt - és itt csak az XXX-re fogsz rákereseni, miközben a programnyelvet meg sem említed.

    Nagyon nem érted, hogyan működik a TIOBE index összeállítása. Pedig csak el kellett volna olvasni a már korábban islinkelt doksit.

    A TIOBE nem a keresések alapján rangsorol (honnan is lenne információja arról, hogy hányan és hol kerestek mire) - tehát tök irreleváns, hogy az NHibernate-ra hogyan keresnél rá. Ehelyett úgymond ő maga keres rá a nyelvekre (ill. azok alváltozataira) a weben, Wikipedia-n, videókban, stb. különböző módokon, az így kapott halmazból lehetőség szerint megpróbálja kizárja a fals találatokat (pl. keresztmetszet képzéssel a találati halmazok között, ill. kézzel ellenőrizve a legelső 100 találatot véletlenül egyező, kizárandó kifejezések után kutatva), majd ez alapján állít fel arányszámokat a nyelvek között.

    Így az, hogy te - vagy akárki más - hogyan keresne rá egy adott nyelvhez köthető technológiára, teljesen irreleváns és abszolút nem befolyásolja a TIOBE indexet.

    A Stack Overflow-on is elég gyakori hogy még tag formájában sem szerepel a nyelv. Most Pl. van olyan hogy Audio-Signal processing, Andorid wcf, Iphone IOS Cocoa-touch, Sinatra Mongoid, JQuery Ajax, Android listview stackoverflow tabwidget. Stb.

    Így hirtelen ránézve a nyitóoldalra minden nyelvfüggő és/vagy konkrét nyelvehez köthető problémánál ott van címkében a nyelv megjelölve. Lásd csatolt kép!
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Srácok, nem állítom, hogy lehetetlen a feladat, csak azt, hogy szerintem b@romi nehéz!
    Ezért inkább fizetek érte 100K-t, minthogy én szívjak vele hetekig.

    Szóval, az ajánlatom továbbra is áll, aki elsőnek elküld egy HelloWorld.c-t és egy-egy build script-et a felsorolt platformokhoz, az kapja a felajánlott összeget.

    Természetesen azt elvárom, hogy a build scriptek-által generált programok, működjenek az adott platformon, ez gyakorlatban annyit jelent, hogy megjelenítsenek egy "HelloWorld" szöveget, az most mindegy, hogy valami fekete-fehér console, vagy színes-szagos UI.
    Az nem egy megoldás, hogy valaki azt írja "vegyem meg az XYTool-t, platformonként 5000$/év, és akkor elvileg működni fog". Ha a build script-nek szüksége van valamire (fejlesztőkörnyezet, fordító, sdk, config, stb.), akkor az legyen mellékelve.

    A határidő 2011. december 31. éjfél.
    A legelső helyes megoldást beküldő ember kapja a pénzt. Nincs részteljesítés, pl. ha a felsorolt 6 platform közül csak 4-en működik, az nem elfogadható.

    Hajrá!
    Mutasd a teljes hozzászólást!
  • A Stack Overflow-on is elég gyakori hogy még tag formájában sem szerepel a nyelv. Most Pl. van olyan hogy Audio-Signal processing,
    Andorid wcf, Iphone IOS Cocoa-touch, Sinatra Mongoid, JQuery Ajax, Android listview stackoverflow tabwidget. Stb.

    Nem mondom, ott azért elég gyakori hogy meg van jelölve a programnyelv - de gondolom azért, mert amikor kérdezel ki kell választani. Ahogy a prog.hu-n is. De ha a goglin keresel, akkor nagy valószínűséggel csak azt fogod begépelni amit a SO-n is olvashatsz mint címeket.
    Mutasd a teljes hozzászólást!
  • Azért tényleg igaz, hogy minden komolyabb kérdésfeltevő szájton amit ismerek (pl. stackoverflow, codeproject, prog.hu) ott szerepel a programnyelv is a kérdéseknél legalább egy tag formájában


    szerk: ja hogy editáltad a hozzászólásod

    Igazából szerintem nyelvre leginkább akkor keres az ember, ha elsőként tanulja az adott nyelvet.


    Nem számít túl sokat a tiobe indexbe, hogy mennyit kerestek az adott nyelvre.


    Mutasd a teljes hozzászólást!
  • Igazából a felvetett kérdések döntő többségénél nem jelenik meg a programnyelv. Ha Pl. az SQLite használatára keresel rá NHibernate alatt, akkor nem fogod megemlíteni a programnyelvet. Ugyanez igaz akkor is, ha Pl. a Zend frameworkkel vagy a yii-vel kapcsolatban kérdezel. Pláne így van ez, ha egy adott problémára keresel megoldást, azaz Pl. hogy hogyan kell használni az XXX függvényt - és itt csak az XXX-re fogsz rákereseni, miközben a programnyelvet meg sem említed.

    Igazából szerintem nyelvre leginkább akkor keres az ember, ha elsőként tanulja az adott nyelvet. És itt mindjárt megvan hogy miért a C és a Java vezet - szvsz mostanság ez az amit először tanítanak az iskolában mint programnyelvet. Ez persze csak tipp, de nem hiszem hogy ma is a Turbo Pascal lenne a nyerő mint az én időmben.
    Mutasd a teljes hozzászólást!
  • Ne tegyél könnyelmű ígéretet. Az stdio.h függvényei így vagy úgy szerintem minden platformon megvannak, amilyen platformokon eddig C-ben fejlesztettem (Commodore 64, CP/M, RSX-11, DOS, Windows, MacOS 6.X, Linux) ott az alapkönyvtárak (stdio.h, stdlib.h, stb) implementálva voltak. De a neten keresgélve azt fogod látni, hogy az Android NDK-ban is implementálva vannak ezek:

    Android és C

    Ugyanehhez IOS-nél már picit telepíteni kell, de azért elérhető, lásd:

    C alkalmazás fordítása IOS-re.

    Azaz el lehet mondani, hogy a


    #include int main(int argc, char **argv) { printf("Hello, world!\n"); return 0; }

    kód bizony mindenütt lefordul.
    Mutasd a teljes hozzászólást!
  • Mondjuk nem annyira hiszem hogy akár Androidon, akár IOS-en túl sokan használnának ogg vorbist, a világon az mp3 terjedt el, az ogg formátumot szinte senki sem használja. Az sem hiszem hogy túl sok mplayer felhasználó lenne IOS-en vagy Androidon. Nekem mint geeknek nagyon cool hogy megy a DOSBox, vagy a Free Heroes2 a ZTE Blade-en (bár ez utóbbit igazán használni nem lehet a ratyi egérkezelés miatt), az előbbi meg túl lassú ehhez, illetve hogy megy a VICE nevű Commodore 64 emulátor, meg van Python, PHP, Ruby, és régi stílusú Basic a mobilomon, de szvsz ezek eléggé rétegigények.
    Mutasd a teljes hozzászólást!
  • mod: @tabanyi
    A marmalade pedig akkora jó, hogy nem is kell mindenféle platformhoz felraknod a build környezetét, hanem csak bepipálod, hogy mire forduljon le, és kidobja a binárist. Ezt pedig úgy éri el, hogy minden támogatott platformhoz vannak előre lefordított statikus libjei, amik a közös a headeröket implementálják. Csak a marmalade headerjeit includeolhatod be, ha platformfüggetlen kódot akarsz, és a GCC a választott platform szerint linkeli össze kódodat a platformhoz tartozó statikus libek használatával.
    Mutasd a teljes hozzászólást!
  • Nem fordítottam le az összes platformra, de elméletileg működik (android-on, és az emulátorban működött pár hónapja...).
    Nekem nincs rá időm, de töltsd le a marmalade-ot.
    Ott vannak a példaprogik, és már fordíthatod is arra, amire csak akarod.
    Mutasd a teljes hozzászólást!
  • Miért ne sikerülne neki?
    Annyi az extra, hogy a header fájloknak több implementációja van,
    ha a platformokon valamit a szokásostól eltérően kell megvalósítani.
    Az egyes build scriptek pedig beállítják, hogy melyik .c fájl fordításával próbálkozzon az adott platform esetén a fordító.

    itt egy open source projekt, ahol közelebbről is megnézhető, hogy is megy ez a gyakorlatban:
    PJSIP - Open Source SIP, Media, and NAT Traversal Library
    Ez lefordul csont nélkül windows mobile, windows, ios és symbianra. Továbbá van egy pjsip-android ág is, ami pedig androidra. Ebből windows mobile, windows, ios, androidra én is lefordítottam, működik is. A mac os x-en és symbianon is megy, erről a projekthez tartozó levelező lista árulkodik.

    Ezért ratyi a windows phone 7, arra nem lehet lefordítani az ezeréve fejlesztett opensource projekteket, mint pl. az ffmpeg-et (vlc, mplayer). .NET-ben meg senki nem fogja újraírni a ogg vorbis, x264, meg mittoménmilyen kodekeket.
    Mutasd a teljes hozzászólást!
  • Erre kíváncsi leszek

    @
    NevemTeve
    ez egy hír kommentjei miatt létrejött topic.. nem csoda, ha elkalandoztak
    Mutasd a teljes hozzászólást!
  • Meta: Pontosan mi köze a topik címének a tartalmához? (Vagy fordítva.)
    Mutasd a teljes hozzászólást!
  • Tényleg sikerült módisítás nélkül lefordítani a feladatkiírásban szereplő összes platformra?
    Amennyiben igen, akkor kérlek tedd közzé a telepíthető/futtatható fájlokat és az előállításukhoz szükséges build script-eket.
    Nem viccelek, ez nekem megér 100K-t.
    Mutasd a teljes hozzászólást!
  • A cikkben idézett kimutatás viszont pont arra enged következtetni, hogy a C nagyon népszerű, így valószínű, hogy a mezei programozók közül is sokan használják - aminek a személyes tapasztalatom ellentmond.

    A TIOBE által mért népszerűségnek a használathoz semmi köze. Legjobb közelítésben is max. arra engedhet következtetni, hogy hányan (ill. milyen arányban) ismer(het)ik az adott nyelvet, hányan lennének képesek benne programokat írni. Ezeknek azonban csak töredéke az, aki ténylegesen is dolgozik jelenleg is vele.

    A korábbi nyelvek ráadásul előnyben vannak az indexben az újabbakkal szemben azon egyszerű okból kifolyólag, hogy azok esetében hosszabb idő állt rendelkezésre a megszámolt anyagok akkumlálódására, felhalmozódására. A másik oldalon ugyanakkor nyilván a fejlesztők közül is pont ezen okból kifolyólag többen lehetnek (még) akik ismerik a régebbi nyelveket, mint az újakat.

    Mondjuk érdekes kérdés, hogy 10-15 év múlva, amikorra már biztosan tömegesen kezdenek kiörögedni akár az első Java fejlesztők is, miközben a Java anyagok nagy része megy ilyen vagy olyan formában feltehetően megmarad majd azért a neten, mennyire válik majd ezen diszkrepancia miatt teljesen hamissá minden ilyenfajta mérés. Mondjuk C és C++ esetében már valószínűleg most is jelentős lehet az ebből adódó eltérés, "tévedés" a mérésben.
    Mutasd a teljes hozzászólást!
  • Sztem azért,mert nincs normális interface-e és nincsenek hozzá jó GUI-k meg fordítók-nagyban elijeszti a kezdőket.
    Mutasd a teljes hozzászólást!
  • Fizetek neked (vagy bárkinek) 100000 forintot, ha tisztán C-ben írsz egy olyan HelloWorld programot, ami változtatás nélkül lefordul és fut iOS, Android, Windows, Linux, OSX és Symbian platformokon.


    http://www.madewithmarmalade.com/devnet/docs#/main/creatinganapplica..

    Hova küldjem a számlaszámom?
    Mutasd a teljes hozzászólást!
  • Szerintem gyakran az egyszerűbb eszközzel (itt a C) van több probléma. Miért ne válasszon a programozó ennél több lehetőséget biztosító programozási nyelvet, mint pl. a C++ (amelynek a C részhalmaza), és miért ne használja ki a nyelv által biztosított többlettudást?
    Mutasd a teljes hozzászólást!
  • Éppen azért vetődött fel bennem a kérdés, mivel sem én, sem a környezetemben dolgozó ismerős programozók nem használnak kimondottan C-t a fejlesztéshez. (Kivéve 2 egyetemista ismerősömet, náluk viszont adott a tananyag.) A cikkben idézett kimutatás viszont pont arra enged következtetni, hogy a C nagyon népszerű, így valószínű, hogy a mezei programozók közül is sokan használják - aminek a személyes tapasztalatom ellentmond.
    Mutasd a teljes hozzászólást!
  • Szerintem minden olyan esetben amikor fölösleges illetve pont az objektum orientált nyelvek előnyei bonyolítanák el a megoldandó feladatot. Hardver fejlesztés, beágyazott rendszerek.
    De igazából mindent lehet már Java ban meg C# ban programozni.
    Mutasd a teljes hozzászólást!
  • Senki sem akar összetettebb/nehezebben tanulható, stb. nyelvet/eszközt használni mint ami az elvégzendő feladathoz feltétlenül szükséges. Ilyen megközelítés alapján nem a programozót kell hétköznapinak tekinteni, hanem a feladatot.
    Hétköznapi feladatot majdnem minden nyelven meg lehet valósítani.
    Szóval:
    Q: Meg lehet vele oldani hétköznapi feladatot?
    A: Bármilyen feladatot meg lehet oldani vele.
    Q: A hétköznapi feladatokat C nyelven valósítják meg?
    A: Általában nem.
    Egyébként majdnem mindent Java-ban írok. Amikor a Java lehetőségei véget érnek akkor előveszem a C/C++ -t. Még mindig egyszerűbb a kritikus részt megírni az adott platformra mint a teljes programot.
    Mutasd a teljes hozzászólást!
Címkék
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd