Thread overview
Gathering info for D/Embedded presentation
Oct 10, 2012
mist
Oct 12, 2012
Jens Mueller
Oct 12, 2012
mist
Oct 12, 2012
maarten van damme
Oct 12, 2012
Tim Krimm
Oct 12, 2012
mist
Oct 13, 2012
Paulo Pinto
October 10, 2012
After some gentle preachings I have been asked in my company to prepare presentation regarding D usage in scope of embedded, kernel-level development and mobile devices. I am quite starving to find good project examples for D2 though ( most stuff I am aware of is D1 ) and do not have enough time to write some from scratch. Any suggestions here?

Regarding mobile development - I remember a thread some time ago regarding Android + D2 that I can't find anymore. What is current state of affairs?

Any general advices about D2 features and drawbacks to bring attention to are also welcome.
October 12, 2012
mist wrote:
> After some gentle preachings I have been asked in my company to prepare presentation regarding D usage in scope of embedded, kernel-level development and mobile devices. I am quite starving to find good project examples for D2 though ( most stuff I am aware of is D1 ) and do not have enough time to write some from scratch. Any suggestions here?
> 
> Regarding mobile development - I remember a thread some time ago regarding Android + D2 that I can't find anymore. What is current state of affairs?

You can have a look at this guide: http://gdcproject.org/wiki/GDCOnAndroid

Jens
October 12, 2012
I'm also curious if druntime can be made compatible with bionic because now I have to experiment with using a chrooted linux on my phone to test some D applications.
October 12, 2012

1) Do you consider garbage collection to be an issue in embedded programming?

2) Are you dealing with hard timing constraints where garbage collection could be an issue?


I would love a copy of your presentation

================================================

I think the XOMB  operating system project was a D1 project not a D2 project.
but this may be of interest:

http://wiki.xomb.org/index.php?title=XOmB_Bare_Bones

The XOmB Bare Bones distribution is a minimal 64 bit OS written in D, distilled from the main project by wilkie and Steve Klabnik.

================================================

October 12, 2012
On Friday, 12 October 2012 at 10:58:04 UTC, Jens Mueller wrote:
> mist wrote:
>> After some gentle preachings I have been asked in my company to
>> prepare presentation regarding D usage in scope of embedded,
>> kernel-level development and mobile devices. I am quite starving to
>> find good project examples for D2 though ( most stuff I am aware of
>> is D1 ) and do not have enough time to write some from scratch. Any
>> suggestions here?
>> 
>> Regarding mobile development - I remember a thread some time ago
>> regarding Android + D2 that I can't find anymore. What is current
>> state of affairs?
>
> You can have a look at this guide:
> http://gdcproject.org/wiki/GDCOnAndroid
>
> Jens

Ye, also have finally found it and related thread: http://forum.dlang.org/thread/20120204203109.26c9a80b@jpf-laptop
Thanks anyway.
October 12, 2012
On Friday, 12 October 2012 at 12:20:16 UTC, Tim Krimm wrote:
>
>
> 1) Do you consider garbage collection to be an issue in embedded programming?
>
> 2) Are you dealing with hard timing constraints where garbage collection could be an issue?
>
>
> I would love a copy of your presentation
>
> ================================================
>
> I think the XOMB  operating system project was a D1 project not a D2 project.
> but this may be of interest:
>
> http://wiki.xomb.org/index.php?title=XOmB_Bare_Bones
>
> The XOmB Bare Bones distribution is a minimal 64 bit OS written in D, distilled from the main project by wilkie and Steve Klabnik.
>
> ================================================

1) Embedded programming today means freaking lot of environment from microchips to custom hardware server clusters :) Sometimes it is an issue, sometimes not, but that is definitely a thing you need to remember about all the time.

2) Yes.

I have had a similar questions from my colleagues, that is exactly why I was asked to research this topic in detail. I ll share it when it will be done, but that won't be any soon.

XOMB is exactly on the D1 projects I was referring to, when was asking if any more modern analogues exist :)
October 13, 2012
On Friday, 12 October 2012 at 13:24:06 UTC, mist wrote:
> On Friday, 12 October 2012 at 12:20:16 UTC, Tim Krimm wrote:
>>
>>
>> 1) Do you consider garbage collection to be an issue in embedded programming?
>>
>> 2) Are you dealing with hard timing constraints where garbage collection could be an issue?
>>
>>
>> I would love a copy of your presentation
>>
>> ================================================
>>
>> I think the XOMB  operating system project was a D1 project not a D2 project.
>> but this may be of interest:
>>
>> http://wiki.xomb.org/index.php?title=XOmB_Bare_Bones
>>
>> The XOmB Bare Bones distribution is a minimal 64 bit OS written in D, distilled from the main project by wilkie and Steve Klabnik.
>>
>> ================================================
>
> 1) Embedded programming today means freaking lot of environment from microchips to custom hardware server clusters :) Sometimes it is an issue, sometimes not, but that is definitely a thing you need to remember about all the time.
>
> 2) Yes.
>
> I have had a similar questions from my colleagues, that is exactly why I was asked to research this topic in detail. I ll share it when it will be done, but that won't be any soon.
>
> XOMB is exactly on the D1 projects I was referring to, when was asking if any more modern analogues exist :)

I would have a look at real time JVMs/AOT compilers, as they show the current state of the art in GC enabled systems targeting embedded devices.

In case you don't know any:

http://www.atego.com/products/aonix-perc-pico/
http://www-01.ibm.com/software/webservers/realtime/description.html
http://www.research.ibm.com/people/d/dgrove/papers/emsoft05.pdf

Eventually D's GC will be comparable to those.

Although it is not D, have a look at BlueBottle, it is implemented in Active Oberon, with only some hardware glue in Assembly. Fully usable desktop system implemented in a GC enabled systems programming language.

http://www.ocp.inf.ethz.ch/wiki/
http://www.ocp.inf.ethz.ch/wiki/Documentation/WindowManager

The system is since the late 90's used at ETHZ.

Something like this would be fully possible with D, even better.

Having been a user of the first generation of this OS (Native Oberon) has convinced me that OS development in GC enabled systems language is possible, even thought there are some cases where it might not make sense. I wouldn't want a GC stop-the-world in a plane computing system. :)

Sorry if my post is too off-topic, just wanted to raise some points you could somehow use to pimp up D.


--
Paulo