Zeichen für Kommentar, warum ; und nicht ' ?

Für allgemeine Fragen zur Programmierung mit PureBasic.
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Zeichen für Kommentar, warum ; und nicht ' ?

Beitrag von GPI »

Schon ein bischen traurig, das hier manche erstmal rumtrollen. Ich finde solche Frage durchaus interessant, weil man sich dann mal mit den Design-Überlegungen der Sprache auseinandersetzen muss.

Wie schon erwähnt ' wird bereits benutzt, und zwar für den ASCII bzw. Unicode-Wert für bestimmte Tasten. ein 'A' ist halt deutlich einfacher zu verstehen wie die Ziffer 65. Es macht den Code deutlich lesbarer. Damit ist das Zeichen dann auch belegt und kann nicht genommen werden.

; war schlicht und ergreifend noch frei und ist auf allen Tastaturen gut erreichbar. Von daher wurde es hierfür hergenommen. Zumal es durchaus andere Beispiele gibt, wo Kommentare mit ; eingeleitet werden.

p.s.: C-Kommentare sind überigen /* .... */ und nicht // - // ist meines Wissens nach erst mit C++ gekommen, wurde dann aber in C übernommen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8677
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Zeichen für Kommentar, warum ; und nicht ' ?

Beitrag von NicTheQuick »

Achtung, etwas Offtopic:
Ich mag die Backslahes in PB nicht. Ich hätte es ja toller gefunden Felder von Strukturen mit dem Punkt erreichen zu können. Allerdings hätte man dann die Typzuweisung anders haben müssen. Der Backslash ist auf deutschen Tastaturen einfach nervig. Umgekehrt ist es in vielen anderen Sprachen wie C, Java und Konsorten aber auch nervig alles mögliche mit {} einzuklammern. Da ist das deutsche Tastaturlayout leider ziemlich unpraktisch.

Im Endeffekt kann man es nie allen recht machen, wichtig ist doch immer noch die Konsistenz. Und da macht PB dummerweise auch Ausnahmen. Zum Beispiel muss man Pointertypen in Strukturen mit dem * einleiten, aber wenn man sie nutzen will, dann braucht man es nicht. Deswegen kann man keine Struktur mit einem a.i und einem *a.Integer-Feld gleichzeitig erstellen. In einem Define geht es aber anstandslos.

Code: Alles auswählen

Structure test
	*a.Integer
	a.i         ; geht nicht
EndStructure

Define var.test
var\a = 12

Define *a.Integer, a.i
Mit a und a$ hingegen gibt es keine Probleme:

Code: Alles auswählen

Structure test
	a$
	a.s
EndStructure

Define var.test
var\a = "a"
var\a$ = "a$"

Debug var\a
Debug var\a$
Oder bei dynamischen Arrays gibt man statt der Anzahl der Elemente die obere Grenze ein. Bei statischen Arrays hingegen gibt man die Anzahl der Elemente an, sodass sogar 0 Elemente möglich sind.

In anderen bekannteren Sprachen sind mir solche Ungereimtheiten dagegen noch nicht aufgefallen, aber ich kenne ja auch nur einen Bruchteil der Verrücktheiten, die man mit manchen Sprachen anstellen kann. Bei C kann man dafür Fehlermeldungen bekommen, die an Stellen passieren, die gar nicht dafür verantwortlich sind, sondern weil in irgendeiner Include mal ein Semikolon fehlt. ;-)
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Zeichen für Kommentar, warum ; und nicht ' ?

Beitrag von Josh »

NicTheQuick hat geschrieben:Oder bei dynamischen Arrays gibt man statt der Anzahl der Elemente die obere Grenze ein. Bei statischen Arrays hingegen gibt man die Anzahl der Elemente an, sodass sogar 0 Elemente möglich sind.
Das finde ich jetzt gar nicht so abwegig. Erster Fall ist soweit ich noch weiß dem hier im Forum so oft verwendeten 'Basic like' geschuldet. Hätte man vielleicht anders machen können, ist nun halt mal so. Bei statischen Arrays ist eine Begründung in der Hilfe und das ist gut so wie es ist. Dass 0 Elemente verwendet werden können, ist eine existentielle Möglichkeit in Pb.

Als Kurios empfinde ich eher die Bezeichnung 'Dim' für statische Arrays (genau so wie NewList und NewMap). Diese Bezeichnungen sind wohl dafür gemacht um neue User zu verwirren :freak:
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Zeichen für Kommentar, warum ; und nicht ' ?

Beitrag von Nino »

NicTheQuick hat geschrieben:Der Backslash ist auf deutschen Tastaturen einfach nervig.
Ja. Das ist ein wichtiger Punkt: Erreichbarkeit der Zeichen auf der Tastatur. Diese ist jedoch leider in verschiedenen Ländern auf Grund von unterschiedlichen Tastaturlayouts nicht immer gleich.
NicTheQuick hat geschrieben:Im Endeffekt kann man es nie allen recht machen, wichtig ist doch immer noch die Konsistenz.
Ja. Konsistenz ist ein weiterer wichtiger Punkt in dieser Frage!
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Zeichen für Kommentar, warum ; und nicht ' ?

Beitrag von GPI »

Josh hat geschrieben:Als Kurios empfinde ich eher die Bezeichnung 'Dim' für statische Arrays (genau so wie NewList und NewMap). Diese Bezeichnungen sind wohl dafür gemacht um neue User zu verwirren :freak:
Dim kann ich schnell erklären - das ist einfach der Basic-Standard. Das findest du eigentlich in allen Basic-Dialekten.

NewList und NewMap find ich aber auch blöd. Besonders wenn es bei Parameter nur noch List und Map heißt. Auch Dim finde ich aktuell dumm. Array fände ich besser. Ist zwar nicht mehr Basic-Komform, aber mal ehrlich, da ist schon so vieles nicht mehr Konform.

Das mit . und \ hätte man auch genau umgekehrt lösen können. Aber man hat sich hier wohl an 68000 Assembler orientiert, wo es ähnliches gibt (move.b #$40,a0)
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten