Fünfhundertvierundneunzig

Lukas hatte zu Weihnachten so ein Apfeldings geschenkt bekommen.
Als er dann gestern nachmittag wieder in der Firma aufkreuzte, brachte er es mit und erzählte, dass er diverse Probleme mit dem Gerät hätte. Ich musste passen, denn mit Apple-Produkten kenne ich mich nun gar nicht aus.
Ich befragte aber meine Mannen, wer sich mit iPads auskenne. Tatsächlich fand sich einer, der behauptete, schon öfters eines benutzt zu haben. Ich beorderte ihn, Lukas beim Lösen seiner Probleme zu helfen.

Mir sind diese ganzen Macs, iPods, -Pads, und was auch immer ziemlich suspekt.
Bei Windows kann ich abschätzen, wie sich das System verhält, und kann den Rechner so ziemlich alles, was ich will, machen lassen.
Für iOS habe ich zwar seit einiger Zeit auch einen Compiler, aber bei einem derart abgeschotteten System macht es einfach keinen Spaß zu programmieren.
Tests kann ich zwar in einer VM durchführen (was streng genommen nicht so ganz legal ist, aber nur, um schnell mal was auszuprobieren, kaufe ich mir bestimmt nicht so ein Ding!), aber das ist langsam und lästig, wenn man dort nicht direkt debuggen kann.

Über Anne Nühm (breakpoint)

Die Programmierschlampe.
Dieser Beitrag wurde unter Uncategorized abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

19 Antworten zu Fünfhundertvierundneunzig

  1. plietschejung schreibt:

    Verstehe ich gut.
    Aber die Apfeldinger sind auch eher für die Anwender und deren Nutzungsverhalten gestrickt und nicht für Entwicklungsumgebungen.

    Ich finde auch nichts an den Dingern.

    Like

  2. Leser schreibt:

    Bah, Windows, Mac, alles derselbe proprietäre, abgeschottete Kram. Bei Windows kannst Du also abschätzen, wie sich das System verhält. Mehr kann man bei MacOS/iOS auch nicht. Wirklich tief unter die Haube kommt man eben nur bei den wirklich freien Systemen… Wenn Du mal das Linux From Scratch Tutorial durchgearbeitet hast, weißt Du, was ich meine (nein, ich hab das nicht getan, hatte es mir mal überlegt, aber dann festgestellt, dass mir die Zeit und das Durchhaltevermögen dazu fehlt).
    Hmm, und zu Anwendungsentwicklung, ist das heute nicht alles „Malen nach Zahlen“? Eine derartige Anmerkung hatte damals jedenfalls mal ein professioneller Entwickler gemacht, als wir in der Oberstufe mit Delphi 3 rumgespielt haben. Ja, da hab ich sogar auch noch Windows benutzt… 😉

    Like

    • breakpoint schreibt:

      Microsoft unterstützt (potentielle) Entwicklern u.a mit kostenlos verfügbarer Dokumentation der API, preisgünstigen Testlizenzen, kostenlosen – wenn auch abgespekten – Entwicklungsumgebungen, etc.
      AFAIK macht Apple das gerade nicht.

      Es geht mit persönlich zum einen darum, meine eigenen Rechner so zu konfigurieren und einzustellen, wie mir das gefällt. Zum anderen muss ich auch bei Software für Kunden dafür Sorge tragen, dass sie dort läuft, und evtll. z.B. Registry-Schlüssel setzen.
      So weit ich das brauche, kann ich das bei Windows.

      Ich hatte vor ein paar Wochen schon einmal in einem Kommentar dir gegenüber erwähnt, dass ich durchaus auch schon für Linux versucht habe zu entwickeln, und dass es dort Probleme gab, die bei Windows straightforward lösbar gewesen wären. Bei Linux dagegen fand ich keine allgemeine (für alle Distributionen gültige) Lösung.

      „Malen nach Zahlen“
      Die Betriebssystemfunktionen und das UI sind nur die eine Seite der Medaille.
      Zumindest bei ernsthaften Anwendungen müssen auch Daten verarbeitet werden. Dies ist weitgehend unabhängig vom Betriebssystem, und erfordert einiges Können.
      Da will ich mich nicht noch mit stupiden Tätigkeiten wie händischer Dialogerstellung herumschlagen müssen, wenn die Entwicklungsumgebung eine komfortable Alternative bietet.

      Like

    • idgie13 schreibt:

      „Malen nach Zahlen“?
      .. da würd ich doch mal behaupten, dass der professionelle Entwickler keine Ahnung von professioneller SW-Entwicklung hatte …

      Like

      • breakpoint schreibt:

        Ich hatte diesen Satz so interpretiert, dass es kinderleicht ist, Formulare für das GUI zu entwerfen.
        Für einen „Hardcore“-Programmierer, muss es damals (vor 2000?) ein (unwillkommener) Paradigmenwechsel gewesen sein, dass das bei RAD so einfach per Drag’n’Drop ging.
        Vielleicht hatte er sich vorher noch mit händischer Dialogerstellung in RC-Dateien herumschlagen müssen, oder Fenster samt Kontrollelementen generisch (also ohne Framework) zur Laufzeit erzeugt.
        Das geht zwar alles irgendwie, kostet aber Unmengen an Zeit, die man produktiver und sinnvoller nutzen kann.

        Like

        • idgie13 schreibt:

          Naja – schlechte Formulare macht man vielleicht per Dreck&Weck. Professionelle Layouts, die auch noch responsive sind, muss man nach wie vor programmieren – auch wenn die Unterstützung heute einfacher ist.

          Ich schreibe meinen XAML-Code z.B. direkt im Visual Studio und meide Blend wie der Teufel das Weihwasser.

          Nach Deiner Definition war und bin ich auch ein Hardcore-Programmierer 😉

          Like

          • breakpoint schreibt:

            Es kommt immer auch auf den Anwendungszweck an.
            Ich empfinde es durchaus als Erleichterung, einige Formulare (nicht alle) per Drag’n’Drop zu entwerfen.
            Statt mich dann mit pixelgenauer Positionierung herumzuschlagen, kann ich mich um die wesentlichen Programmieraufgaben kümmern.

            Mir hat vor x Jahren einmal ein Bekannter gezeigt, wie man rein mit API-Aufrufen Fenster erzeugt und Event-Unterstützung hinzufügt.
            Aufwändig. Und das verstehe ich unter Hardcore-Programmierung. Muss nicht sein.

            Like

            • idgie13 schreibt:

              Das pixelgenaue Ausrichten überlasse ich den darunterliegenden Controls. Meist sind das Grids. Ansonsten folge ich weitgehend der MVVM-Architektur.

              Daaaaaaaaaaaaaamals in C++ hab ich mich mit sowas auch rumschlagen müssen. Grausel.

              Like

  3. Nick31 schreibt:

    Ich hab bis vor kurzem auch so ähnlich über die Apple-Desktop-Welt gedacht. Habe mir dann aber doch ein Macbook (hauptsächlich allerdings wegen der Hardware) gekauft und bin dann bei OSX hängen geblieben. Das Interface ist Windows schon überlegen. Ich selbst entwickle keine Desktop-Software, aber an API-Dokumentationen, Entwicklungsumgebungen (auch für den iOS-Bereich), etc. fehlt es nicht. Was für Testlizenzen meinst du?

    In der Personalisierung der UI kenne ich mich bei OSX leider noch nicht aus (wie gesagt, gerade erst umgestiegen), aber mit der Unix-Basis (Bash-Scripting) und Spielereien wie AppleScript und dem Automator hat man eigentlich für unter der Haube keine Probleme. Dass du dich mit Windows besser aus kennst bleibt wohl am Ende eine Frage der Erfahrung.

    Dass du hauptsächlich für Windows entwickelst ist nicht verwunderlich, da Windows gerade im Firmenbereich so dominant ist. Dem kann man zwar mit Virtualisierung bzw. Boot Camp begegnen, aber man macht schon Abstriche.

    Ob man wirklich ein System braucht, dass so „frei“ ist, dass man alles ändern kann (mal abgesehen davon, dass es damit sehr viel schwerer wird zu finden, wo man ansetzen muss), ist doch sehr fraglich. Ich kann schon verstehen, dass es angenehm ist nicht mit Blackboxen arbeiten zu müssen und sich im Zweifel die Funktionalität im Code ansehen zu können, aber für den gemeinen User ist das kein Vorteil und er wird mit dem Nachteil der Komplexität stehen gelassen. Die Abhängigkeiten von Paketen und veralteten Repositories sind ein Graus. Ich kann mir vorstellen, dass jemand, der da richtig durch blickt Vorteile drin sieht, aber die Hürde ist mir zu hoch, auch wenn man bei Servern natürlich nicht daran vorbei kommt. Bei OSX besteht bei den meisten Programmen die Installationsroutine darin das Programm in den Ordner „Programme“ zu ziehen. Klar gibt es auch Programme, die tiefer ins System eingreifen, die meisten müssen das aber nicht und durch das verschieben bekommen sie gar nicht erst die Rechte dafür. Dieses Sandboxing hat bei OSX dazu geführt, dass es kaum ernstzunehmende Viren gibt. Natürlich hat auch OSX Probleme, Fehler und Sicherheitslücken aber subjektiv deutlich weniger als bei Windows.

    Like

    • breakpoint schreibt:

      Dass ich mich weder mit Linux noch Apple richtig auskenne, gebe ich ja gerne zu.
      Meine Kunden benutzen ausschließlich Windows, wodurch ich auch gar keinen ernsthaften Anreiz habe, mein Spektrum zu erweitern (außer Neugier).

      Wenn Apple API-Dokumentation etc. zur Verfügung stellt, so ist das natürlich positiv zu sehen.
      Mit Testlizenzen meinte ich Lizenzen für Betriebssysteme, so dass man als Entwickler auf mehreren Windows-Versionen auch überprüfen kann, ob die Software ordnungsgemäß funktioniert.
      Bei Apple dagegen sind die Lizenzen an die Hardware gekoppelt, so dass reines Testen auf unterschiedlichen Versionen so einfach nicht geht (zumindest nicht legal).
      Dies dürfte viele Entwickler abschrecken – mich auch

      Wie frei soll ein System sein?
      Tja, ich persönlich mag es, wenn ich möglichst viel so einstellen kann, wie es mir gefällt.
      Was nicht heißt, dass ich alle Optionen auch nutze.
      Für einen reinen Anwender sieht da die Sache schon anders aus. Wer sich nicht hinreichend auskennt, kann halt auch schon einiges kaputt machen.
      M.E. wollen die meisten Anwender auch gar nicht ins System eingreifen, sondern nutzen ihren Rechner lieber „passiv“.

      Weil Windows so weit verbreitet ist, gibt es leider einen größeren Anreiz, Viren zu basteln, die sich dann auch schneller verbreiten können. Aber Sicherheitslücken werden schneller aufgedeckt (während die bei Apple/Linux länger im Verborgenen schlummern), was den Anschein erweckt, es gäbe mehr.

      Like

      • Nick31 schreibt:

        Ja das stimmt, ich würde mir auch wünschen, dass sie für die Virtualisierung ihre Lizenzregeln ändern würden.

        Mit möglichst viel einstellen sind wir dann wieder bei Linux, das kann also nicht das einzige Kriterium sein.
        Ich denke aber auch als Softwareentwickler muss man nicht sehr tief ins System eingreifen. Dass man das manchmal will ist auch die Neugier. Gab es schon mal Situationen wo du für die Lauffähigkeit deiner Programme in die Tiefen des Windows eingreifen musstest, wo du an anderen Stellen Angst hättest es nicht zu können bzw. nicht dokumentiert zu finden (Apple) oder nicht jeden Einzelfall betrachten zu wollen (Linux)?

        Windows ist Europa sehr viel weiter verbreitet als z.B. in den USA. Dort hat OSX (je nach Quelle) einen deutlich 2-stelligen Marktanteil. Natürlich spielt die Popularität vermutlich die wichtigste Rolle in der Frage nach Viren, aber als ich mich (wie man eben als Windows-Nutzer zuerst macht, wenn man ein jungfräuliches OS kriegt) über Virenscanner für OSX informiert habe gab es viele Stimmen, die gesagt haben, dass die Sicherheitssysteme (z.B. eben Sandboxing) von OSX so gut funktionieren, dass es teilweise sogar verpönt ist einen Virenscanner zu haben.
        Ehrlich gesagt hab ich, nachdem der Virenscanner 2-3 mal das System abgeschossen hat, ihn auch wieder verbannt.

        Like

        • breakpoint schreibt:

          Es geht mir gar nicht darum, möglichst viel ändern zu können, sondern um einige bestimmte Punkte, an denen mir liegt.
          Bei Windows geht das (noch), wenn auch von Version zu Version umständlicher.
          Inwiefern das bei Linux möglich ist, kann ich gar nicht sicher beurteilen.

          „Gab es schon mal Situaltionen“ ..
          Ja, aber .. bzw. nein, außer .. – es kommt darauf an.
          Aber wenn ich jetzt anfangen würde, darauf näher einzugehen, käme ich vom Hundertsten ins Tausendste.

          Like

  4. Leser schreibt:

    Ja, es gibt Dogmen, die sagen „Linux ist sicher“ oder „OSX ist sicher“, das ist aber Unsinn, in der Tat sind diese Systeme aufgrund der geringeren Verbreitung von vorn herein unattraktiver für Angriffe. Wobei dennoch, wenn man das einmal beiseite lässt, das Sicherheits- und Rechtesystem von unixoiden Betriebssystemen wie Linux oder OSX von Grund auf eingebaut ist, und somit durchdachter (damit leichter abzusichern), als bei Windows, wo es eher so vorkommt, als sei das obendrauf gepfropft (und damit mehr eine Art Pflaster).
    Das schöne bei Linux ist, dass man es problemlos so absichern kann, dass der unbedarfte Anwender, der viel kaputt machen könnte, dazu gar keine Möglichkeit mehr hat, weil ihm die Rechte dazu fehlen.

    Mit den Sicherheitslücken, das halte ich für ein Gerücht. Ja, es gab gerade gestern wieder einen Bericht auf Heise, dass in Xorg eine >20 Jahre Sicherheitslücke gefunden wurde, aber das sind doch eher seltene Ausnahmefälle. Und wenn eine Lücke gefunden wird, dann wird sie in der Regel auch sofort behoben, da vergehen oft nur wenige Stunden zwischen dem öffentlichen Bekanntwerden auf einer Mailingliste und dem Bereitstehen einer neuen Version, wo das Problem behoben ist (wie schnell das die Distributoren in ihre Distributionen einbauen ist natürlich noch mal ein anderer Faktor, aber in der Regel auch nur mit 1-2 Tagen Verzögerung). Bei proprietären Systemen habe ich eher immer das Gefühl, dass Sicherheitslücken, bevor sie öffentlich bekannt werden, schon lange vorher einem kleineren Kreis an Hackern bekannt waren, die sie im schlimmsten Fall auch schon ausgenutzt oder als Zero-Day-Exploit weiterverkauft haben. Und dann kommt es halt noch darauf an, wie schnell/kostengünstig der Fehler sich tatsächlich beheben lässt, das entscheidet dann letztendlich, ob/wann ein Fix bereitsteht. Bei Sicherheitslücken, die nicht öffentlich bekannt sind, hat ein gewinnorientiertes Unternehmen (ohne Moral und Ethik – im Fall von Microsoft haben sie das Fehlen dieser Werte in der Vergangenheit immerhin deutlich genug bewiesen, durch die Methoden, mit denen sie zum Marktführer geworden sind) natürlich noch mehr Spielraum, sich zu entscheiden, ob das Problem behoben wird ,oder nicht. Und dann muss man bei Microsoft in der Regel auch mindestens bis zum nächsten, manchmal aber sogar auch erst bis zum übernächsten Patchday warten, bis ein Fix kommt.

    Bezüglich Virenscannern kann ich aber auch sagen, dass ich die für Schlangenöl halte, das Prinzip ist in sich bereits kaputt: Während das System läuft zu schauen, ob es befallen ist…irgendwie klingt das nach „nix halbes und nix ganzes“.

    Sinnvoller ist da doch die Verhinderung der Infektion im Vorhinein, und dafür braucht es dann Hirn auf Seiten des Anwenders, sowie ein paar Tools, die es dem Browser nicht erlauben, alles zu laden/auszuführen, was auf irgendwelchen dubiosen Webseiten daher kommt.

    Ansonsten kann man ein System zwar scannen, sollte das dann aber von „außen“ machen, indem man z.B. von einem Medium wie desinfec’t bootet, damit sich die Schadsoftware nicht zur Laufzeit vor dem Scanner verstecken kann. Und wenn das System befallen ist, hilft in solchen Situationen auch nur noch, die Festplatte komplett zu löschen und bei Null von vorne anzufangen. Weil nur dann ist die Schadsoftware auch mit absoluter Sicherheit verschwunden (es sei denn, sie hat sich ins BIOS/UEFI verzogen, dann darf es gleich ein neues Mainboard sein ;-))

    Like

  5. Pingback: Achthundertsechsundachtzig | breakpoint

Hinterlasse einen Kommentar