What is B#?

A modern, object-oriented language designed explicitly for small footprint embedded systems.

B# High-Level Mapping

In order to support these features efficiently, high-level B# code is mapped directly to a compact instruction set which is interpreted by an optimized embedded virtual machine (EVM) called B# EVM.

Back Home

B# Tour

Our Tour of B# is available!

Please contact us at bsharp@DeepObjectKnowledge.com and we will be pleased to email you a copy of the PDF document.

Back Home

B# Book

Why B# and Why This Book?

Using the B# language, we present an incremental and systematic way of moving from a procedural to an OO approach that works for the embedded systems developer.

Embedded systems have unprecedented opportunities as the cost of building hardware products dips lower and lower. On the other hand, the complexity of embedded software is headed in the opposite direction. A similar trend happened in the Information Technology (IT) field decades ago. As software exploded into millions of lines of code, IT professionals were forced to adopt the object-oriented (OO) approach and the OO languages to cope with the increased complexity.

Unfortunately, based on code reviews in many organizations, most fail to exploit the OO paradigm. Basic, yet very important, learning steps are skipped over when they transition from the procedural to the OO approach. What separates successful organizations from unsuccessful organizations in building OO software is not just realizing the benefits of the encapsulation principle (classes and setters/getters) but rather extending their understanding and utilization of inheritance and polymorphism (interfaces and abstract classes) and the most important basic design patterns such as inversions of control, abstract factories, factory methods, facades, and singletons.

There are however few (if any) documented ways that take us from a procedural embedded approach to an OO embedded one. That is what this book is about. Using the B# language, we present an incremental and systematic way of moving from a procedural to an OO approach that works for the embedded systems developer.

Back Home

Free B# SDK

Our new B# SDK will be available soon!
Sign up to our announcement list for the latest news.