Tcl vs. Python

  • Moin.


    Ich hab vor etwas mehr als zwei Jahrzehnten ein ziemlich umfangreiches Projekt in der Scripting-Language TCL entwickelt.


    Der Grund dafür war und ist relativ simpel:

    ... Das Projekt wird ausschließlich im IRC verwendet und muss dort sehr stabil in mehreren Channels verfügbar sein. Außerdem gibt es mehrere Bots die miteinander vernetzt sind, um Informationen auszutauschen und unterschiedliche Abläufe aufzuteilen. Da bot sich eggdrop für an, der unterstützt direkt tcl. Es wird auch mysqltcl benötigt/verwendet.


    Schon seit längerem würde ich das Projekt aber gerne auf eine andere und schnellere Sprache portieren - weiß allerdings nicht so recht Welche :denker: Weil es schon recht anspruchsvolle Anforderungen sind und ich mich bisher nicht intensiv genug damit beschäftigt hab...


    An ein in C geschriebenen eggdrop-module möchte ich derzeit noch nicht denken :kotz:


    Vielleicht kennt hier jemand brauchbare eggdrop Alternativen?

    Ich kenne https://en.wikipedia.org/wiki/…_Internet_Relay_Chat_bots aber bevorzuge wie immer persönliche Erfahrungswerte ;)

  • Wir haben ein paar versierte Jungs auf dee Arbeit, die auf elixir schwören. Ist meines Wissens ein erlang Preprocessor und optisch sehr ähnlich zu Ruby/Python. Zudem ist sie auch nicht ganz so nischig und viele bekanntere Ruby-Entwickler entwickeln mittlerweile auch in oder für die Sprache. Ich selbst habe, bis auf 1-2 Aufgaben bei exercism.io, aber zu wenig Erfahrung mit der Sprache gesammelt.


    elixir Webseite

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Sieht wahrscheinlich nach Scripting Lang aus, weil sie funktional strukturiert ist ;-)


    Generell gibt es hier natürlich auch wieder Pakete (Gems, packages, extensions, Schlangebisse, o.ä.) , die ggf. die gewünschte Funktionalität mitbringen:

    => https://hex.pm/packages?_utf8=…irc&sort=recent_downloads



    Das aber auch nur noch zur letzten Klarstellung. Ich will keinen in irgendeine Sprache drängen, die ich selbst nicht mal kann ;-)

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Ich muss den Thread doch noch mal wieder auskramen...


    Mittlerweile wird es doch recht akut, einen Recode des Projekts in Angriff zu nehmen - wegen der Performance.


    Insbesondere die Performance bzgl. Datenbanken ist entscheidend... Die Datenbanken wachsen stetig und umfassen derzeit ~40 Millionen Datensätze...


    Wie gesagt muss es mit eggdrop kompatibel bleiben, da mir kein vergleichbares & komfortables IRC-Bot-Framework bekannt ist, welches auch derart stabil funktioniert... Es müssen zudem mehrere Bots miteinander verlinkt werden (botnet) usw das will ich nicht alles nachbauen müssen. Die 10k Zeilen TCL-Code zu portieren wird auch so schon genug Arbeit :dau2:


    Es gibt auch Überlegungen wieder ein Web-Portal einzuführen - gab es früher schon mal, wurde aber nicht gepflegt. Wäre daher schön wenn der Recode auch hierfür eine API bereitstellen würde.


    Leider hab ich von C nicht allzu viel Plan... Kann mir jemand entsprechend einfache und Deutsche Lektüre empfehlen? :daumendreh2: ich weiß, blöde Frage, wäre trotzdem nett wenn mir hierzu jemand vernünftig antwortet


    :danke_ATDE:

  • Hallo Meigrafd,


    es gab hier mal einen Thread "Bücherliste". Da habe ich meine Bücher u.a. auch zu C gepostet.


    Ohne da jetzt nachgeschaut zu haben, wäre evtl. auch FreePascal / Lazarus geeignet, wenn es ein TCL-Package dafür gibt.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo Meigrafd,


    na, wenn Du es schnell haben willst, dann bleibt Dir ja nicht so viel Auswahl. C und Konsorten auf der einen Seite - Und pascaloide Programmiersprachen auf der anderen Seite. Beide erzeugen flotten Binärcode.


    Die meisten anderen Programmiersprachen sind entweder Interpretersprachen, oder erzeugen und prozessieren einen (proprietären) Byte-Code.


    Letztens habe ich eine Benchmark-Übersicht gesehen, bei der recht viele Programmiersprachen eingesetzt wurden. Interessant ist, dass die Performance aller Programmiersprachen, die letztlich auf C-Ebene compilieren, nach Assembler die schnellste Sprachgruppe waren. Alle Programmiersprachen, die abseits von C compilieren, sind signifikant langsamer. Bis zu Exoten mit einer Performance, die jenseits von Gut und Böse sind.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Moin meigrafd,


    du suchst doch sicherlich kein Lehrbuch?!

    Sondern eher ein Nachschlagewerk.


    ich nutzte zum Nachschlagen eigentlich 2 Bücher.

    - RRZN-Handbuch. Die Programmiersprache C. Ein Nachschlagewerk

    - C-Handbuch. Gibt es acu Online http://www.c-howto.de/c-handbuch/


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.