www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - D and systems vs. application programming

reply John <icrashedtheinternet gmail.com> writes:
I want to program complex sound (music composition and sound editing) and 3d
graphics applications.  D is described as a systems programming language but it
seems to handle higher level programming.  Can someone describe the real world
difference between systems and application programming, and what kinds of
applications should be programmed in a systems language.  Thanks!
-John
Jul 13 2007
next sibling parent Bill Baxter <dnewsgroup billbaxter.com> writes:
John wrote:
 I want to program complex sound (music composition and sound editing)
 and 3d graphics applications.  D is described as a systems
 programming language but it seems to handle higher level programming.
 Can someone describe the real world difference between systems and
 application programming, and what kinds of applications should be
 programmed in a systems language.  Thanks! -John

To me, "systems programming lanugage" seems to just be a fancy way of saying "has raw access to pointers". Other than that the concerns of an "application programming" language and a "systems programming language" are pretty much the same. --bb
Jul 13 2007
prev sibling parent 0ffh <spam frankhirsch.net> writes:
John wrote:
 I want to program complex sound (music composition and sound editing)
 and 3d graphics applications.  D is described as a systems programming
 language but it seems to handle higher level programming.  Can someone
 describe the real world difference between systems and application
 programming, and what kinds of applications should be programmed in a
 systems language.  Thanks! -John

This seems to call for a philosphical essay - there's a lot to argue about here, and you'll probably find n different answers from n people. IMHO the hallmarks of a systems programming language are that it handles bare metal programming and real pointers and pointer arithmetic. Also, compilation to machine code should probably be counted in. Mark that the presence of those features does /not/ make a language a worse "application programming" language. Those just call for a different set of features which - I am confident you will find - D provides as well, as far as the language is concerned. Only if you plan do write an application that relies heavily on the availability of foreign libraries, you may want to check if everything you need is either available (the places to look are mostly Phobos or Tango) or easily interfaced to (C libraries). Regards, Frank
Jul 13 2007