Einstellungskritierium vi Editor
In meinem aktuellen Projekt stehen bald einige Bewerbergespräche an. Neben den „üblichen“ Fachfragen (Was ist der Unterschied zwischen einem Objekt und einer Klasse und was ist in diesem Zusammenhang bei Ruby anders als bei anderen Sprachen) gibt es bei mir tatsächlich das „vi“ Kriterium. Entwickler müssen vi kennen.
vi ist ein kleiner Editor, der bei jeder (wirklich jeder) Unix-Variante mit zur Grundinstallation gehört. Auch OSX (ja , ja ist kein Unix) hat es mit an Bord – in der Variante vim (vi improved).
Warum ich denke, dass jeder ernsthafte IT’ler vi kennen sollte? Ganz einfach: Man kommt immer wieder in eine Situation, in der man mal eben Dateien auf einem Server verändern muss. Und dann muss man mit den Tools arbeiten, die da sind. vi muss man ein wenig lernen. Es gibt keine Maus, es gibt verschiedene Modi, man bewegt den Cursor nicht mit den Pfeiltasten… Aber: vi ist ungemein effizient.
Vor einiger Zeit ist ein Student eines meiner Projekte verzweifelt. Er wollte Dateien auf dem Server editieren und seine Kombination aus FTP-programm und lokalem Editor auf seinem Mac (genauer: Cyberduck und TextMate) funktionierte nicht. Da konnte der arme Kerl gar nicht mehr arbeiten und beschwerte sich, er würde nun viel viel länger für seine Arbeit brauchen. Tja, mit vi wäre das nicht passiert.
Ok, ich gebe zu, es manchmal ein wenig zu übertreiben. Arbeite in auf meinem Macbook auf der Shell, nehme ich fast automatisch auch schon mal vi – geht einfach schneller als der Wechsel zu einem neuen Fenster.
‹ Da bin ich wieder Die elektronische Wiedervorlage ›
FTP kommt mir auf meine Server schon gar nimmer drauf.
Deployment geht alles über git oder svn und damit bleibt nur die server configuration als Einsatzgrund für einen editor. Du hast also völlig recht mit vi.
Aber trotzdem, nano ist mir lieber.
OS X ist ein registriertes Open Brand UNIX 03 Produkt:
http://www.apple.com/de/macosx/technology/unix.html
Aljoscha//eher emacs-user ;)
>> „… und was ist in diesem Zusammenhang bei Ruby anders als bei anderen Sprachen“
Das würde mich jetzt aber auch interessieren. Gibt es einen Unterschied von Ruby zu anderen objektorientierten Sprachen in dieser Hinsicht? Ich dachte bisher eigentlich das wäre das Konzept von Ruby?
Oder geht es nur darum, dass Ruby rein-objektorientiert ist?
@Han Yase:
In ruby sind Klassen selbst auch Objekte. BTW: Zusammen mit „self“ kann man nette Spielereien machen:
Class Foo
def self.bar
„ich bin eine Klasse“
end
def bar
„ich bin die Instanz einer Klasse, also ein Objekt“
end
end
So, jetzt:
Foo.bar
=> „Ich in eine Klasse“
Foo.new.bar
=> „ich bin die Instanz einer Klasse, also ein Objekt“