Python als Grundlage um später weiterzugehen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MaCreme
User
Beiträge: 6
Registriert: Freitag 3. Oktober 2014, 20:38

Hallo liebe Community,

ich habe mich heute in diesem Forum angemeldet und stelle wahrscheinlich die Fragen, die jeder stellte.
Ich habe mir das Wiki und alle ähnlichen Foren von 2014 durchgelesen doch nichts wirklich genaues gefunden.

Ich bin noch nicht volljährig und habe einmal Xcode versucht zu lernen, doch meine Ziele eigene MMOs zu schreiben waren zu groß,
da ich nach einem Jahr immer noch bei wirklich winzigen Funktionen war etc.

Was suche ich genau?
Mich interessiert das Lösen von Problemen. Inspirieren lassen habe ich mich durch viele Berichte im Internet und Zeitungsartikel, in denen es darum ging,
wie es Programmierer doch immer wieder schaffen, an "Sicherheitslinien" wie z.B. von iOS 7 oder 8 vorbeizukommen.
Ich will selber mal probieren etwas zu kreieren an dem man nicht mehr vorbeikommt. Sowas interessiert mich.
Ich bin wahnsinnig interessiert an Mathematik und habe im Internet gesehen, dass Python ein guter Einstieg ist, um später auf C oder Java o.ä. sich fortzubilden.

Ich weiß nicht wie man es nennt, aber ich will keine Codes für Animationen etc. lernen, sondern für Sachen wie Sicherheit, das Erstellen einer Webseite und sowas (HTML habe ich auch mal gelernt vor vielen Jahren).
Wenn mir da wer helfen kann würde ich mich sehr über eine Antwort freuen. Achja, am besten ist ein Online Tutorial auf Deutsch dazu.
Ich will mich da nicht auf die Rezensionen im Internet verlassen, sondern Leute fragen, die davon wirklich Ahnung haben.
Habe mit der Tutorialsuche bei Xcode (iPhone Apps Programmierung) auch viel Mühe gegeben, da man wirklich was Gutes finden muss!

Mit freundlichen Grüßen
Xfd7887a
User
Beiträge: 135
Registriert: Montag 23. Juni 2014, 17:11

Ich bin wahnsinnig interessiert an Mathematik und habe im Internet gesehen, dass Python ein guter Einstieg ist, um später auf C oder Java o.ä. sich fortzubilden.
Ich denke, da bist du bei Python richtig :D Mit der einfachen Syntax kannst du dich mehr auf die Algorithmen konzentrieren als auf die Syntax. Hier das Tutorial: http://py-tutorial-de.readthedocs.org/de/python-3.3/
BlackJack

@MaCreme: Du schreibst nach „Was suche ich genau?” eine ganze Menge, aber nichts wirklich genaues. Ich denke ich bin nicht der einzige der sich jetzt fragt was die eigentliche Frage denn nun genau ist‽

Sicherheit („security”, nicht „safety”) ist ein sehr umfassendes, nicht-triviales Feld und im Grunde unabhängig von der Programmiersprache. Aber nicht in allen Bereichen unabhängig von der Hardware und wie die verwendete(n) Programmiersprache(n) letztendlich mit dieser Hardware umgehen. Ein Tutorial wird es dafür nicht geben. Das ist Stoff für mehrere Vorlesungen in einem Studium und reicht von „side channels” in Hardware, über Probleme die bei bestimmten Compilern/Programmiersprachen auf Maschinenspracheebene auftauchen, defensive Programmierung, das entwerfen von sicheren Kommunikationsprotokollen, bis zu den mathematischen Eigenschaften von Verschlüsselungen und sicheren Algorithmen zum Schlüsselaustausch.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

MaCreme hat geschrieben:Ich bin noch nicht volljährig und habe einmal Xcode versucht zu lernen, doch meine Ziele eigene MMOs zu schreiben waren zu groß,
da ich nach einem Jahr immer noch bei wirklich winzigen Funktionen war etc.
Volljährig sein muss man auch nicht, denke hier haben viele so mit 13 oder 14 auch schon Programmiert. Aber: du hast sicher nicht versucht XCode zu lernen, weil das ist eine IDE und keine Programmiersprache (und daher ähnlich sinnvoll wie wenn man sagt man hat "Notepad gelernt" oder "Eclipse gelernt"). Das was du meinst ist vermutlich Objective-C, eine Sprache die oftmals in XCode programmiert wird.
MaCreme hat geschrieben:Ich will selber mal probieren etwas zu kreieren an dem man nicht mehr vorbeikommt. Sowas interessiert mich.
Ich bin wahnsinnig interessiert an Mathematik und habe im Internet gesehen, dass Python ein guter Einstieg ist, um später auf C oder Java o.ä. sich fortzubilden.
Ob Java unter "Fortbildung" oder "Zurückbildung" zählt lasse ich mal offen, aber das was du hier beschreibst ist etwas zu schwammig um dir irgendwas zu empfehlen. Sicherheit ist ein weites Feld, da kann man an beliebiger Stelle einsteigen. Ein Freund von mir hat sich mit Sicherheit über die ARM TrustZone-Erweiterungen auseinandergesetzt, kombiniert mit Virtualisierung. Das kann man machen, das erfordert aber einiges an Wissen über CPUs, Betriebssysteme und Assembly.

Andererseits kann man natürlich auch auf der algorithmischen Seite einsteigen, mit Algorithmen und Verfahren wie RSA, ECDSA, dem Axolotl-Ratched, OTR, etc, das kann man alles aus Python heraus machen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
MaCreme
User
Beiträge: 6
Registriert: Freitag 3. Oktober 2014, 20:38

Klar, Objecitve-C, hab ich ganz vergessen nach all den Jahren.
Ich kenne mich auf dem Gebiet garnicht aus, deshalb weiß ich nicht was es alles gibt und kenne eure ganzen Fachbegriffe auch nicht.
Z.b. der WhatsApp Skandal, dass man plötzlich auf andere WhatsApp Konten zugreifen konnte, da interessiert mich wie man soetwas herausfindet, macht und dann schlussendlich eben verhindern kann.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

MaCreme hat geschrieben:doch meine Ziele eigene MMOs zu schreiben waren zu groß,
da ich nach einem Jahr immer noch bei wirklich winzigen Funktionen war etc.
Du kannst mit Python in der Blender Game Engine in endlicher Zeit ein 3D-Spiel hinbekommen. Multi-Player soll angeblich auch gehen.
MaCreme hat geschrieben:Ich bin wahnsinnig interessiert an Mathematik
In Python kannst Du mit Numpy und Scipy Mathematik fast so formulieren, wie Du es auf einem Blatt Papier machen würdest. Ich benutze es deshalb gerne zum Prototyping. Wenn das Gleiche dann mit C++ performant und parallel programmiert ist, dann muss man schon sehr genau hinschauen um die zu Grunde liegende Mathematik zu erkennen.
MaCreme hat geschrieben:wie es Programmierer doch immer wieder schaffen, an "Sicherheitslinien" wie z.B. von iOS 7 oder 8 vorbeizukommen.
Ich will selber mal probieren etwas zu kreieren an dem man nicht mehr vorbeikommt. Sowas interessiert mich.
Sicherheitslücken können durch Fehler im Speichermanagement entstehen. In C++ musst Du den Speicher selbst managen. Ein Angreifer schreibt in Array A zu viele Daten rein, diese Überlappen dann nach Objekt B und das Objekt B ist damit mit Daten vom Angreifer frisiert und macht dann (vielleicht) das, was der Angreifer möchte. In Python hast Du keine Möglichkeit sowas auszuprobieren.
MaCreme hat geschrieben:am besten ist ein Online Tutorial auf Deutsch dazu.
Wenn Du wirklich den Rest Deines Lebens Software machen möchtest, dann würde ich an Deiner Stelle jetzt Englisch lernen und erst danach Programmieren. Das Englisch, was Du jetzt lernst, ist nämlich auch noch in 20 Jahren richtig. Bei Software sollte Dir aber klar sein, dass die Entwicklung unglaublich schnell geht. Im Vergleich zum Maschinenbau etwa um den Faktor 4 schneller. Wenn dann also Software-Entwickler versuchen mit ihrem Wissen von vor 20 Jahren Software zu machen, ist das so, als ob Ingenieure bei VW Autos wie vor 80 Jahren konstruieren wollten.
a fool with a tool is still a fool, www.magben.de, YouTube
MaCreme
User
Beiträge: 6
Registriert: Freitag 3. Oktober 2014, 20:38

Wie bekommt man denn immer die neuen Codes von den Sprachen mit?
Ich weiß noch, dass es bei Objective-C so war, dass bei einer neuen iOS Version alle neuen Befehle aufgeschrieben wurden und eine kurze Erklärung dazu gab.

EDIT: Ich habe den Python-Interpreter installiert, doch wenn ich Strg+P eingebe, kommt ^P. Wie kann ich das ändern? Ich will ja nicht wenn ich oben im Script was ändern will, alles löschen!
BlackJack

@MaCreme: Änderungen bei Bibliotheken bekommt man mit in dem man die Dokumentation zur Bibliothek liest und/oder falls die Entwicklung öffentlich ist und man sich sehr für die Details interessiert, in dem man die Commits im Repository verfolgt. Daneben gibt oft auch Foren oder Mailinglisten. Und bei einigen grösseren öffentlichen Projekten gibt es ein etabliertes Verfahren wie Änderungen vorgeschlagen, diskutiert, und dann angenommen oder abgelehnt werden.

Bei Python gibt es in der Dokumentation zum Beispiel zu jeder neuen Version einen „What's new”-Abschnitt. Und Änderungen an der Sprache und der Standardbibliothek werden in der Regel auf der Entwicklermailingliste andiskutiert, dann als „Python Enhancement Proposal” (PEP) formuliert, das wird diskutiert, eventuell wird das PEP dabei überarbeitet, erweitert, oder auch zurückgezogen. Und am Ende entscheidet dann in letzter Instanz Guido van Rossum ob es umgesetzt wird oder nicht.
MaCreme
User
Beiträge: 6
Registriert: Freitag 3. Oktober 2014, 20:38

Ich habe den Python-Interpreter installiert, doch wenn ich Strg+P eingebe, kommt ^P. Wie kann ich das ändern? Ich will ja nicht wenn ich oben im Script was ändern will, alles löschen!
Im Tutorial steht ja, wenn das so ist, kann man nicht im Script oben und mal unten was ändern.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wie du das aendern kannst, haengt davon ab welches Betriebssystem und welche Python-Installation du verwendest.

Am wichtigsten ist aber: Der Interpreter ist kein Editor. Mit "Strg+P" kannst du "oben im Skript" nichts aendern du kannst nur eine Eingabe aus der Historie erneut ausfuehren bzw zuerst aendern und dann ausfuehren.
Der interaktive Interpreter wird nicht zum aktiven entwickeln benutzt, sondern um "kurz was zu testen". In dem Sinne: Such dir einen Editor/Entwicklungsumgebung der dir gefaellt, dann ist es auch kein allzu grosses Problem wenn die Historie nicht funktioniert (obwohl es natuerlich immer noch sehr unangenehm ist).
Antworten