Entwickler-Ecke

Freeware Projekte - ströng v0.1 - Programmieren für Anfänger


Moritz M. - Mi 27.10.04 20:44
Titel: ströng v0.1 - Programmieren für Anfänger
Sers Leute,

erinnert ihr euch noch an eure Zeit als Programmieranfänger? Euch wurden Fachbegriffe um die Ohren geworden, mit denen ihr so rein gar nichts anfangen konntet? Ich erinnere mich noch sehr gut daran :mrgreen:
Ich hab mir gedacht dass es für einen Programmieranfänger doch um einiges einfacher wäre, mit Befehlen à là

Quelltext
1:
sage "Hallo"                    

und

Quelltext
1:
addiere 10 zu zahlenvariable                    

anzufangen. Deswegen hab ich mich in letzer Zeit mal hingesetzt und eine kleine Programmiersprache geschrieben. Sie ist noch sehr buggy, ein paar Vergleich gehen noch nicht, aber die hautpsächlichen Befehle laufen sehr stabil. Sie intepretiert einen Code, übersetzt in in Assemblercode und jagt das ganz durch NASM [http://nasm.sourceforge.net] und ALINK [http://alink.sourceforge.net/]. ( An einem eigenen Assembler arbeite ich zur Zeit in einem anderen Projekt ) ( Ich habe beide Dateien direkt beigelegt, das Copyright liegt natürlich bei den jeweiligen Herstellern ) Es werden voll lauffähige 16-Bit Executables erzeugt.
Die IDE an sich kann noch nicht mehr als Compillieren (F9) und Ausführen (F10), weil diese Bereiche für mich bis jetzt noch unwichtig waren. In den nächsten Versionen werden Sachen wie Speichern, Laden etc. folgen ;)
Ein Beispielprogramm, in das alle bis jetzt lauffähigen Befehle integriert sind, ist direkt drinnen. Eine Sprachreferenz gibt es noch nicht, für erfahrene Programmiere wie euch sollte es kein Problem darstellen sich an den Syntax zu gewöhnen.
Das Programm ist wie gesagt für Programmiereinsteiger gedacht, die sich noch nicht mit den englischen Begriffen rumschlagen wollen, für manchen von euch mag der Syntax komisch sein. :mrgreen:

Kurzanleitung:
1) ZIP-Archiv downloaden [http://www.gaehnen.net/stroeng.zip] ( 582 KB )
2) Extrahieren: Der Ordner, in den ihr extrahiert, sollte nach Möglichkeit keine Sonderzeichen enthalten.
3) stroeng.exe starten
4) Ihr seht nun ein Beispielprogramm, entweder ihr lasst es oder ihr geb ein eigenes ein
5) F9 drücken ( Oder Programm -> Erzeugen ). Programm wird erzeugt und die EXE wird im Verzeichnis von stroeng.exe gespeichert
6) Optional: F10 zum ausführen drücken. Der Vorteil ist dass sich das Fenster nicht direkt nach ausführen schließt ( wie wenn ihr es mit doppelklick öffnet ), sondern am Ende noch auf eine Tastatureingabe wartet

Ich hab den Interpreter heute von TASM auf NASM übersetzt, es kann sein dass noch irgendwo kleine Fehler stecken, die ich beim Übersetzten einfach vergessen habe.

Würde mich über Testberichte freuen!

Gruß, Moritz

P.S.: Wie ich auf den Namen komme? ^^ Keine Ahnung :mrgreen:

Screenshot:
user defined image


Kroni - Mi 27.10.04 20:58

Wenn man dann die genaue Formulierung drauf hat, wie du was nennst, ist das Projekt doch recht super....find ich.
Also quasi das Basic in Deutsch *g*
Aber soweit ich weiß, gibt es sowas ähnliches schon, dass man mit Wenn dann forumlierungen Arbeitet. Aber ich finde es super, dass du so ein Projekt machst!
Finde ich wirklcih Klasse =)
Kroni


Moritz M. - Mi 27.10.04 21:27

Danke :)
Ja, es gibt massig deutsche Programmiersprachen, aber keine ist so wie ströng ;)

Hab ne neue Version oben in der ein Fehler bei der Division korrigiert wurde.


matze - Do 28.10.04 14:29

die mindest höhe von dem fenster ist ziemlich ätzend !


Moritz M. - Do 28.10.04 15:13

Das ist leider noch ein kleiner Bug. Du musst zuerst den oberen Teil kleiner machen, und dann kannst du das Fenster klein machen.


Karlson - Do 28.10.04 15:57

Auf en ersten Blick: Super Programm. Ich werds mir heute Abend mal genauer anschauen, und dann meine Erfahrungen zum Code posten.


Moritz M. - Do 28.10.04 18:55

So, neue Version ist oben:
http://www.gaehnen.net/stroeng.zip ( 604 KB )

Der Editor kann nun laden, Speichern etc. Die Beispiele können über "Datei" -> "Beispiel laden" geladen werden. Und das Highlighting ist verbessert. :)

Würde mich über Tests freuen!

Gruß


blackbirdXXX - Do 28.10.04 22:02

Cool! SIcher besser als Ook! Ook. Ook? :D

//Edit: Vergleiche: http://www.99-bottles-of-beer.net/o.html#Ook

//Edit2: Wie geht das mit wenn?

//Edit3: Warum geht das nicht?

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
programmname: <99bottles>

variablen:
  flaschen 99
ende

wiederhole flaschen mal:
  sage flaschen
  sage " bottles of beer on the wall"
  mache neue zeile
  sage flaschen
  sage " bottles of beer"
  mache neue zeile
  sage "Take one down, pass it around"
  mache neue zeile
  subtrahiere 1 von flaschen
  wenn flaschen genauso ist wie 0 dann:
    sage "No"
  ansonsten
    sage flaschen
  ende
  sage " bottles of beer on the wall"
  mache neue zeile
  mache neue zeile
ende
  
ende


Kroni - Fr 29.10.04 01:06

Also bei mir funktioniert das, was zeigt der denn bei dir für ne Fehlermeldung?


blackbirdXXX - Fr 29.10.04 04:43

Er zählt nicht so wie er soll.
Ich habe es jetzt so gelöst:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
programmname: <99bottles>

variablen:
 flaschen 99
ende

Position oben:
 wenn flaschen genauso ist wie 0 dann:
   sage "1 bottle of beer on the wall"
   mache neue zeile
   sage "1 bottle of beer"
   mache neue zeile
   sage "Take on down, pass it around"
   mache neue zeile
   sage "No bottles of beer on the wall"
 ansonsten
   sage flaschen
   sage " bottles of beer on the wall"
   mache neue zeile
   sage flaschen
   sage " bottles of beer"
   mache neue zeile
   sage "Take one down, pass it around"
   mache neue zeile
   subtrahiere 1 von flaschen
   wenn flaschen genauso ist wie 0 dann:
     sage "No"
   ansonsten
     sage flaschen
   ende
   sage " bottles of beer on the wall"
   mache neue zeile
   mache neue zeile
   gehe oben
 ende
ende

ende


Karlson - Fr 29.10.04 20:23

So,

Hab mir jetzt auch noch den Rest angeschaut.
Ist echt lustig, es weckt mal wieder Erinnerungen an die Zeit in der oop noch unerschwinglich war :)

Für Anfänger halte ich die Sprache aber ehrlich gesagt nicht für geeignet. Nicht weil sie zu schwer ist oder so, sondern vielmehr weil Anfänger direkt den Syntax lernen sollten. Also auch direkt die wichtigen Wörter. Später sitzen sie dann vor einer If-Abfrage und fragen sich was das jetzt sein soll.

Trotzdem so ganz für den Anfang ganz gut!
Habe das Programm zwei Freunde die gerade mit dem PRogrammieren anfangen gegeben - die sind vollauf begeistert :)


Moritz M. - Fr 29.10.04 21:25

Servus,

@blackbird_Edit2: Wegen wenn: Kommt gleich, siehe unten im Post
@blackbird_Edit3: Was genau geht daran nicht?
@Karlson: Danke ^^ Meiner Meinung nach ist das Verständnis der Abläufe wichtiger als der Syntax. Einen Syntax kann man "leicht" umlernen, wenn man es einmal versteht. Aber wenn man es nicht vesteht?

Ich hab heute mal eine Referenz zu den bisher unterstützen Befehlen geschrieben. Sie leigt dem Download bei.

Download: http://www.gaehnen.net/stroeng.zip (595 KB)

Gruß, Moritz

P.S.: Wenn unterstützt noch nicht alle Vergleichsarten. Das kommt aber im Laufe der Zeit noch :)
Edit: Und mit STRG+G kann man jetzt ein Grundgerüst einfügen. ^^


adler - Fr 29.10.04 22:33

Hi!

Habe mir jetzt net alle Beiträge durchgelesen (Schaut mal auf die Uhr) ...
Aber an sich ist die Idee zumindest cool.
Doch ist es nicht einfacher ein "+" anstatt "addiere" hinzuschreiben?
Und kann man jetzt "addiere" als Variable deklarieren? ;)


Moritz M. - So 07.11.04 09:14

Ein + wäre ja langweilig :mrgreen:

Nein, sicher darfst du eine addiere-Variable deklarieren, da es ja nur Befehls-Tokens gibt, und da ist der Syntax eindeutig ^^ Wieso also nicht? :)


adler - So 07.11.04 09:29

Aber mal so ne Frage:
Kann man einfach den Code in Assambler übersetzen und dann als exe speichern?
(wenn man assambler kann ^^)


Moritz M. - So 07.11.04 09:52

Ja kann man, du musst halt beachten das jeder Codeteil alle Register bevor er sie berarbeitet sichern muss, sonst könnten da sehr komische Sachen rauskommen. Das ganze jagt man dann durch einen Assembler ( In unserem Fall NASM ), der die Textbefehle in Opcodes übersetzt, die Speicherstellen eisnetzte etc etc pp. Dieser Zwischencode wird dann durch einen Linker gejagt, der evtl. mehrere Codeteile zusammensetzt. Dann haben wir unsere Exe.

Gruß

P.S.: Wikipedia sollte dazu auch einiges ausspucken.


Moritz M. - So 07.11.04 14:39

Sodala

Ich hab eine neue Version oben. Neuerungen:


Download:
http://www.gaehnen.net/stroeng.exe ( Setup, 728 KB, Empfohlen )
http://www.gaehnen.net/stroeng.zip ( ZIP-Datei, 598 KB )

Gruß


Moritz M. - Mo 08.11.04 21:24

Servus Leute,

es gibt eine neue Version. Neuerungen:


Download:
http://www.gaehnen.net/stroeng.exe ( Setup, 728 KB, Empfohlen )
http://www.gaehnen.net/stroeng.zip ( ZIP-Datei, 598 KB )

Gruß


GTA-Place - Sa 13.11.04 18:32

Kommt nach dem Ausführen immer:

"Befehl oder Dateiname nichtgefunden"


Moritz M. - So 14.11.04 14:24

Nach welchem Ausführen? F9 oder F10?


GTA-Place - So 14.11.04 14:41

Wenn ich F9 drücke, wird die .exe erstellt und wenn ich dann F10 drücke, kommt der Fehler.


F34r0fTh3D4rk - Mo 15.11.04 18:56

ich habe auf speicern unter geklickt und da war kein filter.
Dann hab ich die Datei gespeichert und jetzt bekomme ich sie nicht mehr von
meinem Desktop runter !!!

Da steht immer, das gerade ein programm auf die datei zugreift, obwohl ströng
deinstalliert ist, und die datei nicht gestartet wurde.

Wie krieg ich die gelöscht ?


Moritz M. - Mo 15.11.04 20:18

Hmm dafür kann ströng nix, ich gebe alle Dateien immer wieder frei. Ein Neustart sollte helfen.


Schüler - Di 10.10.06 10:43

Der DOwnload LInk geht nicht :cry: