Fragen? Antworten! Siehe auch: Alternativlos
Meine Antwort: beides. Ich empfehle, sich die Programmiersprachen mal rudimentär anzugucken, und dann aber nicht ernsthaft los zu programmieren, sondern das Exploiten zu lernen. Rückblickend glaube ich, daß ein Gutteil meiner Programmierfähigkeiten darauf zurück zu führen ist, daß ich beim Cracken und Exploiten gelernt habe, wie Programmstrukturen von Compilern in Code abgebildet werden. Genau wie man Kinder in der Schule früher mal Latein lernen ließ (hab ich übrigens als 1. Fremdsprache gehabt, von der 5. bis zur 11. Klasse), damit sie ein gutes Sprach- und Grammatikgefühl entwickeln, empfehle ich Cracken Lernen, um ein gutes Gefühl für Code zu entwickeln. Langfristig ist Cracken und Exploiten aber nicht erfüllend. Also ich zumindest fand das nicht ausfüllend. Ja, es ist sehr faszinierend, aber a) kann man damit nicht so gut Geld verdienen, b) macht sich das auf der Vita nicht so toll, und c) ist es einengend für die Kreativität. Man kann in weniger Richtungen kreativ sein als beim Schreiben von Code.
Trotzdem würde ich das heute in weiten Teilen wieder genau so machen — erst Turbo Pascal, dann Assembler, dann C, dann Exploiten, dann C++, später Perl, Bourne Shell und Co nachschieben. Gut, den Basic-Teil würde ich mir heute sparen (*hust*), und rückblickend hätte ich mir auch Java und C# nicht angucken müssen; die haben mir beide nichts gegeben, was ich nicht vorher schon wußte.