Panel: Systems Programming in 2014 and Beyond

Download this episode

Download Video

Download captions

Download Captions

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

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    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.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.