Panel: Systems Programming in 2014 and Beyond

Sign in to queue

Description

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.

Tags:

C++, Rust, Go, D

Day:

1

Embed

Download

The Discussion

  • User profile image
    Victor Erminpour

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

  • User profile image
    exim

    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!

  • User profile image
    exim

    @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.

  • User profile image
    Carlos C

    Sound stopped working at 32min

  • User profile image
    Charles

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

    C

  • User profile image
    Richard Thompson

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

  • User profile image
    Heavens​Revenge

    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 :)

  • User profile image
    Dejan Lekic

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

  • User profile image
    jiyinyiyong

    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).

  • User profile image
    Shuo Chen

    Dave Ungar: Designer of the prototype-based Self language

  • User profile image
    Charles

    @HeavensRevenge: working on it..

    C

  • User profile image
    jiyinyiyong

    @Shuo Chen: Amazing

  • User profile image
    Charles

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

    C

  • User profile image
    anon

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

Add Your 2 Cents