Ich werde oft gefragt: „Wie kannst du nur mit Chrome OS“ gefolgt von irgendeinem Verb. Ich will darüber mal ein bisschen was schreiben, damit ich die Frage nicht drölf Mal pro Woche beantworten muss.
Fange ich also mit dem Verb an, was bei mir am Meisten zutrifft: „programmieren“.
Ich verdiene mein Geld damit, viele Einsen und Nullen durchs Netz zu prügeln. Im Normalfall würde ein „normaler“ Web-Entwickler wohl Folgendes verwenden:
- eine lokale IDE, mit der man debuggen kann (Breakpoints setzen, den aktuellen Stack nachvollziehen, lokale Variablen prüfen, usw.), Autovervollständigung hat und irgendwas mit der Maus bedienen kann
- eine lokale oder semi-lokale (im Firmennetzwerk befindliche) Testumgebung, die grob wie das Livesystem funktioniert, allerdings oft mit Xdebug oder Zend Debugger versaut ist
- eine Million Mini-Tools installieren, die einem „die Arbeit erleichtern“
Woher ich diese Annahme nehme? Ich habe das früher genau so gemacht.
Doch dann habe ich festgestellt, dass dies alles großer Schwachsinn ist. Mit Chrome OS, speziell dem Chromebook und seit weniger als 24 Stunden auch der Chromebox sieht meine Entwicklungsumgebung so aus:
- die Crosh-Shell (in Chrome OS enthalten; Ctrl+Alt+T)
- eine aktive SSH-Verbindung zu einem Linux-Server (in meinem Fall eine EC2 im US-East-Bereich)
- ein VIM in einer Screen-Session
Jeder dieser drei Punkte würde wahrscheinlich schon 99% der restlichen Webentwickler zum Schreien bringen, aber die Kombination aller Punkte wirkt wahrscheinlich wie ein Teufelsanbeter im Vatikan - zumindest wenn ich mir die entsetzten Gesichter anschaue, jedes Mal, wenn ich genau dies erzähle.
Warum ich damit in meinen Augen effizienter programmiere?
Ganz einfach:
- ich zwinge mich, sprechende Klassen-, Methoden- und Variablen zu verwenden - wenn ich es nicht mache, suche ich ständig und stundenlang nach Parameterreihenfolgen, Namen usw. und wie ich letzte Woche feststellte, können mit dieser Methode auch keine dämlichen Rechtschreibfehler durch ein gesamtes Projekt gezogen werden
- ich greife nicht ständig zur Maus - ich sehe immer wieder Entwickler, die sich durch ihre IDE klicken, wenn sie in einem Vervollständigungsdialog etwas suchen und finden; das würde alles viel zu lange dauern
- durch den äußerst effizienten Editor habe ich keine Wartezeiten beim Start - wenn ich mir „ein Monster namens Eclipse“ mal so anschaue, das beim Start so lange braucht, wie ich für das gesamte Einrichten eines Projekts, bin ich ganz froh, dass ich instant programmieren kann
- die Automatisierung macht das Leben einfach - benötigt man für viele Sachen einen FTP-Client (ja, die meisten haben es immer noch nicht verstanden), damit man Dinge bei einem Kunden hochladen kann, kann ich diesen Prozess des Uploads und des Sync aller Sourcen zum Zielserver automatisieren; es spart einfach so unheimlich viel Zeit
- ich kann mich mit jedem Rechner dieser Welt mit jedem Betriebssystem einloggen und jederzeit weiterarbeiten, ohne auch nur ansatzweise eine Software installieren (Ausnahme: Windows - aber putty ist mit ein paar hundert kB nicht gross und läuft ohne Installation) zu müssen - instant
Rein theoretisch bliebe ja noch die Möglichkeit, eine Online-IDE zu verwenden - aber habt ihr die mal getestet? Natürlich können die Meisten davon Syntax-Highlighting, aber für viele Coder braucht es zumindest Codevervollständigung für die Programmiersprache selbst.
Oder anders: Habt ihr mal versucht, euch in PHP für alle Suchfunktionen die Reihenfolge des $needle und des $haystack Parameters zu merken? Aber ich weiss von einigen IDEs, dass diese hart an genau diesen Features arbeiten.
Dies sind aber trotzdem alles Gründe, warum ich wohl auch in den nächsten Jahren einer von zehn Entwicklern weltweit sein werde, der überhaupt auf einem Chrome-OS-Gerät entwickeln kann. Schade eigentlich, haben diese Geräte doch äußerst viel Potential.
Zusammenfassung (Anklicken zum Anzeigen)
Bitte hör auf, deine Aufmerksamkeitsspanne zu verkürzen, indem du ständig Kurzvideos schaust. Lies einfach den Text und lern wieder, zu verstehen. Nimm dir Zeit! Sonst bist du so dumm, wie die Menschen, die ich hier anspreche.
Kommentare
axel
schokocappucino
Alex
mthie
Javex0
Ich habe einige Zeit auf Windows gecoded (immer mit der Netbeans IDE für PHP, Eclipse für Python) und bin jetzt auf Linux umgestiegen. Damit decke ich sehr viel von dem ab, was du beschreibst (was das Chrome OS nicht entwertet, aber es ist dabei halt auch nur eine Möglichkeit in der Menge).
Ich habe auch probiert mit vim zu arbeiten, aber ich vermisste funktionen, die mich direkt zur Definition einer Klasse/Funktion/usw. tragen, das nutze ich in Netbeans ständig, wenn ich mir Dinge, die nicht gut dokumentiert sind anschaue (Joomla-Spezialitäten z.B.).
Ja klar, kann jetzt einer sagen: Das Framework hat da Probleme, die du mit dem IDE behebst. Ja und PHP hat auch Fehler, ist halt so, lebt man mit, IDE hilft.
Du schreibst, dass z.B. Dinge wie ein Debugger installiert sind. Dieses Feature fehlt dir völlig, oder? Ist jetzt nicht so, dass man in PHP oft debuggen würde (habe auch keinen Debugger), aber es fehlt schon in deiner alt-neu Liste. Brauchst du ihn nicht mehr?
Übrigens beschreibst du größtenteils, was ich mal als “Linux is an IDE” gesehen habe: Linux bringt alle Bordmittel mit, da brauchst du für vieles kein IDE mehr. Da stimme ich zu (trotzdem nutze ich gern n IDE).
Sebastian Semmler
Zend Studio + Git Plugin + Debian VM (als Dev-Kiste - hat hier jeder Entwickler auf seinem Arbeitspferdchen).
Fahre diese Konfiguration seit Jahren. Bin zufrieden und habe Spaß beim Entwickeln.
Deine Kritikpunkte kann ich nicht wirklich nachvollziehen:
“ich zwinge mich, sprechende Klassen-, Methoden- und Variablen zu verwenden…”
Das ist doch heutzutage Standard.
“durch den äußerst effizienten Editor habe ich keine Wartezeiten beim Start - wenn ich mir “ein Monster namens Eclipse”…”
Also ich mach das hier so, dass ich frühs Eclipse starte und Abends wieder ausmache. Deswegen stören mich die 20 Sekunden Ladezeit beim starten nicht.
“die Automatisierung macht das Leben einfach - benötigt man für viele Sachen einen FTP-Client…”
Das kann ich auch mit Zend Studio oder Eclipse machen (Stichwort: Remote Sites)
“ich kann mich mit jedem Rechner dieser Welt mit jedem Betriebssystem einloggen und jederzeit weiterarbeiten…”
Das machen wir hier so, indem wir vor Feierabend unsere Änderungen auf das Remote Repository pushen und zuhause pullen. Dann können wir auch weiterarbeiten. Software brauchen wir natürlich trotzdem. Aber hey…es gibt Laptops.
Du entwickelst aber nicht auf einem Produktiv System, oder?
Kommentar schreiben
Jeder Kommentar wird vor der Veröffentlichung überprüft.