Syntax im C-Stil == Schlecht?



  • JBeni schrieb:

    Einer der Vergleiche die immer wieder gerne gezeigt werden.
    Pascal (übersichtlich):

    Function StringToUppercase(Zeile: String): String;
    
    type Kleinbuchstaben = ['a'..'z'];
    
    var temp: String;
        i    : Byte;
    
    begin
      temp:=zeile;
      for i:=1 to Length(zeile) do
        if zeile[i] in Kleinbuchstaben then 
          temp[i]:=chr(ord(temp[i])-32);
    
      StringToUppercase:=temp;
    end;
    

    und C (weniger übersichtlich, aber immernoch verständlich):

    char * StringToUpper(char * zeile)
    {
      static char temp [256];
      int i;
      for (i=0; zeile[i]!=0 && i<256; i++)
        if (zeile[i]>='a' && zeile[i]<='z')
          temp[i]=(char) zeile[i]-32; 
        else  
          temp[i]=zeile[i];
      temp[i]=0;
      return temp;
    }
    

    Und noch die C++-Version:

    std::transform(str.begin(), str.end(), str.begin(), std::tolower);
    

    irgendwie wirkt die auch mich am kompaktesten. 😉



  • Jester: Ist nicht standardkonform. 😃



  • Du hast einfach nur nochmal einen Funktionsaufruf drum herum gebastelt und diesen als schönere Syntax dargestellt. Ich nehme an, das war nicht deine Absicht. Du wolltest dich sicherlich mit uns darüber unterhalten, wie std::transform und std::tolower intern syntaktisch gut aussehen. 😉



  • Wie kommt die achso so tolle Pascalversion mit z.B. ä, ö und ü klar? 😕



  • kingruedi schrieb:

    sarfuan schrieb:

    Wieso fühl ich mich jetzt nur unangenehm an XSLT erinnert? 😉

    Das unangenehme an XSLT ist doch nur XML.

    Ich denke du stehst auf Sprachen, deren Quellcode einer Datenform entsprechen? 😉



  • nman schrieb:

    Schon alleine deswegen, weil sie viel Ballast und syntaktischen Müll mit sich bringt.

    eher das gegenteil davon stimmt.

    nman schrieb:

    Und dann natürlich noch deswegen. 😉

    die finden es bestimmt witzig, sowas im nachhinein zu behaupten....oder vielleicht ist es denen auch peinlich, aber bestimmt waren sie damals ziemlich überzeugt davon und stolz auf das, was sie gebastelt haben.

    nman schrieb:

    for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
    

    probier's mal mit aussagekräftigen variablennamen und mach nicht alles in eine zeile. wenn du das nicht hinbekommst, dan frag mal im ansi-c forum ob dir das einer umschreibt.

    btw: c ist eine art portable assemblersprache. asm-sprachen sind eh' etwas kryptisch. c-compiler lassen sich leicht auf/für die verschiedensten prozessoren portieren. klar ist aus user-sicht die syntax vieler anderer sprachen angenehmer, aber viele low-level sachen gehen halt nicht damit. ...und wer für z.b. .NET entwickelt und c-syntax nicht leiden kann, der kann dafür ja auch visual bräsig nehmen.



  • net: *plonk* Ich habe ja schon viele dämliche Posts von Dir gelesen, aber dass Du offenbar nichtmal bemerkt hast, dass das aus der "C&Humor?"-Sektion stammt überrascht sogar mich. (Entweder das, oder Du trollst einfach auf Teufel komm raus, beides spricht nicht für Dich.)



  • sarfuan: Datenform-Quellcode ist ja wohl nicht das einzige Kriterium zur Beurteilung einer Sprache. Oder glaubst Du, dass jeder Anhänger von eher minimalistischen Sprachen auf Brainfuck steht? 😉



  • scnr schrieb:

    Jester: Ist nicht standardkonform. 😃

    Das ist die miserable C-Version von JBeni auch nicht.



  • nman schrieb:

    (Entweder das, oder Du trollst einfach auf Teufel komm raus, beides spricht nicht für Dich.)

    ich glaube auch langsam, dass wir beiden sind hier die einzigen "registered trolls" sind...



  • nman schrieb:

    sarfuan: Datenform-Quellcode ist ja wohl nicht das einzige Kriterium zur Beurteilung einer Sprache. Oder glaubst Du, dass jeder Anhänger von eher minimalistischen Sprachen auf Brainfuck steht? 😉

    Brainfuck ist nicht ernst gemeint, XML dagegen schon. Ein kleiner aber feiner Unterschied 😉



  • sarfuan schrieb:

    Brainfuck ist nicht ernst gemeint, XML dagegen schon. Ein kleiner aber feiner Unterschied 😉

    Sagt wer? :p

    Naja, wenn das Datenformat murks ist, dann hilft das natürlich alles nichts :p


Anmelden zum Antworten