|Ada Lovelace is regarded as the first programmer; that is why the programming language developed for the US Department of Defenses (DoD) was named Ada
The CAN Newsletter Online reports on software that runs on CAN connectable devices. This includes CAN driver programs, protocol stacks for higher-layer protocols, operating systems, and application software. The term software was first used in print by John Wilder Tukey in 1958 (American Mathematical Monthly: “Today the ‘software’ comprising the carefully planned interpretive routines, compilers, and other aspects of automative programming are at least as important to the modern electronic calculator as its ‘hardware’ of tubes, transistors, wires, tapes and the like.”).
The first idea of programming was introduced by the British mathematician Augusta Ada King Byron, Countess of Lovelace (1815 – 1852), a daughter of the poet Lord Byron. She was working with Charles Babbage wrote for his mechanical general-purpose computer, the Analytical Engine, some algorithms to compute Bernoulli numbers intended to be processed by the machine. As such she is considered to be the first computer programmer.
The CAN driver programs are implemented in the firmware of the micro-controllers featuring on-chip CAN modules or controlling stand-alone CAN controllers. The CAN driver software also may provide an interface to the operating system. There is dedicated driver software for Linux operating systems available.
For the standardized CAN-based higher-layer protocols (e.g. CANopen, DeviceNet, J1939) several software provider offer protocol stacks as source and object code. For host controllers there are different programming and runtime environments available that provide interfaces to those protocol stacks. Typical examples include IEC 61131-3 or IEC 61499 function blocks.