www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Available OS-Framework(s), generating VM-code?

reply Will <Will_member pathlink.com> writes:
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.
Jun 10 2005
parent reply "Regan Heath" <regan netwin.co.nz> writes:
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
Jun 10 2005
parent reply Will <Will_member pathlink.com> writes:
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')
Jun 10 2005
next sibling parent reply "Regan Heath" <regan netwin.co.nz> writes:
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
Jun 10 2005
parent reply "Regan Heath" <regan netwin.co.nz> writes:
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
Jun 10 2005
next sibling parent Derek Parnell <derek psych.ward> writes:
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
Jun 10 2005
prev sibling parent "Unknown W. Brackets" <unknown simplemachines.org> writes:
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

Jun 11 2005
prev sibling parent MicroWizard <MicroWizard_member pathlink.com> writes:
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
Jun 12 2005