Du solltest Dich nicht für die dunkle Seite der Macht entscheiden. Jeder, der umfangreiche Ahnung hat, wie TCP/IP, HTML-Server, Hardening und IP-Security funktionieren, weiß auch um die Schwachstellen und kann theoretisch auch hacken.Wenn es Dich interessiert, wie solche Schwachstellen ausgenutzt werden, empfehle ich Dir SW wie Nessus. Installiere Dir alte SW-Versionen, von denen Schwachstellen bekannt sind und lerne wie z.B. ein fehlerhaftes memcpy in einer Server-Funktion dazu genutzt werden kann, um Schad-Code auszuführen. Ich wiederhole es gern nochmal, man kann dieses Wissen dazu nutzen, die Sicherheit zu verbessern oder fremde Systeme anzugreifen. Ich hoffe, Du entscheidest Dich für die richtige Seite, mit der falschen Entscheidung landest Du u.U. im Gefängnis...es gibt nämlich auch die Guten im Internet:-)

...zur Antwort

Das Zauberwort heißt Escape-Sequenz. Escapesequenzen kommen aus einer Zeit, in der Terminals und Consolen noch echte Hardware waren. Die meisten der heutigen Konsolen- oder Terminalprogramme unterstützen diese Escapesequenzen immer noch. Eine gute Beschreibung findest Du hier (http://academic.evergreen.edu/projects/biophysics/technotes/program/ansi\_esc.htm). Die Startsequenze ist immer "\x1B[".

Die Zeile print("\x1B[31mText\x1B[0m") gibt 'Text' in roter Farbe aus. Bitte nie vergessen, nach dem Text, die Terminal-Attribute mit "\x1B[0m" wieder abzuschalten, sonst kommen ab da an alle Texte in dieser Farbe.

Mit Escape-Sequenzen kann man weit mehr machen, als nur farbige Texte ausgeben. Man kann z.B. auch den Cursor lenken, um ihn z.B. für eine auf der Zeile bleibenden Progressanzeige auf der Zeile zu halten.

Sollte Dein Terminalprogramm das nicht sofort richtig anzeigen, kannst Du das in Deinem Terminalprogramm unter Optionen und Terminal Type einstellen.

...zur Antwort

Tolle Frage! Ich würde behaupten, ja, man kann logisches Denken erlernen. Jedes Kind tut dies seit der Geburt: "Ist die Herdplatte an, dann nicht anfassen, sonst tut das weh."

Man muss zunächst zwischen menschlicher, philosophischer und mathematischer Logik unterscheiden. Das obige Beispiel eines Kindes ist menschliche Logik, die sich 1:1 in philosophische und mathematische Logik überführen liese. Umgedreht geht das oft nicht. In der Mathematik gibt es Dinge (z.B. einen 128-dimensionalen Raum), den man sich als Mensch nicht vorstellen kann, sehr wohl aber mathematische Aussagen darüber treffen kann.

Die Logik, die Du zur Software-Entwicklung erlernen willst, ist die mathematische Logik. Wie grtgrt schon schrieb, hilft dort das intensive Befassen mit Mathematik. Alles, was sich mathematisch berechnen läßt, kann man auch via Software berechnen, das gilt aber auch umgekehrt: wenn ein universelles Problem mathematisch unlösbar ist, dann ist es auch mit Software-Mitteln nicht lösbar.

Aus didaktischer Sicht gibt es Möglichkeiten, das logische Denken zu fördern. Eine einfache Möglichkeit ist ein logisches Spiel. Ich rede nicht über "Call of Duty" :-) ich rede über Schach. Wenn Du Schach spielen kannst und oft gegen Gegner spielst, die stärker sind als du, werden sich zwei Dinge einstellen:
1. Der Zwang, mehrere Züge vorauszudenken, wird dein logisches Denken schulen, insbesondere der Umgang mit "UND" und "ODER" (das sind Grundlagen mathematischer Logik)
2. Die Notwendigkeit, sich gedanklich "total" auf das Spiel zu konzentrieren, wird Dir helfen, auch in anderen Situationen (Schule, Beruf, u.a.) sich auf das zu konzentrieren, was wichtig ist (z.B. beim Lösen einer Textaufgabe).

...zur Antwort

Als einer, der beide Sprachen ganz gut kann, empfehle ich definitiv Phyton, wenn es einer der ersten Computersprachen ist, die man lernen will.

Perl ist eine Expertensprache, deswegen wird an Universitäten auch eher Phyton gelehrt, wogegen zu Perl eher Experten greifen, die schon eine Reihe anderer Sprachen beherrschen.

Zu beiden Sprachen gibt es gute Communities, die bei Erstproblemen helfen, und zu beiden Sprachen gibt es Tonnen von Bibliotheken, die bereits das liefern, was man implementieren will.

Beide Sprachen werden "vorkompiliert", deswegen sind sie deutlich effektiver als viele "reine" Interpretersprachen. Allerdings hat das Grenzen. Wenn man hoch-perfomante Dinge erledigen will, braucht man a) eine Sprache, die auf die Plattform-Maschinensprache übersetzt und b) eine Möglichkeit, hardware-nah auf Register oder Hardware-Ressourcen zuzugreifen, sowas geht nur mit Sprachen wie C u.ä.

Um es kurz zu sagen, es macht wenig Sinn, mit Phyton oder Perl etwas wie ein Betriebssystem, einen Grafiktreiber oder einen Video-Codec zu implementieren. Theoretisch geht das schon, aber aus Perfomance-Sicht hätte man wenig Freude daran.

Wenn es darum geht, eine regelnde Software zu schaffen, die auf einem variablen System, was Solaris, Ubuntu, Suse, Windows oder MAC sein könnte, so zu implemtieren, dass es auf all diesen läuft, sind solche Sprachen ideal.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.