Vorstellung [Hier ist Scann0r]

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Scann0r
User
Beiträge: 4
Registriert: Sonntag 9. Oktober 2016, 17:50

Hallo, liebe Besucher und Mitglieder dieses Forums :)
Ich heiße Eugen, bin Jahrgang 1995 und wohne zurzeit in Wuppertal.
Zurzeit besuche ich ein Berufskolleg, um die schulische Ausbildung für ITA abzuschließen und Fachabitur zu erlangen, um dann vielleicht Informatik zu studieren.

Habe mich entschieden euch in diesem Forum beizutreten, da ich mich zurzeit mit Python täglich beschäftige und hier meine Erfahrungen teilen oder vermehren kann.

Manchmal kann es sein, dass ich mal komisch wirke. Das liegt daran, dass ich ein Autist bin. Hab noch keine Diagnose machen gelassen, aber das vermute ich und viele. Ich spühre auch oft Schwierigkeiten im sozialen Umfeld und Kommunikation.
Arbeite öfters alleine und komme alleine gut zurecht.
Bin auch Einzelkind und wohne seit ich 6 bin nur mit der Mutter.
Das macht alles noch schwieriger.


Ich beschäftigte mich eine Weile mit C++ und dann C.
Wollte aber Python diesmal benutzen, da der Code einfach ist und für mein Gebiet ausreicht. Ich erlernte bereits die Grundlagen, die ich aus Video Tutorials und EBooks nacheinander langsam durcharbeitet hab.
Hatte mir noch Buch zu Python 3 in der Unibiblothek geholt.
Nachdem ich alle Python Konzepte von diesem Buch erlerne, werde ich dann EBooks und Videokurse über Spiel, Web, Netzwerkentwicklung usw. ziehen (Desto mehr ich erlerne desto besser xD)
Ich benutze Pycharm IDE unter Arch Linux.

Grüße
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

Scann0r hat geschrieben:Das liegt daran, dass ich ein Autist bin. Hab noch keine Diagnose machen gelassen, aber das vermute ich und viele. Ich spühre auch oft Schwierigkeiten im sozialen Umfeld und Kommunikation.
Könnte auch Soziopathie sein, das verwechseln viele. Mein Tipp: Zwei unabhängige Diagnosen bergen oft Überraschungen.
Scann0r hat geschrieben:Ich beschäftigte mich eine Weile mit C++ und dann C.
Wollte aber Python diesmal benutzen, da der Code einfach ist
Ha, du wirst überrascht sein. Seit ich ein bisschen mit Python gearbeitet habe, finde ich C++ plötzlich viel einleuchtender... :wink:

Willkommen im Forum, Scann0r!
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wer braucht schon Experten, wenn ein Haufen Amateure im privaten Umfeld die selbst gestellte Diagnose für einen bestätigen? Sehr sportliche Herangehensweise...
Scann0r
User
Beiträge: 4
Registriert: Sonntag 9. Oktober 2016, 17:50

@grum,py, Ähm nein, Soziopathie hab ich garnicht. "Soziopath bezieht sich entweder auf psychopathische Personen, die nicht oder nur eingeschränkt fähig sind, Mitgefühl zu empfinden, sich nur schwer in andere hineinversetzen können" - Das trifft nicht zu. Ich habe zwar Schwierigkeiten in ein Gesprächsthema mich zu versetzen, manchmal über bestimmte Dinge mich zu artikulieren, mir mit bestimmten Leuten ein Thema anzufangen, was für die anderen zu der Interesse passt,usw. Mit desto mehr Leuten ich in der Nähe bin, desto stiller werde ich und schaue fast nur zu, über was andere reden, als ob ich nicht da wäre.
Emotionen und Gefühle zeige ich nicht oft und ich reagiere Emotionslos auf manche freudige Argumente, aber ich kenne mich trotzdem locker über Emotionen aus usw. und kann die Gefühle einschätzen durch die Wirkung der Personen. Manche haben auch falsche Vorstellung von Autisten. Vielleicht gibt es auch Autisten, die es wirklich nicht können, aber das weiß ich nicht. Ich kann nur das vorstellen, was ich selber Fühle usw.

Naja ne Diagnose werde ich noch in Köln machen. Mir haben schon mehrere Personen gesagt, ich sei wahrscheinlich ein Autist.
Nicht nur das oben beschriebene ist der Grund.

C++ kann mir eeh nicht so schwer vor, außer nur das erste Mal, als ich den Grundaufbau des Codes gesehen habe xD
Dann paar Tutorials durchgezogen und es ging dann.
Zuletzt geändert von Scann0r am Montag 10. Oktober 2016, 23:35, insgesamt 1-mal geändert.
Scann0r
User
Beiträge: 4
Registriert: Sonntag 9. Oktober 2016, 17:50

Könnte an diesem Zeitalter liegen, dass die Menschen komisch drauf sind, psychisch anormal usw.
Wobei es gab schon eig. immer Menschen mit annormalen Persöhnlichkeiten.
Es hängt auch nicht direkt von der Genetik denke ich ab, sondern es zählen dazu auch Faktoren, wo die Person aufgewachsen ist, was die erlebt hat, mit was die sich beschäftigte, was sie sich im Internet anschaut, Erziehung, wie die behandelt wurde usw.
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

Genau, Autismus ist Erziehungssache.
Siehste, eindeutig kein Autist. :mrgreen:

Ah, jetzt erst deinen Nachtrag gesehen:
C++ kann mir eeh nicht so schwer vor, außer nur das erste Mal, als ich den Grundaufbau des Codes gesehen habe xD
C++ ist zu einer ziemlich geilen Sprache herangewachsen. Je mehr Sprachen ich kenne, desto lieber mag ich einige seiner Besonderheiten. :)
BlackJack

Wer C++ mag, ist auf jeden Fall schräg drauf. :twisted: Und wer das leicht findet, hat es wahrscheinlich nicht verstanden. Es wird auch mit jeder Version noch schrecklicher und barocker.
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

C++17 ist deutlich angenehmer als C++98. In meinem Code kommen nicht mal mehr Pointer vor.

Und die zweieinhalb großen Probleme, die ich mit Python habe (miese Performance, fehlende Eignung für kommerzielle Software dank fehlender Binärcompiler, Whitespace als Syntax), hat C++ alle nicht. Python hat dafür andere Stärken, gerade bei webbasierten Diensten würde mich C++ ein wenig nerven. ;)
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Das Problem mit C++ ist dass es versucht möglichst alles zu sein und alles zu erlauben. Gute Programmiersprachen zeichnen sich aber nicht dadurch aus dass man darin möglichst alles machen kann. Eine Programmiersprache ist gut wenn die Sprache möglichst simpel und die Ausdrucksstärke beschränkt ist, so dass man eben nicht alles machen kann aber dass was man machen kann sinnvoll ist.

C++ hat einem immer erlaubt unglaublich viel unsinnigen problematischen Schwachsinn auszudrücken. Jede Version hat bisher darin nichts geändert und nur die Komplexität erhöht. Ganz offensichtlich verbessert sich hier also gar nichts, im Gegenteil.

Ich bin übrigens gerne bereit zuzugeben dass es bei Python, insbesondere mit den neuen Format Strings und der ganzen async Syntax, ganz ähnlich aussieht.
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

DasIch hat geschrieben:Eine Programmiersprache ist gut wenn die Sprache möglichst simpel und die Ausdrucksstärke beschränkt ist, so dass man eben nicht alles machen kann aber dass was man machen kann sinnvoll ist.
Was möchtest du in C++ denn ausdrücken können und was nicht?
BlackJack

@grum.py: Es gibt einfach viel zu viele Möglichkeiten mit zu viel total kryptischer Syntax und langen Fehlermeldungen die einen mit mehr Fragen hinterlassen als man ohnehin schon hat. Und dann die ganzen Regeln die man kennen und befolgen muss nur um Code zu schreiben der korrekt ist und nicht irgendwo die Gefahr birgt abzustürzen oder Speicher zu lecken. Und jede neue C++-Version packt da *noch mehr* Syntax und Regeln oben drauf. Es ist einfach viel zu leicht sich beide Füsse komplett weg zu schiessen. Die Sprache ist IMHO zu komplex und barock um sich da als Anfänger einzuarbeiten. Aufwand und Nutzen steht dabei IMHO in keinem vernünftigen Verhältnis.

Ich hoffe da ja irgendwie auf Rust um die Lücke zu schliessen. Leider war die Sprache die letzten paar Male als ich sie mir angeschaut hatte noch zu sehr im Fluss. Und ich hatte den Eindruck, dass die Doku voraussetzt das man C++ kann, sich also eher an Umsteiger aus dieser Sprache richtet.
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

"Zu viele Möglichkeiten" würde ich ja einfach Flexibilität nennen. Nur, weil du eine Menge damit machen kannst, bist du längst nicht gezwungen, das auch zu tun. Rust kann, wenn ich das richtig sehe, übrigens nichts, was C++ nicht auch könnte - nur, dass die Syntax furchtbar hässlich ist.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Rust existiert nicht um mehr zu können als C++, im Gegenteil das Ziel ist weniger zu tun. Wie ich schon vorher geschrieben habe ist es auch genau dies was gute Programmiersprachen auszeichnet. Eine gute Programmiersprache zeichnet sich nicht dadurch aus dass man alles mögliche darin ausdrücken kann, sie zeichnet sich dadurch aus dass möglichst alles was man in ihr ausdrücken kann auch ein sinnvolles Programm ist.

C++ erlaubt dir ohne guten Grund massive Fehler zu machen, häufig führen die sogar zu Sicherheitslücken. Diese "Flexibilität" wie du sie beschreibst ist nichts besonderes und nicht erstrebenswert. Eine Sprache die Turing Complete ist zu erschaffen ist trivial und passiert Leuten teilweise aus versehen.

Rust bleibt übrigens schon seit 1.0 kompatibel zu vorherigen Versionen. Die Sprache entwickelt sich natürlich immer noch weiter aber Code der für 1.0 geschrieben wurde, kompiliert mit einem aktuellen Compiler noch, auch wenn man diesen jetzt vielleicht anders schreiben würde.
BlackJack

@grum.py: Mit zu viele Möglichkeiten meine ich unter anderem auch Möglichkeiten die man selbst nach C++-Programmierern nicht (mehr) nutzen sollte. Man muss sie aber trotzdem kennen wenn man nicht völlig isoliert arbeitet, denn sowie man mit fremdem Quelltext in Berührung kommt, sind da ja auch immer Sachen enthalten die nicht mehr ”aktuell” sind, oder die zu einer Untermenge der Sprache gehören die man selber nicht verwenden möchte. Das zieht sich von Anfang an durch die Entwicklungsgeschichte weil C (fast) eine Untermenge von C++ ist, C aber in einem idiomatischen C++-Programm eigentlich nichts zu suchen hat. Andererseits wird auch heute noch viel C/C++-”Hybridcode” geschrieben, nämlich im Embedded-Bereich wo so einige C-Code schreiben und sich ein paar Spracheigenschaften von C++ dazu holen statt reines C oder reines C++ zu schreiben.

Rust sollte etwas können was C++ nicht kann, denn „It is designed to be a "safe, concurrent, practical language"“. Was man von C++ nicht sagen kann. Sprachen die weniger können sind nicht schlechter, denn wenn man sich in einer Sprache weniger leicht in den Fuss schiessen kann, ist das in meinen Augen eine *gute* Sache. Weniger Komplexität ist auch gut. Das macht Brainfuck natürlich nicht zu einer guten Sprache — es kommt auf die Ausgewogenheit an.
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

DasIch hat geschrieben:Rust existiert nicht um mehr zu können als C++, im Gegenteil das Ziel ist weniger zu tun.
Das wollte ich schon immer mal haben: Eine Programmiersprache, die nicht alles kann, was ich gern programmieren möchte.
Räusper.
DasIch hat geschrieben:C++ erlaubt dir ohne guten Grund massive Fehler zu machen, häufig führen die sogar zu Sicherheitslücken.
Dann ist der Entwickler schlecht. Sicherheitslücken kriegst du mit ziemlicher Sicherheit auch in Rust programmiert. Einfach mal einen Wert nicht abfragen. Buffer Overflows verhindert Rust jedenfalls auch nicht effizient.
DasIch hat geschrieben:Eine Sprache die Turing Complete ist zu erschaffen ist trivial und passiert Leuten teilweise aus versehen.
CSS3 ist turingvollständig. :K
Können wir das als Argument somit ausklammern?
DasIch hat geschrieben:Code der für 1.0 geschrieben wurde, kompiliert mit einem aktuellen Compiler noch, auch wenn man diesen jetzt vielleicht anders schreiben würde.
C++-Compiler können übrigens in der Regel auch rostiges K&R-C kompilieren.
BlackJack

@grum.py: Was kannst Du denn in Rust nicht programmieren was in C++ geht? Also so vom Endergebnis her? Rust ist als Ersatz für C++ konzipiert und schränkt damit nicht willkürlich ein, sondern da wo es sinnvoll ist, also Sachen die man in C++ zwar machen kann, aber besser nicht sollte, zum Beispiel weil es fehleranfälliger ist, oder weil es zu viele Möglichkeiten gibt letztendlich das gleiche auszudrücken weil sich die Sprache weiterentwickelt hat, aber der alte Kram noch enthalten ist.

Klar, wenn man mit C++ nicht klar kommt muss das natürlich am Programmierer liegen. Auf keinen Fall an der Sprache. Genau wie man Fortran in jeder Sprache schreiben kann, kann man natürlich auch in jeder Sprache fehlerhaften Code mit Sicherheitslücken schreiben. Das ist ja aber gar nicht der Punkt, sondern wie leicht es einem die Sprache macht etwas falsch zu machen beziehungsweise wie schwer sich keine Lücken einzufangen, zum Beispiel weil die Sprache zu komplex ist, als das man das überblicken kann. Insbesondere auch als Anfänger.

Das C++ auch C kompilieren kann, sehe ich eher als Problem. Der Vergleich passt auch nicht auf die von mir beschriebene Situation bei Rust. Das Problem was ich hatte war mit prä-1.0-Versionen, also als die Sprache noch nicht fertig war, man deshalb Stabilität auch noch nicht so wirklich erwarten konnte. Hab gerade mal nachgeschaut, der letzte Compiler den ich ausprobiert hatte war die 0.12.0-pre-nightly im September 2014. Die 1.0 kam Mai 2015 heraus. Ich gehe mal davon aus die Sprache ist seit 1.0 deutlich stabiler als vor zwei Jahren. Es gibt zum Beispiel wie ich gerade sehe nicht mehr die beiden Zeigertypen und Beispiele die die mal benutzen und mal schon nicht mehr und Texte die zu keinem der beiden so richtig passen. Ich sollte mir das also mal wieder ansehen. :-)
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

BlackJack hat geschrieben:Was kannst Du denn in Rust nicht programmieren was in C++ geht?
Du hast doch behauptet, in Rust ginge nicht alles. :K
BlackJack hat geschrieben:Rust ist als Ersatz für C++ konzipiert
Ich glaube ja, die Existenz nicht jeder Sprache ist wirklich sinnvoll. Wie viele weitgehend gescheiterte Versuche, C++ abzulösen, gab es schon? Programmiert irgendwer ernsthaft mit D oder Go (oder C# :mrgreen: )? Eben, ich kenn' da auch keinen.
BlackJack hat geschrieben:Klar, wenn man mit C++ nicht klar kommt muss das natürlich am Programmierer liegen.
Korrekt. Ich behaupte aus eigener Erfahrung, es ist möglich, mit jeder Sprache klarzukommen. Ich käme wahrscheinlich auch mit Rust klar, ich will nur nicht.
BlackJack hat geschrieben:Genau wie man Fortran in jeder Sprache schreiben kann, kann man natürlich auch in jeder Sprache fehlerhaften Code mit Sicherheitslücken schreiben.
Die erste Sprache färbe tatsächlich stets auf alle weiteren ab, habe ich mal gelesen.
Meine erste Sprache war aber Pascal und ich glaube nicht, dass ich in Python wie in Pascal schreibe.
BlackJack hat geschrieben:zum Beispiel weil die Sprache zu komplex ist, als das man das überblicken kann. Insbesondere auch als Anfänger.
Anfänger, deren erste Sprache C++ ist, dürften mit C++ weniger Probleme haben als solche, deren erste Sprache Python ist.
BlackJack hat geschrieben:Das C++ auch C kompilieren kann, sehe ich eher als Problem.
Wieso?
BlackJack

Ich habe behauptet man kann sich mit Rust nicht so leicht in den Fuss schiessen wie mit C++. Wenn man das natürlich machen will, dann kann Rust im Endeffekt weniger. Aber das will ja keiner, deshalb wollte ich gerne wissen was man nicht machen kann, aber in der Regel will.

Das die Existenz von Programmiersprachen nicht immer sinnvoll ist würde ich unterschreiben. Genau bei C++ bezweifele ich das nämlich. Und nur weil etwas was sehr weit verbreitet ist, sich deswegen schlecht ablösen lässt, ist es noch lange nicht sinnvoll oder sollte weiter benutzt und nicht irgendwann mal durch etwas besseres abgelöst werden. D hat das Problem das keine grosse Origanisation dahinter steht. Go, C#, und Java werden tatsächlich ernsthaft benutzt.

Ich behaupte aus eigener Erfahrung das es nicht möglich ist *sinnvoll* mit jeder Sprache klar zu kommen. Ich mag Sprachen und schaue mir immer wieder gerne alte und neue Sprachen an und bin auch durchaus offen für Neues, was über meinen bisherigen Horizont hinaus geht. Nur bei C++ habe ich massive Probleme. Insbesondere *weil* ich schon so viele andere Sprachen gesehen habe, verstehe ich nicht wieso man sich so etwas antut, diese Komplexität die man da ständig beachten muss, obwohl dabei am Ende kein Mehrwert gegenüber Sprachen herum kommt, die wesentlich weniger komplex sind, oder die einen bei hoher Komplexität wenigstens nicht so einfach in offene Messer rennen lassen.

Insofern mag es stimmen das C++ als Erstsprache einfacher ist, weil man sich nicht ständig fragt warum das in C++ im Gegensatz zu anderen Sprachen alles so schrecklich ist. Wenn man nichts anderes kennt, fällt das vieleicht nicht so auf.

Das C++ auch C beinhaltet, eine andere Sprache mit sehr ähnlicher Syntax, erhöht die Komplexität unnötig. Wenn man C++ beherrschen möchte, muss man auch C können, obwohl man in C++ doch eigentlich alles ausdrücken kann was man in C machen kann. Zumal C-Code so gar kein idiomatischer C++-Code ist. Das man in C geschriebene Bibliotheken einbinden kann ist wichtig, weil es davon viele gibt und Betriebssysteme in der Regel darin geschrieben sind, aber das kann man ja auch machen ohne C direkt in die Sprache zu integrieren. Das machen Rust und D anders, und auch bei C#, Java, und Python gibt es ein „foreign function interface“ um C-Bibliotheken anzusprechen, ohne das die jeweilige Sprache C als Untermenge hat.
grum.py
User
Beiträge: 137
Registriert: Montag 11. Mai 2015, 15:27

BlackJack hat geschrieben:Ich habe behauptet man kann sich mit Rust nicht so leicht in den Fuss schiessen wie mit C++.
Nur, wenn du unsauberes C++ schreibst. Sauberes C++ schießt dir nirgends hin. Da sitzt das Problem wie üblich vor dem Bildschirm. ;)
BlackJack hat geschrieben:deshalb wollte ich gerne wissen was man nicht machen kann, aber in der Regel will.
Performance groß, Ressourcennutzung klein. Geht mit Rust nicht. :)
BlackJack hat geschrieben:Das die Existenz von Programmiersprachen nicht immer sinnvoll ist würde ich unterschreiben. Genau bei C++ bezweifele ich das nämlich.
C++ ist für andere Dinge geeignet als Python. (Du würdest keinen Kernel in Python schreiben, oder?) Welche Lücke Rust füllt, erschließt sich mir aber nicht. Rust existiert nur, weil Mozillianer zu doof für C++ sind, scheint mir. Ganz davon abgesehen, dass ich von Programmiersprachen, die einer großen "Firma" (ob nun "gemeinnützig" oder nicht) gehören, eher abgeschreckt bin.
BlackJack hat geschrieben:Go, C#, und Java werden tatsächlich ernsthaft benutzt.
Bei Java erstaunt mich das am meisten, aber wer benutzt bitte Go? Google selbst jedenfalls meines Wissens so gut wie gar nicht, die haben dafür einiges an Pythoncode rumliegen. Das hat sicherlich gute Gründe.
BlackJack hat geschrieben:Ich behaupte aus eigener Erfahrung das es nicht möglich ist *sinnvoll* mit jeder Sprache klar zu kommen.
Beispiel?
BlackJack hat geschrieben:Nur bei C++ habe ich massive Probleme. Insbesondere *weil* ich schon so viele andere Sprachen gesehen habe, verstehe ich nicht wieso man sich so etwas antut, diese Komplexität die man da ständig beachten muss
Muss man nicht. Schau doch bitte mal spaßeshalber C++17 an. Es hat sich einiges geändert in den letzten Jahrzehnten. Viele der Hilfskonstrukte von "früher" sind nicht mehr nötig, sogar die explizite Typendeklaration nicht mehr in jedem Fall.
BlackJack hat geschrieben:obwohl dabei am Ende kein Mehrwert gegenüber Sprachen herum kommt, die wesentlich weniger komplex sind, oder die einen bei hoher Komplexität wenigstens nicht so einfach in offene Messer rennen lassen.
Doch, optimale Nutzung von Ressourcen. Klar kannst du auch in Java oder C# eine ausreichend komplexe Software programmieren. Die sind dann halt nicht ganz so nett zu deiner Rechnerauslastung.
BlackJack hat geschrieben:Das C++ auch C beinhaltet, eine andere Sprache mit sehr ähnlicher Syntax, erhöht die Komplexität unnötig.
Das ist ja auch nicht ganz richtig. C ist fast eine Teilmenge von C++, das ist nicht nur "ähnlich". Aber "komplexer" wird davon nichts, oder würdest du Rust auch als "unnötig komplexen Assembler" bezeichnen? Gegenüber C mit seinen, äh, (Eigenheiten*)* :mrgreen: ist so ein schöner C++17-Code eine wahre Wohltat für den gebeutelten Verstand. ;)
BlackJack hat geschrieben:Wenn man C++ beherrschen möchte, muss man auch C können
Nein. Es hilft bei der Codeoptimierung, aber du sozusagen kannst ein Leben lang guten C++-Code schreiben, ohne eine einzige Zeile C zu verstehen.
BlackJack hat geschrieben:Das man in C geschriebene Bibliotheken einbinden kann ist wichtig
Nur, wenn du es willst. Ich habe mal spaßeshalber mit der libcurl (antiker C-Code) in C++ herumgespielt. Das fühlt sich schon beim Schreiben wie ein Fremdkörper an. Du musst aber nicht unbedingt C-Bibliotheken einbinden, du könntest auch einfach eine in C++ nutzen.
Oder selbst schreiben. Zusammenkleben ist eher was für Javaleute. Das ist dann aber kein Programmieren. :)
Antworten