Gunnar Bittersmann: Das *g* zur Wochenmitte

Interview with Senior JS Developer 😉

🖖 Живіть довго і процвітайте

--
„Ukončete, prosím, výstup a nástup, dveře se zavírají.“
  1. @@Gunnar Bittersmann

    Ein Kollege Backend-Entwickler hat mir gerade https://i.redd.it/39rvm3rxmsq61.jpg zukommen lassen:

    "11" + 1 // "111"
    "11" - 1 // 10
    

    Worauf ich müde lächelnd 😏 geantwortet habe:

    Ja, aber geh mir weg mit PHP!

    echo 011 + 1; // 10
    

    🖖 Живіть довго і процвітайте

    --
    „Ukončete, prosím, výstup a nástup, dveře se zavírají.“
    1. Hallo,

      "11" + 1 // "111"
      "11" - 1 // 10
      

      immer diese verfluchte implizite Typanpassung! 🤪

      Ja, aber geh mir weg mit PHP!

      echo 011 + 1; // 10
      

      😱 Echt? Nur wenn man das Ergebnis auch wieder oktal hinschreibt.
      Aber dann sollte es 010 lauten.

      Einen schönen Tag noch
       Martin

      --
      Wo wir sind, ist das Chaos. Aber wir können leider nicht überall sein.
      1. Hallo Der Martin,

        wenn Du das Ergebnis oktal hinschreibst, sollte es 012 lauten.

        Diesen Rotz hat PHP von C geerbt und weil es jetzt genug Sourcecode gibt, der sich drauf verlässt, wird man das nicht mehr los. Bis einer mal ein "use strict" für PHP einbaut 😀

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Hallo,

          wenn Du das Ergebnis oktal hinschreibst, sollte es 012 lauten.

          ja, stimmt. Weiß nicht, was ich da eben gedacht habe. Irgendwie hatte ich 011 im Kopf zu 7 evaluiert.

          Diesen Rotz hat PHP von C geerbt

          Ja, und auch da hab ich mich schon immer gewundert, dass man 0x als Präfix für hexadezimal verwendet, aber nicht 0o für oktal. Ich meine, es gibt auch noch 0b für binary - aber da bin ich mir im Moment nicht ganz sicher. Vielleicht hab ich das auch mal geträumt. Oder verwechselt.

          Einen schönen Tag noch
           Martin

          --
          Wo wir sind, ist das Chaos. Aber wir können leider nicht überall sein.
          1. Hi,

            Ja, und auch da hab ich mich schon immer gewundert, dass man 0x als Präfix für hexadezimal verwendet, aber nicht 0o für oktal. Ich meine, es gibt auch noch 0b für binary - aber da bin ich mir im Moment nicht ganz sicher.

            Also ich programmiere ja schon ein paar Jahrzehnte, und wirklich gebraucht hab ich Oktalzahlen eigentlich nie …

            Am nächsten kommt da noch chmod - wenn statt rwxr-xr-x die 755 (oder so) verwendet wird.

            Wenn ich über Oktalzahlen gestolpert bin, dann, weil wegen der führenden 0 die Zahl anders interpretiert wurde als erwartet …

            cu,
            Andreas a/k/a MudGuard

          2. „dass man 0x als Präfix für hexadezimal verwendet, aber nicht“ … Vorschlag (so überhaupt noch zu realisieren; obwohl: Emulationen für den Desktop bekommt man ja!): hp-Taschenrechner, ab 48er-Serie:

            #10o
            1
            +
            

            liefert, je nach Voreinstellung, #12o, #1010b, #Ah oder auch #10d als Ergebnis. — Ach ja: RPN resp. RPL ist die IMHO einzig wahre „Sprache“, um mit solchen Dingern umzugehen.

    2. Und wieder einmal frage ich mich wie es JS und PHP zur Sprache des Web geschafft haben.

      1. Hallo encoder,

        dann sag mal, welche Alternativen es Anfang der 2000er gab, als die Grundlage für das heutige Ökosystem entstand.

        War PERL am Server wirklich eine Alternative? Außer für die eingefleischten Enthusiasten, denen die schräge Syntax von Perl nichts ausmacht? Ansonsten gab's ja nur Compilersprachen, um CGI Programme zu schreiben, oder Frameworks wie JSP oder ASP, die spezielle Webserver brauchen.

        Und in den Browsern gab es nur VBScript im Internet Explorer als Alternative. Aber eben nur da. Und damit war's dann schon tot, bevor man es in Erwägung ziehen konnte. Und es wird wohl niemand behaupten, dass man JavaScript mit VBScript auch nur ein Tröpfchen Wasser reichen könnte.

        Was wäre heute deine empfohlene Alternative? Blazor? React?

        Rolf

        --
        sumpsi - posui - obstruxi
        1. dann sag mal, welche Alternativen es Anfang der 2000er gab, als die Grundlage für das heutige Ökosystem entstand.

          Keine. Auch heute habe ich noch keine. Genau das wundert mich ja eben.

          Javascript wurde laut Wikipedia für HTML entwickelt. Man hat also nichts bestehendes hergenommen, sondern extra etwas neues geschaffen.
          Und das ist für einen so umfangreichen Einsatz, mit der Erwartung dass auch nicht-Profis damit experimentieren, eine solch schlamperhafte Sprache? Ist mir unverständlich.

          Genauso PHP. Schreib irgendwas, genau das passiert dann auch; nämlich irgendwas. Dann such fleißig warums nicht geht.

      2. Hallo

        Und wieder einmal frage ich mich wie es JS und PHP zur Sprache des Web geschafft haben.

        als ich vor ca. 8 Jahren von der Windows- in die Apple-Welt gewandert bin, musste ich mich von vielen Programmen verabschieden und mir was neues suchen. Aber meine Javascripte liefen ohne Änderungen.

        Natürlich musste ich mir beim JS-Programmieren eine gewisse Sorgfalt angewöhnen, um Scripte für alle Browser zu erstellen. Aber zeig mir eine Programmiersprache, deren Programme unter allen (gängigen) Systemen ohne Anpassung, Neucompilierung oder Installation von Runtimeumgebungen laufen. Der benötigte Browser ist bei allen gängigen Systemen vorhanden.

        Gruß
        Jürgen

        1. Stimmt.
          Hätte man aber doch auch genauso mit etwas mehr "was willst du hier haben?" statt "ach komm ich mach mal irgendwas draus" erreichen können.

        2. Hallo JürgenB,

          Aber zeig mir eine Programmiersprache, deren Programme unter allen (gängigen) Systemen ohne Anpassung, …

          JS läuft aber nur dann ohne Anpassung, wenn Du darauf aufpasst, das browserübergreifend vorhandene Subset zu verwenden bzw. Polyfills mitbringst. Das ist heute ein recht großes Set, vor 15 Jahren sah das noch ganz anders aus.

          … Neucompilierung oder Installation von Runtimeumgebungen laufen.

          Gips nich und kanns nich geben. Dazu sind die Computer zu verschieden. Deshalb brauchst Du immer einen Compiler oder Laufzeitinterpreter, der den Sourcecode auf der konkreten Maschine lauffähig macht.

          Eine Runtimeumgebung musst Du aber auch für JavaScript installieren. Sie heißt meistens „Browser“. Ist aber immerhin plattformübergreifend weit verbreitet und meistens schon da, es sei denn, du willst was außerhalb vom Browser tun. Dann installierst Du Node.js oder Deno oder ähnliches.

          Rolf

          --
          sumpsi - posui - obstruxi