In den NachrichtenNerdkrams
Git­Hub: Auf zum Atom?

Wor­auf hat die Welt denn bei­na­he so drin­gend gewar­tet wie auf einen ein­ge­bil­de­ten Berg? Rich­tig: Auf Atom.

Atom – ich mei­ne aus­nahms­wei­se nicht die Ener­gie­quel­le – ist ein von Git­Hub, einem gro­ßen Anbie­ter für frem­den Quell­code aller Art, ent­wickel­ter Text­edi­tor, der bei­na­he aus­sieht wie das recht belieb­te Sub­li­me Text und auch ähn­lich funk­tio­nie­ren soll, aller­dings kosten­los und quell­of­fen ange­bo­ten wird. (Einen ähn­li­chen Ver­such, aller­dings mit gerin­ge­rer media­ler Auf­merk­sam­keit, star­te­te vor einer Wei­le Ado­be mit Brackets.)

„Kosten­los“ ist ja eines der Lieb­lings­wör­ter von Mit­mensch Inter­net­nut­zer in sei­ner Gra­tis­wol­ke. Qua­li­tät gern, aber lie­ber was geschenkt. Fol­ge­rich­tig wird Text­Ma­te, eines der Vor­bil­der von Sub­li­me Text, in der Ver­si­on 2.0 eben­falls – bezeich­nen­der­wei­se auf Git­Hub – gra­tis zur Ver­fü­gung gestellt.

Ein gro­ßes Man­ko von Text­Ma­te ist, dass es aus­schließ­lich für Mac-OS-X-Syste­me ent­wickelt wird:; eben­so wie der Atom-Edi­tor übri­gens. Trotz­dem sind blog­gen­de Ent­wick­ler (oder Gele­gen­heits­skripter) begei­stert und freu­en sich, dass sie jetzt einen Edi­tor, der auch nicht mehr kann als sei­ne Vor­bil­der, nicht mehr müh­sam erbet­teln müs­sen:

Bis­her muss­te man um einen Beta-Key bet­teln, wenn man sich die neu­ste Ent­wick­lung aus dem Hau­se Git­hub anschau­en woll­te.

Auch bei heise.de ist man beein­druckt:

Der auf Goo­gles Chro­mi­um basie­ren­de und Node.js als Backend nut­zen­de Java­Script-Edi­tor soll die besten Eigen­schaf­ten ande­rer Text­edi­to­ren kom­bi­nie­ren. Die Ent­wick­ler zogen hier den Kom­fort von Sub­li­me und Text­Ma­te sowie die Fle­xi­bi­li­tät und Erwei­ter­bar­keit von Emacs und Vim her­an, die sich aber alle­samt nur mit spe­zi­el­len Skript­spra­chen anpas­sen lie­ßen und nicht all­zu intui­tiv sei­en.

Nun, an einer Erneue­rung von Vim wird ja eben­so gear­bei­tet wie an Emacs-Ver­sio­nen, die das Skrip­ten ein­fa­cher machen soll­ten, etwa mit einem Wech­sel der Skript­spra­che von Emacs Lisp zu Sche­me. Ein Edi­tor, der die Vor­tei­le der bekann­ten Edi­to­ren mit­ein­an­der ver­bin­det, ohne einen ihrer Nach­tei­le zu über­neh­men, klingt zwar zumin­dest in der Theo­rie inter­es­sant, aber dafür müss­te er sich erst ein­mal posi­tiv von ande­ren Edi­to­ren abhe­ben.

Womit aber will Atom das schaf­fen?

Die Web­site sagt zum Bei­spiel:

Our goal is a deep­ly exten­si­ble system that blurs the distinc­tion bet­ween „user“ and „deve­lo­per“.

Der Edi­tor soll also von jedem Benut­zer ein­fach und kom­plett frei skript­bar sein. Das sind Vim, Emacs und der­glei­chen zwar auch, aber sie benut­zen nicht so schö­ne Wer­be­phra­sen dafür.

Atom comes loa­ded with the fea­tures you’­ve come to expect from a modern text edi­tor.

Atom bringt also alle Funk­tio­nen mit, die Edi­to­ren wie Note­pad++ auch mit­brin­gen. Das ist wirk­lich sehr prak­tisch, aber auch nicht inno­va­tiv.

Wo blei­ben nun die Inno­va­tio­nen? Na, wei­ter oben:

Atom is a desk­top appli­ca­ti­on based on web tech­no­lo­gies.

Tat­säch­lich: Atom basiert auf Chro­mi­um. Auf einem Web­brow­ser. Ein Text­edi­tor, der auf einem Web­brow­ser basiert. Ein ein­fa­ches Werk­zeug, das auf einer kom­ple­xen, schwe­ren Platt­form steht. Ein Text­edi­tor, der Face­book kann. Ato­me hat­te ich mir ja immer als etwas sehr Klei­nes vor­ge­stellt, aber ich habe noch nie ein Atom gese­hen. Viel­leicht lag ich da falsch.

Aber die Ent­wick­ler haben sich auch etwas dabei gedacht, denn so kön­nen sie statt sta­ti­schen, platt­form­ab­hän­gi­gen Codes in ihrem Text­edi­tor, der nur unter Mac OS X läuft, platt­form­un­ab­hän­gi­ge Pake­te ent­wickeln, die die Lei­stungs­fä­hig­keit des Edi­tors enorm erhö­hen. Zum Bei­spiel Metrics. Metrics ist ein wohl stan­dard­mä­ßig akti­ves Paket, das essen­zi­el­le Edi­tor­funk­tio­nen ent­hält: Es sen­det Benut­zer­da­ten zwecks Aus­wer­tung an Goog­le Ana­ly­tics (pro­vo­kant gesagt also wahr­schein­lich an die NSA).

Das tun ande­re Edi­to­ren tat­säch­lich meist nicht. Man kann das Paket zwar deak­ti­vie­ren – dafür aber muss es erst ein­mal aktiv gewe­sen sein. Das also sind alle Funk­tio­nen, die ich von einem moder­nen Text­edi­tor erwar­te. Ob er wohl auch Tex­te edi­tie­ren kann? Die Web­site schweigt sich aus.

Der Edi­tor des 21. Jahr­hun­derts, fast so groß wie Open­BSD. Ich fand das letz­te Jahr­hun­dert irgend­wie bes­ser.

Senfecke:

  1. Um also die Dis­kus­si­on von Twit­ter fort­zu­füh­ren. Ich bezie­he mich mal für die Defi­ni­ti­on von Bloat­wa­re auf die Wiki­pe­dia.
    „Als Bloat­wa­re (engl. to bloat „auf­blä­hen“), sel­ten als Bläh­wa­re oder Fatware[1], wird Soft­ware bezeich­net, die mit Funk­tio­nen über­la­den ist bzw. die Anwen­dun­gen sehr unter­schied­li­cher Arbeits­fel­der ohne gemein­sa­men Nut­zen bün­delt (sie­he: eier­le­gen­de Woll­milch­sau).“
    Natür­lich haben emacs und Atom ein Plug­in-System, um das mehr oder weni­ger zu steu­ern. Also könn­te man nun das Bloa­ting bei­den Edi­to­ren vor­wer­fen, oder kei­nem.

    Und zur Tat­sa­che, dass du Bloat mit Spei­cher­ver­brauch gleich­setzt, nun: Atom ver­braucht 30MB Spei­cher, ja. Aber in Anbe­tracht der Tat­sa­che, dass du heut­zu­ta­ge kaum noch Com­pu­ter mehr mit weni­ger als 4GB Spei­cher kau­fen kannst, allei­ne weil das Betriebs­sy­stem so rum­bloa­ted, macht die Tat­sa­che, dass ein Edi­tor es wagen kann, 1% des Gesamt­spei­chers zu nut­zen den Bra­ten jetzt auch nicht mehr fett.
    Auf dei­nem Screen­shot war klar ein OS mit GUI zu sehen, ver­mut­lich ein Win­dows. Wie­viel Spei­cher ver­braucht das denn so, wenn es gestar­tet und ein­ge­loggt ist, aber sonst kei­ner­lei Dien­ste im Hin­ter­grund lau­fen? Mit Sicher­heit mehr als 1% des Haupt­spei­chers, und den­noch nutzt du es, ohne dich selbst des Bloa­tings anzu­kla­gen.

    Die Wur­zeln von GNU emacs rei­chen bis 1984 zurück, die Wur­zeln von emacs als Macro­samm­lung bis 1976. Ich geh jetzt mal davon aus, dass die Punk­te in den Zah­len­an­ga­ben Dezi­mal­punk­te sind, denn sonst hät­test du den ele­gan­ten Spei­cher­ver­brauch von 50MB, und wür­dest dich selbst dis­qua­li­fi­zie­ren. Nun, also eine Aus­la­stung von 50kB. Legen wir dem Ent­wick­ler­team von emacs mal einen guten Pro­gram­mier­stil zuge­gen, und behaup­ten, dass sich das Pro­gramm in den letz­ten 30 Jah­ren nicht signi­fi­kant auf­ge­bläht hat (wie du schon sag­test, kei­ne Bloat­wa­re). Ich geh mal davon aus, dass emacs in den 80er Jah­ren also mal so grob 45kB Haupt­spei­cher belegt hat.

    Nun gehen wir mal, aus Grün­den der Fair­ness, davon aus, dass ein hypo­the­ti­scher User im Jah­re ’84 emacs auf sei­nem PC aus­füh­ren woll­te, und nicht auf irgend­ei­nem Main­frame. In den 80er Jah­ren lag die typi­sche Arbeits­spei­cher­grö­ße irgend­wo zwi­schen 64kB in einem C64 und 512kB in einem Ami­ga 500. Das hie­ße: emacs hat kurz nach sei­nem initia­len Release irgend­was zwi­schen 11 und 70% des dama­ly übli­chen Sets an Haupt­spei­cher ver­braucht. Atom hat kurz nach sei­nem initia­len Release irgend­was zwi­schen 1% (4GB RAM) und 0,25% (16GB RAM) des ver­füg­ba­ren Haupt­spei­chers benö­tigt.

    Und du willst mir ernst­haft erzäh­len, Atom wür­de bloa­ten? Set­ze die Rela­tio­nen, und über­denk die Aus­sa­ge.

    Ja, natür­lich, wir haben nicht mehr die 80er Jah­re, also fällt der Spei­cher­ver­brauch von 50kB nicht mehr so stark ins Gewicht. Aber wir haben auch nicht mehr den Beginn der 2000er Jah­re, wo ein Spei­cher­ver­brauch von 30MB groß ins Gewicht fal­len wür­de.

    Und dein ande­res Argu­ment, man müs­se eine kom­plet­te Brow­ser­um­ge­bung laden, um ein Text­file edi­tie­ren zu kön­nen, stimmt zwar, aber lässt sich auch in Rela­tio­nen set­zen. Aber wenn man sich mal die Depen­den­ci­es eines emacs anguckt… libc6, libn­cur­ses, libpng, lib­text­buf, libpan­go, die zlib…man muss ein­mal die kom­plet­ten Libra­ri­es laden, um nur mal eben ein Text­file edi­tie­ren zu kön­nen. Das hät­te man aber auch ele­gan­ter und weni­ger bloa­tend lösen kön­nen, oder? Once again, check die Rela­tio­nen. Die Libra­ri­es von emacs zu laden war einst bestimmt auch genau so #auf­schrei-Indu­zie­rend wie heu­te das Web­kit. Das hät­te man ja auch bes­ser lösen kön­nen, mit ner nati­ven Anzei­ge­en­gi­ne, oder damals ein­fach alles sta­tisch lin­ken, oder kur­zer­hand selbst rein­hacken kön­nen.

    Zu dei­ner Mac-OS-Only-Argu­men­ta­tio­nen gibt es mitt­ler­wei­le meh­re­re Builds für alle Syste­me, auf denen Node läuft, also dürf­te das auch wider­leg­bar sein, und zu dem Spywarevorwurf..ja klar, ist aber deak­ti­vier­bar, und es soll ja Leu­te geben, deren Men­ge mit der Men­ge der Leu­te, die über GA besorgt sind, rela­tiv kon­junkt ist, die ein­fach den Zugriff auf die Goog­le-Ana­ly­tics-Ser­ver in ihrer /etc/hosts (oder woauch­im­mer das betriebs­sy­stem­spe­zi­fisch defi­niert wird) unter­bun­den haben, bzw den DNS-Record umge­bo­gen haben, sodass ich mir über das Pro­blem ehr­lich gesagt noch gar kei­ne Gedan­ken gemacht habe.

    Aber ich möch­te hier auch kei­nen Fla­me- oder Edi­tor-War star­ten. Es möge jeder genau die Soft­ware nut­zen, mit der er glück­lich wird. Wie­so auch nicht?

    Und übri­gens: Ich mag Wurst.

    • Natür­lich haben emacs und Atom ein Plug­in-System, um das mehr oder weni­ger zu steu­ern. Also könn­te man nun das Bloa­ting bei­den Edi­to­ren vor­wer­fen, oder kei­nem.

      Neh­men wir mal die bei­den Edi­to­ren (aktu­el­le „fina­le“ Ver­sio­nen) ohne Extra­plug­ins.

      Bloat von Emacs: Ein Psy­cho­the­ra­peu­ten­skript. Hui.
      Bloat von Atom: Chro­mi­um, das allein über 100 MiB des Down­loads aus­ma­chen dürf­te.

      Möch­test du das in LoC haben oder genügt es dir auch so?

      macht die Tat­sa­che, dass ein Edi­tor es wagen kann, 1% des Gesamt­spei­chers zu nut­zen den Bra­ten jetzt auch nicht mehr fett.

      Wie gesagt: Dann nutz‘ doch Eclip­se, das kann auch alles, hat kei­nen Web­brow­ser, braucht ewig zum Laden und frisst RAM wie blö­de, aber sind ja nicht mehr die 80er, man muss ja mit der Zeit gehen.

      Auf dei­nem Screen­shot war klar ein OS mit GUI zu sehen, ver­mut­lich ein Win­dows. Wie­viel Spei­cher ver­braucht das denn so, wenn es gestar­tet und ein­ge­loggt ist, aber sonst kei­ner­lei Dien­ste im Hin­ter­grund lau­fen?

      Vari­iert. (Irgend­wel­che Dien­ste lau­fen ja immer.)

      Emacs läuft übri­gens auch ohne GUI (die ersten Ver­sio­nen hat­ten gar kei­nes, dein Ver­gleich ist also gar kei­ner). Und Atom so?

      Atom hat kurz nach sei­nem initia­len Release irgend­was zwi­schen 1% (4GB RAM) und 0,25% (16GB RAM) des ver­füg­ba­ren Haupt­spei­chers benö­tigt.

      Jeden­falls die von dir selbst kom­pi­lier­te Ver­si­on – das kann stark vari­ie­ren. Und: RAM-Grö­ße wächst expo­nen­zi­ell, Men­ge an Edi­tor­funk­tio­nen aber nicht. Über­denk‘ die Aus­sa­ge. ;) (Und: GB? Nicht eher MB?)

      Aber wir haben auch nicht mehr den Beginn der 2000er Jah­re, wo ein Spei­cher­ver­brauch von 30MB groß ins Gewicht fal­len wür­de.

      „Wir haben mehr RAM, also bele­gen wir den auch, obwohl wir auch mit weni­ger RAM mehr Funk­tio­nen haben könn­ten! Weil wir ein neu­es Jahr­tau­send haben!“

      Irgend­wo fehlt mir da die Kau­sa­li­tät.

      Aber wenn man sich mal die Depen­den­ci­es eines emacs anguckt… libc6, libn­cur­ses, libpng, lib­text­buf, libpan­go, die zlib…

      Das sind deut­lich weni­ger „Depen­den­ci­es“ als der Chro­mi­um-Quatsch allein besitzt, der in Atom drin ist. Übri­gens ist zum Bei­spiel die libpng optio­nal – hast du sie nicht, gehen halt kei­ne Inline-PNGs. (Ich wür­de das nur im Twit­te­ring-Mode über­haupt bemer­ken; oder sind das JPEGs? Dann gar nicht.) Was macht Chro­mi­um, wenn ihm eine Abhän­gig­keit fehlt? Nein, lass‘ mich raten … strei­ken, rich­tig?

      Die Libra­ri­es von emacs zu laden war einst bestimmt auch genau so #auf­schrei-Indu­zie­rend wie heu­te das Web­kit.

      ncur­ses in einem CLI-Edi­tor: Sinn­voll.
      Web­kit in einem Edi­tor: Wofür, zum hei­li­gen Hen­ker?!

      Äpfel. Bir­nen. Wie immer.

      Das hät­te man ja auch bes­ser lösen kön­nen, mit ner nati­ven Anzei­ge­en­gi­ne

      Hät­te sich super auf die Por­ta­bi­li­tät aus­ge­wirkt. Bemerkt man gera­de bei Atom.

      zu dem Spywarevorwurf..ja klar, ist aber deak­ti­vier­bar

      „Da hat zwar wer rein­ge­kackt, aber wenn man nach dem Rein­tre­ten alles sau­ber wischt, merkt man es gar nicht mehr.“

      Super!

Comments are closed.

https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_smilenew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_biggrin2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_sadnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_eek.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_shocked.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_confusednew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_coolnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lol.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_madnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_aufsmaul.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_seb_zunge.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_blushnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_frown.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil1.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/icon_mad.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_rolleyesnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_wink2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_idea2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_arrow2.gif 
mehr …
 

Erlaubte Tags:
<strong> <em> <pre> <code> <a href="" title=""> <img src="" title="" alt=""> <blockquote> <q> <b> <i> <del> <tt> <span style=""> <strike>

Datenschutzhinweis: Deine IP-Adresse wird nicht gespeichert. Details findest du hier.