Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Panel: Systems Programming in 2014 and Beyond

1 hour, 5 minutes, 54 seconds


Right click “Save as…”

C++, D, Go, Rust. Each of these languages are systems programming languages. By definition, a systems programming language is used to construct software systems that control underlying computer hardware and to provide software platforms that are used by higher level application programming languages used to build applications and services. Often, systems languages are used to build operating systems, compilers, device drivers, factory automation, robots, high performance mathematical software, AAA games (Xbox, PlayStation, PC), even computational art. It goes without saying that today there is a significant overlap between "application" and "system". Or is there?

In this panel, we'll address the past, present and future of systems programming languages with the authors of four systems languages currently in different stages of evolution, from brand new (Rust) to established and widely used in practice (C++). This is an interactive panel, so we expect the audience in the room, which will be composed of language designers and implementers, to drive the conversation.

Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • Victor ErminpourVictor Erminpour

    Uh, sorry but none of those are "systems programming languages."
    C and assembler programmers would beg to differ.

  • eximexim

    Rob, Ken and others on golang team - please put back your ego and just add generics to the language.

    We're not asking exceptions, sum types, pattern matching, etc... Just plain simple generics.

    Thank you in advance!

  • eximexim

    @Victor "Systems" nowadays have broad meaning - Cloud systems, distributed systems, etc... even Erlang can be considered as systems [management] programming language.

    So it is not about low-level kernel programming.

  • Carlos CCarlos C

    Sound stopped working at 32min

  • CharlesCharles Welcome Change

    @Carlos C: In what format? I can't repro in the MP4 High file, for example.


  • Richard ThompsonRichard Thompson

    Is there a summary somewhere? An hour is a bit long for me to listen to. :(

  • Eric AguiarHeavens​Revenge Know Thyself

    My definition of a "systems" programming language pretty much goes as this +- a couple nitpicky points:

    1. A program whether statically compiled or dynamic memory wise is completely self-contained when targeting a certain platform of execution on the target OS of ANY patchlevel which says it maintains compatibility.
    2. The resultant program must also play nicely in kernel space if required in which the host language both provides and has mechanisms and semantics to accommodate kernel module/driver style communication to enable sane and safe kernel citizenship.

    BTW Charles I'm waiting for Niko Matsakis' Rust talk to be available if you would be so kind :)

  • Dejan LekicDejan Lekic

    Any language with inline assembly, and pointers may be considered a systems programming language. D has both. Enough said.

  • Who's Dave? His two questions really caught me and they were my major confusions in the past years I was learning programming (in dynamic languages though).

  • Shuo ChenShuo Chen

    Dave Ungar: Designer of the prototype-based Self language

  • CharlesCharles Welcome Change

    @HeavensRevenge: working on it..


  • @Shuo Chen: Amazing

  • CharlesCharles Welcome Change

    Turns out there are some technical issues with Niko's recording. Hoping it can be salvaged.


  • anonanon

    @Victor Erminpour Agreed. C, Assembly and Node.js are the only systems languages we need in our lives.

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.