Pandora Mono status on Pandora


Thorgan

Member
Joined
Jun 19, 2010
Messages
53
Hello,


I may start developing software for the pandora and I am well aware that Python and C++ are well supported options.


However I am still having nightmares from the time I was coding in C++ (linking errors, makefiles, troubleshooting cross compile environment, forgetting flags or env variable) and I am not quite fluent in Python.


So I would like an alternative... and maybe C#/Mono could be an answer.


Here are the questions:


- What is the status of Mono on the pandora and how stable do applications run?


- I found a couple of posts saying there were issues, is that true? Which ones?


Thanks in advance!
 
Hi and welcome to the community!


Mono is very slow on pandora. Sebt3 compiled it and built banshee with it. You can try that one from his developementsite for a better insight. I don't know much about stability, but it needs a lot of ram iirc.


Http://sebt3.openpandora.org/pnd
 
Thanks a lot!


So looking at the "Port request Banshee" thread (and your report), mono status would be:


- To be shipped with every pnd using it (kind of deal-breaker).


- Slow and memory hungry (let's say it's "by design" :) )


As Banshee stability issues might come from multiple reasons, it is hard to tell whether this particular build of Mono is the culprit or not.


Too bad mono is not built-in...


I'll give an in-depth look at this anyway, thanks again.
 
I'd recommend getting over your fears from the past. Those things are easy when you know them. Here's a hint: Make a list as you code of what libs you use, and everytime you add one, make sure it's available for all the platforms you care about. That way, if you find trouble, you can work around it from the start. Env-vars and flags are not really a problem when cross-compiling for the pandora with yactfeau, it sets pretty much everything up. All you need is a correctly crafted makefile, and I don't think there's any lack of people here that can helt you with that. What C++ gives you in speed and compatibility over C# can not be underestimated.
 
I'd recommend getting over your fears from the past. Those things are easy when you know them. Here's a hint: Make a list as you code of what libs you use, and everytime you add one, make sure it's available for all the platforms you care about. That way, if you find trouble, you can work around it from the start. Env-vars and flags are not really a problem when cross-compiling for the pandora with yactfeau, it sets pretty much everything up. All you need is a correctly crafted makefile, and I don't think there's any lack of people here that can helt you with that. What C++ gives you in speed and compatibility over C# can not be underestimated.

Thanks for your advice. I totally agree, it is not very complicated.


C++ is indeed a powerful language and native development is truly efficient (speed and memory wise).


However, I think relearning how all the tools works is, in my case, not very desirable (4 years of .NET makes you lazy :) ).


I just would like to:


- code in a nice language that I already know (such as C# or C/C++)


- compile in one click (without headache)


- run (possibly on my computer and on the actual hardware)


C#/Mono along with Monodevelop allow you to generate quickly your nice little software with little tooling.


I think it would be nice to have a port of mono included in the firmware image.


I guess I will have to setup a Code:Blocks install with two targets (PC and Pandora) and I will be ready to go. Once the setup and boilerplate code is done, it will be easy :) .


Thanks,
 
If you're considering alternatives, Qt is great - You can get QtCreator in Windows and Linux, and it builds so easily on the Pandora using Freamon's tools, or cross compiled on Sebt3's VM.


That said, I'm still somewhat interested in Mono for getting KeePass v2 running, but I've been unable to figure it out
 
If you don't need the better performance of C/C++, then why not dive into python?


It's not a hard language to learn, requires no compilation and is (mostly) cross-platform.
 
I think mono in the firmware would just bloat it, as it is a big runtime and can't really run big programs with reasonable speed.


Maybe a monoinstaller like the Javainstaller might be an option, but someone needs to take the time to package this up.


As there is already a compiled runtime in the banshee pnd, maybe you could just grab it and have a look at the java pnd and how it installs it to be mounted on demand.
 
Happy new year !

Maybe you like Vala, should work under Pandora too.

Wow, this exists since 2006 and I never heard about it? I feel like having been cryogenized. Looks quite good the kind of "C#" => plain old C approach.

If you're considering alternatives, Qt is great - You can get QtCreator in Windows and Linux, and it builds so easily on the Pandora using Freamon's tools, or cross compiled on Sebt3's VM.

I have a coworker that uses it (replacement of visual studio), I'm sure there is a reason ;) .

If you don't need the better performance of C/C++, then why not dive into python?


It's not a hard language to learn, requires no compilation and is (mostly) cross-platform.

A very tempting solution.

I think mono in the firmware would just bloat it

According to mono website, there are various trick to reduce the runtime size as well as executable size (not sure if the later might be wanted). Still, I agree that the firmware could get easily bloated if frameworks started to be embedded.


Once I'll have my dev setup (I'm very busy lately), I'll see what can be done (I am still new to this, haven't actually coded anything targeting the pandora).


If there were a couple of pnd using Mono, that could be nice having a tweaked Mono pnd, downloaded on demand and shared between pnds using it.


Thanks !
 
I'm interested in a performant mono, so I could port the game "Blocks That Matter" without having to get and translate the source code.

normally I hate anything and everything to do with Microsoft, but there you go, miracles can happen, DREDD wants to help improve mono
 
Last edited by a moderator:
wait no, they already converted BTM to Java so my interest in mono is back at zero for now
 
Back
Top