October 14, 2010
I think that would be too broad.
You can write an operating system in Python if you wanted to.
http://unununium.org/

On Thu, Oct 14, 2010 at 10:57 AM, Paulo Pinto <pjmlp@progtools.org> wrote:

> I would consider a systems programming language any language that you
> can use to build operating systems, even if a little help of assembly
> language is
> required.
>
>
> "Norbert Nemec" <Norbert@Nemec-online.de> wrote in message news:i96vcl$11oi$1@digitalmars.com...
> >A language that is adequate for systems programming.
> >
> > This leaves "adequate" and "systems programming" for definition...
> >
> >
> >
> >
> > On 10/14/2010 02:30 PM, Justin Johansson wrote:
> >> Touted often around here is the term "systems language".
> >>
> >> May we please discuss a definition to be agreed upon
> >> for the usage this term (at least in this community) and
> >> also have some agreed upon examples of PLs that might also
> >> be members of the "set of systems languages".
> >> Given a general subjective term like this, one would have
> >> to suspect that the D PL is not the only member of this set.
> >>
> >> Cheers
> >> Justin Johansson
> >>
> >> PS. my apologies for posting a lame joke recently;
> >> certainly it was not meant to be disparaging towards
> >> the D PL and hopefully it was not taken this way.
> >
>
>
>


October 14, 2010
"Justin Johansson" <no@spam.com> wrote in message news:i96t5c$af5$1@digitalmars.com...
> Touted often around here is the term "systems language".
>
> May we please discuss a definition to be agreed upon
> for the usage this term (at least in this community) and
> also have some agreed upon examples of PLs that might also
> be members of the "set of systems languages".
> Given a general subjective term like this, one would have
> to suspect that the D PL is not the only member of this set.
>
> Cheers
> Justin Johansson
>
> PS. my apologies for posting a lame joke recently;
> certainly it was not meant to be disparaging towards
> the D PL and hopefully it was not taken this way.

A language that doesn't suck at general direct hardware access (memory, i/o, etc).


October 14, 2010
On 10/14/2010 08:30 AM, Justin Johansson wrote:
> Touted often around here is the term "systems language".
>
> May we please discuss a definition to be agreed upon
> for the usage this term (at least in this community) and
> also have some agreed upon examples of PLs that might also
> be members of the "set of systems languages".
> Given a general subjective term like this, one would have
> to suspect that the D PL is not the only member of this set.
>
> Cheers
> Justin Johansson
>
> PS. my apologies for posting a lame joke recently;
> certainly it was not meant to be disparaging towards
> the D PL and hopefully it was not taken this way.

A systems language is a compiled language that allows you to get as close to the metal as possible without having to resort to assembly language.  Also, it should be able to run in such a manner as to not interfere with applications unless absolutely necessary.  Lastly, it should have a API/ABI (Not sure which is correct) that is easy for other languages to use for system calls.

Casey
October 15, 2010
Justin Johansson <no@spam.com> wrote:

> Touted often around here is the term "systems language".
>
> May we please discuss a definition to be agreed upon
> for the usage this term (at least in this community) and
> also have some agreed upon examples of PLs that might also
> be members of the "set of systems languages".
> Given a general subjective term like this, one would have
> to suspect that the D PL is not the only member of this set.

My understanding of the term:

- Compiles to native code
- Gives direct access to low-level primitives (pointers,
    register-size integers, bitwise operations)
- Allows pointer arithmetic
- Does not stand in the way of getting low-level work done
- Has a well defined ABI
- Lets you do manual memory management

Not sure which languages do fit this definition, except of
course C, C++ and D.

-- 
Simen
October 15, 2010
Simen kjaeraas <simen.kjaras@gmail.com> wrote:
> My understanding of the term:
>
> - Compiles to native code
forgot:
    that is close in speed to that of handwritten assembly


> - Gives direct access to low-level primitives (pointers,
>      register-size integers, bitwise operations)
> - Allows pointer arithmetic
> - Does not stand in the way of getting low-level work done
> - Has a well defined ABI
> - Lets you do manual memory management
>
> Not sure which languages do fit this definition, except of
> course C, C++ and D.
>


-- 
Simen
October 15, 2010
On Thu, Oct 14, 2010 at 5:30 AM, Justin Johansson <no@spam.com> wrote:
> Touted often around here is the term "systems language".
>
> May we please discuss a definition to be agreed upon
> for the usage this term (at least in this community) and
> also have some agreed upon examples of PLs that might also
> be members of the "set of systems languages".

A fun question without a precise answer -- like the "i know it when I
see it" definition of obscenity.  IMO, a systems language has two key
characteristics:
1) A systems language expresses software that does not overlay
software written in another language.  "Overlay" includes running over
interpreters and/or kernels.
2) A systems language allows machine independent concepts to be
expressed in the language.  This means I can't call my flimsy language
a systems language by falling back on assembly to fill conceptual gaps
that recur on every platform.  It also rules out assembly itself as a
systems language.  When a concept is machine dependent, e.g. "read the
x86 time stamp counter register", then assembly is perfectly
permissible.

Some on this list have opined that D is not aiming at operating system software, so maybe D is an "aspiring" systems language for the time being.

Regards,
-steve
October 15, 2010
You just ruled out C as a systems language.

In case you are not aware the C standard does not define inline assembler.
So it
is possibile to have a fully conformat Ansi/ISO C compiler that does not
offer
inline assembly.

Actually there are a few commercial C compilers that do not offer inline assembly.

So given your definition C is not a systems programming language.

--
Paulo

"Juanjo Alvarez" <fake@fakeemail.com> wrote in message news:almarsoft.5384689916443906991@news.digitalmars.com...
> On Thu, 14 Oct 2010 23:30:02 +1100, Justin Johansson <no@spam.com> wrote:
>> Touted often around here is the term "systems language".
>> May we please discuss a definition to be agreed upon
>> for the usage this term (at least in this community) and
>> also have some agreed upon examples of PLs that might also
>> be members of the "set of systems languages".
>
> A system language allows you to:.
>
> + Use pointers
> + Do manual memory management + Embed assembler
> + Call the operating system syscalls


October 15, 2010
I asked the similar question on "What do people here use as an IDE?", which i suppose the reason of this topic. And asked if anyone can name a language that can replace C (other than these two).

I got answers like Haskell, F#, C#, Scala, Ada, and there are many more they say.
It looks like people here agree that all languages are system languages.

Lets drop the "system" and use "all" instead, from now on :)

On Fri, 15 Oct 2010 04:59:41 +0300, Simen kjaeraas <simen.kjaras@gmail.com> wrote:

> Not sure which languages do fit this definition, except of
> course C, C++ and D.


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
October 15, 2010
To me it means that it can be used for applications on platforms that provide no operating system support, for example tightly embedded applications or writing an operating system.  This implies that the language run-time (or at least the parts of it that need operating system support) is unavailable, so as much hardware interfacing and resource management as are needed by the application need to be written for the purpose.

C and C++ qualify.  I'm new to D and still learning about it, but with the deprecation of scoped classes and delete, I'm not sure that D qualifies.


On 14/10/10 23:00, Justin Johansson wrote:
> Touted often around here is the term "systems language".
>
> May we please discuss a definition to be agreed upon
> for the usage this term (at least in this community) and
> also have some agreed upon examples of PLs that might also
> be members of the "set of systems languages".
> Given a general subjective term like this, one would have
> to suspect that the D PL is not the only member of this set.
>
> Cheers
> Justin Johansson
>
> PS. my apologies for posting a lame joke recently;
> certainly it was not meant to be disparaging towards
> the D PL and hopefully it was not taken this way.

October 15, 2010
C doesn't have scope mechanism (constructor/destructor) either, though it is a great tool.

On Fri, 15 Oct 2010 12:10:05 +0300, Steven Wawryk <stevenw@acres.com.au> wrote:

>
> To me it means that it can be used for applications on platforms that provide no operating system support, for example tightly embedded applications or writing an operating system.  This implies that the language run-time (or at least the parts of it that need operating system support) is unavailable, so as much hardware interfacing and resource management as are needed by the application need to be written for the purpose.
>
> C and C++ qualify.  I'm new to D and still learning about it, but with the deprecation of scoped classes and delete, I'm not sure that D qualifies.
>
>
> On 14/10/10 23:00, Justin Johansson wrote:
>> Touted often around here is the term "systems language".
>>
>> May we please discuss a definition to be agreed upon
>> for the usage this term (at least in this community) and
>> also have some agreed upon examples of PLs that might also
>> be members of the "set of systems languages".
>> Given a general subjective term like this, one would have
>> to suspect that the D PL is not the only member of this set.
>>
>> Cheers
>> Justin Johansson
>>
>> PS. my apologies for posting a lame joke recently;
>> certainly it was not meant to be disparaging towards
>> the D PL and hopefully it was not taken this way.
>


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/