Seite 2 von 13 ErsteErste 12345612 ... LetzteLetzte
Ergebnis 21 bis 40 von 255

Thema: while(true) {write();} - Der Programmierer-Spamthread #1

  1. #21
    Zitat Zitat von DFYX Beitrag anzeigen
    Ach ja... ich weiß schon, warum ich Urheberrechtsfragen nicht wirklich mag. Jedes Land hat seine eigene Regelung und kein Mensch überblickt alle.

    Du hast btw. meine Frage nicht beantwortet.
    Neben der Copyright-Uebertragung und der passenden Lizenz muss man eigentlich nur noch etwas brauchbares entwickelt haben, was ich weiss. Da ich gcc aber in der Regel nur noch als Backend verwende, bin ich auch nicht so interessiert, als das ich mehr weiss, als was man so nebenbei erfaehrt. Wenn du dir also sicher sein moechtest, schlage ich dir lieber vor selber nachzulesen.


    Wenn Cobols Nische der Buehne des Kolloseums entspricht, dann ist Java im Vergleich wahrscheinlich so gross, wie das Eingangstor ...

  2. #22
    Es sind einfach teilweise Jahrzehntelang gewachsene Cobolprojekte im Umlauf die die Firmen brauchen und nicht mal eben in eine andere Sprache umgeschrieben werden können. Die müssen halt weiterhin mit Cobol Code erweitert werden, warum auch nicht, aber erste wahl bei neuen Projekten wird COBOL wohl kaum noch sein.

  3. #23
    Ich glaube, du hasst meinen Hinweis nicht verstanden.
    Code (C++):
     
    struct MailingRecord{
       std::string CompanyName;
       struct {
          struct {
             std::string LastName;
             std::string FirstName;
          } President, VPMarketing; // muhaha
          struct {
             std::string Title;
             std::string LastName;
             std::string FirstName;
          } AlternateContact;
       } Contacts;
       std::string Address;
       std::string City;
       char State[2];
       int Zip;
    };
     
    MailingRecord Record1;
    Record1.Contacts.President.FirstName = "Klaus";
     

    Bin mir jetzt nicht mal ganz sicher, ob das mit 'struct' so geht, aber mit 'class' würde es bestimmt gehen.

    Geändert von Drakes (23.09.2009 um 22:24 Uhr)

  4. #24
    Zitat Zitat von Drakes Beitrag anzeigen
    Bin mir jetzt nicht mal ganz sicher, ob das mit 'struct' so geht, aber mit 'class' würde es bestimmt gehen.
    Soweit ich mich erinnere, sind struct und class in der Zwischenzeit synonym, mit dem Unterschied, dass struct Member ohne weitere Angabe public sind und class Member private. Structs können in C++ genau so Memberfunktionen haben und vererbt werden, wie Klassen.

  5. #25
    @Drakes .. ja, so hab ich das gemeint, nur dass man nen struct aus 2 char-arrays und ein groesseres Chararray vereinigen koennte, damit man den String Praesident und den struct Vorname Nachname gleichzeitig fuellen kann.

    @COBOL
    Ich weiss, dass COBOL noch viel in gebrauch ist. Ist in etwa das selbe mit FORTRAN in den Naturwissenschaften. Allerdings werden mit COBOL praktisch keine neuen Codes geschrieben, sofern nicht direkte Kompatibilitaet zwingend erforderlich ist. Meistens wird nur in den alten Codes editiert oder angestueckelt. Ergo kann man nicht davon sprechen, dass COBOL eine aktuelle Programmiersprache waere. Fast niemand verwendet COBOL, wenn er nicht muss.

  6. #26
    Zitat Zitat von Ineluki Beitrag anzeigen
    @Drakes .. ja, so hab ich das gemeint, nur dass man nen struct aus 2 char-arrays und ein groesseres Chararray vereinigen koennte, damit man den String Praesident und den struct Vorname Nachname gleichzeitig fuellen kann.
    Ich bin mir grade nicht sicher, ob das funktioniert. Wie sollte das aussehen?

    Code (c):
    union
    {
        char[32] name;
        struct
        {
            char[16] vorname;
            char[16] nachname;
        } name_struct;
    };


    Dann könnte man die einzelnen Namensbestandteile ja nicht ohne Umweg über name_struct ansprechen.

    Edit: zumal Strings in C nullterminiert sind...

  7. #27
    Genau so meinte ich das.
    Was meinst du damit, dass man die Namensbestandteile nicht separat ueber name_struct ansprechen koennte ? Ggf braeuchte man das Struct auch nicht sondern koennte alle drei Eintraege auch direkt ins Union schreiben.

    Natuerlich ist das mit der Nullterminierung unschoen. Andererseits ist die nicht Pflicht. Gerade bei Chararrays mit konstanter Groesse, wie hier, wird die Nullterminierung oefters weggelassen. Ich sagte ja nicht, dass es schoen ist, ich sagte, es ist relativ einfach machbar.

  8. #28
    Das Problem ist halt, dass die meisten Funktionen nullterminierte Strings haben wollen. Das heißt, du müsstest jedes Mal vor der Verwendung konvertieren.

  9. #29
    Das ist mir bewusst, auch wenn gerade aeltere C Funktionen oftmals noch einen Paramerter der maximalen Buffergroesse verwenden. Aber lassen wir das. Es ist moeglich, das so wie in COBOL zu machen, und die definition von Strukturen ist auch nicht soo viel schwieriger in C. Und in C++ ist es noch eleganter zu loesen, wenn man einfach in die Praesident-Structur einen Castingoperator nach const Sting einfuegt, der einfach Nachname + ", " + Vorname zurueck gibt.

  10. #30
    Zitat Zitat von Ineluki Beitrag anzeigen
    Natuerlich ist das mit der Nullterminierung unschoen. Andererseits ist die nicht Pflicht. Gerade bei Chararrays mit konstanter Groesse, wie hier, wird die Nullterminierung oefters weggelassen. Ich sagte ja nicht, dass es schoen ist, ich sagte, es ist relativ einfach machbar.
    Wo ist das Abseits von Buffern ueblich? Ich lese /extrem/ viel C-Code und habe so etwas noch nie in meinem Leben gesehen, wenn man nicht gerade irgendwo etwas einliest und die genaue Groesse mit gereicht bekommt. Und da wird der Buffer, insofern Text, auch gleich in einen String zusammen geklebt ...

  11. #31
    C schreibt dir nicht vor, dass deine Stringdefinition Nullbasiert sein muss. Dass die meisten Funktionen das benutzen ist sinnvoll, aber du koenntest trotzdem auf Basis der Pufferfunktionen dein eigenes Stringformat verwenden. Nur sehr sinnvoll ist es nicht. *schulterzuck*

  12. #32
    Zitat Zitat von Ineluki Beitrag anzeigen
    C schreibt dir nicht vor, dass deine Stringdefinition Nullbasiert sein muss. Dass die meisten Funktionen das benutzen ist sinnvoll, aber du koenntest trotzdem auf Basis der Pufferfunktionen dein eigenes Stringformat verwenden. Nur sehr sinnvoll ist es nicht. *schulterzuck*
    Das kann ich aber auch in anderen Sprachen machen, wenn mir fad ist. Dein Beitrag beantwortet nicht wirklich meine Frage.

    Ausserdem sehe ich, das 0byte am Ende eines mit " eingeschlossenen Literals bereits als Stringdefinition.

  13. #33
    Ich hab auch nie behauptet, dass man das in anderen Sprachen nicht koennte. Es ging doch nur darum, ein COBOL-Typisches Konstrukt in einer anderen Sprache umzusetzen. Ich gebe ja zu, dass sich sowas in COBOL leichter machen laesst. Aber gerade durch Castingoperatorueberladungen in C++ halte ich das nicht besonders schwierig in C++ umzusetzen. Und dass es, wenn auch umstaendlich, auch mit C geht, hab ich demonstriert.

    Ich schage vor, wir gehen zum naechsten Thema, das bringt nichts.

  14. #34
    Ich möchte nochmal einen älteren Gedankengang aufgreifen. Auch wenn ich persönlich nie freiwillig COBOL anrühren würde, hat es doch irgendwie was nostalgisches. Ich meine, es ist eine der Sprachen, die am stärksten zur Entwicklung moderner Programmiersprachen beigetragen haben. Neben den Vorgängern A-0 und FLOW-MATIC.

    Totally unrelated fact: ich halte Grace Hopper (die unter anderem A-0 und FLOW-MATIC entwickelt hat) für eine äußerst weise Frau. Viele ihrer Lebensweisheiten sollten sich meiner Meinung nach deutlich mehr Leute zu Herzen nehmen.

  15. #35
    Zitat Zitat von DFYX Beitrag anzeigen
    Totally unrelated fact: ich halte Grace Hopper (die unter anderem A-0 und FLOW-MATIC entwickelt hat) für eine äußerst weise Frau. Viele ihrer Lebensweisheiten sollten sich meiner Meinung nach deutlich mehr Leute zu Herzen nehmen.
    Welche wären das denn zum Beispiel – "Gute Sprachen oder Namen zu erfinden sind zwei komplett verschiedene Dinge"? ^^"
    (Frage ernst gemeint. )

  16. #36
    Zitat Zitat
    The most dangerous phrase in the language is, "We've always done it this way."
    Einer meiner Lieblinge, wenn auch in dem Wortlaut nicht als authentisch bestätigt. Mehr gibts bei Wikiquote

    Geändert von DFYX (28.09.2009 um 03:27 Uhr)

  17. #37
    Programmierer sind oft überkorrekt, wenn es um das Schreiben von Code geht und sind besorgt um Lesbarkeit und Qualität. Aber was tun, wenn der Zeitplan drängt und es nur noch um Schadensbegrenzung geht?

    Dirty Coding Tricks erzählt aus dem Alltag professioneller Spieleprogrammierer und wie ihnen in manchen Situationen alle Mittel recht waren um das Produkt endlich aus dem Haus zu haben.
    Ich hoffe es wird euch genauso unterhalten, wie es bei mir der Fall war.

    Zitat Zitat von einem der Kommentare
    Back on Wing Commander 1 we were getting an exception from our EMM386 memory manager when we exited the game. We'd clear the screen and a single line would print out, something like "EMM386 Memory manager error. Blah blah blah." We had to ship ASAP. So I hex edited the error in the memory manager itself to read "Thank you for playing Wing Commander."

    Geändert von Kyuu (30.09.2009 um 05:27 Uhr)

  18. #38
    Oh ja, ein sehr vertrautes Gefühl. In dem Code von dem DS Spiel, an dem ich gearbeitet hab, gibts so Sachen auch. Werd bei Gelegenheit mal ein paar schöne raussuchen.

  19. #39
    Ja was is los Leute, haben wir uns nichts mehr zu sagen?

    Ich arbeite momentan an einer kleinen Netzwerkbibliothek, die einen Viewer für CAD-Modelle mit einem Headtracking Server verbinden soll, aber irgendwie komm ich nicht voran. Obwohl das eigentlich richtig Spaß macht.

  20. #40
    Ich bin wohl heute abend und morgen damit beschäftigt, mir mit Python irgendwie Objektorientierte Programmierung anzueignen. Theoretisch hab ichs verstanden, praktisch aber habe ich schonmal den halben Code für ein Projekt geschrieben, bis ich gemerkt habe, dass eine wichtige Klasse vollkommen zum Wegwerfen ist^^.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •