Thread overview
Available OS-Framework(s), generating VM-code?
Jun 10, 2005
Will
Jun 10, 2005
Regan Heath
Jun 10, 2005
Will
Jun 11, 2005
Regan Heath
Jun 11, 2005
Regan Heath
Jun 11, 2005
Derek Parnell
Jun 12, 2005
MicroWizard
June 10, 2005
D seems more clever than C# in many respects, but for a programming language to be practical it must easily integrate with the operating system(s). For Windows development, C# or even VB (.NET) is almost ideal because of the .NET framework. Will something as easy be available for D, or is it more like MFC?

OR, even better: An in-between framework for things that exist in all operating system that connects to the fw for a particular OS you're compiling for

Continuing on the subject of compatiblity... the non-native MSIL executables is a fundamentally sound idea for many tasks, so I hope compilation for it or other fast VM should be *possible* (if desired) in D.


June 10, 2005
On Fri, 10 Jun 2005 12:33:09 +0000 (UTC), Will <Will_member@pathlink.com> wrote:
> D seems more clever than C# in many respects, but for a programming language to
> be practical it must easily integrate with the operating system(s). For Windows
> development, C# or even VB (.NET) is almost ideal because of the .NET framework.
> Will something as easy be available for D, or is it more like MFC?

http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries

> OR, even better: An in-between framework for things that exist in all operating
> system that connects to the fw for a particular OS you're compiling for

The D standard library "phobos" isn't complete yet, when it is I would expect it to be full of such things. For example std.socket is a class level abstraction of the win32 and *nix socket layers (they're basically BSD socket implementations, right?)

> Continuing on the subject of compatiblity... the non-native MSIL executables is
> a fundamentally sound idea for many tasks, so I hope compilation for it or other
> fast VM should be *possible* (if desired) in D.

There is no such thing as a fast VM ;)

Seriously tho, D is a system level language, as such it compiles to native code, and likely always will.

That said, someone at one stage had a D.NET project going...

Check out dsource for some existing projects in D:
  http://www.dsource.org/

Regan
June 10, 2005
In article <opsr5mx1sx23k2f5@nrage.netwin.co.nz>, Regan Heath says...
>
>On Fri, 10 Jun 2005 12:33:09 +0000 (UTC), Will <Will_member@pathlink.com> wrote:
>> D seems more clever than C# in many respects, but for a programming
>> language to
>> be practical it must easily integrate with the operating system(s). For
>> Windows
>> development, C# or even VB (.NET) is almost ideal because of the .NET
>> framework.
>> Will something as easy be available for D, or is it more like MFC?
>
>http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries
>
>> OR, even better: An in-between framework for things that exist in all
>> operating
>> system that connects to the fw for a particular OS you're compiling for
>
>The D standard library "phobos" isn't complete yet, when it is I would expect it to be full of such things. For example std.socket is a class level abstraction of the win32 and *nix socket layers (they're basically BSD socket implementations, right?)
>
>> Continuing on the subject of compatiblity... the non-native MSIL
>> executables is
>> a fundamentally sound idea for many tasks, so I hope compilation for it
>> or other
>> fast VM should be *possible* (if desired) in D.
>
>There is no such thing as a fast VM ;)
>
>Seriously tho, D is a system level language, as such it compiles to native code, and likely always will.
>
>That said, someone at one stage had a D.NET project going...
>
>Check out dsource for some existing projects in D:
>   http://www.dsource.org/
>
>Regan

All languages I've known about so far have been unable to work easily with the operating system (OK, for Windows, .NET makes a difference {as well as VB always has albeit in a crappy way}) and simoultaneously unable to be really machine-level powerfull (so there not quite good for anything).

I like to make windows apps but I also have a dream about making an operating system. Knowing how clever C/C++ are in managing registry/memory use it feels a little meaningless using assembler, still people tell me many things can't be made using C/C++ (I asked for a "gerneric" compiler and they said there all targeted at an OS, so 'no such beast exists')


June 11, 2005
On Fri, 10 Jun 2005 16:11:47 +0000 (UTC), Will <Will_member@pathlink.com> wrote:
> In article <opsr5mx1sx23k2f5@nrage.netwin.co.nz>, Regan Heath says...
>>
>> On Fri, 10 Jun 2005 12:33:09 +0000 (UTC), Will <Will_member@pathlink.com>
>> wrote:
>>> D seems more clever than C# in many respects, but for a programming
>>> language to
>>> be practical it must easily integrate with the operating system(s). For
>>> Windows
>>> development, C# or even VB (.NET) is almost ideal because of the .NET
>>> framework.
>>> Will something as easy be available for D, or is it more like MFC?
>>
>> http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries
>>
>>> OR, even better: An in-between framework for things that exist in all
>>> operating
>>> system that connects to the fw for a particular OS you're compiling for
>>
>> The D standard library "phobos" isn't complete yet, when it is I would
>> expect it to be full of such things. For example std.socket is a class
>> level abstraction of the win32 and *nix socket layers (they're basically
>> BSD socket implementations, right?)
>>
>>> Continuing on the subject of compatiblity... the non-native MSIL
>>> executables is
>>> a fundamentally sound idea for many tasks, so I hope compilation for it
>>> or other
>>> fast VM should be *possible* (if desired) in D.
>>
>> There is no such thing as a fast VM ;)
>>
>> Seriously tho, D is a system level language, as such it compiles to native
>> code, and likely always will.
>>
>> That said, someone at one stage had a D.NET project going...
>>
>> Check out dsource for some existing projects in D:
>>   http://www.dsource.org/
>>
>> Regan
>
> All languages I've known about so far have been unable to work easily with the
> operating system (OK, for Windows, .NET makes a difference {as well as VB always
> has albeit in a crappy way})

Those languages are no better of than C/C++ or D, except for the fact that they have a complete standard library with wrappers for everything so that it appears to be OS agnostic, in fact, they're not.

> and simoultaneously unable to be really
> machine-level powerfull (so there not quite good for anything).

.NET uses a VM, VM's are slower than compiled code (as a general rule).

VB, well I don't know a lot about VB, it's always seemed a cross between C/C++ and some other language, perhaps pascal?

> I like to make windows apps but I also have a dream about making an operating
> system.

You could write an OS in D, someone even started a project on it tho I cant find a link to it anywhere.

> Knowing how clever C/C++ are in managing registry/memory use it feels a
> little meaningless using assembler

I agree, however I hear there are some limited cases where using assembler inside C is advantageous, likewise D has the same capability.

> , still people tell me many things can't be
> made using C/C++ (I asked for a "gerneric" compiler and they said there all
> targeted at an OS, so 'no such beast exists')

I was under the impression the compiler targets an 'architecture' or 'processor' not an operating system. Of course, those compilers all run on a certain operating system, and that operating system has libraries, but, and this is just a guess, I'd assume to write an OS you need to avoid all library calls, which may mean you need to write your first code in assembler.

I'm just guessing, I've always liked the idea of writing an OS, but never enough to actually investigate it further.

Someone else here can probably offer more knowledgable advice.

Regan
June 11, 2005
On Sat, 11 Jun 2005 14:06:40 +1200, Regan Heath <regan@netwin.co.nz> wrote:
> VB, well I don't know a lot about VB, it's always seemed a cross between C/C++ and some other language, perhaps pascal?

Doh! I've just realised the language VB is based on is probably 'Basic', not pascal.

Regan
June 11, 2005
On Sat, 11 Jun 2005 14:24:56 +1200, Regan Heath wrote:

> On Sat, 11 Jun 2005 14:06:40 +1200, Regan Heath <regan@netwin.co.nz> wrote:
>> VB, well I don't know a lot about VB, it's always seemed a cross between C/C++ and some other language, perhaps pascal?
> 
> Doh! I've just realised the language VB is based on is probably 'Basic', not pascal.

Yeah, Visual Pascal is otherwise known as Delphi  ;-)

-- 
Derek Parnell
Melbourne, Australia
11/06/2005 12:32:28 PM
June 11, 2005
Yes, that's right.  Until (fairly) recently, Visual Basic was always compiled with an interpretter bundled in the exe, and some basically byte code along the side.

In other words, Visual Basic was (for a long time) never native code, unless I'm completely wrong, just like QuickBASIC and many other BASICs.  At one point, a version of Visual Basic was released which could compile to native, optimized, code - although it was still less efficient than C.

Shortly thereafter, VB.NET came out with JIT, going right back to an essentially non-native compilation method.

I remember, when I was programming in QuickBASIC, I would write large portions of code in Assembly, because it really was that much faster.  I wrote a PCX loader entirely in Assembly that grossly outperformed any QuickBASIC code anyone could ever write, although it was VGA only of course.

These days, many people still using QuickBASIC consider using Assembly "cheating", and competitions and challenges are even arranged where "pure-QB" code is required (meaning no outside linking, even though QuickBASIC had special features to link with C too.)

Anyway, I just thought it funny to remark on how like a pendulum programming is becoming.  Reminds me of art history ;).

-[Unknown]


> On Sat, 11 Jun 2005 14:06:40 +1200, Regan Heath <regan@netwin.co.nz> wrote:
> 
>> VB, well I don't know a lot about VB, it's always seemed a cross between  C/C++ and some other language, perhaps pascal?
> 
> 
> Doh! I've just realised the language VB is based on is probably 'Basic',  not pascal.
> 
> Regan
June 12, 2005
>I like to make windows apps but I also have a dream about making an operating system. Knowing how clever C/C++ are in managing registry/memory use it feels a little meaningless using assembler, still people tell me many things can't be made using C/C++ (I asked for a "gerneric" compiler and they said there all targeted at an OS, so 'no such beast exists')

If you make Windows application you are permanently pressed by Microsoft to use MS features, "techniques", programs. All of these things tightly are bound to an architecture (Intel), an OS (Windows) and to few APIs ,libraries.

These thing makes the portability almost impossible.

An other issue is the language and the compiler. Maybe you have already heard
about the GNU compiler package. It's goal is to have unified compilers for
standard languages on all supported OS/architecture.
There are standard frontends for every supported languages (C/C++, D and more)
and backends (code generators) for architectures (X86, M68K, Alpha, Sparc, etc).
And of course these programs run on a lot of OSes. Cross compilation is also
possible. It is vital to write basic operating functions for a brand new
architecture without having and OS for it.

So the beast exists with some impliciations.

I hope my answer helped,
Tamas Nagy