VisualBlitz - B3D & BMax in Visual Studio

Übersicht Kommentare Worklogs


 

CO2

ehemals "SirMO"

Betreff: Nicht schlecht ;)

Link zu diesem BeitragSo, Jun 15, 2014 18:40
Hallo,
sieht durchaus vielversprechend aus, weitermachen! Very Happy
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Thunder

Link zu diesem BeitragSo, Jun 22, 2014 13:24
Hallo PacMani,
interessantes Projekt! Ich freue mich schon auf den Einbau von BlitzMax, da ich Blitz3D nicht verwende.

@Fake-Leerzeichen: Das mit den Variablennamen ist richtig, das sollte der Compiler eigentlich nicht erlauben. Das ist mir auch ziemlich unerklärlich, da man ja beim Lexen normalerweise eine "Whitelist" vorgibt (also z.B.: Variablennamen dürfen nur A-Z, a-z und _ enthalten und ab dem 2. Zeichen auch 0-9). Aber ich finde, das brauchst du nicht zu berücksichtigen - das Syntaxhighlighting muss nicht alle Fälle, die der Compiler erlaubt, auch highlighten. 1:0 für dich.

@altmodische Art: Also die Initialisierung von Variablen bei der Deklaration, so wie sie in Blitz3D/Plus/Max vorkommt, ist vielleicht altmodisch, aber auch der einzig korrekte Weg es zu handhaben. Das hat dann nichts mit modern/altmodisch zu tun. Man kann natürlich Sprachen definieren, die das anders handhaben, aber es ist nicht einleuchtend (syntaktisch gesehen) - in dem Punkt gebe ich dem Compiler recht. 1:1 Ausgleich.

@Komma vergessen: Ist eine interessante Geschichte. "Global var1" ist ein gültiges Statement. "var2 = 5" ist auch eines. Wenn du das komma dazwischen vergisst, betrachtet der Compiler das erste Statement als abgeschlossen, was völlig korrekt ist. In Sprachen wie C/C++/C#... würde er jetzt nach einem Strichpunkt suchen, was in Blitz* nicht sinnvoll ist. Man könnte natürlich auf einen Zeilenumbruch prüfen, aber das macht der Compiler offenbar einfach nicht. Ist natürlich nicht schön und ungünstig. In dem Fall musst du schauen, mit welchen Statements das noch geht (also ob blitzcc das allgemein nicht prüft). Wenn ja, dann würde ich es in betracht ziehen, trotzdem es umzusetzen, auch wenn es nicht schön ist.

Ich hab nur BlitzPlus und kein B3D und mein Compiler kompiliert dein Programm nicht wegen "Bananen = 5". Wenn ich die Zeile rausnehme, kriege ich: 0 0 2 4 3.

Viel Erfolg weiterhin! Very Happy

Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Xeres

Moderator

Link zu diesem BeitragSo, Jun 22, 2014 13:45
Als Sprache für Anfänger sollte BB wohl einfach und robust sein: Explizite Trennung von Befehlen ist nicht nötig, explizite deklaration ist nicht nötig, klammern bei Funktionen sind nicht zwingend nötig, gecasted wird automatisch... Klar kann man da allerhand zusammenschreiben, ohne das der Compiler meckert.
Code: [AUSKLAPPEN]

a = 1 b = 2 c = 3 d = 4 ; lauter zuweisungen (ohne trenner)
Print(a+","+b+","+c+","+d)
d = b = 2 ; zuweisung von dem vergleich b = 2
Print(d)
WaitKey
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

PacMani

Betreff: Gute Antworten / Einwände

Link zu diesem BeitragSo, Jun 22, 2014 15:55
Danke Xeres und Thunder für eure Kommentare, die haben etwas Licht ins Dunkel gebracht.

Zunächst zu der altmodischen Art, Variablen in einer Zeile zu deklarieren / initialisieren. Da bin ich wohl tatsächlich mit etwas anderem durcheinander gekommen. Folgendes VB-Beispiel:
Code: [AUSKLAPPEN]
Dim a, b, c As String

Im alten VB6 hat dies zwei Integer a und b und einen String deklariert. c war ein String.
Im neuen VB.NET werden drei Strings deklariert. Das finde ich vernünftiger, weil man es auch so von der Leseart her erwartet.
Das mit der Wertezuweisung bei der Deklaration ist natürlich eine ganz andere Sache. Ist die Frage, was schöner ist. Aber in C ist es bisher auch nicht anders abgelaufen wie in BB. Von daher nochmal ein Sorry für meine Verwirrtheit Wink

Das mit den abgeschlossenen Statements ohne Zeilenumbruch ist ziemlich hässlig. Aber nun eben mal möglich in B3D. Wenigstens erklärt es diese Global / Local-Geschichte, die mich total aufgeschmissen hat.

@Thunder: Bist du sicher, dass dein Editor Alt+255 auch nicht in normale Leerzeichen umgewandelt hat? Wink


Übersicht Kommentare Worklogs