Welche Sprache kann C++ Konkurrenz machen?



  • @Tyrdal sagte in Welche Sprache kann C++ Konkurrenz machen?:

    Ich finde Grepbarkeit gehört zur Lesbarkeit, denn ich muss oft irgendwo was suchen.

    Ist (int ) x wirklich viel besser grepbar als Integer(x)?

    Klammern machen Codeteile gut editierbar, weil man halt die Klammern al Begrenzer hat. Da muss man nicht alles von Hand ansteuern sondern kann einfach auf die Klammer springen

    Hä? Ich muss doch trotzdem auf die entsprechende Codestelle gehen, die ich ändern will? Das Ende der Bedingung ist in Python der :, das Zeilenende oder bei mehrzeiligen Bedingungen die Klammer zu (umbrechen und Klammern setzen macht black automatisch). Vielleicht arbeiten wir anders. Meistens gehe ich x-Mal in den Bedingungen hin und her, während ich darüber nachdenke, wie die Bedingung denn eigentlich sein müsste. In Klammern hin- und herzuspringen war für mich noch nie von irgendeiner Bedeutung - außer bei komplizierten Bedingungen zu gucken, wo das Klammernpaar gerade zusammengehört. Aber je komplizierter, desto eher sollte man da einen Teil der Bedingung in eine Variable rausziehen. Jedenfalls läuft es dann eher auf 1 Bedingung pro Zeile hinaus - sodass "Zeile verschieben", "Zeile löchen" viel relevanter sind als irgendwelches Klammernspringen. Aber ich will dir gar nicht absprechen, dass du das so machst. Bin nur fest überzeugt, dass das deine Gewohnheit aufgrund deiner Codebasis ist und nicht ein allgemeingültiges Ding, das Programmieren erleichtert.



  • @wob sagte in Welche Sprache kann C++ Konkurrenz machen?:

    @Tyrdal sagte in Welche Sprache kann C++ Konkurrenz machen?:

    Ich finde Grepbarkeit gehört zur Lesbarkeit, denn ich muss oft irgendwo was suchen.

    Ist (int ) x wirklich viel besser grepbar als Integer(x)?

    Gibts eigentlich sowas wie ein libclang-grep? Das wär mal ein nützliches Tool 😉 ... reines Pattern Matching läuft ja gerade bei Code ziemlich oft vor die Wand.



  • @wob sagte in Welche Sprache kann C++ Konkurrenz machen?:

    In Klammern hin- und herzuspringen war für mich noch nie von irgendeiner Bedeutung - außer bei komplizierten Bedingungen zu gucken, wo das Klammernpaar gerade zusammengehört.

    Doch, ich spring auch sehr oft zwischen Klammern, und das sogar in VS. Finde ich sehr praktisch.

    Hat aber alles irgendwie nur am Rande mit dem eigentlichen Thema zu tun.



  • @Finnegan sagte in Welche Sprache kann C++ Konkurrenz machen?:

    @wob sagte in Welche Sprache kann C++ Konkurrenz machen?:

    @Tyrdal sagte in Welche Sprache kann C++ Konkurrenz machen?:

    Ich finde Grepbarkeit gehört zur Lesbarkeit, denn ich muss oft irgendwo was suchen.

    Ist (int ) x wirklich viel besser grepbar als Integer(x)?

    Gibts eigentlich sowas wie ein libclang-grep? Das wär mal ein nützliches Tool 😉 ... reines Pattern Matching läuft ja gerade bei Code ziemlich oft vor die Wand.

    Nicht als grep, aber du kannst Teile vom AST matchen was auch zuverlässiger als regex ist. Da ist es dann nämlich egal wie der cast aussieht, das Parsen hat ja schon jemand anderes gemacht 🙂



  • @Mathuas sagte in Welche Sprache kann C++ Konkurrenz machen?:

    Ich habe schneller "begin" geschrieben, als wen ich die {} mit einem Tastengewurstel suchen muss. Das "end" wird dann meisten selbst geschrieben.

    Diese BEGIN END Orgien in Pascal empfand ich immer als abstoßend. Es mag auch daran liegen, dass ich zuerst Modula-II und dann anschließend Oberon-2 gelernt hatte, und in beiden Sprachen gibt es das nicht, und erst anschließend Kontakt zu Pascal hatte.

    Was mir persönlich fehlt ist ein Vergleich zwischen Ada, C++ und FreePascal, insbesondere mit Blick auf den Vergleich Ada und FreePascal. Was spricht für FreePascal, wenn es doch Ada gibt?



  • @john-0 sagte in Welche Sprache kann C++ Konkurrenz machen?:

    . Was spricht für FreePascal, wenn es doch Ada gibt?

    Ich habe mal nach Ada gegoogelt.

    Der Einstieg sieht recht komplex aus, so wie es aussieht, ist es ein rechtes Nischenprodukt.
    https://gcc.gnu.org/onlinedocs/gnat_ugn/Running-a-Simple-Ada-Program.html



  • @Mathuas sagte in Welche Sprache kann C++ Konkurrenz machen?:

    @john-0 sagte in Welche Sprache kann C++ Konkurrenz machen?:

    . Was spricht für FreePascal, wenn es doch Ada gibt?

    Ich habe mal nach Ada gegoogelt.

    Der Einstieg sieht recht komplex aus, so wie es aussieht, ist es ein rechtes Nischenprodukt.
    https://gcc.gnu.org/onlinedocs/gnat_ugn/Running-a-Simple-Ada-Program.html

    Ist Pascal doch heutzutage aber auch. Ada war lange Zeit in der Flugzeugindustrie beliebt, weil es da so einen SubSet gibt mit dem die Korrektheit formal bewiesen werden kann.



  • @Tyrdal sagte in Welche Sprache kann C++ Konkurrenz machen?:

    Ist Pascal doch heutzutage aber auch. Ada war lange Zeit in der Flugzeugindustrie beliebt, weil es da so einen SubSet gibt mit dem die Korrektheit formal bewiesen werden kann.

    Das mit der Flugiindustrie stimmt, aber veraltet ist Pascal überhaupt nicht, dies wird mindestens genauso gut gepflegt wie C.
    Auch die IDE (Lazarus) ist topaktuell.



  • @Mathuas sagte in Welche Sprache kann C++ Konkurrenz machen?:

    Der Einstieg sieht recht komplex aus,

    Das was Du verlinkt hast, ist nur der Compileraufruf. Was ist daran komplex?

    so wie es aussieht, ist es ein rechtes Nischenprodukt.

    Das sagt derjenige der FreePascal bewirbt.



  • Was mir auch noch aufgefallen zwischen C und Lazarus.
    Der Compiler und Linker von Lazarus sind intelligenter als die von C/C++.
    Wen einer Sourcen von Lazarus veröffentlicht, die kann man in der Regel ohne Probleme starten.
    Wen dort male eine C-Lib fehlt, wird schön angezeigt, was fehlt.

    Lade ich aber C/C++ Sachen runter, ist es immer eine Lotterie, ob man es zum laufen bringt.
    Der Compiler macht in der Regel noch gut mit.
    Aber das Programm "ld"/Linker ist nach meiner Meinung strohdumm. Der motzt bei Sachen, obwohl sie auf der Platte vorhanden sind.
    Bei Pascal habe ich ganz selten mal ein Problem mit dem Linker, der ist intelligent genug das Zeugs zusammenzusetzen.



  • @Mathuas Worüber beschwerst du dich genau? Das dein Linker nicht die richtigen Dateien findet, um die Software zu linken? Das ld zu viele Freiheitsgrade hat? Wie macht Lazarus das denn, wenn du von einer Bibliothek verschiedene Versionen an verschiedenen Stellen liegen hast?

    Wenn eine Software gestartet wird, bestimmt das OS wo nach den Abhängigkeiten gesucht wird. Bei Windows wird zuerst im selben Verzeichniss, dann in den entsprechenden OS Verzeichnissen und anschließend an der im PATH angegebenen Stellen gesucht. Wenn was fehlt bekommst du auch da die entsprechende Fehlermeldung.

    Ich könnte mir vorstellen, dass man vlt deutlich seltener dynamische Bibliotheken verwendet, sondern einfach alles statisch rein linked. Hat halt auch seine Nachteile.



  • Guten Morgen @Mathuas ,
    wenn ich mit VisualStudio C++ Sourcen kompilieren lasse und eine LIB nicht vorhanden ist, bekomme ich eine Fehlermeldung:
    LINK : fatal error LNK1104: Datei "xxx.lib" kann nicht geöffnet werden.
    Es hat schon seinen Sinn, dass das Bibliotheksverzeichnis und die Bezeichnung der Bibliotheken getrennt angegeben werde.
    Ich würde es schon etwas schwierig finden einen Fehler zu finden, wenn mein Compiler intelligent sich selbst sein passendes Zeugs zusammensetzt/zusammensucht.

    Edit: Schließe mich @Schlangenmensch an, war selbst etwas spät mit dem Abschicken.


Anmelden zum Antworten