Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #25403

Re: C# for Embedded ?...

From Niklas Holsti <niklas.holsti@tidorum.invalid>
Newsgroups comp.arch.embedded
Subject Re: C# for Embedded ?...
Date 2016-11-06 10:03 +0100
Organization Tidorum Ltd
Message-ID <e889ufF7uhjU1@mid.individual.net> (permalink)
References (6 earlier) <e85c3tFh7cdU1@mid.individual.net> <87bmxuifku.fsf@nightsong.com> <nvk2pn$664$1@dont-email.me> <b0e1f9c9-bcc5-4176-b7c3-55cb9614bab8@googlegroups.com> <nvkgkq$egn$1@dont-email.me>

Show all headers | View raw


On 16-11-05 12:41 , Don Y wrote:

[concerning the suitability of some "large" languages for "small" 
applications]

> The example offered has nothing to do with "tight code" -- a microwave
> oven isn't particularly challenging even with the slowest processor
> using an interpreted language!  Rather, it's just matching the
> complexity of the problem to the complexity of the solution.  Likewise
> wrt costs.
>
> You wouldn't bring a backhoe onto your property to plant daisies.
>
> Nor use a spade to excavate for a swimming pool!
>
> Using a backhoe to plant daisies requires you to hire someone capable of
> operating a backhoe.
>
> Using a spade to excavate a swimming pool requires you hire someone
> who has a strong back.
>
> You wouldn't use a Cray to control a microwave oven nor an 8b MCU
> to process airline reservations -- though BOTH could be done (poorly!)

Those are all false analogies, or at least misleading analogies. There 
are just two questions:

1) can the tool do the required job?

2) are there some draw-backs (e.g. cost, delay) associated with the tool?

A backhoe can be used to plant daisies (well, at least to dig the holes, 
if you don't mind the holes being too large), so perhaps (1) is ok. But 
clearly a backhoe costs more than a shovel, probably will take longer 
(including the time taken to bring the backhoe to the site, and remove 
it afterwards), and will mess up your lawn, so point (2) would argue 
against using a backhoe for this job.

Switching from the analogy to the real subject -- programming an 
embedded system -- it is clear that a "large" language can do "small" 
jobs, and can do them as well (from the functional point of view) as a 
"small" language, even for real-time aspects. So question (1) needs no 
discussion.

Question (2) is more interesting. What are the costs, or other 
draw-backs, of using a "large" language (e.g. Ada or C++)? These costs 
and other issues can apply to the development tools and process 
(non-recurring costs) or to the recurring production costs, in 
particular through the required computing resources in the embedded system.

The cost of development tools varies a lot. There are some no-cost tools 
as well for "large" languages as for "small" languages, and there are 
some expensive tools as well for "large" languages as for "small" 
languages. Of course I grant that there are more no-cost or cheap 
assemblers and C compilers for more targets than there are such Ada 
compilers -- unfortunately. And indeed there is probably a correlation 
here: creating a compiler for a large language is more work than for a 
small language, so one can expect a higher compiler price. However, for 
professional work that cost would be spread over several projects.

The nature and cost of the development process does not depend on the 
"size" of the language, but on the criticality of the application. So 
this point has no bearing.

There remains the question of the required embedded computing resources. 
Don's comment on the suitability of Ada for small applications was 
specifically on the "efficiency" of the language, and I understood him 
to mean efficiency in terms of the generated code size and execution 
speed compared, for example, to C or assembly language. As Ada is a 
traditional imperative, procedural language, usually compiled to native 
machine code, with no implicit need for dynamic memory allocation or 
garbage collection, I continue to object to Don's claim that it is 
inefficient for systems such as the one that started this thread.

For controlling a toaster, if one uses assembly language it is probably 
possible to use an MCU with no RAM, such as a tiny AVR. There is no 
fundamental technical reason why a "large"-language compiler could not 
generate code that runs without RAM, for a very small application, but 
one will probably not find such a compiler. However, once the 
application is large enough to require some RAM, the necessary RAM size 
become more a matter of application requirements and coding style than 
of the coding language -- assuming that the programming system links in 
only the required parts of the language-defined libraries.

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

C# for Embedded ?... Chris <xxx.syseng.yyy@gfsys.co.uk> - 2016-11-04 13:12 +0000
  Re: C# for Embedded ?... Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2016-11-04 15:16 +0200
    Re: C# for Embedded ?... Chris <xxx.syseng.yyy@gfsys.co.uk> - 2016-11-04 13:39 +0000
    Re: C# for Embedded ?... Jack <jack4747@gmail.com> - 2016-11-04 07:52 -0700
      Re: C# for Embedded ?... Luke A. Guest <laguest@archeia.com> - 2016-11-30 12:47 +0000
  Re: C# for Embedded ?... Dave Nadler <drn@nadler.com> - 2016-11-04 06:44 -0700
    Re: C# for Embedded ?... Chris <xxx.syseng.yyy@gfsys.co.uk> - 2016-11-04 14:30 +0000
      Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-04 11:54 -0700
        Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-04 12:10 -0700
          Re: C# for Embedded ?... Mike Perkins <spam@spam.com> - 2016-11-06 14:55 +0000
            Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-06 12:46 -0700
              Re: C# for Embedded ?... Mike Perkins <spam@spam.com> - 2016-11-06 20:48 +0000
                Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-06 14:25 -0700
        Re: C# for Embedded ?... kalvin.news@gmail.com - 2016-11-04 12:11 -0700
          Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-04 15:17 -0700
            Re: C# for Embedded ?... Clifford Heath <no.spam@please.net> - 2016-11-05 09:24 +1100
        Re: C# for Embedded ?... Niklas Holsti <niklas.holsti@tidorum.invalid> - 2016-11-04 22:38 +0100
          Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-04 15:12 -0700
            Re: C# for Embedded ?... Clifford Heath <no.spam@please.net> - 2016-11-05 09:21 +1100
            Re: C# for Embedded ?... Niklas Holsti <niklas.holsti@tidorum.invalid> - 2016-11-05 07:21 +0100
              Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-04 23:39 -0700
              Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-04 23:52 -0700
                Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-05 00:44 -0700
                Re: C# for Embedded ?... kalvin.news@gmail.com - 2016-11-05 04:03 -0700
                Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-05 04:41 -0700
                Re: C# for Embedded ?... Niklas Holsti <niklas.holsti@tidorum.invalid> - 2016-11-06 10:03 +0100
                Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-06 14:32 -0800
                Re: C# for Embedded ?... upsidedown@downunder.com - 2016-11-05 15:39 +0200
                Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-05 11:12 -0700
                Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-05 11:35 -0700
                Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-05 11:46 -0700
    Re: C# for Embedded ?... Luke A. Guest <laguest@archeia.com> - 2016-11-30 12:47 +0000
  Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-04 15:37 +0000
    Re: C# for Embedded ?... Tim Wescott <tim@seemywebsite.really> - 2016-11-04 11:32 -0500
      Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-04 18:19 +0000
  Re: C# for Embedded ?... George Neuner <gneuner2@comcast.net> - 2016-11-04 12:07 -0400
    Re: C# for Embedded ?... David Brown <david.brown@hesbynett.no> - 2016-11-04 17:54 +0100
      Re: C# for Embedded ?... Tim Wescott <seemywebsite@myfooter.really> - 2016-11-04 12:54 -0500
    Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-04 18:36 +0000
      Re: C# for Embedded ?... George Neuner <gneuner2@comcast.net> - 2016-11-04 22:00 -0400
        Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-04 21:02 -0700
          Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-05 08:45 +0000
        Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-05 08:38 +0000
          Re: C# for Embedded ?... George Neuner <gneuner2@comcast.net> - 2016-11-06 04:50 -0500
            Re: C# for Embedded ?... Niklas Holsti <niklas.holsti@tidorum.invalid> - 2016-11-06 19:49 +0200
            Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-06 19:05 +0000
    Re: C# for Embedded ?... Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2016-11-06 19:52 +0100
      Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-06 11:10 -0800
        Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-06 22:44 +0000
      Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-06 19:12 +0000
        Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-06 11:33 -0800
          Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-06 22:59 +0000
            Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-06 15:48 -0800
              Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-07 07:45 +0000
                Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-07 00:09 -0800
                Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-07 09:56 +0000
                Re: C# for Embedded ?... Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2016-11-07 18:38 +0100
                Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-07 19:17 +0000
                Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-07 21:29 -0800
                Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-08 08:07 +0000
                Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-08 01:00 -0800
                Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-08 10:19 +0000
  Re: C# for Embedded ?... John Speth <johnspeth@yahoo.com> - 2016-11-04 10:03 -0700
    Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-04 12:04 -0700
    Re: C# for Embedded ?... Clifford Heath <no.spam@please.net> - 2016-11-05 09:13 +1100
      Re: C# for Embedded ?... Ed Prochak <edprochak@gmail.com> - 2016-11-07 11:16 -0800
        Re: C# for Embedded ?... Clifford Heath <no.spam@please.net> - 2016-11-08 21:39 +1100
          Re: C# for Embedded ?... Ed Prochak <edprochak@gmail.com> - 2016-11-11 15:25 -0800
  Re: C# for Embedded ?... kalvin.news@gmail.com - 2016-11-04 11:22 -0700
    Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-04 18:50 +0000
      Re: C# for Embedded ?... kalvin.news@gmail.com - 2016-11-04 11:58 -0700
        Re: C# for Embedded ?... kalvin.news@gmail.com - 2016-11-04 12:17 -0700
      Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-04 12:51 -0700
        Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-04 23:23 +0000
          Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-04 17:35 -0700
            Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-05 09:04 +0000
    Re: C# for Embedded ?... Wouter van Ooijen <wouter@voti.nl> - 2016-11-04 22:55 +0100
    Re: C# for Embedded ?... Luke A. Guest <laguest@archeia.com> - 2016-11-30 15:55 +0000
  Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-04 11:48 -0700
  Re: C# for Embedded ?... asdf <asdf@nospam.com> - 2016-11-05 12:40 +0000
    Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-05 15:48 +0000
      Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-05 11:41 -0700
        Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-05 20:20 +0000
          Re: C# for Embedded ?... Paul Rubin <no.email@nospam.invalid> - 2016-11-05 19:14 -0700
    Re: C# for Embedded ?... upsidedown@downunder.com - 2016-11-05 20:15 +0200
      Re: C# for Embedded ?... Tom Gardner <spamjunk@blueyonder.co.uk> - 2016-11-05 20:25 +0000
        Re: C# for Embedded ?... Don Y <blockedofcourse@foo.invalid> - 2016-11-05 17:15 -0700
  Re: C# for Embedded ?... Mike Perkins <spam@spam.com> - 2016-11-05 21:04 +0000
  Re: C# for Embedded ?... Chris <xxx.syseng.yyy@gfsys.co.uk> - 2016-11-06 00:31 +0000
    Re: C# for Embedded ?... Dave Nadler <drn@nadler.com> - 2016-11-05 18:11 -0700
  Re: C# for Embedded ?... Luke A. Guest <laguest@archeia.com> - 2016-11-30 12:43 +0000

csiph-web