FerretX: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
The immediate need for this comes from my wish to use certain libraries in PHP that are well-supported for other languages but either not available in PHP at all or else poorly supported -- notably [[htyp:PHP/GUI|graphical interfaces]] and "ncurses" (a full-screen text-mode library).
The immediate need for this comes from my wish to use certain libraries in PHP that are well-supported for other languages but either not available in PHP at all or else poorly supported -- notably [[htyp:PHP/GUI|graphical interfaces]] and "ncurses" (a full-screen text-mode library).


The inspiration for this is a Microsoft technology which I think was called "ActiveX DLLs", but the [[wikipedia:ActiveX|Wikipedia entry on ActiveX]] only mentions it in passing and certainly doesn't do credit to how useful it was in environments like Visual Basic 6 and Access 97.
The inspiration for FerretX is a Microsoft technology which I think was called "ActiveX DLLs", but the [[wikipedia:ActiveX|Wikipedia entry on ActiveX]] only mentions it in passing and certainly doesn't do credit to how useful it was in environments like Visual Basic 6 and Access 97.
==Concept==
The idea is to use JSON (or any data-communication protocol that can encode arbitrary data-structures in a binary-safe way) to communicate:
* class interfaces
* data, whether structured or scalar
 
{{hilite|WRITING IN PROGRESS}}
==Footnote==
==Footnote==
<references />
<references />

Revision as of 02:05, 27 January 2023

Intro

The key idea here is to make it easier for any language to make use of libraries written in any other language, and for compiled languages to make use of compiled libraries without having to recompile and link them[1]. It also is especially useful in integrated development environments with code-aware autocompletion (CAA) features, in that it provides the necessary information for CAA when using a library whose source-code is not included in the project.

The immediate need for this comes from my wish to use certain libraries in PHP that are well-supported for other languages but either not available in PHP at all or else poorly supported -- notably graphical interfaces and "ncurses" (a full-screen text-mode library).

The inspiration for FerretX is a Microsoft technology which I think was called "ActiveX DLLs", but the Wikipedia entry on ActiveX only mentions it in passing and certainly doesn't do credit to how useful it was in environments like Visual Basic 6 and Access 97.

Concept

The idea is to use JSON (or any data-communication protocol that can encode arbitrary data-structures in a binary-safe way) to communicate:

  • class interfaces
  • data, whether structured or scalar

WRITING IN PROGRESS

Footnote

  1. In the case of interpreted languages, this often means recompiling the language interpreter itself, which can create a technical debt situation since the standard distro repository updates can no longer be used