Ich benutze CMake, um meine Projekte IDE / Makefiles zu generieren, aber ich muss immer noch benutzerdefinierte "Skripte" aufrufen, um meine kompilierten Dateien zu manipulieren oder sogar Code zu generieren.
In früheren Projekten habe ich Python verwendet und es war in Ordnung, aber jetzt habe ich ernsthafte Probleme mit der Verwaltung vieler Abhängigkeiten in zwei sehr großen Projekten, an denen ich arbeite. Daher möchte ich die Abhängigkeiten überall minimieren.
Jemand schlug mir vor, C ++ zu verwenden, um meine Build-Skripte zu schreiben, anstatt nur dafür eine Sprachabhängigkeit hinzuzufügen. Die Projektthemen verwenden bereits C ++, sodass ich verschiedene Vorteile sehe:
- Um das gesamte Projekt zu erstellen, wären nur ein C ++ - Compiler und CMake erforderlich, sonst nichts (alle anderen Abhängigkeiten sind C oder C ++).
- Die Sicherheit des C ++ - Typs (bei Verwendung von modernem C ++) macht es einfacher, "richtig" zu werden.
- Es ist auch die Sprache, die ich besser kenne, damit ich mich besser damit auskenne, auch wenn ich in der Lage bin, guten Python-Code zu schreiben.
- potenzieller Gewinn an Ausführungsgeschwindigkeit (aber ich denke nicht, dass es wirklich wahrnehmbar sein wird);
Ich denke jedoch, dass es einige Nachteile geben könnte, und ich bin mir nicht sicher, welche Auswirkungen dies haben könnte, da ich es noch nicht versucht habe:
- Das Schreiben des Codes könnte länger dauern (das heißt, ich bin mir nicht sicher, weil ich in C ++ effizient genug bin, um etwas zu schreiben, das schnell funktioniert. Für dieses System wäre es möglicherweise nicht so lang) (Kompilierungszeit sollte nicht sein.) t ein Problem für diesen Fall sein);
- Ich muss davon ausgehen, dass alle Textdateien, die ich als Eingabe lesen werde, in UTF-8 vorliegen. Ich bin mir nicht sicher, ob sie zur Laufzeit in C ++ einfach überprüft werden können, und die Sprache prüft sie nicht für Sie.
- Bibliotheken in C ++ sind schwerer zu verwalten als in Skriptsprachen.
Mir fehlen Erfahrung und Weitsicht, also fehlen mir vielleicht Vor- und Nachteile. Die Frage ist also: Ist es sinnvoll, dafür C ++ zu verwenden? Haben Sie Erfahrungen zu berichten und sehen Sie Vor- und Nachteile, die wichtig sein könnten?