Schon wieder? Zum Glück wird das hier nicht jeden Tag mindestens 10 mal ausdiskutiert ...

Wobei jedes mal aufs Neue rauskommt, dass Impfgegner mit ihrem Verhalten die Allgemeinheit gefährden, was sie aber nicht einsehen wollen, obwohl sie keine Gegenargumente haben, und dann drehen sich alle Diskussionen im Kreis ...

Mangels Logikverständnis, fehlenden grundlegendsten Rechenkenntnissen, massiven Lücken in Bio / Chemie / Physik bis zur 7ten Klasse uvm. lohnt es auch gar nicht, mit Impfgegnern zu reden ... Denen fehlen einfach viel zu viele Grundlagen der Allgemeinbildung, als dass die sinnvolle Argumente verstehen könnten.

...zur Antwort

Ich hätte gerne keinen machtlosen Kaiser, sondern einen über alles herrschenden Diktator.

Aber dann auch nur, wenn ich dieser Jene wäre ... sollte das nicht der Fall sein, ist eine Diktatur natürlich auch blöd. :)

...zur Antwort

Das Problem liegt an deinem Programm!

In Python werden große Ganzzahlen nicht als Gleitpunktzahlen mit Exponent gespeichert!

Wenn deine Zahl als Gleitpunktzahl vorliegt, dann nur, weil du vorher eine Rechnung auf einer Ganzzahl durchgeführt hast, die implizit in einer Gleitpunktzahl mündet.

Ich würde raten, dass du irgendwo eine Division mit "/" anstatt "//" gemacht hast.

Bei so großen Ganzzahlen gibt es übrigens Überläufe, sodass sie nicht mehr als Gleitpunktzahlen dargestellt werden können.

Und davon abgesehen: Die schreibweise mit "e" und Exponenten ist nur eine reine Stringrepräsentation und hat nichts damit zu tun, wie Zahlen intern behandelt werden. Du kannst die natürlich auch genauso gut als Strings mit fixer Schreibweise formatieren!

Und zu guter letzt: Python ist für viele Dinge eine wunderbare Programmiersprache, aber fürs Numbercrunching denkbar schlecht geeignet.

Python ist viel viel viel zu lahm, um damit vernünftig größere Operationen auf Zahlen durchführen zu können. Das merkt man aber erst bei größeren Mengen Zahlen!

Ich hatte vor einer Weile ein Programm zum Herausfinden von Primzahlen geschrieben, und exakt das gleiche dann in C++ übersetzt.

Das Ergebnis war, dass die Python-Version über 700 Sekunden lief, und die C++ Variante nach 1.3 Sekunden fertig war.

Wenn man bedenkt, wie Python intern mit Ganzzahlen umgeht, ist das auch gar kein Wunder, bei dem, was es dort alles für Fallunterscheidungen und Sonderfälle gibt.

Pythons Integer sind zwar sehr komfortabel, da sie praktisch unendlich lang sein können, und man nicht wie in anderen Sprachen eine BigInteger-Klasse als Wrapper benötigt, aber das hat natürlich einen massiven Einfluss auf die Performance.

Merke dir also einfach ...

  • ... auch wenn Python oberflächlich keine Typen "kennt", solltest du in deinem Programm unbedingt auf eben diese achten!
  • ... du hast einen Bug, bei dem du eine Gleitpunktzahl wie eine Ganzzahl behandelst.
  • ... Python nutzt intern keine Mantisse mit Exponent für Ganzzahlen.
  • ... Pythons Integer können beliebig groß sein.
  • ... Python ist saulahm wenn es um Rechenoperationen geht.

Ansonsten noch viel Spaß! :)

...zur Antwort

Dafür nimmt man niemals ein nacktes new und delete, sondern ausschließlich Smartpointer, in deinem Falle vorzugsweise mit make_unique() wie hier:

#include <memory>

// ...

auto ptr { ::std::make_unique<int>(123) };

// ...

cout << *ptr << endl; // 123
*ptr = 456;
cout << *ptr << endl; // 456

Das hat exakt Null Laufzeitoverhead und du kannst einen Smartpointer mit * oder -> ganz normal dereferenzieren.

Um ein delete musst du dich danach nicht mehr kümmern, denn das geschiet im Destruktor am Ende des Gültigkeitsbereiches automatisch.

Der obige Code macht das gleiche wie ...

int * ptr = new int(123);
// ...
delete ptr;

... nur eben in "sicher", sodass auch bei geworfenen Ausnahmen ordentlich aufgeräumt wird.

...zur Antwort

Als alternative zu Skripten, gibt es auch noch Aliase für kürzere Snippets.

Die kannst du in .profile speichern und dann von überall aus komfortabel ausführen.

...zur Antwort

In Japan gibt es an jeder Ecke verschiedene Götter für alles mögliche.

Oft sehr sehr sehr Lokal, sodass die Bekanntheit oft nicht über die Straße hinaus geht, in der sein Schrein steht. :)

...zur Antwort

Natürlich kann man auch mit PHP arbeiten, und jede Sprache hat ihre Vor- und Nachteile.

Aber PHP hat in der Summe und auf den Sprachumfang bezogen viel mehr Probleme, als (so ziemlich) alle anderen Sprachen.

Die hauptsächlichen Gründe sind m.. M. n.:

  • die total inkonsistente Namensgebung von Bezeichnern (v. a. Funktionen und Konstanten)
  • die überaus schlechte Dokumentation (die bei jeder zweiten Funktion wichtige Dinge verschweigt oder falsch wieder gibt und ohne die Nutzerkommentare am Ende kaum brauchbar wäre)
  • das schlechte Sprachdesign (wirre Reihenfolge von Funktionsparametern, mal von links, und mal von rechts, oder die Inkompatibilität von Schwesterfunktionen)
  • Der in C geschriebene PHP-Interpreter ist eine Katastrophe und strotzt nur so vor Codesmells und DoNots (zumindest im Vergleich zu Python & Co)
  • Das Chaos bei Drittanbieter-Modulen von PHP ist eine Katasttrophe. Die Dokumentation zu OpenSSL, SQLite und den IPC-Primitiven ist faktisch nicht zu gebrauchen, da teilweise einfach leer. (Da sind also nicht mal Platzhalter vorhanden, und man muss sich a) entweder den Quelltext ansehen, oder b) die Doku des Drittprojekts zu Rate ziehen, und hoffen, dass das genau so in PHP übernommen wurde, was sehr oft leider überhaupt nicht der Fall ist)
  • Unicode-Unterstützung gibt es nur als Knickei und nur halbgar serviert. Will man Unicode-Strings in einer DB abspeichern, gibt es mindestens 5 Stellen, an denen man die Kodierung prüfen muss, damit es nicht zu Mojibake kommt.

Also das wären so die Punkte, die mir an PHP nicht gefallen und die einzeln zwar auch bei anderen Sprachen vorkommen, aber bei keiner mir bekannten Mainstreamsprache in dieser Häufung und Konzentration.

Aber wie gesagt, natürlich kann man mit PHP arbeiten und interessante Sachen entwickeln.

Also PHP ist jetzt nicht völlig unbenutzbar, aber in vielen Bereichen nahe dran. Da hat man dann einfach keine Wahl, als ein Modul in einer Fremdsprache zu schreiben ... was die ganze Sache dann noch frickeliger macht. :)

PHP hat sich zwar seit 7.x gemacht, aber ist in den oben genannten Punkten noch weit von anderen Sprachen entfernt.

Und dass du als Einsteiger, der kaum etwas anderes als PHP kennt, eben genau diese Sprache toll findest, ist kein Wunder. Wenn du erst mal mit wirklich mehr als einer Hand voll anderer Sprachen gearbeitet hast, wirst du das ähnlich sehen, wie ich .... vermutlich. :)

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