Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Building parallel, embedded, and real-time applications with Ada

    Building parallel, embedded, and real-time applications with Ada

    John W. McCormick · 2011

    "The arrival and popularity of multi-core processors has sparked a renewed interest in the development of parallel programs. Similarly, the availability of low-cost microprocessors and sensors has generated a great interest in embedded real-time programs. This book provides students and programmers whose backgrounds are in traditional sequential programming with the opportunity to expand their capabilities into parallel, embedded, real-time and distributed computing. It also addresses the theoretical foundation of real-time scheduling analysis, focusing on theory that is useful for actual applications. Written by award-winning educators at a level suitable for undergraduates and beginning graduate students, this book is the first truly entry-level textbook in the subject. Complete examples allow readers to understand the context in which a new concept is used, and enable them to build and run the examples, make changes, and observe the results"

    Systems & OSProgrammingSoftware Engineering
    Open LibraryAmazon
    Stats for nerds
    3recommend
    4mentions
    3people
    2014–2021years
    100% recommend

    Mentions per year

    20142015201620172018201920202021

    What Hacker News says

    1. pjmlpFeb 2021
      Yep, here some very good books about it, specially relevant given the main subject.

      "Building High Integrity Applications with SPARK"

      https://www.amazon.com/Building-High-Integrity-Applications-...

      "Building Parallel, Embedded, and Real-Time Applications with Ada"

      https://www.amazon.com/Building-Parallel-Embedded-Real-Time-...

      "Embedded Software Development for Safety-Critical Systems"

      https://www.amazon.com/Embedded-Software-Development-Safety-...

      thread
    2. pjmlpOct 2017
      I live in Germany, do not always bother to check if the URL contains locale information.

      Anyone that actually programmed MS-DOS, knows that we used to program directly against the hardware for actual work. MS-DOS was nothing more than what is usually known as monitor in OS literature.

      Continuing the texts from people more relavant to the CS world than me,

      "An operating system is a collection of things that don't fit into a language. There shouldn't be one." - Dan Ingalls on

      https://archive.org/details/byte-magazine-1981-08 https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk....

      "Building Parallel, Embedded, and Real-Time Applications with Ada" - John McCormick

      https://www.amazon.co.uk/Building-Parallel-Embedded-Real-Tim...

      "Project Oberon: The Design Of An Operating System And Compiler" - Niklaus Wirth

      https://www.amazon.co.uk/Project-Oberon-Design-Operating-Com...

      And not to let this just be theory, here are a few examples of commercial products using the language runtime to interface with the hardware.

      http://www.astrobe.com/default.htm

      https://www.mikroe.com/products/#compilers-software

      https://www.ptc.com/en/products/developer-tools

      thread
    3. notalaserMar 2016
      > Good work. Not quite an OS like what they're trying to build, though.

      Absolutely, that's why we managed to get something that worked, despite being at least six times as few people who also had to work on other projects :-). Redox is an order of magnitude more complex, because it's trying to solve problems that are an order of magnitude more complex. I just want to dispel some of the "black magic" air around these things.

      > Side note. I'm peripherally gaining information on doing 8- or 16-bit software for microcontrollers. Hell, I even have some docs (and maybe HDL source) on a 1-bitter although with 8-bit ALU. Do you have any resources I can give to new people showing the tricks people use to reliably do complex or fast stuff with them? SymbOS would probably be high-end of that but I intend to use them in peripheral controllers, monitoring, and such.

      You mean re. digital design, or microcontroller software?

      If it's the latter, I'm not sure what to recommend... most of what I know is stuff that every programmer knows + experience you get out of working on embedded devices (and, of course, failing a lot). Fundamentally, programming these devices is no different than programming other computing devices (save, perhaps, for the Harvard architecture, but that's fairly inconsequential), you just work based on other assumptions regarding what's acceptable in terms of failure, performance degradation and so on.

      I guess related resources that might help a lot would be:

      * Jean Labrosse has a series on his uC/OS kernels. I think the latest is uC/OS-III. I haven't read it, but Labrosse's work in general is extraordinary, so this book may be what you're looking for.

      * If you don't mind Ada, Building Parallel, Embedded, and Real-Time Applications with Ada is a pretty good book on the subject, too. I've skimmed it and at least the aspects related to reliability are well-treated.

      * If you haven't already read it, van der Linden's "Expert C Programming" is still a very good read. I don't doubt that languages such as Rust and Go are the future for programming higher-end systems, but I don't see C going away on the lower-end in the next 10-15 years, and frankly, I don't think Rust solves too many of the problems I encounter on these systems.

      * For dealing with resource-constrained systems in general, Bitsavers.org has exceptional stuff, but it requires some digging and extrapolation. Old computers are a semi-serious hobby of mine -- it's fun, but I also learned a lot of interesting things from studying old systems.

      Good recommendations may come from Ganssle's (www.ganssle.com) Embedded Muse, too.

      Oh, speaking of which...

      > I have text files and PDF's I send to people that ask.

      ...can I ask :-)?

      thread
    4. progmanSep 2014
      > In Ada's case, the high cost of development systems

      Not necessarily.

      http://www.adacore.com/press/gnat-gpl-for-bare-board-arm/

      Look also for the book "Building Parallel, Embedded, and Real-Time Applications with Ada" by McCormick, Singhoff and Hugues.

      Some prominent embedded engineers wonder why Ada is not used much more:

      http://www.embedded.com/electronics-blogs/break-points/40082...

      > Rise of UNIX use in the enterprise

      Ada is available for Windows, Linux, OSX and ARM. GNAT/GCC is part of many Linux distros (usually Ada95). You can also download Ada2012 and Ada2014 compilers and tools from Adacore's website.

      > Decline of Pascal based languages.

      Ada looks a bit like Pascal but the language is far superior. In my opinion Ada's syntax makes software easier to maintain than C/Java like syntax. Even after years I have no problem to read into Ada code. C++ code can be difficult to read just after a short time.

      I think the real reason of Ada's decline is that it requires a lot of discipline of the developer. The same kind of discipline is required in Haskell. You cannot just sit down and code. You have to think a lot about your design before you hit the first key. Most developers don't like this, they want quick (and dirty) solutions, and they get it with C and C++.

      thread

    Related

    Cover of Embedded Software Development for Safety-Critical Systems
    2018–2024

    Embedded Software Development for Safety-Critical Systems

    Chris Hobbs
    3 recommend · 5
    Cover of Assembly language for the PC
    2009–2021

    Assembly language for the PC

    John Socha
    2 recommend · 3
    Building High Integrity Applications with SPARKJohn W. McCormick
    2017–2026

    Building High Integrity Applications with SPARK

    John W. McCormick
    4 recommend · 24
    Cover of Object-Oriented Analysis and Design with Applications
    2012–2025

    Object-Oriented Analysis and Design with Applications

    Grady Booch
    7 recommend · 13
    Cover of Advanced programming in the Unix environment
    2008–2025

    Advanced programming in the Unix environment

    W. Richard Stevens
    100 recommend · 153
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    Cover of Programming in Ada 2012
    2014–2021

    Programming in Ada 2012

    John Barnes
    3 recommend · 6
    Cover of An Embedded Software Primer
    2012

    An Embedded Software Primer

    David E. Simon
    3 recommend · 3