Proportionale Schriftarten zum Programmieren!?



  • @Sone: Du darfst gern nochmal den Eroeffnungsbeitrag lesen.



  • knivil schrieb:

    @Sone: Du darfst gern nochmal den Eroeffnungsbeitrag lesen.

    Ich wurde verwirrt durch Bashar, der geschrieben hat, dass die Frage nach Monospace-Fonts war...



  • Sone schrieb:

    Ich wurde verwirrt durch Bashar, der geschrieben hat, dass die Frage nach Monospace-Fonts war...

    Sorry, da war ich verpeilt, ich wollte eigentlich "Nicht-Monospace" schreiben und hab dann falsch editiert. Im Zweifel gilt aber das, was im OP steht 😉



  • @Sone
    Mir ist klar wodurch du verwirrt wurdest.
    Daher hab ich ja geschrieben "die Frage war nach nicht-monospace Fonts". Weil das eben die ursprüngliche Frage war.



  • Nachdem jetzt geklärt ist, was eine proportionale Schriftart ist, mich würde eine Antwort auf die Frage schon noch interessieren.

    Bashar schrieb:

    Stroustrup benutzt in seinen Büchern Proportionalschriften.

    In einem Buch ist das noch halbwegs verständlich, weil es typographisch etwas schöner aussieht und mehr Möglichkeiten zum Syntax-Highlighting in Schwarz-Weiss bietet: fett, kursiv, monospace wenn String-Literal.

    Aber in einer IDE?



  • Der einzige Grund der für mich im Buch gilt ist dass es weniger Platz braucht. Fett und kursiv geht mit monospace genau so. Und serif vs. sans-serif könnte man genau so gut verwenden wie proportional vs. monospace (bzw. sogar besser).

    Auf deine ursprüngliche Frage: ich persönlich finde es total beknackt Proportionalschriftarten zum Programmieren zu verwenden. Das einzige echte Argument das ich allerdings "pro monospace" bringen kann, ist dass man damit ASCII-Art und "Tabellen" in z.B. Kommentaren machen kann, bzw. Text feiner ausrichten.
    Das einzige was ich davon für wichtig bzw. gut brauchbar halte sind Tabellen in Kommentaren. Und das ist auch nicht SOOO wichtig.

    Im Endeffekt finde ich es aber einfach vom Bauchgefühl her falsch.
    Wenns nicht monospace ist sieht es für mich einfach nicht nach Code aus 🕶 🤡



  • Ich verwende eine proportionale Schriftart und finde das gut so.
    Im Moment ist es Tahoma, Größe 10, bei 1366 auf 768 Pixel Auflösung und 41cm, 16 Zoll Bildschirmdiagonale sowie Standardskalierung in Windows (96dpi, 100%). Zum einen braucht sie weniger horizontalen Platz, was mir gefällt (ich verwende dafür keine künstliche Zeilenlängenbegrenzung, sondern breche um, wenn ich das Gefühl habe, dass ich es tun sollte), zum anderen richte ich in normalem Code sowieso nichts aus (genau, gar nichts)^, es gibt nur verschiedene Ebenen, die durch Einrückung dargestellt werden (natürlich benutze ich dafür \t-s!). Wenn ein Ausdruck umgebrochen wird, wird alles, was noch zu ihm gehört, um eine Ebene eingerückt (also in der zweiten um eins mehr als in der ersten, danach nicht mehr weiter, außer es ergeben sich halt neue Ebenen).
    Desweiteren, was aber wohl am wichtigsten ist, empfinde ich sie als um einiges einfacher, genauer und schneller lesbar.
    Ich habe gerade mal testweise auf Courier New umgestellt, das auch zuerst gar nicht so schlecht aussah, wie ich es in Erinnerung hatte; aber als ich dann mal den Code* überflog, sah irgendwie alles gleichförmig aus, dauernd verpasste ich beim Drüberschauen Klammern und Grenzen von Ausdrücken; ich konnte sie nicht mehr so gut erfassen und mich nicht mehr richtig an ihnen orientieren.
    Die empfundene Verringerung der Lesbarkeit lag vielleicht auch daran, dass die Schrift um einiges weitläufiger ist. Allerdings kann ich nicht ausschließen und halte es nicht für unwahrscheinlich, dass ich meinen Wahrnehmungsapparat daran gewöhnen könnte, auf andere Merkmale zu achten, sodass das Lesen doch wieder ähnlich gut gehen würde.

    ^Ich glaube, Dokumentationskommentare habe ich normalerweise als Blockkommentare geschrieben, wobei ich die Zeilen mit einem Leerzeichen begann und daran für jede Ebene einen Stern anschloss (sodass der erste Stern direkt unter dem stand, mit dem der Kommentar eingeleitet wurde). Vielleicht irre ich mich aber auch und ich habe auf diese Ausrichtung ebenfalls verzichtet.
    *(nur ein kleines, unfertiges Testprogramm, das ich für einen Post hier im Forum angefangen hatte, aber dann abgebrochen, weil das Schreiben zu lange dauerte; mein Können hat doch etwas stark nachgelassen)



  • Es gibt unendlich viele Gründe monospace Fonts zu verwenden.

    Hier mal 2 essentielle:

    😉 Code Alignment
    😉 Leerzeichen Erkennung

    Das sind 2 Sachen die bei Proportionalen Schriften nicht funktionieren und absolut essentiell sind. Es gibt noch ein dutzend weitere Argumente, aber das sind 2 Killer Argumente.



  • Shade Of Mine schrieb:

    Es gibt unendlich viele Gründe monospace Fonts zu verwenden.

    Ich hoffe, da kommt noch mehr.

    Hier mal 2 essentielle:

    😉 Code Alignment
    😉 Leerzeichen Erkennung

    Beide irrelevant für mich da ich nicht aligne.

    Mein Gegenargument: Der Code ist einfach zu lesen und ermüdet die Augen weniger. Ich kann den Code sogar bequem ohne Brille lesen, weil die Buchstaben so schön unterscheidbar sind.

    Nun du wieder. Aber bitte keine Argumentwiederholung.



  • otze schrieb:

    Beide irrelevant für mich da ich nicht aligne.

    Code wird immer aligned. Wenn du einrückst, alignst du bereits Code.
    Wenn du 2 Variablen untereinander definierst, alignst du bereits Code.

    Und Leerzeichen Erkennung hat nichts mit Alignment zu tun.

    Mein Gegenargument: Der Code ist einfach zu lesen und ermüdet die Augen weniger. Ich kann den Code sogar bequem ohne Brille lesen, weil die Buchstaben so schön unterscheidbar sind.

    Nun du wieder. Aber bitte keine Argumentwiederholung.

    Lesbarkeit ist ein Attribut der Schrift nicht des Schrifttyps.



  • hab grad mal testweise auf Tahoma 10pt umgestellt. Klammern sind schwer trennbar (gerade kombinationen wie )])} , schmalere Zeichen (',.) sind, gerade ohne Brille, kaum sichtbar, dafür nehmen unbedeutende Zeichen (@_) viel zu viel Platz ein. Und wie gesagt gehen bestimmte Zeichenkombinationen (obige Klammern, aber auch sowas wie '"') total unter.
    Bei kleinerer Schriftart verstärkt sich das alles noch (ich arbeite mit 8pt)

    Der Vorteil von Monospace ist ja gerade dass einzelne Zeichen, auch wenn sie an sich sehr wenig Platz einnehmen würden, nicht im Buchstabensalat untergehen können.



  • Ich habe mal proportionale Schriften probiert zum Programmieren und bin innert weniger Minuten wieder davon weggekommen. Es hat mich schon in Stroustrups Büchern gestört, obwohl es dort sehr sauber gemacht ist - das war der Grund weshalb ich es überhaupt probiert habe. Aber letztendlich ist sauberes Einrücken für mich extrem wichtig und wird von den IDEs (Visual Studio, Xcode und Eclipse) unterstützt. Weiterhin werden z.B. komplexe Ausdrücke mit vielen Klammern (Templates!) schnell unleserlich, da man die Dinge von Auge nicht mehr so einfach auseinanderhalten kann. Daher: Weg mit Proportionalschriften 😮

    Meine beliebtesten Fonts zum Entwickeln sind Lucida Console (auf Windows mit ClearType sehr schön anzusehen, nicht so roh wie Courier) und Menlo (auf Mac OS X, auch sehr schön und gibt ein anderes Feeling).



  • Hm, Lucida wirkt so blass, weil die Buchstaben so dünn sind, ich hab diese "Consolas"-Schriftart gehabt. Die anderen scheinen nicht so passend zu sein...



  • Proportionalschriften könnten ev. lesbar werden, wenn die ganzen Symbole

    <([{:,.;&@*-+^}])>

    angepasst werden, dass sie fürs Programmieren akzeptabel werden. Manche stechen heraus, weil sie viel zu breit sind, andere gehen unter. Ich kenne leider keine gute Font.

    if (a%b==0 || !c && greater<int, int>{}(1L, 2)) { std::cout << "il1I|\n"; }
                                                                                              ^-- ist da ein space dazwischen oder nicht?

    if (a%b==0 || !c && greater<int, int>{}(1L, 2)) { std::cout << "il1I|\n"; }
                                                                 ^ nope, kein Space
    

    Proportional fehlt aber echt die Möglichkeit, Kommentare auszurichten, so wie den oben. Geht kaum. Also Monospace.



  • ich hab diese "Consolas"-Schriftart gehabt.

    Ja, ich habe jetzt auch Consolas. Also mit "jetzt" meine ich von dem Zeitpunkt an, wo der TE mir gesagt hat, Courier New ist unleserlich, womit er natürlich Recht hatte.

    Man müsste mal eine Schrift richtig stark auf Programmierung mit C++ optimieren. Sowie Source Code Pro , aber schöner.



  • Sone schrieb:

    ich habe jetzt auch Consolas.

    Es sollte die Default-Schriftart von Visual Studio sein.

    Ich verwende eine proportionale Schriftart ... Vielleicht irre ich mich aber auch und ich habe auf diese Ausrichtung ebenfalls verzichtet ... nur ein kleines, unfertiges Testprogramm, das ich für einen Post hier im Forum angefangen hatte, aber dann abgebrochen, weil das Schreiben zu lange dauerte; mein Können hat doch etwas stark nachgelassen

    Also hast du im Allgemeine nicht viel mit Programmierung und im Speziellen mit C++ am Hut?



  • Sone schrieb:

    Also mit "jetzt" meine ich von dem Zeitpunkt an, wo der TE mir gesagt hat, Courier New ist unleserlich, womit er natürlich Recht hatte.

    Sowas merkt man erst, wenn es jemand anderes sagt? 🙄



  • Courier New ist schon schwer OK.

    Consolas finde ich aber noch angenehmer.
    Bitstream Vera Sans Mono ist auch ziemlich gut.

    knivil schrieb:

    Sone schrieb:

    ich habe jetzt auch Consolas.

    Es sollte die Default-Schriftart von Visual Studio sein.

    Meinst du "sollte" im Sinn von du bist dir nicht sicher?
    Egal, ich kann auf jeden Fall bestätigen: es ist Default-Font bei VS 2010, 2012 und 2013.
    (Ätere VS Versionen: keine Ahnung, hab ich nicht probiert. VC98 hatte sicher noch Courier New)



  • warum nicht gleich eine pixelfont 😕



  • Cyres schrieb:

    Sone schrieb:

    Also mit "jetzt" meine ich von dem Zeitpunkt an, wo der TE mir gesagt hat, Courier New ist unleserlich, womit er natürlich Recht hatte.

    Sowas merkt man erst, wenn es jemand anderes sagt?

    Nein, aber ich wusste nicht, dass es bessere gab. Ich habe mich nie damit beschäftigt, eine bessere Schrift zu finden.


Anmelden zum Antworten