C oder C++?



  • Steffo schrieb:

    Nimm C schrieb:

    Denn bei kleinen Systemen, wie z.B. in der µC Programmierung üblich, wirst du oft kein C++ und keine STL haben und da der Speicher dort mickrig ist, ist selbstimplementierter Code meist sinnvoller.

    Ich wage zu bezweifeln, dass selbst implementierter Code effizienter im Speicherverbrauch und Performance ist. Das mag man bei überschaubarem Code sagen können, aber bei größeren Projekten? Auch in C gilt die Regel: Besser Libs verwenden, die sich seit Jahren bewährt haben, als irgendetwas selbst zusammen zu basteln.

    Ich glaube nicht, daß große Projekte auf mickrige µC laufen sollen.

    Wenn die µC schon so wenig RAM hat, das man an allen Ecken und Enden sparen muß, dann wird der µC sicher nur eine sehr kleine Aufgabe erledigen müssen und da ist man mit IMO spezialisiertem Code besser dran.



  • Danke fuer die vielen guten reaktionen 🙂

    es wird wohl darauf hinaus laufen dass ich mir erstmal das k&r buch hole und mit C anfange, um dann spaeter auf cpp zurueckzukommen. das einfach weil ich einen alten schulfreund habe der im moment an der fh c lernt und ich mich so mit ihm austauschen kann, und weil c (nicht dass ich das genau wuesste,aber) so klingt als waere es eben naeher am system, und ich fange prinzipiell eigentlich lieber bei den roots an 🙂

    lg, compul

    ps: mit linux sowohl software, welche es in cpp (e.g. kde, mag ich nicht) und auch c (gnome, mag ich nicht; awesome wm, liebe ich 🙂 ) gibt. ich wuerde mir aber nicht anmassen ernsthaft fuer ein system mitentwickeln zu wollen, welches ich nicht von grund auf verstehe. das kann doch nur schiefgehen 😛



  • compul schrieb:

    ich wuerde mir aber nicht anmassen ernsthaft fuer ein system mitentwickeln zu wollen, welches ich nicht von grund auf verstehe. das kann doch nur schiefgehen 😛

    Du wirst kaum jemanden finden, der ein System von Grund auf versteht. Ich denke z. B. nicht, dass Linus Torvalds noch großartig durchcheckt, was im Kernel abgeht. Zu vieles wurde von anderen commitet und zu vieles liegt über seinen Kompetenzen.



  • von grund auf war vielleicht die falsche bezeichnung.. ich meinte mehr sowas wie 'prinzipiell'? sorry, mein deutsch laesst nach hier in taiwan 😃



  • Was machst du in Taiwan? Dein Praktikum?



  • compul schrieb:

    es wird wohl darauf hinaus laufen dass ich mir erstmal das k&r buch hole und mit C anfange, um dann spaeter auf cpp zurueckzukommen.

    You_choosed(!(http://www.youtube.com/watch?v=-DGFuHC75aY));



  • @Steffo: Chinesisch lernen...und KungFu, Kalligraphie. mehr noch nicht. seit september 2010 jetzt. September 2012 werd ich dann ein physikstudium beginnen, vermutlich in taiwan.

    @Nimm C! ja... ich nehm doch c ^^ finde ich erstmal interessanter. wenn ich meine mit c klarzukommen, und das gefuehl habe cpp zu brauchen, dann wende ich mich dem mal zu.



  • compul schrieb:

    @Steffo: Chinesisch lernen...und KungFu, Kalligraphie. mehr noch nicht. seit september 2010 jetzt. September 2012 werd ich dann ein physikstudium beginnen, vermutlich in taiwan.

    Hey, du bist echt cool! *beneid* 🙂
    Guck dir auch mal Tai Chi an! Eine oft unterschätzte Kampfkunst, bzw. es ist mehr als das! 🙂

    Liebe Grüße
    Steffo



  • Es läuft so ab:

    Du fängst mit C an und bist von begeistert, jedoch wunderst du dich warum so viel über C++ geredet wird und später entschliesst du dich C++ zu erlernen, da es wie C aussieht aber dieses moderne OOP syntaktisch unterstützt. Du bist wiederum begeistert von diesem C++, fällst (wie bei C) oft auf die Nase.

    <Jetzt kommt die erste Verzwiegung>

    Fall A: Du bleibst ein ewiger C++-Programmierer, der alles andere ablehnt, weil die Lernresistenz den Drang nach Neuheiten überdeckt. Du trampelst von nun an auf der Stelle und versuchst deine kognitive Dissonanz zu reduzieren in dem du dich in C++ Foren "über die Vorteile von C++ gegenüber anderen Programmiersprachen austauschst". Dead End.

    Fall B: Du gehörst zur neugierigen Natur und bahnst dir deinen Weg durch die modernen Programmiersprachen. Du probierst neue beliebte Sprachen wie python und ruby aus, probierst bestimmt auch das so weit verbreitete Java, aus historischen Gründen (oder einfach aus Neugier) schaust du dir evtl lisp & scheme oder gar fortran an. Damit erweiterst du deinen Horizont unglaublich in Bezug zu Fall A. Früher oder später landest du jedoch bei Haskell. Jetzt wo du einen umfangreichen Überblick hast, bist du ein auf die Welt der Programmiersprachen bezogen ein Weltoffener Mensch und kannst dich weiter spezialisieren. Dein Wissen und dein Erfahrungsschatz reicht weiter als wenn du Fall A eingeschlagen hättest, unabhängig davon, ob deine Spezialisierung auf C++ fällt oder eine andere Sprache deiner Wahl. Frohes Proggen.

    In dem Sinne noch: bleibe neugierig!



  • @Steffo: taiji ist mit im programm 😉 und ist toll, ja
    ich wuerde mich auch beneiden waere ich nicht in taiwan 😛 bzw... dann ja nicht mehr 😕
    ich schliesse du betreibst taiji? sehr gut 🙂

    @Hellseher: definitiv neugierig bleiben 🙂 Java hab ich ja schon erfahrungen mit gemacht, scheme hab ich mir mal was inner uni zu angehoert.. klang nett. und das was du beschrieben hast (B) ist so in etwa der plan gewesen von vornherein 🙂



  • Ja, ich mache seit ca. 3 Jahren Tai Chi bzw. komme seit dem Studium leider nicht mehr so oft dazu... 😞
    Oh Mann, wenn ich 19 wäre, würde ich mir das glaube ich auch leisten, aber ich habe eine andere und ebenfalls interessante Laufbahn hinter mir. 🙂 Taiwan - ist sicherlich angenehmer als VR China. Man man man. 🙂

    Liebe Grüße
    Steffo



  • compul schrieb:

    @Nimm C! ja... ich nehm doch c ^^

    Nunja, deine erste C Aufgabe wird sein, nachzuschauen, was der ! Operator bedeutet, den ich oben vor die URL gesetzt habe. 😉



  • Steffo schrieb:

    compul schrieb:

    @Steffo: Chinesisch lernen...und KungFu, Kalligraphie. mehr noch nicht. seit september 2010 jetzt. September 2012 werd ich dann ein physikstudium beginnen, vermutlich in taiwan.

    Hey, du bist echt cool! *beneid* 🙂

    Alle Menschen die reich sind und sich teure Reisen an ferne Orte leisten können, die sich der einfache normale Bürger nie leisten können wird, sind cool. Wußtest du das denn nicht?

    ----
    Wer Ironie findet, der ist nicht doof.



  • Hellseher2.0 schrieb:

    Es läuft so ab:

    Du fängst mit C an und bist von begeistert, jedoch wunderst du dich warum so viel über C++ geredet wird und später entschliesst du dich C++ zu erlernen, da es wie C aussieht aber dieses moderne OOP syntaktisch unterstützt. Du bist wiederum begeistert von diesem C++, fällst (wie bei C) oft auf die Nase.

    <Jetzt kommt die erste Verzwiegung>

    Fall A: Du bleibst ein ewiger C++-Programmierer, der alles andere ablehnt, weil die Lernresistenz den Drang nach Neuheiten überdeckt. Du trampelst von nun an auf der Stelle und versuchst deine kognitive Dissonanz zu reduzieren in dem du dich in C++ Foren "über die Vorteile von C++ gegenüber anderen Programmiersprachen austauschst". Dead End.

    Fall B: Du gehörst zur neugierigen Natur und bahnst dir deinen Weg durch die modernen Programmiersprachen. Du probierst neue beliebte Sprachen wie python und ruby aus, probierst bestimmt auch das so weit verbreitete Java, aus historischen Gründen (oder einfach aus Neugier) schaust du dir evtl lisp & scheme oder gar fortran an. Damit erweiterst du deinen Horizont unglaublich in Bezug zu Fall A. Früher oder später landest du jedoch bei Haskell. Jetzt wo du einen umfangreichen Überblick hast, bist du ein auf die Welt der Programmiersprachen bezogen ein Weltoffener Mensch und kannst dich weiter spezialisieren. Dein Wissen und dein Erfahrungsschatz reicht weiter als wenn du Fall A eingeschlagen hättest, unabhängig davon, ob deine Spezialisierung auf C++ fällt oder eine andere Sprache deiner Wahl. Frohes Proggen.

    In dem Sinne noch: bleibe neugierig!

    Anstatt von C auf C++ umzusteigen ist es besser nach C erstmal auf Java umzusteigen und erst dann am Schluß C++, wenn nicht andere Sprachen wie Hasjell oder Python dazwischen kommen.

    Grund:
    Die objekt orientierte Programmierung lernt man mit Java besser und leichter.
    In C++ kann man so viel zwischen Objekt Orientiertem Design und prozeduralen Design vermixen, daß am Ende nur halbgarer Müll rauskommt, das weder gutes C noch gutes Objekt orientiertes Design ist.

    Deswegen sollte man diese Reihenfolge einhalten:
    1. C
    2. Java
    3. ne Scriptsprache wie Python
    4. C++
    5. Haskell

    Vor Java C zu können erleichtert es auch zu verstehen, was Java intern mit Objekten macht.



  • compul schrieb:

    @Hellseher: definitiv neugierig bleiben 🙂 Java hab ich ja schon erfahrungen mit gemacht,

    Und was heißt Erfahrung?
    Kannst du Java oder hast du nur mal kurz reingeschnuppert?



  • Und am Wichtigsten: Nicht so auf die C++-Basher hören.
    Es gibt hier ein paar (oder einen mit mehreren Namen), die wollen damit nur provozieren. Im Zweifelsfall bei kontroversen Themen nicht auf Unregistrierte hören.



  • volkard schrieb:

    Und am Wichtigsten: Nicht so auf die C++-Basher hören.
    Es gibt hier ein paar, die wollen damit nur provozieren.

    Wir C++-Basher sind in Wahrheit reine C++-ler, sag's niemand weiter,
    denn wenn er erstmal durch Java, Python, PHP, Haskel usw. durchgeht, dann ist die Wahrscheinlichkeit hoch, daß er bei einer Sprache einfach hängen bleibt und wir C++ -ler haben dann weniger Konkurrenz auf dem Arbeitsmarkt als C++ Programmierer. 😉

    Also @ TS, höre auf die C++-Basher, sie wissen was gut für dich ist.



  • @Nimm C! haha ~ der operator ist nicht allein C vorbehalten 😛 -- er sprang mir jetzt nicht ins auge.

    @Erkenner des Reichtums na ~~ ich hoffe mal ich habe da jetzt ironie gefunden? ich und reich - ein hohn. halte mich halt mit webdesign ueber wasser, und der lebensunterhalt hier hinten ist so viel billiger als in D, dass ich eher was einspare.

    @Fuer OOP erstmal Java hmm... mal schauen! ich hab gegen java ne starke ablehnung, alleine weils ein runtime environment braucht.. und das laeuft unter dem window manager meiner wahl (awesome wm<3) leider nicht immer einwandfrei. deinen einwand kann ich aber nachvollziehen .. vielleicht hilft ja nen gutes cpp buch um sich gute gewohnheiten zuzulegen. naja erstmal ist sowieso c dran.

    @Java wie gut? also ich wuerde nie die musse besitzen zu sagen 'ich kann es'.. dafuer muesste ich schon damit meinen lebensunterhalt verdienen oder aehnlich. sicher nichts aussergewoehnliches, haben frueher weil der info unterricht zu langweilig war z.b. nen zweidimensionalen space-shooter gebastelt... sehr einfachen natuerlich. oder nen programm wo kollisionen beliebig vieler kugeln berechnet und gezaehlt wurden usw... solche spielereien halt 😛

    ot: warum schreiben so viele als unregistriert?



  • Die alte Leier.

    compul schrieb:

    ich hab gegen java ne starke ablehnung

    compul schrieb:

    also ich wuerde nie die musse besitzen zu sagen 'ich kann es'..



  • @_kermit was die alte leier? die ablehnung kommt nicht vom programmieren her, sondern vom userblickwinkel. und dass ich nicht von mir behaupte dass ich java kann ist... 'die alte leier'?


Anmelden zum Antworten