digitalmars.D - [nomenclature] systems language
- Justin Johansson <no spam.com> Oct 14 2010
- so <so so.do> Oct 14 2010
- Moritz Warning <moritzwarning web.de> Oct 14 2010
- Justin Johansson <no spam.com> Oct 14 2010
- Norbert Nemec <Norbert Nemec-online.de> Oct 14 2010
- so <so so.do> Oct 14 2010
- "Paulo Pinto" <pjmlp progtools.org> Oct 14 2010
- Ezneh <petitv.isat gmail.com> Oct 14 2010
- Paulo Pinto <pjmlp progtools.org> Oct 14 2010
- Jimmy Cao <jcao219 gmail.com> Oct 14 2010
- Juanjo Alvarez <fake fakeemail.com> Oct 14 2010
- "Paulo Pinto" <pjmlp progtools.org> Oct 14 2010
- "Nick Sabalausky" <a a.a> Oct 14 2010
- sybrandy <sybrandy gmail.com> Oct 14 2010
- "Simen kjaeraas" <simen.kjaras gmail.com> Oct 14 2010
- =?UTF-8?B?IkrDqXLDtG1lIE0uIEJlcmdlciI=?= <jeberger free.fr> Oct 16 2010
- Justin Johansson <no spam.com> Oct 16 2010
- =?UTF-8?B?IkrDqXLDtG1lIE0uIEJlcmdlciI=?= <jeberger free.fr> Oct 16 2010
- "Simen kjaeraas" <simen.kjaras gmail.com> Oct 14 2010
- SK <sk metrokings.com> Oct 14 2010
- so <so so.do> Oct 15 2010
- Steven Wawryk <stevenw acres.com.au> Oct 15 2010
- so <so so.do> Oct 15 2010
- Steven Wawryk <stevenw acres.com.au> Oct 16 2010
- dsimcha <dsimcha yahoo.com> Oct 15 2010
- Steven Wawryk <stevenw acres.com.au> Oct 16 2010
- "Denis Koroskin" <2korden gmail.com> Oct 16 2010
- SK <sk metrokings.com> Oct 15 2010
- "Paulo Pinto" <pjmlp progtools.org> Oct 16 2010
- Juanjo Alvarez <fake fakeemail.com> Oct 16 2010
- "Paulo Pinto" <pjmlp progtools.org> Oct 16 2010
- so <so so.do> Oct 16 2010
- so <so so.do> Oct 16 2010
- div0 <div0 sourceforge.net> Oct 16 2010
- Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> Oct 16 2010
- "Paulo Pinto" <pjmlp progtools.org> Oct 16 2010
- div0 <div0 sourceforge.net> Oct 16 2010
- Walter Bright <newshound2 digitalmars.com> Oct 29 2010
- Iain Buclaw <ibuclaw ubuntu.com> Oct 29 2010
- Walter Bright <newshound2 digitalmars.com> Oct 30 2010
- Don <nospam nospam.com> Oct 30 2010
- Walter Bright <newshound2 digitalmars.com> Oct 30 2010
- Bruno Medeiros <brunodomedeiros+spam com.gmail> Nov 09 2010
- so <so so.do> Oct 16 2010
- so <so so.do> Oct 16 2010
- SK <sk metrokings.com> Oct 16 2010
- Bruno Medeiros <brunodomedeiros+spam com.gmail> Oct 29 2010
- retard <re tard.com.invalid> Oct 29 2010
- Bruno Medeiros <brunodomedeiros+spam com.gmail> Nov 09 2010
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.
Oct 14 2010
Jokes? sure! System language is a language you can "actually" write "code" with it. On Thu, 14 Oct 2010 15:30:02 +0300, 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. 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/
Oct 14 2010
On Thu, 14 Oct 2010 23:30:02 +1100, 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.
From my pov, a systems programming language has pointers. That's all.
Oct 14 2010
On 14/10/2010 11:48 PM, Moritz Warning wrote:On Thu, 14 Oct 2010 23:30:02 +1100, 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.
From my pov, a systems programming language has pointers. That's all.
And therefore candidate languages might include ... and exclude ...?
Oct 14 2010
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.
Oct 14 2010
That is too much to comprehend for some people. They think if a language is "able" to do something it doesn't matter how many million lines or knowledge to do that simple thing, and you can simply put "able to do certain stuff" in that languages feature list. On Thu, 14 Oct 2010 16:08:06 +0300, Norbert Nemec <Norbert nemec-online.de> wrote: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.
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 14 2010
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.
Oct 14 2010
Paulo Pinto 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.
I would consider that too but ... Something goes wrong with this : http://www.jnode.org/ On OS in ASM and Java only (99% Java) ... But Java is not categorized as a systems programming language.
Oct 14 2010
Am 14.10.2010 18:08, schrieb Ezneh:Paulo Pinto 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.
I would consider that too but ... Something goes wrong with this : http://www.jnode.org/ On OS in ASM and Java only (99% Java) ... But Java is not categorized as a systems programming language.
http://killerstuff.net/publications/device_drivers_in_java_paper_from_qnx.pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92.1892&rep=rep1&type=pdf Someone else said that any language with pointers is a systems programming language. So that makes C# a systems programming language or for that matter Pascal. For me, if you can write the majority of an OS in a specific language, then you can use it for systems programming. -- Paulo
Oct 14 2010
--90e6ba5bbb57761d1b04929b6390 Content-Type: text/plain; charset=ISO-8859-1 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.
--90e6ba5bbb57761d1b04929b6390 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I think that would be too broad.<div>You can write an operating system in P= ython if you wanted to.</div><div><a href=3D"http://unununium.org/">http://= unununium.org/</a><br><div><br><div class=3D"gmail_quote">On Thu, Oct 14, 2= 010 at 10:57 AM, Paulo Pinto <span dir=3D"ltr"><<a href=3D"mailto:pjmlp = progtools.org">pjmlp progtools.org</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex;">I would consider a systems programming lang= uage any language that you<br> can use to build operating systems, even if a little help of assembly<br> language is<br> required.<br> <br> <br> "Norbert Nemec" <Norbert Nemec-online.de> wrote in message<= br> news:i96vcl$11oi$1 digitalmars.com...<br> <div><div></div><div class=3D"h5">>A language that is adequate for syste= ms programming.<br> ><br> > This leaves "adequate" and "systems programming" f= or definition...<br> ><br> ><br> ><br> ><br> > On 10/14/2010 02:30 PM, Justin Johansson wrote:<br> >> Touted often around here is the term "systems language".= <br> >><br> >> May we please discuss a definition to be agreed upon<br> >> for the usage this term (at least in this community) and<br> >> also have some agreed upon examples of PLs that might also<br> >> be members of the "set of systems languages".<br> >> Given a general subjective term like this, one would have<br> >> to suspect that the D PL is not the only member of this set.<br> >><br> >> Cheers<br> >> Justin Johansson<br> >><br> >> PS. my apologies for posting a lame joke recently;<br> >> certainly it was not meant to be disparaging towards<br> >> the D PL and hopefully it was not taken this way.<br> ><br> <br> <br> </div></div></blockquote></div><br></div></div> --90e6ba5bbb57761d1b04929b6390--
Oct 14 2010
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
Oct 14 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
Oct 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).
Oct 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
Oct 14 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
Oct 14 2010
Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable so wrote: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 =
language that can replace C (other than these two). =20 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=
=20
languages". A language may be "powerful" without being a systems language. Jerome --=20 mailto:jeberger free.fr http://jeberger.free.fr Jabber: jeberger jabber.fr
Oct 16 2010
On 16/10/2010 9:02 PM, "Jérôme M. Berger" wrote:so wrote: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.
languages". A language may be "powerful" without being a systems language. Jerome
Excellent counterpoint. Could not have said it better. Justin
Oct 16 2010
Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable so wrote:I'll just help you, because i am so nice! =20 If you go read you will see i asked the question "Name one?" quoting "I=
it wasn't for C++, there are plenty of other powerfull languages out there." =20 We are good so far? I hope yes! You see that little sentence which is almost the first half of quote? "If it wasn't for C++"? I hope you do... =20 Now someone with a little reading comprehension (i suppose i do have some) would interpret that line like "Powerfull languages that could replace C++". =20 So i did and asked if he could name one, it wasn't hard no? Come on, you can do better than this... =20 Sorry if i am being harsh. =20
--=20 mailto:jeberger free.fr http://jeberger.free.fr Jabber: jeberger jabber.fr
Oct 16 2010
Simen kjaeraas <simen.kjaras gmail.com> wrote:My understanding of the term: - Compiles to native code
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
Oct 14 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
Oct 14 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/
Oct 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.
Oct 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/
Oct 15 2010
C does allow allocation on the stack. But of course you're right that it doesn't have constructors/destructors, nor classes and OO. It's interesting that device drivers for linux use a (partial) manual implementation of polymorphism and require a lot of boilerplate. so wrote: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/
Oct 16 2010
== Quote from Steven Wawryk (stevenw acres.com.au)'s articleC 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.
Why? The elimination of scope and delete just serves to uglyify the relevant concepts (which are unsafe and infrequently used) and save keywords. The concepts can still be expressed: scope T -> std.typecons.scoped!T delete foo -> foo.__dtor(); GC.free(cast(void*) foo);
Oct 15 2010
dsimcha wrote:== Quote from Steven Wawryk (stevenw acres.com.au)'s articleC 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.
Why? The elimination of scope and delete just serves to uglyify the relevant concepts (which are unsafe and infrequently used) and save keywords. The concepts can still be expressed: scope T -> std.typecons.scoped!T
Good - ugly is better than nothing. Can this be used for class members of struct's too?delete foo -> foo.__dtor(); GC.free(cast(void*) foo);
If I wrote my own minimal run-time with no garbage collector I guess GC.free would be replaced by my own memory manager's free function. Does D allow me to hook my own allocation function into new?
Oct 16 2010
On Sun, 17 Oct 2010 07:22:46 +0400, Steven Wawryk <stevenw acres.com.au> wrote:dsimcha wrote:== Quote from Steven Wawryk (stevenw acres.com.au)'s articleC 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.
relevant concepts (which are unsafe and infrequently used) and save keywords. The concepts can still be expressed: scope T -> std.typecons.scoped!T
Good - ugly is better than nothing. Can this be used for class members of struct's too?delete foo -> foo.__dtor(); GC.free(cast(void*) foo);
If I wrote my own minimal run-time with no garbage collector I guess GC.free would be replaced by my own memory manager's free function. Does D allow me to hook my own allocation function into new?
New uses gc_malloc under the hood, override it and you should be fine.
Oct 16 2010
On Thu, Oct 14, 2010 at 11:39 PM, Paulo Pinto <pjmlp progtools.org> wrote:You just ruled out C as a systems language.
No, C is a systems language and fits my definition. 1) C need not overlay software written in another language 2) C allows expression of essential machine independent concepts How did inline assembly become a requirement? For machine dependent code, I can just link C with assembly. But it's still easy to nitpick against C. For example, ANSI C cannot express the family of atomic operations, which one could argue are essential machine independent concepts.
Oct 15 2010
Maybe you should improve your english skills. I was being sarcastic. Next time, please read my email until the end, before hitting the reply button. One of the Juanjo's requirements for a languange to be considered a systems programming language, is for it to include support for inline assembler. I was just making a point that C fails his definition, because the inline assembler you find in most compilers is a vendor extension to the standard. No one in his perfect mind would say that C is not a systems programming language, but it fails the Juanjo's checkpoint list, hence my reply. -- Paulo "SK" <sk metrokings.com> wrote in message news:mailman.628.1287155971.858.digitalmars-d puremagic.com...On Thu, Oct 14, 2010 at 11:39 PM, Paulo Pinto <pjmlp progtools.org> wrote:You just ruled out C as a systems language.
No, C is a systems language and fits my definition. 1) C need not overlay software written in another language 2) C allows expression of essential machine independent concepts How did inline assembly become a requirement? For machine dependent code, I can just link C with assembly. But it's still easy to nitpick against C. For example, ANSI C cannot express the family of atomic operations, which one could argue are essential machine independent concepts.
Oct 16 2010
On Sat, 16 Oct 2010 10:36:48 +0200, "Paulo Pinto" <pjmlp progtools.org> wrote:No one in his perfect mind would say that C is not a systems programming language, but it fails the Juanjo's checkpoint list, hence my reply.
In my defense I must say that I never used a C compiler without an inline assembler.
Oct 16 2010
Visual C++ 64bit no longer supports inline assembly, but they do offer intrinsics instead http://blogs.msdn.com/b/vcblog/archive/2007/10/18/new-intrinsic-support-in-visual-studio-2008.aspx "Juanjo Alvarez" <fake fakeemail.com> wrote in message news:almarsoft.3746932674979703085 news.digitalmars.com...On Sat, 16 Oct 2010 10:36:48 +0200, "Paulo Pinto" <pjmlp progtools.org> wrote:No one in his perfect mind would say that C is not a systems programming language, but it fails the Juanjo's checkpoint list, hence my reply.
In my defense I must say that I never used a C compiler without an inline assembler.
Oct 16 2010
Not really, you got to read it again. On Sat, 16 Oct 2010 13:02:17 +0300, J=E9r=F4me M. Berger <jeberger free.= fr> = wrote:so wrote: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 nam=
language that can replace C (other than these two). I got answers like Haskell, F#, C#, Scala, Ada, and there are many mo=
they say. It looks like people here agree that all languages are system languag=
languages". A language may be "powerful" without being a systems language. Jerome
-- = Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 16 2010
No doubt. On Sat, 16 Oct 2010 14:11:12 +0300, Justin Johansson <no spam.com> wrote= :On 16/10/2010 9:02 PM, "J=E9r=F4me M. Berger" wrote:so wrote: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 na=
a language that can replace C (other than these two). I got answers like Haskell, F#, C#, Scala, Ada, and there are many m=
they say. It looks like people here agree that all languages are system =
languages.
languages". A language may be "powerful" without being a systems language. Jerome
Excellent counterpoint. Could not have said it better. Justin
-- = Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 16 2010
On 14/10/2010 13:30, 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.
Something not mentioned so far: The language must be self hostable; i.e. you need to be able to write it's runtime in the language itself. -- My enormous talent is exceeded only by my outrageous laziness. http://www.ssTk.co.uk
Oct 16 2010
On 10/16/10 6:39 CDT, div0 wrote:On 14/10/2010 13:30, 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.
Something not mentioned so far: The language must be self hostable; i.e. you need to be able to write it's runtime in the language itself.
Solid one! Andrei
Oct 16 2010
Would that make Smalltalk, Lisp, Oberon, Modula-3, Component Pascal, Ada, Mac Pascal system programming languages? All of them were used to write operating systems, in some of them the operating system and language are the same, kind of. -- paulo "div0" <div0 sourceforge.net> wrote in message news:i9c2ue$30f1$1 digitalmars.com...On 14/10/2010 13:30, 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.
Something not mentioned so far: The language must be self hostable; i.e. you need to be able to write it's runtime in the language itself. -- My enormous talent is exceeded only by my outrageous laziness. http://www.ssTk.co.uk
Oct 16 2010
On 16/10/2010 19:27, Paulo Pinto wrote:Would that make Smalltalk, Lisp, Oberon, Modula-3, Component Pascal, Ada, Mac Pascal system programming languages? All of them were used to write operating systems, in some of them the operating system and language are the same, kind of.
Well true, but the main problem with a lot of those systems is that you can only program on them in that language; they are all special execptions rather than general computers. They used to make h/w Lisp machines back in the late 70s, where all the OS was written in Lisp; but you could only program them in Lisp. I wonder how they did the garbage collector as Lisp doesn't have pointers? I guess they either wrote the garbage collector entierly in assembly or added a bunch of Lisp functions to allow them to manipulate the address space, effectively added pointers to the language. For C, in principle you only need a trivial amount of assembly to handle the processor specific calls to switch privilege levels and load process/thread state. For something like Java/Python you'd need a huge amount of assembly if you wanted to avoid using another lower level language. There's nothing special about a systems language; it's just they have explicit facilities that make certain low level functionality easier to implement. You could implement an OS in BASIC using PEEK/POKE if you mad enough. -- My enormous talent is exceeded only by my outrageous laziness. http://www.ssTk.co.uk
Oct 16 2010
div0 wrote:There's nothing special about a systems language; it's just they have explicit facilities that make certain low level functionality easier to implement. You could implement an OS in BASIC using PEEK/POKE if you mad enough.
I suppose it's like the difference between porn and art. It's impossible to write a bureaucratic rule to distinguish them, but it's easy to tell the difference just by looking at the two. "I know it when I see it!"
Oct 29 2010
== Quote from Walter Bright (newshound2 digitalmars.com)'s articlediv0 wrote:There's nothing special about a systems language; it's just they have explicit facilities that make certain low level functionality easier to implement. You could implement an OS in BASIC using PEEK/POKE if you mad enough.
write a bureaucratic rule to distinguish them, but it's easy to tell the difference just by looking at the two. "I know it when I see it!"
Also known as the Elephant test: "is hard to describe, but instantly recognisable when spotted".
Oct 29 2010
Iain Buclaw wrote:== Quote from Walter Bright (newshound2 digitalmars.com)'s articlediv0 wrote:There's nothing special about a systems language; it's just they have explicit facilities that make certain low level functionality easier to implement. You could implement an OS in BASIC using PEEK/POKE if you mad enough.
write a bureaucratic rule to distinguish them, but it's easy to tell the difference just by looking at the two. "I know it when I see it!"
Also known as the Elephant test: "is hard to describe, but instantly recognisable when spotted".
Yeah. I think it's a waste of our time to try and define what a systems programming language is. For example, sure, you can write a gc in Java. The problem is, it is not a useful gc. Ditto for anything else "but you can do that in this non-systems language, so your rule is wrong."
Oct 30 2010
Walter Bright wrote:Iain Buclaw wrote:== Quote from Walter Bright (newshound2 digitalmars.com)'s articlediv0 wrote:There's nothing special about a systems language; it's just they have explicit facilities that make certain low level functionality easier to implement. You could implement an OS in BASIC using PEEK/POKE if you mad enough.
impossible to write a bureaucratic rule to distinguish them, but it's easy to tell the difference just by looking at the two. "I know it when I see it!"
Also known as the Elephant test: "is hard to describe, but instantly recognisable when spotted".
Yeah. I think it's a waste of our time to try and define what a systems programming language is. For example, sure, you can write a gc in Java. The problem is, it is not a useful gc. Ditto for anything else "but you can do that in this non-systems language, so your rule is wrong."
Did the term "systems programming language" exist before C? I mean, asm isn't a "systems programming language", it's asm! Seems to me that it's a market segment term, which just means "competes with C".
Oct 30 2010
Don wrote:Did the term "systems programming language" exist before C? I mean, asm isn't a "systems programming language", it's asm! Seems to me that it's a market segment term, which just means "competes with C".
The first I encountered the term was the BLISS programming language. I think it means Basic Language for Implementation of Systems Software. BLISS predates C. http://en.wikipedia.org/wiki/BLISS
Oct 30 2010
On 30/10/2010 02:13, Walter Bright wrote:div0 wrote:There's nothing special about a systems language; it's just they have explicit facilities that make certain low level functionality easier to implement. You could implement an OS in BASIC using PEEK/POKE if you mad enough.
I suppose it's like the difference between porn and art. It's impossible to write a bureaucratic rule to distinguish them, but it's easy to tell the difference just by looking at the two. "I know it when I see it!"
In the vast majority of cases, yes, but is it *always* easy to tell the difference? Because if a bureaucratic rule was to made, it would have to work for *all* cases, otherwise it would not be very useful. Consider Chloe Sevigny's blowjob scene in the end of The Brown Bunny (an art house film). Art or porno? Or the photograph "Portrait of My British Wife" by Panayiotis Lamprou: http://www.guardian.co.uk/artanddesign/2010/sep/17/panayiotis-lamprou-portr it-wife-photography which will be displayed in the National Portrait Gallery. Art or porno? -_-' -- Bruno Medeiros - Software Engineer
Nov 09 2010
I'll just help you, because i am so nice! If you go read you will see i asked the question "Name one?" quoting "If= = it wasn't for C++, there are plenty of other powerfull languages out = there." We are good so far? I hope yes! You see that little sentence which is almost the first half of quote? "I= f = it wasn't for C++"? I hope you do... Now someone with a little reading comprehension (i suppose i do have som= e) = would interpret that line like "Powerfull languages that could replace = C++". So i did and asked if he could name one, it wasn't hard no? Come on, you can do better than this... Sorry if i am being harsh. On Sat, 16 Oct 2010 13:02:17 +0300, J=E9r=F4me M. Berger <jeberger free.= fr> = wrote:so wrote: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 nam=
language that can replace C (other than these two). I got answers like Haskell, F#, C#, Scala, Ada, and there are many mo=
they say. It looks like people here agree that all languages are system languag=
languages". A language may be "powerful" without being a systems language. Jerome
-- = Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 16 2010
Wow you are hopeless, i give up. On Sat, 16 Oct 2010 15:48:17 +0300, J=E9r=F4me M. Berger <jeberger free.= fr> = wrote:so wrote:I'll just help you, because i am so nice! If you go read you will see i asked the question "Name one?" quoting =
it wasn't for C++, there are plenty of other powerfull languages out there." We are good so far? I hope yes! You see that little sentence which is almost the first half of quote?=
"If it wasn't for C++"? I hope you do... Now someone with a little reading comprehension (i suppose i do have some) would interpret that line like "Powerfull languages that could replace C++". So i did and asked if he could name one, it wasn't hard no? Come on, you can do better than this... Sorry if i am being harsh.
-- = Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 16 2010
On Sat, Oct 16, 2010 at 1:36 AM, Paulo Pinto <pjmlp progtools.org> wrote:Maybe you should improve your english skills. I was being sarcastic.
I ran a diagnostic on my English and guess what? It's just fine! What's not fine is the way Gmail displays threads. At least in my configuration, it looked like you were responding to my post. So now I'm a more enlightened Gmailer.
Oct 16 2010
On 14/10/2010 13:30, 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.
It's those programming languages whose type systems can be used to move and navigate across water (but can sink if you rock it enough). Compare to other languages whose type systems merely floats on water, but don't move anywhere... (although some guarantee they will never sink no matter how much you rock it!) -- Bruno Medeiros - Software Engineer
Oct 29 2010
Fri, 29 Oct 2010 20:54:03 +0100, Bruno Medeiros wrote:On 14/10/2010 13:30, 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.
It's those programming languages whose type systems can be used to move and navigate across water (but can sink if you rock it enough).
It's probably very hard to find an accurate definition for this kind of term. The same can be said about terms such as 'functional language'. Many 'pragmatic' software engineering terms are based on emotions, broken mental models, inaccurate or purposefully wrong information. In my opinion these are all subtypes of a thing called 'marketing bullshit'.Compare to other languages whose type systems merely floats on water, but don't move anywhere... (although some guarantee they will never sink no matter how much you rock it!)
You can easily create a language with guarantees about safety: no segfaults, no index out of bounds errors, no overflows etc. Some of these languages even guarantee termination. However, they're not Turing complete in that case, which reduces their usefulness. Another thing is, these guarantees can be expensive. However, the trend has been towards higher level languages. One reason is Moore's law, you have achieved the same results with a N times slower implementation using the N times faster hardware.
Oct 29 2010
On 29/10/2010 21:30, retard wrote:Fri, 29 Oct 2010 20:54:03 +0100, Bruno Medeiros wrote:On 14/10/2010 13:30, 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.
It's those programming languages whose type systems can be used to move and navigate across water (but can sink if you rock it enough).
It's probably very hard to find an accurate definition for this kind of term. The same can be said about terms such as 'functional language'. Many 'pragmatic' software engineering terms are based on emotions, broken mental models, inaccurate or purposefully wrong information. In my opinion these are all subtypes of a thing called 'marketing bullshit'.Compare to other languages whose type systems merely floats on water, but don't move anywhere... (although some guarantee they will never sink no matter how much you rock it!)
You can easily create a language with guarantees about safety: no segfaults, no index out of bounds errors, no overflows etc. Some of these languages even guarantee termination. However, they're not Turing complete in that case, which reduces their usefulness. Another thing is, these guarantees can be expensive. However, the trend has been towards higher level languages. One reason is Moore's law, you have achieved the same results with a N times slower implementation using the N times faster hardware.
Why this serious reply? Perhaps I fell victim to an overly accurate analogy, but my previous post was a joke/satire. -- Bruno Medeiros - Software Engineer
Nov 09 2010









so <so so.do> 