The software development process.

Yes. That also has the advantage that, depending on the debugger, the names will show up in debug displays.

--
"I was born lazy.  I am no lazier now than I was forty years
 ago, but that is because I reached the limit forty years ago. 
 You can't go beyond possibility."              -- Mark Twain
Reply to
CBFalconer
Loading thread data ...

With contemporary tools, usually you just right click on "MAGIC_NUMBER" and tell the IDE "goto definition of..." or somesuch.

I'd much rather see code that does something like TIMER1CTRL |= TIMER_START than *(BYTE *) 0x308 |= 0x20 ...

Reply to
Joel Kolstad

Yeah, but when "MAGIC_NUMBER" resolves to "INTEGER_TO_BE_SET" which resolves to "I_THINK_ITS_THIS" which Finally resolves to "2", then you have obfuscated things totally. If you have a single layer, then that is manageable and readable...

Charlie

Reply to
Charlie Edmondson

Well said, sir!

I like to puzzle beginning Lisp programmers with something like:

(setf a 'b) (setf b 'c) (setf c 'd) (eval (eval d))

the point being that we don't want to create puzzles like this needlessly.

Reply to
mc

There are some vendors who compete on the basis of technical quality, value for money, and that sort of thing - but they are typically small in the market. If Eagle grows too big, it will probably end up like the big players (either on its own, or bought out by one of them). Perhaps I'm just cynical, but it seems to be the way of things these days. The only way to be sure of your freedom is to make sure all file formats are open and documented, and if possible use open source software. Unfortunately, the open source EDA market is too small and immature at the moment, and will likely remain that way until someone figures out how to make money out of it.

Reply to
David Brown

Is that based on personal experience, or just quoted from Microsoft's "get the facts" campaign? For the huge majority of users - corporate or otherwise - OpenOffice covers all the features of MS Office that are actually used. It can load and save MS format documents and templates perfectly well - you get bigger problems with mixing MS Office versions. The retraining required consists of showing users where to find the new programs on their start menu - even the slowest learner will pick it up in an hour. This is very different from the latest MS Office, which is completely different in appearance from other versions, and will need a lot more training.

There are some offices that make extensive use of macros and COM objects, and they are going to have much bigger issues. But they are a minority - by far the biggest use of VB macros is for viruses. There are certainly some features of MS Office that make it a better choice for some uses, but the same applies to OpenOffice.

At our (fairly small) office, we stopped installing MS Office a couple of years ago - every new installation since then has been OpenOffice, while those with MS Office already installed continue to use it. There have been no real issues at all.

Being XML makes almost no difference whatsoever if the format is not documented properly, and free from any licences, patents, or other restrictions (note - I have no idea whether this is the case here). And VB script may be old (I wouldn't say "good", although I've seen worse), but you are still locked to using AWR's software to handle *your* data files. Protel has had powerful macro and extension languages for years, but their format is still closed.

Reply to
David Brown

To avoid competing with the "big folks," one "lives in the cracks," so to speak. You choose a market the big folks cannot afford to attack, because it is too small to be worth serious attention for them and because servicing it out of their existing structures would be complex and expensive for them. But that doesn't mean it cannot feed a small business just fine. But if that business area starts to show its potentials as being worthy of the attention of significantly larger companies, you can expect them either to buy themselves into that market by buying a small company or else coming into the market in full force on their own.

An example of an area hard to get into, without changing the practices of the many businesses involved, is developing software used to manage inventory or work-in-progress for smallish mid-sized businesses like tire warehouses, film processing, and so on. They often have long-used, custom internal part numbers, specialized validations that almost cannot be generalized, and so on. A small software company can specialize in one of these areas and deliver a very good product that serves the needs of a narrow marketplace, where a large company wouldn't be that interested in the first place and where the large company would have a very difficult time coming up with a single product that could be multi-targeted at a wide, disparate customer base that includes (but isn't limited to) the narrow market this hypothetical business is involved in.

Of course, it's also possible that tire warehouses will get together and establish a standard or else decide to change their internal systems so that they can more readily use broad-based commercial products from the large companies, too, and thus walk away from companies specialized in providing customized products for their narrow market.

I don't think you can create and develop a wildy profitable area without getting the attention of bigger companies, though. You can hide for a while, but eventually your visibility will get their attention and interest.

Jon

Reply to
Jonathan Kirwan

One "snag" I've seen with "const" and "inline" is that many compilers will still allocate space for these variables and functions that wouldn't have occured with macros. Ie, a const variable gets a memory location even if it's only used in a constant expression, and an inline function generates a real function (sometimes even if the programmer remembers to include "static"). You're left to the mercy of the optimizer. Technically, "inline" is supposed to be just a hint to the optimizer, not a directive; and "const" just means that the value is supposed to be read-only.

I can see the inelegance of C macros though, since they're purely textual substitutions instead of being syntactically integrated macros (ie, compare to the macros in Lisp for example). But const/inline aren't perfect substitutes.

-- Darin Johnson

Reply to
Darin Johnson

In message , dated Wed, 13 Sep 2006, Jonathan Kirwan writes

Not if the profitable area is legal. If it isn't, or just might not be, other big organizations may take an interest.

--
OOO - Own Opinions Only. Try www.jmwa.demon.co.uk and www.isce.org.uk
There are benefits from being irrational - just ask the square root of 2.
John Woodgate, J M Woodgate and Associates, Rayleigh, Essex UK
Reply to
John Woodgate

One strategy is to develop a lot of good niche products, in diverse application areas. Then nobody will want to fight you for half of any one small market. Each product can be, in proportion to company size, very profitable. A good "factory" infrastructure can support this model. A million here, a million there, and soon you're making serious money.

John

Reply to
John Larkin

Well, in C you do have to be able to take the address of a const. If the compiler could prove that was never done it could get away without allocating memory for it but otherwise...

Robert

Reply to
Robert Adsett

I usually do. If the operate-side task crashes, usually everything crashes. I often have one "procedural" program running on the op side, and the state machines running at interrupt dispatch level. The opside thing is typically an RS232 communications task that spends a lot of time waiting around and also parses inputs and composes replies... not the sort of thing state machines do well.

You can get paranoid and have the watchdog code check all sorts of things (stack depths, timers, pointers, rom checksums, junk like that) but the fact is, proper embedded code doesn't need a watchdog timer. I enable it because it's there, maybe for recovering from lightning bolts and such.

John

Reply to
John Larkin

Businesses (successful ones) thrive on differentiating themselves from their competition. Tires (for example) are the same everywhere you go. The smart tire warehouse will differentiate itself by its business processes, which will require custom business applications.

The bigger companies will attempt to force a one size fits all solution onto their customers. That's how they see their own success; standardization, common processes, etc. If the customers take that bait, they risk losing their competitive edge in that area. Those customers, the big companies can have. The smart ones who have some distinction that they want to maintain will avoid doing business with the bigger vendors.

--
Paul Hovnanian     mailto:Paul@Hovnanian.com
------------------------------------------------------------------
Error reading FAT record: Try the SKINNY one? (Y/N)
Reply to
Paul Hovnanian P.E.

But it tastes better with mint sauce

--
- Mark Randall
http://www.temporal-solutions.co.uk
http://www.awportals.com
Reply to
Mark Randall

A horrible painful death to all of you!

Macros are great for setting up itterators :o)

--
- Mark Randall
http://www.temporal-solutions.co.uk
http://www.awportals.com
Reply to
Mark Randall
["Followup-To:" header set to sci.electronics.design.] On Tue, 12 Sep 2006 16:32:41 GMT, Joerg wrote

...and they even run their own NNTP news server, with several support forums in German and English, all of which are continuously frequented by CadSoft staff (and management). Somehow it looks like they're operating out of a garage, but they seem to have been occupying their niche very successfully for quite a while now (I think I first used Eagle in '91).

robert

Reply to
Robert Latest

In message , dated Thu,

14 Sep 2006, Frithiof Andreas Jensen writes

It really isn't possible to get to 15% now, and it wasn't in 1990 unless you were in a dominant market-share position in a very rapidly-growing market. Competition is fierce and rapidly-responding. In consumer electronics, there is a surfeit of unnecessary, relatively low-level 'innovation' - all these incompatible disc formats for example. What attracts large margins are totally new systems that the public can see an immediate advantage in acquiring.

In many really big businesses, e.g. food, you'd do better with a 3.5% savings account!

--
OOO - Own Opinions Only. Try www.jmwa.demon.co.uk and www.isce.org.uk
There are benefits from being irrational - just ask the square root of 2.
John Woodgate, J M Woodgate and Associates, Rayleigh, Essex UK
Reply to
John Woodgate

Many C compilers will remove a "static const" entirely, as then it knows for sure that the address will not be taken. If it the "const" is not "static", then the compiler must generate the data.

Of course, "const" data in C is not necessarily entirely constant - you can write things like:

const int axx = 1;

void crash(void) { *((int*) (void*) &axx) = 3; }

The result is undefined, even though compilers will probably accept it.

Reply to
David Brown

That puzzle is a bit pointless. Wouldn't it be a more interesting if the last line was (eval (eval a))

Peter

Reply to
Peter
["Followup-To:" header set to sci.electronics.design.] On Thu, 14 Sep 2006 10:40:35 +0200, wrote

The "truth" is yet another one I think.

Where I work, nobody except a few nerds like me have ever heard about OpenOffice. Let alone the sectretaries who are the main users of office software. When you tell them that there exist other programs to write stuff (mostly single-page documents which, in big, colorful letters, advise people to rinse their coffee cups after use or to shut the door) they look at you funny because they have no idea what a "program" is. They'd simply balk if they were told that now they were to use something else. You'd probably get away with it if you replaced the Oo logo with that of Word and did away with the splash screen. Then they'd think they were working with just another version of Word.

robert

Reply to
Robert Latest

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.