Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben) (https://www.delphipraxis.net/160280-warum-string-ein-keyword-bzw-warum-blau-und-kleingeschrieben.html)

Memnarch 5. Mai 2011 16:06

Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Tag allerseits.
Normalerweise werden Datentypen Groß und keywords kleingeschrieben.

Aber warum wird string immer als Keyqword markiert, wie ein keyword kleingeschrieben, aber ist trotzdem ein Datentyp?


MFG
Memnarch

s.h.a.r.k 5. Mai 2011 16:08

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Alle Typen fangen mit Großbuchstaben an, außer eben ein string :stupid: Warum kann ich dir aber nicht wirklich erklären... Ist halt historisch bedingt.

nuclearping 5. Mai 2011 16:09

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
String ist ein "reserviertes Wort." Das ist schon seit den Urzeiten von Pascal so. Warum? Keine Ahnung ... :stupid:

Namenloser 5. Mai 2011 16:13

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Ich kann nur mutmaßen, aber ich vermute, das ist historisch bedingt. Das stammt vermutlich aus der Zeit, wo es noch keine dynamischen Arrays in Delphi gab und Strings noch ganz was besonderes waren. Bei Strings spielt sich ja nach wie vor hinter den Kulissen eine Menge Compiler-Magic ab, sodass man argumentieren könnte, dass Strings eher ein Sprachfeature als ein Datentyp sind.

s.h.a.r.k 5. Mai 2011 16:14

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Zitat:

Zitat von NamenLozer (Beitrag 1099115)
Ich kann nur mutmaßen, aber ich vermute, das ist historisch bedingt. Das stammt vermutlich aus der Zeit, wo es noch keine dynamischen Arrays in Delphi gab und Strings noch ganz was besonderes waren. Bei Strings spielt sich ja nach wie vor hinter den Kulissen eine Menge Compiler-Magic ab, sodass man argumentieren könnte, dass Strings eher ein Sprachfeature als ein Datentyp sind.

Das hört sich wahrlich sehr plausibel an!

Memnarch 5. Mai 2011 16:18

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Ok...aber warum wird dan AnsiString nicht auch als reserviertes wort angezeigt? In Delphi7 war dass ja string, heute durch die Unicode variante ersetzt. Aber in D2010 ist Ansistring doch dass was vorher string war oder nicht?


MFG
Memnarch

mkinzler 5. Mai 2011 16:28

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Jein, string war entweder ShortString oder AnsiString

himitsu 5. Mai 2011 16:37

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Ich schreibe String groß ... mir ist egal, was Delphi dazu sagt.

Grund:
Zitat:

Zitat von s.h.a.r.k (Beitrag 1099113)
Alle Typen fangen mit Großbuchstaben an,


nja, die "Konventionen", wie man was zu schreiben hat haben könnte, sind ja frei wählbar, aber gewisse Standards kann man ja dennoch gerne einhalten. :angle2:

s.h.a.r.k 5. Mai 2011 16:43

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Zitat:

Zitat von himitsu (Beitrag 1099125)
Ich schreibe String groß ... mir ist egal, was Delphi dazu sagt.

Klar, ist auf jedenfalls konsistenter, wenn man die Konvention an sich betrachtet. Habe das bisher auch immer so gehalten, bin im Moment aber drauf und dran umzuschwenken. Solange man sich an so ziemlich alle anderen wichtigen Punkte hält, ist es wohl egal ob string groß oder klein geschrieben wird.

Luckie 5. Mai 2011 17:15

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Nur mein Codeformatierer macht es mir wieder klein, also schreibe ich es gleich klein. ,)

s.h.a.r.k 5. Mai 2011 17:22

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Zitat:

Zitat von Luckie (Beitrag 1099139)
Nur mein Codeformatierer macht es mir wieder klein, also schreibe ich es gleich klein. ,)

Den lasse ich erst gar nicht auf meinen guten Code los -- da steckt so viel Liebe im Detail drin :mrgreen:

Coffeecoder 5. Mai 2011 17:30

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Hallo,

String ist ein erweiterter Datentyp. Es ist genau genommen ein Char array. Erweiterte Datentypen beginnen im Allgemeinen mit einem Großbuchstabe.
Hier sind die primitiven/elementaren Datentypen:
byte short int long float double char boolean

Ich hoffe ich konnte helfen.

Mfg Coffeecoder

Luckie 5. Mai 2011 17:31

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Und genau deswegen müsste er ja auch groß geschrieben werden, tut er aber nicht.

implementation 5. Mai 2011 17:41

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Zitat:

Zitat von Coffeecoder (Beitrag 1099145)
Hier sind die primitiven/elementaren Datentypen:
byte short int long float double char boolean

Zu viel C-Welt genossen? 8-)
Byte ShortInt Integer LongInt Single Double Char (AnsiChar/WideChar/UnicodeChar) Boolean

(übrigens auch alle großgeschrieben)

himitsu 5. Mai 2011 19:21

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Einem guten Codeformatter sollte man beibringen können, daß er String groß schreibt. :stupid:

Aber stimmt schon ... ich hab leider auch noch keinen Codeformatter gefunden, welcher meine Wunschformatierung hinbekommt. :cry:

Ausgerichtete Zuweisungen im delphieigenen Codeformatter (XE) kann man leider auch nicht nutzen.

Das klappt ja noch
Delphi-Quellcode:
i   := 123;
Str := 'abc';
aber so sieht es schonwieder grauenhaft aus :wall:
Delphi-Quellcode:
i                     := 123;
Str                   := 'abc';
for Schleifenvariable := 0 to 666 do
  ...
Und wenn das Delphi-Tag die Leerzeichen ordentlich behandeln würde, dann hätt ich mir jetzt nicht fast einen abgebrochen, beim Ausrichten.

FredlFesl 6. Mai 2011 06:30

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
1. Beim Codeformatter "DelForExp" kann man für jedes Wort vorgeben, wie es geschrieben werden soll.
2. @himitsu: Lies mal das Buch "Clean Code" von Dr.Bob. Dann wirst Du deine ausgerichteten Zuweisungen nicht mehr haben wollen. Das macht den Code aber sowas von unleserlich (Geschmackssache, ich weiß)

himitsu 6. Mai 2011 07:34

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Ich find's halt Leserlicher, wenn ähnliche Dinge ausgerichtet sind.

Und ja, ich schreibt auch manchmal (ganz selten) mehrere Befehle in eine Zeile, wenn es dadurch übersichtlicher wird. :oops:

Deep-Sea 6. Mai 2011 09:15

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Anmerkung: Bei
Delphi-Quellcode:
File of ...
ist File ja auch ein Keyword, obwohl es ja einen Datentyp beschreibt. Wenn auch einen recht speziellen ...

Zitat:

Zitat von himitsu (Beitrag 1099217)
Und ja, ich schreibt auch manchmal (ganz selten) mehrere Befehle in eine Zeile, wenn es dadurch übersichtlicher wird. :oops:

Ab an den Pranger mit dir! :mrgreen:

Luckie 6. Mai 2011 09:58

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Ich glaube, ihr kommt gerade ziemlich vom Thema ab. ;)

himitsu 6. Mai 2011 10:14

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Wir?
Nieeeeee.
Hat ja alles irgendwie mit der Syntax zu tun. :angle2:

Wobei man sowas ja langsam mal anpassen könnte (genauso wie man reservierte wörter neu hinzunimmt, mal Alte ausmisten.

s.h.a.r.k 6. Mai 2011 10:23

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Zitat:

Zitat von himitsu (Beitrag 1099267)
Wobei man sowas ja langsam mal anpassen könnte (genauso wie man reservierte wörter neu hinzunimmt, mal Alte ausmisten.

Dann würden viele Programmierer aber aufschreien, wenn alte Sourcecode angepasst werden müsste. So kann man halt sehr viel belassen und ist muss bei einem Wechsel auf eine neue Version nur sehr wenig anpassen. Aber im Grunde hast du schon irgendwie Recht.

himitsu 6. Mai 2011 10:50

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Es ist ja nun schon sooooviel geändert, da kommt's auf das nun och nicht mehr an ... bezüglich der Abwärtskompatibilität geht eh vieles nicht mehr.
nja, die Typen selber wollte ich ja nicht abschaffen ... wollte sie nur aus den reservierten Wärtern rausnehmen.

Ansonsten wäre es besser gewesen alle Grundtypen zu reserviertenWörtern zu machen und das nicht nur so halb zu erledigen.

implementation 6. Mai 2011 12:07

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1099270)
Dann würden viele Programmierer aber aufschreien, wenn alte Sourcecode angepasst werden müsste.

Ob string jetzt ein Keyword ist oder nicht, ändern müsste man am Source doch nichts.

Dezipaitor 6. Mai 2011 13:25

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Ich besitze einige uralte Pascalbücher (aus den 80 und 90er), die alle Datentypen ausschließlich klein schreiben (ein weiteres auch die Variablen, außer resevierte Worte, wie VAR, TYPE, ARRAY). Ein anderes Buch schreibt alle reservierten Wörter und Typen ausschließlich in Großbuchstaben (INTEGER, STRING, BEGIN).

In der Turbo Pascal 7 Hilfe für DOS und Windows, sowie in der Delphi 1 Hilfe steht "string", also kleingeschrieben. Und es ist ein reserviertes Wort.
Interessant finde ich aber, dass in den mitgelieferten Beispielen, string mal groß- und auch mal kleingeschrieben wird. Dabei ist die Art pro Datei und Projekt gleich, kann sich aber trotzdem zwischen
im Verzeichnis nahestehenden Beispielprojekten ändern. In einigen TurboVision-Tutorial-Projekten und dem TVFM (FileManager) gibt es eine Ausnahme, dort wurde wohl nachträglich noch eine Prozedur eingeführt, in der die Schreibung "String" verwendet wird, so dass String und string vorkommen.
Weitere String-vorkommen sind: Strings (unit), PString, P/TStringCollection, P/TStringList

Das Durcheinander existiert übrigens noch heute bei den Beispielen von DelphiXE!!
Der COM-Typbibliothekseditor generiert aber ausschließlich "string" (und WideString).

Weiter interessant finde ich, dass Zahlentypen (Integer, Real, Extended, Double, Float) alle großgeschrieben sind (auch in der Hilfe).

Trotzdem ist es sinnlos, sich darüber zu streiten, denn wie man sieht, die Schreibung kann doch sehr variieren. Und sogar der Hersteller hält sich nicht daran.

jbg 6. Mai 2011 19:30

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Zitat:

Zitat von Dezipaitor (Beitrag 1099340)
Und sogar der Hersteller hält sich nicht daran.

Schon mal in die DBX-Units reingeschaut? Da bekommt man das Grauen, wenn man sich den Schreibstil anschaut.

Dezipaitor 8. Mai 2011 12:15

AW: Warum is "string" ein Keyword?(bzw: warum blau, und kleingeschrieben)
 
Ja, auch die.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz