Reply-To: "Kevin Aylward"
From: "Kevin Aylward"
References: <email@example.com> <01c2b41a$cafe2d80$a893eb41@stupidwin95>
Subject: Re: To C or not to C
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
Date: Mon, 6 Jan 2003 09:07:20 -0000
NNTP-Posting-Date: Mon, 06 Jan 2003 09:07:21 GMT
Jonathan Kirwan wrote:
> On Sun, 5 Jan 2003 16:41:49 -0000, "Kevin Aylward"
>> One reason is that for every person
>> who can do asm, there are probably 10-100 times as many who can do C.
> There is a reason for some of that. Good skill at assembly
> operates at a different level of knowledge. One which is a
> little more technical and detailed. There is a reason why
> undergrad computer science courses introduce assembly as the 2nd
> year, and not the first year, while usually introducing C as a
> freshman class. (I've taught these classes.)
> It's better to have skills at various levels of knowledge, from
> assembly, to C, to BASIC, and so on. The more breadth and the
> more layers one can mentally operate on, the better.
So long as you can switch off the lower level details.
> But just as for every analog engineer who can design from DC to
> daylight, from transistor level to LSI IC level, there are 100
> times as many who can only paste some digital logic together.
> But there are times when you'd rather have the higher level of
> technical skills because competition and the project area make
> this a decided advantage. You simply can't always afford to use
> an expensive DC-DC coverter brick, for example, when some PWM
> software, a transistor, a coil, and a diode is all that's really
Actually, I think this is a poor example.
> Assembly does come in handy, here and there. As you said,
> "horses for courses."
>> I would agree that the distinction is not really between embedded
>> verses say, Windows or Unix applications, as there are large numbers
>> of embedded applications where 100k to 1Meg+ code sizes are the norm.
> There are, as evidenced by cell phones as just one such example.
> But in my universe, placing a complex hybrid in a TO-8 can for
> example, I don't get to have those kinds of nearly unlimited
> resources. If I'm lucky, I have 4k of ram. An external memory
> bus is simply not in the cards.
Luxury, sheer luxury. Of course, we had it tough. We used to work 25
hours a day, pay pit owner tupence a week, and when we came home our dad
used to slice us in two with a bread knife.
>> Its the size of the project that matters.
> No, that's not the determiner. You should be far more careful
> of making such blanket statements, given your penchant to
> warning others about making the same.
> It's *all* the factors which matter. Not just the size.
It was assumed that "size of the project" automatically included what
inherently goes with a large project. Complexity is usually directly
liked to size. The exceptions are not worth noting.
>> I would say that most projects
>> nowadays are the big, difficult ones,
> See below, I'll suggest one to you.
>> all the easy ones have been done,
> A far too blanket statement leading you to an incorrect
> conclusion. First, because all the easy ones haven't been done.
Any that matter have.
This statement is a probabilistic one, and I agree I did not phrase it
well. I meant projects that will make large amounts of money. Sure,
they may be a few here and there at odds with this but overall, the only
guaranteed way to make a small fortune, is to start with a large one,
and lose some of it.
> Second, because even if they had, this doesn't say that assembly
> is a bad choice for more complex ones (see above.)
> And what the heck, let me give you an example of an easy one
> which hadn't been done until I did it. I used a PIC12F629 as a
> power-on reset, brown-out detector, product ID, plus EEPROM chip
> with manual switch input for another CPU. Was easy and lots
> cheaper than other options. Didn't take long to do and I can't
> buy exactly what I needed off the shelf.
But you miss the point. This is all chicken feed. This won't make much
money. The idea is that if you want to hit the big time, is bloody
difficult. If it were easy we would all be as rich as Bill Gates.
The world is far to complicated nowadays to achieve much without
>> well part from yet again another washing machine comtroller, but who
>> wants to do them:-)
> To each their own, eh?
>> I find it much nicer to be working on systems where you don't have to
>> worry about the lower level mundane details. There is a lot more
>> interesting stuff going on, imo.
> The reverse could also be said, Kevin. That the interesting
> stuff is in dealing with those details in order to make a
> product that does more with less than anyone else has managed
> and thus producing a cheaper product with fewer elements needing
> calibration effort and providing better repeatability and
> accuracy, as well. A win-win.
Ahmmm. Ok, this might sound a bit condescending, but its not meant to. I
see where you are coming from, but I got over this attitude at least 10
years ago. Essentially, all this is doing is being a follower to the
leaders, x-ing t's and dotting i's. Sure, we need such diligent people,
but its not for me.
Next time your working on some small itty bitty detail, sit back, and
truly ask yourself. Why am I really doing this shit?
Summed up, "Life is what happens why your busy making other plans" -
SuperSpice, a very affordable Mixed-Mode
Windows Simulator with Schematic Capture,
Waveform Display, FFT's and Filter Design.