Re: What about Embedded?
- From: Philip Van Hoof <spam pvanhoof be>
- To: Jamie McCracken <jamiemcc blueyonder co uk>
- Cc: desktop-devel-list gnome org
- Subject: Re: What about Embedded?
- Date: Fri, 21 Jul 2006 00:47:16 +0200
On Thu, 2006-07-20 at 23:24 +0100, Jamie McCracken wrote:
> > And this is why GNOME should accept and go for higher programming
> > languages and modern development techniques.
>
> I totally agree but wouldn't it be better to use native languages that
> offer all this like the D language (http://www.digitalmars.com/d/).
I think most of the people that ever talked with me on IRC already know
that I'm very much a fan of the D programming language.
> No one has ever justified why we need a VM given all its disadvantages
> (speed - especially when mixing with native code, startup time, resource
> usage, bloat etc)
A program that runs in a virtual machine can benefit from run-time
optimization. If you want to do the same with a native application, you
would need to feed the compiler with statistics which you need to gather
from your users. Which isn't always an easy task.
Or you must use alignment tricks and give the compiler a lot hints. But
those hints don't hint the compiler about when the user uses it in an
unexpected way. Unexpected as in: the user doesn't use the application
the way the developer intended.
-- I'm sure the heros that implemented our current virtual machines can
give you much more information on this than I can. --
But all that doesn't matter for desktop NOR for mobile usage a lot.
There's plenty of CPU to waste on a little bit of virtual machine
overhead when we are talking about desktop applications.
I mean, have you actually seen what some people dare to implement? THAT
is the ONLY reason why their stuff runs slow and consumes a lot memory!
It mostly has nothing to do with native or virtual machine.
Even for mobile devices. But you make a good point with D. I would love
to develop using D for the Nokia 770. In fact, I have plans to build
myself a cross GCC compiler with an ARM backend and a D frontend soon.
And then ... fuck the convention that everything must be done in a
popular language to be accepted by some community. Then they don't
accept it. That's their problem.
I really hope young fresh developers think like this when they will pick
their programming language for implementing their cool ideas.
Hey young guys, if that GNOME community doesn't like your .NET: so what!
DO use what you want to use. Your cool application will get popular even
without this "official" recognition of that GNOME platform.
Meanwhile, I do ask the non-Mono (and non-Python, non-Java, non-
whatever) GNOME community to start accepting the modern programming
languages. Stop fooling yourself and DO look at reality.
> Also managed languages can still leak and crash and misbehave if the
> p/invoke is not done properly so it aint a silver bullet.
True. Of course.
> The D language offers the best of all worlds IMO *without* compromising
> on speed, resource usage or bloat. It would be madness to use a VM instead!
There's still some pro VM arguments that D doesn't have. Like a good
reflection framework (Hibernate uses this a lot).
Oh .. And now that I mention Hibernate. The current popular languages
(Java and .NET) have A LOT frameworks (Spring, Hibernate, etc) that
don't (yet) exist in the D world. (there's NSpring and NHibernate Java
guys, you don't have to tell me I'm selling Java-only tech because you
would be lying).
Most of them don't even have an equivalent in any of those "native"
languages. I assure you such frameworks DO speed up software devel-
opment.
I would very much want GNOME application developers to start leveraging
such frameworks.
> (of course its not as integrated into Gnome yet and lacks an IDE but if
> someone puts the work in you will have a killer platform than no VM
> based platform can match)
--
Philip Van Hoof, software developer at x-tend
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
work: vanhoof at x-tend dot be
http://www.pvanhoof.be - http://www.x-tend.be
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]