Windows/Android/Mac/RaspberryPi/Linux/ARM/FPGA/ASIC/DSP/uC

FoxyBrown via Digitalmars-d digitalmars-d at puremagic.com
Fri Jun 23 12:03:01 PDT 2017


Hi,

I will be developing some hardware and software that will need to 
be portable across a multitude of systems.

At first, I will develop some of the non-specific infrastructural 
code base on windows for convenience. These involve the GUI, 
overall structure, etc.

I think will need to move in to more mobile aspects such as the 
android and Raspberry Pi which will allow me to start to 
integrate and work with the future hardware based parts of this 
system.

At this point I am in the setup stages that will organize and 
formulate a proper plan of action. I am aware that D works for 
Windows/Linux/Mac and has some Raspberry Pi and android/arm 
support with very little FPGA/ASIC/DSP/uC support.

I hope, by the time that I get in to the hardware layers that D 
will have advanced further down the line on them.

My understanding is that DMD is only applicable for the 3 main 
platforms, and this is fine for now as that is where I'll start. 
LDC is starting to progress on ARM/android and I have seen 
someone write a to use D on FPGA through a transformation 
process. Some work has been done with some lower level uC's such 
as the PIC and ARM processors.

Now that GDC is in the works, I assume that will open up even 
more doors. Because this is a long term project(10+ years) and 
involves many different systems, subsystems, architectures, and 
so forth, organization is key for success.  The problem I have 
with the choice of D over C/C++, at the moment, is in it's 
knowledge base. Most of the advancements for the different 
platforms are done by individuals with their own unique goals and 
motivations in mind. There is very little organized structure to 
the overall development. Finding information for specific aspects 
and requirements involves hunting down the appropriate 
information. Usually it is forum posts and link fishing, usually 
outdated. Structured documentation is key for efficient and 
successful progress, which I find D to be lacking in. While 
library functionality is documented and adequate, the 
architectural issues and development is not.

Is there any hope of seeing a unified structured interface to the 
different platforms that D is starting to be developed on rather 
than having to hunt and peck for the answers?

If not, may I suggest, at a minimum, some type of hierarchy based 
solution that involves all the major design applications of D 
with the ability to cross-reference, date, comment, and modify? A 
sort of wiki but with a bit more hierarchical structure.

D
   Cross-Platform
      Compilers
         ...
         GDC
         ...
      Library
         ...
      ...
   Windows
      Compiler
         ...
         Compiling
             ...
         ...
      Library
         ...
         Compiling
             ...
         Documentation
             ...
             Wi32 API
                 ...
                 Problems
                 ...
                 Functions
                 ...
                 Misc
                 ...
                 Uncategorized
                 ...
             ...
         ...
   ...
   DSP
      ...
      Progress
        ...
      ...


The idea is that one can delve in to the hierarchy and find 
whatever info they want or add to it if it is not there so that 
someone else can find it. At some point, most of what D can do is 
found in the hierarchy, which, as we all know, only requires 
around O(log2(n)) search time(rather than O(n^m) for googling 
topics and link fishing).  At some point, this hierarchy becomes 
very efficient at representing the information we all are 
searching for rather than a flat random access type of list. The 
point is to design such an interface and let users like me fill 
it out and as time goes on,  finding relevant information becomes 
quicker and quicker. For proper design, meta-information must be 
used to it's fullest. (Tags, date stamping, ratings, relevancy, 
cross-references, etc)

Or, perhaps, we already have something this powerful in the works?






More information about the Digitalmars-d mailing list