Beste Antwort
Die Umgebung ist buchstäblich alles, was auf Ihrem Computer installiert ist und sich entweder auf die Entwicklung und / oder das Testen Ihrer Anwendung auswirken kann Dazu gehören:
- Die von Ihnen verwendeten Editoren / IDEs (kann sich darauf auswirken, wie effizient Sie Code schreiben können).
- Welche Compiler / Interpreter verwenden Sie und deren genaue Versionen – Dies kann sich darauf auswirken, ob Ihr Code überhaupt ausgeführt wird oder wie effizient er ausgeführt wird.
- Das auf Ihrem Computer installierte Betriebssystem – Kann einen erheblichen Einfluss darauf haben, wie Ihr Code geschrieben wird.
- Die auf Ihrem Computer festgelegten Umgebungsvariablen, die besonders beim Testen relevant sind, da diese bestimmte Funktionen einiger Anwendungen erheblich beeinträchtigen können.
- Die auf Ihrem Computer installierten zusätzlichen Bibliotheken (einschließlich möglicherweise von anderen Programmen installierter Bibliotheken); Dies kann sich darauf auswirken, wie gut Ihr Code auf den Computern anderer Benutzer ausgeführt wird (mit möglicherweise unterschiedlichen Bibliotheksversionen).
- Andere Programme, die auf Ihrem Computer ausgeführt werden, insbesondere während Last- und Leistungstests.
- Die verfügbaren RAM und Speicherplatz auf Ihrem Computer: Kann sich auf die Leistung Ihres Codes auswirken, insbesondere unter Last- / Stresstestbedingungen.
- Die lokale Netzwerkkapazität und Konnektivität: Kann sich direkt auf die Funktionsweise einiger Programme auswirken (oder ob sie tatsächlich funktionieren) überhaupt).
Idealerweise sollte Ihre Entwicklungsumgebung so sauber wie möglich sein – installieren Sie nur die Bibliotheken, die Ihr Code benötigt, und verwenden Sie nur die Versionen des Compilers / Interpreters, die Sie verwenden planen zu verwenden. Ebenso benötigen Sie für Funktionstests eine saubere Umgebung, in der Ihre Anwendung nur mit den von Ihnen geplanten Versionen der Bibliotheken ausgeführt werden kann.
Für Last- / Stresstests müssen Sie einen Schritt weiter gehen – eine vollständig sterile Maschine Es werden keine anderen Anwendungen als das Betriebssystem ausgeführt, und nur Ihre Anwendung und die darauf installierten Abhängigkeiten. Einige Organisationen gehen so weit, eine vollständige Festplattenlöschung durchzuführen und neu zu installieren, wenn sie Stresstestprogramme planen.
Antwort
Beim Programmieren wird ein Algorithmus verwendet und in einen codiert Notation, eine Programmiersprache, damit sie von einem Computer ausgeführt werden kann. Obwohl es viele Programmiersprachen und viele verschiedene Computertypen gibt, ist der wichtige erste Schritt die Notwendigkeit, die Lösung zu haben. Ohne einen Algorithmus kann es kein Programm geben.
Informatik ist nicht das Studium der Programmierung. Das Programmieren ist jedoch ein wichtiger Teil dessen, was ein Informatiker tut. Programmieren ist oft die Art und Weise, wie wir eine Darstellung für unsere Lösungen erstellen. Daher wird diese Sprachdarstellung und der Prozess ihrer Erstellung zu einem grundlegenden Bestandteil der Disziplin.
Algorithmen beschreiben die Lösung eines Problems anhand der Daten, die zur Darstellung der Probleminstanz und der erforderlichen Schritte erforderlich sind um das beabsichtigte Ergebnis zu erzielen. Programmiersprachen müssen eine notatorische Möglichkeit bieten, sowohl den Prozess als auch die Daten darzustellen. Zu diesem Zweck stellen Sprachen Steuerungskonstrukte und Datentypen bereit.
Mit Steuerungskonstrukten können algorithmische Schritte auf bequeme und dennoch eindeutige Weise dargestellt werden. Für Algorithmen sind mindestens Konstrukte erforderlich, die eine sequentielle Verarbeitung, eine Auswahl zur Entscheidungsfindung und eine Iteration zur wiederholten Steuerung durchführen. Solange die Sprache diese grundlegenden Anweisungen bereitstellt, kann sie zur Darstellung von Algorithmen verwendet werden.
Alle Datenelemente im Computer werden als Zeichenfolgen von Binärziffern dargestellt. Um diesen Zeichenfolgen eine Bedeutung zu geben, benötigen wir Datentypen. Datentypen bieten eine Interpretation für diese Binärdaten, damit wir über die Daten in Begriffen nachdenken können, die in Bezug auf das zu lösende Problem sinnvoll sind. Diese integrierten Datentypen auf niedriger Ebene (manchmal auch als primitive Datentypen bezeichnet) bilden die Bausteine für die Algorithmusentwicklung.
Beispielsweise bieten die meisten Programmiersprachen einen Datentyp für Ganzzahlen. Zeichenfolgen von Binärziffern im Arbeitsspeicher des Computers können als Ganzzahlen interpretiert werden und die typischen Bedeutungen erhalten, die wir üblicherweise mit Ganzzahlen assoziieren (z. B. 23, 654 und -19). Darüber hinaus enthält ein Datentyp auch eine Beschreibung der Operationen, an denen die Datenelemente teilnehmen können. Bei Ganzzahlen sind Operationen wie Addition, Subtraktion und Multiplikation üblich. Wir haben erwartet, dass numerische Datentypen an diesen arithmetischen Operationen teilnehmen können.
Die Schwierigkeit, die sich für uns häufig ergibt, ist die Tatsache, dass Probleme und ihre Lösungen sehr komplex sind. Diese einfachen, von der Sprache bereitgestellten Konstrukte und Datentypen sind zwar sicherlich ausreichend, um komplexe Lösungen darzustellen, sind jedoch in der Regel im Nachteil, wenn wir den Problemlösungsprozess durcharbeiten. Wir brauchen Möglichkeiten, um diese Komplexität zu kontrollieren und bei der Erstellung von Lösungen zu helfen.