Zum Inhalt springen

pintman

Mitglieder
  • Gesamte Inhalte

    42
  • Benutzer seit

  • Letzter Besuch

Beiträge von pintman

  1. Hallo zusammen!

    Manic Digger ist ein in C# programmierter Minecraft-Klon, der sich sehr leicht um Mods erweitern lässt. Daher bietet sich das Projekt für jeden an, der einen Blick in die 3D-Programmierung werfen möchte.

    Ich habe für den leichten Einstieg eine Reihe von Einführungsvideos erstellt, die ich euch an dieser Stelle empfehlen möchte.

    Über eine Rückmeldung würde ich mich freuen.

    Ich wünsche euch weiterhin frohe Ostern. :)

  2. Meinen Chef interessiert nur, dass ich zu spät zur Arbeit erscheine; Cause:

    Verkehrsstau, Cause:

    Unfall, Cause:

    Schlechte Sicht, Cause:

    Nebel, Cause:

    Wetteranomalie, Cause:

    Klimaerwärmung, Cause:

    CO2-Emissionen, Cause:

    Verbrennungsmotoren, ...

    Wenn ich meinem Chef jetzt mit "Klimaerwärmung" als Grund für meine Verspätung komme wird der mich zurecht für bekloppt halten.

    Danke für das schöne Beispiel. :)

  3. Ich würde logging nicht als Behandlung einer Exception interpretieren. So etwas kann man auch als Aspekt in den Code einweben. Wenn eine Exception bei der Eingabe von Daten durch einen Nutzer auftritt, kann der Nutzer durch eine Korrektur der Eingabe, den Fehler beheben. Wenn in einem Cluster ein Node ausfällt, kann durch einen anderen Node ein Engpass vermieden werden. In den meisten Fällen kann ich jedoch nichts machen, außer die Exception zu loggen. Das ist interessant für den Programmierer, weil es meist auf einen Bug hindeutet. So etwas würde ich auf der obersten Ebene loggen - oder noch besser: als Apsket einweben -, um der Businesslogik nicht vorzugaukeln, dass tatsächlich etwas behandelt würde.

  4. Ich würde Pixie zustimmen und noch ergänzen: Exceptions sollten da gefangen werden, wo sie auch tatsächlich behandelt werden können.

    Natürlich hängt es auch immer von der Sprache und dem Szenario ab: wenn ich selbst der einzige Anwender bin und jederzeit in kritische Aktionen eingreifen möchte, würde ich gar nicht werfen, sondern direkt einen Debugger öffnen, um das Problem zu lösen - besonders bei Smalltalk und Lisp-Systemen geht das ganz gut. Java und C# sind mit Quelltextersetzungen zur Laufzeit nicht so gut aufgestellt, so dass man dort häufiger neu deployen muss, wenn Fehler auftreten.

  5. Noch eine Anmerkung.

    Nein, der Compiler kann einen Algoritmus nicht optimieren, der Compiler kann nur den Code optimieren z.B. kann der Compiler Nebenläufigkeiten nicht automatisch erzeugen. Optimierung muss in erster Linie auf der obersten Algorithmusebene statt finden, der Compiler optimiert nur auf Maschinenebene.

    Compiler können mit Hilfe von Datenflussanalyse ineffizienten Code entfernen oder vermeiden. Häufig passiert das auch schon in der IDE durch Markierungen von z.B. nicht genutzten Variablen. Tail-Recursion wird z.B. in Schleifen aufgelöst, um den Stack zu entlasten etc.

  6. Ich kann dir in vielen Punkten zustimmen lilith2k3. Denkt nicht an Optimierung, wenn es noch nichts zu optimieren gibt. Sorgt für gut lesbaren, wartbaren und erweiterbaren Code. Dann kann man sich später an die Flaschenhälse machen. Viele Optimierungen werden auch schon automatisch vom Compiler erledigt. So findet man häufig Flaschenhälse an Stellen, wo man niemals mit gerechnet hätte: z.B. Stringkonkatenation in Java.

    Vermutlich bringt ein anderer Algorithmus und eine andere Datenstruktur meist mehr Speicher- und Zeitgewinn als Zeigerarithmetik. Hier dreht man meist im Promillebereich an der Statistik.

  7. Ihr schmeißt hier sehr unterschiedlichen Sprachtypen zusammen. Da würde ich schon stärker differenzieren. Z.B. in reine OO-Sprachen wie Smalltalk und gemischte Sprachen wie C#, Java und C++.

    Gleichzeitig sollte man noch unterscheiden, ob die Typen explizit angegeben werden müssen, wie in Java und C# oder aber, ob es eine losere Typisierung wie in Python gibt.

    Diese Unterscheide wirken sich meiner Erfahrung nach stark auf den Programmierstil und vor allem die Agilität und das Tooling einer Sprache aus.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...