Fragen an die (Berufs)Programmierer unter euch



  • Naja, Programmieren hat erstmal (IMO) nichts mit einer konkreten Sprache zu tun, sondern eher mit den Konzepten/Algorithmen. Die Denkweise, wie man gestellte Probleme löst, das ist Programmieren, in meinen Augen. Dann erst kommt die Implementierung in einer Sprache. In 1,5 Jahren beides auch nur anhand einer Sprache zu lernen scheint sehr kurz. Ich programmiere nun bereits seit 9 Jahren, OK auch mal mit Unterbrechungen, aber halt auch in verschiedenen Sprachen, wo verschiedene Wege möglich sind. Aber wenn ich Leute sehe, wie Volkard beispielsweise, dann würde ich mich ebenfalls als Anfänger betrachten ( 🙂 Naja, ganz so schlimm ist es nicht, aber sollte klar sein, was ich meine).

    Die letzten 3 Jahre ca. habe ich weitestgehend in PHP programmiert (Nein, keine Gästebücher, schon echte Web-Applications :-)), und dabei sind mir so viele Leute über den Weg gelaufen, die sich mit der Sprache PHP wunderbar auskannten, die haben mir sogar des öfteren Funktionen genannt, womit man schöne Dinge machen kann, die ich vorher nicht kannte, aber vom Programmieren hatten die mal keinen Schimmer. Es ist nicht damit getan mal ne Sprache zu lernen.

    Das soll Dich jetzt aber nicht abhalten, wenn Du das machen möchtest, dann finde ich das gut, ist auf jeden Fall besser, als gar nichts zu tun, und interessant ist das Thema auf alle Fälle. Du solltest Dir da nur im Klaren sein, dass Du immer am Ball bleiben musst, denn man lernt gerade als Programmierer/Entwickler ständig dazu. Bei mir ist es zwar immer noch sehr häufig, dass ich lerne, wie ich etwas nicht mache, als wie ich etwas mache, aber so lernt man ja auch. 🙂

    Zu dem Kurs an sich kann ich Dir leider nichts sagen.

    Was die Quereinsteiger angeht, so war es mal so, dass gerade diese gerne gesehen waren, da sie evtl. auch schon Praxiserfahrung mitbrachten und die Firmen noch nicht so viel Erfahrung damit hatten. Mittlerweile haben die Firmen aber erkannt, dass Quereinsteiger häufig sehr spezialisiert sind und nicht so schnell umdenken können, wodurch studierte Leute gefragter wurden. Da eben diese gelernt haben Probleme abstrakter anzugehen und diese dann eben auch z.B. in einer anderen Sprache lösen können. Viele Quereinsteiger lernen eine Sprache, sind häufig auch sehr gut darin, wenn man Ihnen dann aber eine Problemstellung gibt, welche sie in einer anderen Sprache lösen sollen, dann haben diese oft Probleme damit, weil evtl. gewisse Dinge in der anderen Sprache nicht gehen oder halt umgekehrt. Soweit zumindest meine Beobachtung.



  • AlexNeumann schrieb:

    Ich glaube nicht das man als Programmierer ein Mathe-Ass sein muss. Es sei den du willst bei der NASA arbeiten für ein Forschungsprojekt.

    Nicht unbedingt als Programmierer, obwohl das auch von Vorteil ist, aber als Spieleprogrammierer ist es fast zwingend, soweit ich weiß. Spieleprogrammierung besteht zu einem sehr großen Teil aus Mathematik.



  • mantiz schrieb:

    Nicht unbedingt als Programmierer, obwohl das auch von Vorteil ist, aber als Spieleprogrammierer ist es fast zwingend, soweit ich weiß. Spieleprogrammierung besteht zu einem sehr großen Teil aus Mathematik.

    Ja klar, aber unbedingt ein Mathe-Ass? Was verstehst du darunter. Ein promovierter Mathematiker mit Doktortitel? Oder jemand mit Mathe L-Kurs die Note 1? (mit E-Kurs meine ich, es gibt Grundkurs, Erweiterungskurs und Leistungskurs.)

    Ich denke, da reichen Kenntisse wie Cosinus, Sinus, FlÄchenberechnung und all so ein Zeugs was man in der Realschule gelernt hat.



  • Ich glaube nicht das man als Programmierer ein Mathe-Ass sein muss.

    Hmm,schau dir mal den Kern von aktuellen 3D engines an. Da wird schon ein wenig Mathematik gebraucht 😮
    Ausser, du willst der sein, der die Texturen in die Karten einbastelt?!

    Lange Rede... : Mathematik ist essentiell für Softwareentwicklung!



  • TorstenM_u schrieb:

    Hmm,schau dir mal den Kern von aktuellen 3D engines an. Da wird schon ein wenig Mathematik gebraucht 😮
    Ausser, du willst der sein, der die Texturen in die Karten einbastelt?!

    Lange Rede... : Mathematik ist essentiell für Softwareentwicklung!

    Na dann lern ich das eben, wo ist das Problem?



  • AlexNeumann schrieb:

    TorstenM_u schrieb:

    Hmm,schau dir mal den Kern von aktuellen 3D engines an. Da wird schon ein wenig Mathematik gebraucht 😮
    Ausser, du willst der sein, der die Texturen in die Karten einbastelt?!

    Lange Rede... : Mathematik ist essentiell für Softwareentwicklung!

    Na dann lern ich das eben, wo ist das Problem?

    du stellst dir das ein bisschen zu einfach vor mit dem lernen.



  • Reicht es wenn ich Bücher lese wie 3D-Spieleprogrammierung mit DirectX 9? Naja was heisst reicht, reichen nicht, aber fürs erste? Dann selber Spiele proggen und so lernt man weiter.



  • proggen? 😮



  • Um mal auf die C++ Bücher zurückzukommen. Ich lese im Moment das Buch: Intensivkurs C++ wo bei ich zu diesem Buch sagen muss, dass ich davon nicht sehr begeistert bin, weil die Deklklarationsmethode veraltet ist zum Beispiel schreiben die:

    #include <iostream>
    int main()
    {
     std::cout << "Hallo User!" << std::endl;
    return 0;
    }
    

    Stattdessen hätte man das doch einfacher machen können und zwar:

    #include <iostream.h>
    main()
    {
     cout << "Hallo User"\n";
    }
    

    Immer das std:: vor jedem Schlüsselwort halte ich nicht für praktisch! Das mal dazu.

    Jetzt muss mir einer von euch erklären, weil im Buch nicht beschrieben, warum wenn ich im Header die Extension ".h" eintippe dann nicht mehr mit "using namespace std;" deklarieren muss und ohne diese Extension schon! Versteht Ihr was ich meine?

    Ich habe mir 4 Bücher aus der Uni Münster ausgeliehen: Einmal das "Intensivkurs C++", dann dass Buch "C++ Objektorientierste Programmierung", habe da mal so reingestöbert, macht einen guten Eindruck. Danach lese ich das Buch: Grundkurs Software-Entwicklung mit C++, und dann Praktische C++ Programmierung. Ich glaube das letzte Buch werde ich abgeben, weil so wie in Intensivkurs mit den Quellcodes.



  • Du willst das beste Buch abgeben? 🙄 🙄



  • Das erste Beispiel ist gültiges C++, das zweite nicht.

    Im ersten bindest Du die C++-Header ein, wo halt alles im Namespace std liegt, was meiner Meinung nach aber sehr schön ist, da man so viele Dinge sehr schön voneinander abgrenzen kann.

    Im zweiten Beispiel bindest Du die alten C-Header ein, die nur aus Kompatibilitätsgründen enthalten sind, weil der C89-Standard (glaub' ich) in C++ unterstützt wird. C kennt afaik keine Namespaces, daher liegen die Funktionen dort auch nicht darin. 🙂

    // Edit: Außerdem fehlt im zweiten Beispiel das "void" vor dem main, was aber auch überholt ist, korrekt ist "int main()", Parameter, falls notwendig gehören dann noch dazu.



  • oreilly schrieb:

    Du willst das beste Buch abgeben? 🙄 🙄

    Kann es sein, dass du der ein und der selbe Unregistrierte User bist? wtf??, lernprofi, orreily?? sag die Wahrheit.



  • richtig



  • Ach so, nochwas: Nicht die erste Methode ist veraltet, sondern die zweite. 🙂



  • mantiz schrieb:

    Das erste Beispiel ist gültiges C++, das zweite nicht.

    Im ersten bindest Du die C++-Header ein, wo halt alles im Namespace std liegt, was meiner Meinung nach aber sehr schön ist, da man so viele Dinge sehr schön voneinander abgrenzen kann.

    Im zweiten Beispiel bindest Du die alten C-Header ein, die nur aus Kompatibilitätsgründen enthalten sind, weil der C89-Standard (glaub' ich) in C++ unterstützt wird. C kennt afaik keine Namespaces, daher liegen die Funktionen dort auch nicht darin. 🙂

    // Edit: Außerdem fehlt im zweiten Beispiel das "void" vor dem main, was aber auch überholt ist, korrekt ist "int main()", Parameter, falls notwendig gehören dann noch dazu.

    Das mit void stimmt. Ich habe mit Absicht das weggelassen. Normalerweise schreibe ich das rein. Ich sehe in vielen Foren, dass die Programmierer einfach main() schreiben. Trotzdem finde ich das viel praktischer wenn man unter der Headeranweisung using namespace std; deklariert. Dann muss ich nicht jedes Mal std:: schreiben. Du meinst in C unterstützt das nicht? Naja heute ist C++ angesagt ;).

    schonwiederich oder wer immer du bist schrieb:

    richtig

    Dann würde ich dir vorschlagen sich für ein Namen zu entscheiden, denn so wie du das machst finde ich ziemlich albern.



  • mantiz schrieb:

    Ach so, nochwas: Nicht die erste Methode ist veraltet, sondern die zweite. 🙂

    Ah da bin ja froh, wie gesagt, finde ich besser.



  • [quote=Mantiz]Ach so, nochwas: Nicht die erste Methode ist veraltet, sondern die zweite.[/quote]

    Moment das hast du ja schon geschrieben

    [quote=mantiz]Das erste Beispiel ist gültiges C++, das zweite nicht.
    [/quote]

    Also was denn nun, ist die zweite veraltet mit dem main() ohne int oder void, oder meintest du das mit std:: ?



  • AlexNeumann schrieb:

    Um mal auf die C++ Bücher zurückzukommen. Ich lese im Moment das Buch: Intensivkurs C++ wo bei ich zu diesem Buch sagen muss, dass ich davon nicht sehr begeistert bin, weil die Deklklarationsmethode veraltet ist zum Beispiel schreiben die:

    #include <iostream>
    int main()
    {
     std::cout << "Hallo User!" << std::endl;
    return 0;
    }
    

    Stattdessen hätte man das doch einfacher machen können und zwar:

    #include <iostream.h>
    main()
    {
     cout << "Hallo User"\n";
    }
    

    Immer das std:: vor jedem Schlüsselwort halte ich nicht für praktisch! Das mal dazu.

    So, wie Du das geschrieben hast, findest Du die zweite Variante besser, was aber kein gültiges C++ ist, und von "using namespace std;" hast Du auch nichts geschrieben ... 😕



  • [quote=mantiz]

    #include <iostream>
    int main()
    {
     std::cout << "Hallo User!" << std::endl;
    return 0;
    }
    

    Stattdessen hätte man das doch einfacher machen können und zwar:

    #include <iostream.h>
    main()
    {
     cout << "Hallo User"\n";
    }
    

    So, wie Du das geschrieben hast, findest Du die zweite Variante besser, was aber kein gültiges C++ ist, und von "using namespace std;" hast Du auch nichts geschrieben ... 😕[/quote]

    Ja using namespace std; habe ich weggelassen weil man das nicht mehr braucht. Weil ich ja #include <iostream.h> geschrieben hab. Das funktioniert! Würde ich eintippen #include <iostream> müsste ich darunter using namespace std; deklarieren.



  • Ja, wobei das aber keinesfalls das gleiche ist, würdest Du es wie in der ersten Variante machen, aber nach dem #include ein "using namespace std;" schreiben und anschließend das "std::" weglassen, dann ist das gültiges C++, während Du in der zweiten Variante die C-Header verwendest, was dann allerdings veraltet ist und kein gültiges C++ darstellt.


Anmelden zum Antworten