Evolution statt Untergang: Eine kleine Geschichte der Programmierwerkzeuge

Dies ist eine Übersetzung eines Beitrags von Geoff Perlman aus dem Xojo-Blog (also dem von Xojo, nicht diesem hier). „Ich“ oder „wir“ in diesem Text ist daher ausnahmsweise als Xojo (oder eben Geoff) zu lesen, nicht als meine Wenigkeit.

1998 war Steve Jobs der temporäre Geschäftsführer von Apple, und das kleine i bekam eine neue Aufgabe: Der iCEO – i für interim – war geboren und versuchte, das schwer angeschlagene Schiff Apple vor dem Untergang zu bewahren. Eine herkulische Aufgabe, wie das Zitat von Dell-Geschäftsführer Michael Dell aus dem Vorjahr auf die Frage, was er tun würde, sollte er Apple leiten, belegt: „Ich würde die Firma schließen und das Geld den Aktionären zurückgeben.“

weiterlesen

Diplomatisch delegieren

Ein Anwendungsfall aus der alltäglichen Praxis: Man hat ein Auswahl-Element, sagen wir mal ein PopupMenu, und ein Ausgabeelement – vielleicht einen Canvas –, das aufgrund der Auswahl im ersteren ein passendes Resultat zeigen soll.

DelegateWinDelegate.png

Häufig geht man dann so vor, dass der Change-Event im PopupMenu den Canvas invalidiert, und in dessen Paint-Event wird dann geschaut, was im PopupMenu steht. Eine mitunter ellenlange Select Case- oder If … ElseIf – End If-Anweisung macht den Code dann zum Roman.

weiterlesen

Codeservice zum Kaufen I: CSProcessInfo

Nun auch die angekündigte deutsche Erklärung zur ungewohnten englischen Beschreibung:

Wie ja an einigen Stellen erwähnt, pflege ich mehrere freie Bibliotheken für Xojo-Anwender, darunter auch die AppleLib, die Xojos Funktionen im macOS- und iOS-Bereich aufbohrt. Daran wird sich auch nichts ändern, wenngleich der Datenabgleich mit dem geshareten Code via GitHub immer wieder für Probleme sorgt (momentan ist das so; falls AppleLib, bitte die Revision 0.5.8 nehmen; neuere Upload-Versuche bringen Linkfehler im Projektfile – und ich hab schon gut zwei Tage dran gebastelt.)

weiterlesen

Was tun, wenn’s klemmt?

Eine kürzliche Leserfrage (nein, ich werd mich hier nicht erneut wiederholen: Nur vielen Dank an dieser Stelle!) ist Anregung für einen neuen Grundlagenbeitrag: Wie gehe ich mit Fehlern um, und wie verhindere ich die unschöne Exception-Messagebox, die bei unverhofften Fehlern auftritt und dem Programm eine etwas unsaubere Anmutung verleihen kann?

exceptionMessage

weiterlesen

Modular gedacht

Wie ja schon des öfteren erwähnt: Ich freue mich über Feedback und Anfragen, die mir dann auch gleich Anregung für einen neuen Beitrag liefern. Um so schöner, wenn’s denn mal ganz grundlegende Fragen betrifft.

So war dies dann auch kürzlich (nunja, einen Monat ist’s schon her), als mich ein Leser fragte, wie denn mit globalen Variablen umzugehen sei. Das ist eine Frage, die insbesondere bei Umsteigern bzw. Programmierern, die mit linearen Programmiersprachen begonnen haben, häufiger auftaucht. Saß man seinerzeit z.B. vor Turbo-Pascal, kam man schwerlich drum herum, globale Variablen zu definieren, also solche, die unter ihrem Namen von überall ansprechbar waren. Der Anfang eines solchen Programms bestand gerne mal aus ellenlangen Deklarationen von Variablen, auf die die später folgenden Methoden zugreifen konnten.

weiterlesen

CSProcessInfo – English Description

Deutsche Leser bitte nicht verwirren lassen: Erklärung folgt in Kürze!

CSProcessInfo is a standalone class containing NSProcessInfo, usable on macOS and iOs as well.

It is useful for requesting some system information and to avoid sleep or sudden termination, a feature the system uses to close down apps more quickly. Disallowing these functions gives you the means to finish longer lasting processes without having to fear that these could be interrupted by user or system requests.

weiterlesen

Rückschau auf die MBS-Xojo-Konferenz in Berlin, Teil III

Der zweite Konferenztag

Mag komisch klingen, aber ich war ja nicht begeistert, als Berlin zum Austragungsort der Konferenz bestimmt wurde. Ich freue mich nämlich immer, wenn ich mal das angestammte (und eingestaubte) Büro verlassen und andere Orte sehen kann. Und so wurde ich dann am zweiten Veranstaltungstag auch von der Routine eingeholt, nämlich dringenden Korrekturen auf Kundenwunsch, die ich wegen der nahenden Zahn-OP und einem vollen Terminkalender bis dahin nicht verschieben konnte. Weshalb ich dann erst am Nachmittag erscheinen konnte und sich meine Kenntnis der ersten Vorträge auf den veröffentlichten Fahrplan der Konferenz erstreckt(e).

Mittlerweile sind für die Teilnehmer aber schon die Präsentationsfolien veröffentlicht worden, und ich kann wenigstens ein bisschen mehr erzählen als nur den Titel zu nennen.

weiterlesen