• Hallo,

    Durch die XProfan Sparte hier im Forum, bin ich auf diese Programmiersprache aufmerksam geworden, und da ich selbst schon lange und sehr gerne programmiere, hab ich mich auch schon kurz über die Sprache informiert.

    XProfan steht ja unter dem Slogan "Die leichte und leistungsfähige Programmamiersprache...". Ich selbst habe mit Delphi angefangen und bin schon vor längerer Zeit auf C# umgestigen, weil ich persönlich die Sprache ziemlich einfach und gut verständlich finde. Auf den ersten Blick finde ich den XProfan Code ziemlich unverständlich und kryptisch.

    Was ist so leicht an XProfan? Und wo liegt der Vorteil zu anderen Sprachen?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Hallo Xzeer,

    eher "einfache und leistungsfähige Programmiersprache".

    XProfan ist ein tolles Werkzeug, genau wie auch z.B. C,C++,C#,Vb.net,Java,Pascal,Delphi. Jede dieser Sprachen hat halt ihre "Vorteile" bzw. Anwendungsgebiete, warum man z.B. C oder JS, PHP oder XProfan nehmen sollte hängt z.B. einfach von der Aufgabe ab.

    In Delphi bzw. Pascal schreibt man wohl z.B. fürs Deklarieren von Variablen

    Code
    var a,b,c:long

    und in XProfan halt

    Code
    declare a&,b&,c&

    bzw. optional mit Präkompiler

    Code
    long a,b,c

    .

    In Delphi (was ich selbst aber nicht besitze und auch nicht "kann") ist es aber z.B. nicht möglich, mit einem 3-Zeiler ein Fenster zu erzeugen, eine Ausgabe zu tätigen und auf Eingabe zu warten:

    Code
    cls
    drawText 100,100,"Maha"
    waitInput

    - und so führt es sich halt fort.

    XProfan kann auch gut z.B. als Script-Interpreter genutzt werden, einfach Doppelklick auf eine Script-Datei um diese auszuführen - mit XProfan kann man auch schnell "mal was testen", mit anderen mir bekannten Sprachen geht dies nicht ganz so unumständlich.

    Alles in allem ein Tolles Werkzeug und so sollte man es wohl auch betrachten.

  • "Leicht" ist immer relativ....
    Für jemanden, der früher nicht viel mehr als ein paar Brocken Basic auf dem C64 gelernt hat, ist der Einstieg in XProfan recht einfach.
    Du kommst von Delphi, da dürfte XProfan für dich weder leichter sein, noch sonst irgendwelche Vorteile bringen.

    Ich persönlich kann mit XProfan sehr, sehr schnell systemnahe Codes entwickeln. Ich brauche beim Testen nicht zu compilieren und mich kaum um die Verarbeitung von Messages kümmern. Würdest du jemanden von Delphi an XProfan setzen, damit er damit das tut, was ich tue, würde er mit dieser Sprache auf so viele Stolpersteine stoßen, dass er damit nichts auf die Reihe bekommen. Wie gesagt, alles relativ. :)

  • [block]Anfänger können ein Programm schreiben, ohne eine API oder Dll einbinden zu müssen. Im Grunde gibt es für alle gängigen Themen eine simple zu benutzende programm-interne Lösung.

    Messages werden größtenteils vom Hauptprogramm abgefangen und automatisch bearbeitet, wenn gewünscht. So verfügt XProfan immer über eine Kopie des Hauptfensters und restauriert dieses ganz selbstständig, ohne dass sich der Programmierer um solche Sachen kümmern müsste. Für versierte User gibt es allerdings erweiterte Möglichkeiten (Subclassing-Routinen, Usermessages).[/block]

  • Wie gesagt, "leicht" ist relativ :lol:.
    Wir schauen also mal nach, was für dich, der du von Delphi und C kommst, wohl "leicht" ist oder nicht "leicht" ist:

    Profan besitzt ein Problem mit rekursivem Aufruf von Profancode durch sich selbst. Dadurch ist Profan unter anderem nicht multithreadingfähig und nur bedingt "subclassingfähig". Portierst du also 1:1 Delphi Code eines Programmes in Profancode, wird der mit großer Sicherheit gar nicht funktionieren - du musst also sehr viel neu überdenken und auch einiges über die Programmiersprache selbst wissen, um das überhaupt zu tun. Leichter? Nein!

    Manche APIs lassen sich synchron und asynchron aufrufen. Der synchrone Aufruf ist bei solchen APIs in der Regel recht einfach zu proggen, dafür gibt es oft hunderte von Codes - die brauchen aber einen zweiten Thread. Für den asynchronen Aufruf muss man da schon etwas mehr können; freie Codes findet man dafür kaum oder gar nicht. Mit Profan also leichter? Nein!

    Mit Profan kannst du keine Services proggen. Willst du dein Programm nur mit Profan im "System" Account laufen lassen, musst du ganz schön was an Wissen aufbieten. Miit Profan leichter? Nein!

    In Delphi ist zur Zeit ganz schön was an gebaltem Wissens unterwegs, selbst der Programmierer unserer Programmiersprache dürfte da eher zur "Mittelklasse" gehören :-). Im Profanbereich kannst du öfters mal Sachen lesen, die folgendes besagen:
    "Das Schreiben in fremde Prozessbereiche ist (zumindestens unter NT
    Systemen) normalerweise nicht möglich!"
    "ILs sind jederzeit beliebig erhöhbar!"
    ...etc.
    In der Regel geht dabei kein großer Aufschrei durch die Mengen - du kannst dir also vorstellen, wie viel "geballtes Wissen" im Profanbereich vorhanden ist. Ich kenne genug Leute, die in Delphi proggen und nehme mich da mit meinem bischen Wissen nicht aus - im Gegenteil :lol:.
    Willst du also irgendetwas proggen, das etwas mehr als "Mittelklassewissen" braucht, hast du in Profan keine große Chance, irgendwelche Hilfe zu bekommen - du kannst im Gegenteil eher damit rechnen, dass dir irgendeiner sagt, dass so was gar nicht funktioniert. Mit Profan leichter? Nein!

    In Delphi gibt es die schönen Sachen von UALL, auf deren Hilfe du in Profan komplett verzichten musst. API-Hooking kannst du dir also selbst proggen. Hast du zu wenig Wissen dafür... Mit Profan leichter? Nein!

    ------

    Ich würde eher sagen, vernünftige Programme zu erstellen wird für dich persönlich mit Profan wesentlich schwieriger sein, als mit Delphi. :)

  • Leicht, bezieht sich auf ganz normale Anwendungsprogramme. Wer ein kleines Spiel schreiben will oder einen MP3 Player, Adressverwaltungen usw. kann das mit Profan sehr leicht tun. Jede Api für den normalen Bedarf ist ebenfalls leicht umsetzbar. Der Anspruch von Profan ist nun mal nicht irgend welche Hackertools oder tief ins System eingreifende Tools zu schreiben. Da sind andere Programmiersprachen besser geeignet, wenn was überall selten ist, das Wissen dafür da ist. Das ist aber auch jedem klar. Darum ist es aber nicht schlecht und gerade dem Anfänger wird viel Arbeit abgenommen. Bei anderen Programmsprachen ist das anders. Das geht schon beim Erstellen eines Fensters los und der Überwachung bei Überdeckungen usw. los. Also nicht schlecht reden, wenn man irgendwelche Ideen hat. Der, der solche Tools programmieren will, ist ja frei sich eine um vieles teure Programmiersprache zu kaufen. Ich denke auch nicht, dass die Leute aus der Profan - Szene dümmer oder schlechtere Programmierer sind, als andere. Programmierung ist Interesse bezogen, wenn man andere Interessen hat, braucht man nicht alles andere abzuwerten. Der eine schwelgt in Hackertools und meint er ist der Größte, kann aber kein einfaches Spielchen mit OGL-Unterstützung programmieren, weil er sich noch nie damit befasst hat. So ist das halt mit Interessen.:D

  • AHT ist ein absoluter Nischenprogger, darum behaupte ich mal, dass seine aufgezählten Nachteile kaum jemals den "normalen" Programmierer betreffen werden und XProfan gerecht werden können. Für Spezialitäten wurde es auch nie konzipiert.

    Also ich programmiere in XProfan und in Assembler, zwei sehr unterschiedliche Sprachen, die aber wundervoll zusammen harmonieren. Der Vorteil von XProfan ist, man kann damit ratzfatz Fenster und Controls zusammen kloppen und schon ist ein neues Tool fertig! Oftmals, ohne sich um irgendeine System-Message kümmern zu müssen.
    Sollte XProfan mal was nicht können (kommt selten genug vor) oder für bestimmte Sachen mal zu langsam sein, nehme ich Assembler zur Hilfe. Dazu hab ich einen Inline-Assembler (XPIA, zu finden auf meiner Webseite - Freeware) für XProfan geschrieben. Wenn ich damit meine Codes compiliere, wird XProfan um den kompletten MASM32-Befehlssatz inclusive Macros und allem Pipapo erweitert! So einen komfortablen Inline-Assember bietet meines Erachtens nach weder Delphi, noch C#. Damit ist dann alles möglich (gut, ausser einen Services zu starten, keine Ahnung. Aber das macht ja nur einer von hundert).

    Ok, nochmal zurück. Ein Riesenvorteil für den Einsteiger ist es meines Erachtens, das der sich z.B. gar nicht darum kümmern muß, dass seine Fensterelemente (Controls, Grafiken) ständig restauriert werden. Darum kümmert sich XProfan ganz selbstständig.

  • Es gibt jedenfalls keine andere Programmiersprache, die all das folgende mit eigenen, einfachen Befehlen kann:
    =================================================
    Compilersteuerung, Umgebungsvariablen;
    Versionsinfo, Systemvariablen, Registry und INI-Dateien
    Kommentare, Basisvariablen, Listen, Arrays, Dynamische Arrays
    Bereichsvariablen (Speicherbereiche), Strukturen
    Mathematische & Logische Operationen, Selbstdefinierte Funktionen
    Stringmanipulation und Formatierung; Druckausgabe-Steuerung
    Keyboard, Mouse, Joystick; Cursor; Hotkeys; Datum, Uhrzeit; Timer
    Programmablaufsteuerung, Prozeduren, Error-Handling, Debug, Help
    Class, New() und Objektorientierte Programmierung
    Mediensteuerung, Farbsteuerung, Bilddatei-Management, Icons
    Hauptfenster, ChildWindow, Anzeige- und Dialogobjekte
    Menu, Scrollbalken, Fonts, Stil, Textfeld,Statuswindow-Zeile
    Button Checkbox Radiobutton MessageBox ChoiceBox
    DefButton IconButton PicButton
    DateEdit TimeEdit DialogBox Edit SpinEdit MultiEdit, Grid,
    Gridbox, GroupBox, Imagelist, List$ (Stringliste), @EditBox
    @ListBox$, SortedListBox, RichEdit (mehrzeilig), Tab-Controls
    Toolbar, ToolTip, TreeView
    Draw (Zeichnen inkl. Textdarstellung),ScreenCopy / Paint-Drucksteuerung
    Internet-Kommunikation, Verzeichnisse, Dateihandling, dBase, SQL
    DDE; Nachrichten zwischen Objekten, Subclassing, User-Nachrichten
    Ressourcensteuerung (DLL etc),Zwischenablage, MetaFile, I/O, oGL

    Ach ja, und dann gibts noch die wichtigen AddOns: XPIA, XPSE, P2CPP,...

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • So und jetzt "mein Senf dazu !"
    Natürlich 'flirte' ich jetzt wieder mit meinem nicht vorhandenen Wissen (8 Volkschuljahre) und einer mehr als minimalen Kenntnis der englischen Sprache.

    Zitat

    AHT ist ein absoluter Nischenprogger, darum behaupte ich mal, dass seine aufgezählten Nachteile kaum jemals den "normalen" Programmierer betreffen werden und XProfan gerecht werden können. Für Spezialitäten wurde es auch nie konzipiert.

    Das kann ich nur bestätigen, denn bis heute habe ich von dem eigentlichen Code für den PATH-SCOUT 1 oder 2 kein Wort verstanden! :) Allerdings habe ich den 'Deckel', die Oberfläche dafür in XProfan-11.2 erstellt und so wie ich das hier mitbekommen habe, nicht grade schlecht.
    Alles, was ich in früheren Jahren mit PROFAN gemacht habe, ist auf meinem eigenen Mist gewachsen. Erst später kamen Community und Foren dazu. Hier waren immer Helfer bereit, (es würde zu weit führen, alle aufzuzählen - Danke an alle :lol:), mir mit Beispielen oder Tipps zu helfen.
    Das hätte ich in einer der sogenannten "großen" Sprachen nicht geschafft ! - Daher behaupte ich: XPROFAN ist leicht !

  • Hab ja ganz übersehen, dass es hier mittlerweile ja weitere Antworten gibt. :)

    Meine Frage ist nicht entstanden, weil ich eine neue Programmiersprache suche, sondern einfach nur aus Neugier, da ich hier im Forum nun schon öfter mal über einen Quellcode in Profan gestolpert bin.
    Dabei ist mir aufgefallen, dass ich die Codes meistens noch nicht mal im Ansatz verstanden habe. Das ist bei anderen Sprachen anders. Ob es jetzt C++, C#, VisualBasic oder Delphi ist, die wirklich bekannten Sprachen sind sich sehr ähnlich. Deshalb konnte ich nicht ganz nachvollziehen, wieso Profan nachgesagt wird leichter zu sein.

    Ist es für einen Anfänger nicht auch schlechter mit Profan anzufangen, da er ja massive Probleme bekommen würde, wenn er auf einmal in einer anderen Sprache programmieren müsste.

  • So groß sind die Unterschiede gar nicht, finde ich. Wer die "Amateur-Route" CBMBasic/AmigaBasic - GWBasic/Basica - Bascom - QuickBasic/QBasic - TurboPascal - dBase III/IV/IV-net bzw. FoxPro - VisualBasic - VBA - Delphi -XProfan genommen hat, dem kommt jedenfalls vieles sehr bekannt vor. Ich persönlich bin dankbar für die etwas geringere Komplexität.

    Wer die typische Unix/Linux Professional-Route mit Apache-Server C, C++, C++/OOP, Java1..6 + JavaBeans und nunmehr Win NT/2000/2003/2008 Server mit VisualC# bzw. C#.net genommen hat, oder z.B. über die Medienprogrammierung mit HTML/CSS/JScript-JavaScript/Flash5/CGI mit Perl/PHP unter Apache und mySQL die Gipfel der IT erklommen hat und heute mit XML kämpft, oder wer sich all das erspart hat und gleich Ruby on Rails für sein CMS sowie irgend ein Wiki, etwa das unter Python, verwendet - stets gilt es neue Konstrukte zu lernen. XProfan kann z.B. nun auch mit FireBird embedded (das sich anschickt, MySQL und seine Freeware-Verwandtschaft in Pension zu schicken), es ist also am Stand der Zeit.

    Und was ist mit den diversen Sackgassen der Programmierung wie ADA, PL-1 etc., betrieben auf selten gewordenen Großsystemen oder COBOL und Fortan unter mittlerweile verschwundenen Operating Systems wie OS2, oder den nur unter Radioastronomen und in Canon-Kameras populären C++-Interpreter ICI (als Ableger gibts heute noch p-ici, einen Interpreter zum Ersatz der völlig misglückten PalaceChat-Automatisierungssprache Iptscrae)? Oder Fach-Programmiersprachen, etwa für Geometrie oder Symbolische Mathematik (Stichworte "R" und Aribas-W)?

    Fact ist: Man muss überall dazulernen, und selbst bei der Programmierung von MS-Office-Produkten wie Access kann man die Hälfte seiner Kenntnisse bereits nach 2-3 Jahren getrost wieder vergessen. Was bleibt sind die Grundkonstrukte der IT.
    XProfan schlägt da immerhin doch einen ziemlich großen Bogen, finde ich.
    Und die nächsten Erfahrungen lauern schon um die Ecke, denn: Das Ding lebt!

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Zitat von Xzeer;735726

    Ob es jetzt C++, C#, VisualBasic oder Delphi ist, die wirklich bekannten Sprachen sind sich sehr ähnlich. Deshalb konnte ich nicht ganz nachvollziehen, wieso Profan nachgesagt wird leichter zu sein.


    Ich denke mal, du bringst es da auf den Punkt!
    Ob einfacher oder nicht hängt ganz gewaltig davon ab, wo man steht. Kannst du nur ein bischen Batch und ein paar Brocken Basic, kommst du mit Profan sehr gut zurecht, denn vieles wird dir da bekannt vorkommen.
    Wenn du danach auch nicht mehr willst, bist du bei Profan genau richtig.
    Sich aber mit Programmierung zu beschäftigen, ist für mich etwas komplett anderes.

    Zitat von Xzeer;735726


    Ist es für einen Anfänger nicht auch schlechter mit Profan anzufangen, da er ja massive Probleme bekommen würde, wenn er auf einmal in einer anderen Sprache programmieren müsste.


    Ja, das ist sehe ich auch so. Kannst du Profan, kommst du auch recht einfach in ASM rein (über API). Reicht beides zusammen, braucht man nichts anderes dazuzulernen. Es gibt hier in Profan einige Leute, die weder Englisch können noch einen großen Einblick in die API haben - die kommen mit Profan aber trotzdem extrem weit.
    Mit dem "Umstieg" hast du vollkommen Recht. Die meisten Profaner stehen ganz gewaltig auf dem Schlauch, wenn sie plötzlich einen Delphi Quelltext vor die Nase gesetzt bekommen (auch wenn der nur API enthält).
    Wenn man sich wirklich mit Programmierung auseinandersetzen will, reicht irgendwann Profan nicht mehr aus, Dann kommen die Sachen zum Tragen, die ich hier beschrieben habe und dann wird es mit Profan sehr schwer. Ist man erst mal so weit, das Profan nicht mehr reicht, ist aber auch der Umstieg nicht leichter, denn man müsste quasi wieder bei Null anfangen (und da fehlt es dann oft an Zeit).

  • Also mit iF´s XPSE wird XProfan z.B. schon deutlich in Richtung C / Java-Syntax erweitert. Manche sind halt die Syntax mit den geschwungenen Klammern gewohnt, und daß CR-LF keine Bedeutung mehr hat weil andere Begrenzer wie ; verwendet werden. Ob ich jetzt aber { } schreibe oder Proc EndProc, finde ich gehüpft wie gesprungen, und am Zeilenende hänge ich nach üblicher Trennung mit : statt ; halt in Gottes Namen ein \ an...
    Wo Problem?

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Ich halte die Diskussion für akademisch d.h. theoretischer Natur. Ich hatte beruflich noch mit Midrange Systemen von IBM zu tun, also Programmiersprachen RPG II,III und IV. Nach Umstieg auf PC hatte ich für mich für private Programme, da ich beruflich kein Programmierer bin, eine leicht zu erlernende und trotzdem leistungsfähige Sprache gesucht. Ich dachte dabei nur an Anwendungsprogramme, Systemtools und maschinennahe Programmierung interessieren mich nicht. Wenn man sich das Profan-Forum von Roland ansieht, geht das auch so den meisten Anwendern. Bangkok, Dieter Zornow, kann ich voll zustimmen. Trotzdem wundert man sich manchmal, was manche Leute aus Profan rauskitzelt.

    Ich wollte mir als Privatanwender mein System nicht mit einem Client-Server System wie MySQL zumüllen, deshalb bin ich begeistert, dass es jetzt ein Firebird embedded gibt.

  • Zitat

    Nach Umstieg auf PC hatte ich für mich für private Programme, da ich beruflich kein Programmierer bin, eine leicht zu erlernende und trotzdem leistungsfähige Sprache gesucht. Ich dachte dabei nur an Anwendungsprogramme, Systemtools und maschinennahe Programmierung interessieren mich nicht. Wenn man sich das Profan-Forum von Roland ansieht, geht das auch so den meisten Anwendern.

    Ich schätze, dass mindestens 90 Prozent der XProfaner keine beruflichen Programmierer sind. Auch für mich ist das nur Hobby, habe beruflich gar nichts mit Programmieren und nicht mal mit Computern zu tun. ;)

  • Ich halte die Einschätzung von Andreas für anmaßend, um nicht zu sagen für recht überheblich!

    Auch mit Delphi, C++, Assenbler, etc. kann man nicht ohne weiteres auf die Schnelle systemnahe Tools programmieren.

    Mal ganz davon abgesehen, daß die meisten Tools von Andreas auf meinem System sowieso nicht funktionieren - und XP-Home ist ja nun wirklich noch kein total veraltetes Betriebssystem.

    Wer bei seinen eigenen Programmen mit XProfan noch nicht einmal aktuelle Standard-Bildschirmauflösungen berücksichtigen kann, der sollte meiner Meinung nach eher weniger scharf aus seinem Glashaus schießen, in dem er selber sitzt.

    Gruß
    Dietmar

  • @Dietmar
    Es scheint dir ja wieder besser zu gehen. Das freut mich :lol:

    Zitat

    Wer bei seinen eigenen Programmen mit XProfan noch nicht einmal aktuelle Standard-Bildschirmauflösungen berücksichtigen kann, der sollte meiner Meinung nach eher weniger scharf aus seinem Glashaus schießen, in dem er selber sitzt.

    Hier muss ich Andreas verteidigen. Die Oberfläche der beiden Versionen von PATH-SCOUT ist nämlich von mir :!:
    Mittlerweile gibt es auf meiner HP auch eine Version für kleine Auflösungen.

    PS: Auf meinem Computer läuft auch XP-Home und da funktionieren beide Programme. Wieso dann nicht bei dir :?:

  • Zitat

    Mal ganz davon abgesehen, daß die meisten Tools von Andreas auf meinem System sowieso nicht funktionieren - und XP-Home ist ja nun wirklich noch kein total veraltetes Betriebssystem.

    Ich denke, du spielst an auf seine Testtools für Vista-Funktionen. Das wird sich in dem Fall wohl nicht ändern lassen. ;)

    Meinungen gehen nunmal auseinander. Wichtig ist, weiterhin nicht unter die Gürtellinie zu hauen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!