The software development process.

Sep 08, 2006 295 Replies

That's rather the point I was making with the reference to more recent structured variations. They bear very little resemblance to vintage basic.

One of several structured variants. Most of which seem to have borrowed heavily from pascal, C, fortran etc...

Much easier to read nad write maintainable code in. I'm doing a project at the moment the uses Visual Basic heavily (it has it's own set of obscurities).

Not that I think basic is fundamentally any more readable than most other languages. It's just a matter of being familiar with the languages cabalistic incantations. It makes a big difference what language is your original mother tonque. Other language's incantations tend to look odd in comparison. The one expection, I would definitely make is APL, that's obscure by most definitions although compact. Might make a good DSP language come to think of it even if I wouldn't want to maintain it :)

Robert

Is it easy enough to learn that I, who hasn't done diddley in software writing since Turbo Pascal, can handle it? I need to make up some simulation tools that need GUI's.

...Jim Thompson

| James E.Thompson, P.E. | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC\'s and Discrete Systems | manus | | Phoenix, Arizona Voice:(480)460-2350 | | | E-mail Address at Website Fax:(480)460-2142 | Brass Rat | | http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

In many assembler languages a construction like

StartLabel: instructions instructions

end StartLabel

is used, in which the label after the "end" statement of the main program specifies the starting address.

In an even more fundamental level, a mechanism is required to move the program starting address to the reset vector.

Paul

I don't see how you could survive in a obfuscated code contest, unless you POKE around the BASIC interpreter code or data structures :-).

Paul

In message , dated Sun, 10 Sep 2006, John Larkin writes

Ah, like the 'PDF' in the code at the start of every PDF (everyone that attempts to work, anyway).

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

In message , dated Sun, 10 Sep 2006, Robert Adsett writes

They don't have to be single-letter, but it's not much more difficult to handle (for the programmer; the computer couldn't care one of those colourful things that people refer to in this context) a variable 'M' than any of the weird names permitted in other languages.

Well, that's bad programming. In any language.

There isn't much a simple language can do to stop people writing bad code. Complex languages seem to encourage it.

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

Exactly. If you underestimate your own intelligence, other people will overestimate it and pay you big bucks for your high-quality product. If you think you're a genius, no one else will :)

"Jim Thompson" wrote in message news: snipped-for-privacy@4ax.com...

formatting link
offers CD images of all of the Express VS tools. While not all that easy to learn they are the 'standard', and there are downloadable help videos etc. also,

They did oin vintage basic. Maybe we're using different starting points?

Not as clear as say nominal_voltage and with a grand total of 26 global variables (they were of necessity global) you also quickly run out.

Agreed, but there was only that and later gosub which was not much more than a non-local goto. There really wasn't much choice but to use them.

Agree with the first part at least. Complexity is in the eye of the beholder. There needs to be enough constructs available to define the problem clearly. Very simple languages get in the way of doing so by forcing you to continually provide the support yourself. Very high languages get in the way on simpler projects by forcing a lot of overhead detail not relevant to the problem.

And of course a decent implementation of the language has to be available for the processor and environment in question.

Robert

In message , dated Sun, 10 Sep 2006, Robert Adsett writes

I learned BBC Basic (after Apple BASIC), which doesn't have that limitation.

GOSUB gives code that is a LOT more comprehensible than GOTO. But BBC Basic has PROC as well, which is an immense improvement.

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

Not exactly. The %PDF at the start of a PDF file identifies the file type and version to the operating system or application just as a particular type of GIF file might have the identifier GIF89 at the start.

Every executable needs an entry point - some code that is the start of execution for that program. In a more sophisticated operating system the task scheduler might load the executable image and expect to have execution begin at some specified point. Wherever that point is, it has to be known at load time. In an embedded system, the startup code is probably much the same for most ROM images and will need to know the address of the start of the user program.

From the programmers point of view, the start may be the first executable lines in the source, it may be defined by some directive or keyword like .CODE or .ORIGIN, or it may be some function with a predetermined name - like main() in C.

The compiler/linker/interpreter/whatever will then ensure that execution starts at the specified location. Having a compulsory function like main() just makes that easier to find.

Pete Harrison

It\'s de rigueur in assembler.

It can also used to detect word ordering (big vs little endian).

--Gene

You can not write good s/w for some one else . You end up trying to figure how to make a career out of that one customer .

Leverage is a bad word , it finishes the job to early , makes s/w look too easy ......bad for paycheck . It means everything thing you write helps you to write the next higher stuff . Macros in assembly might look like leverage , not very good L' .

A well written modern Forth has ability to create very high leverage in the low levels that speed up your app and nix bugs . Im doin a Forth for ARM 9 .......free .

larwe wrote:

In the automotive industry, you have this little thing called "competition". People can easily chose to go to a different manufacturer next time. When you have a monopoly in a product field and related fields, and a free license to abuse it, you can use any dirty tricks you like to coerce people into buying upgrades and new versions. Somehow I don't think car customers would be too happy to hear that their car is only licensed for use in the one garage, and when you want to park somewhere else, you need to buy a new car.

Ask

them

guess.

It takes a lot of "miffing" to get people to move their 0wneD intellectual property from under one proprietary format to yet another - and even more to move to an open format.

not

will

meetings

later

electronics).

part

Well, what we usually get stung by is like this real-life example out of a tome of 48 pages of similar clarity and purpose:

""" R.xx.xx.x Power Management:

The OS shall not use any power management functions that effects performance. """

This is *also* set in stone - it even carries the impression of being fashioned by a mad prophet listening to a burning bush. Then we have to work out what the fschk it was that "God" *wanted* when this was spouted forth - this is where agile processes and unrestricted access to the actual end users (not the product managers that came up with this condensed wisdom) becomes pretty important. Because this will be going back & forth a lot of times!

Most formal processes do the opposite: They insert new layers of orcales and preachers to interpret the fleting words of the prophet(s) and systems of punishments for transgressors and rewards for syccophants. After a while all output from the official process is meetings and paperwork. (At the same time two-five guys will do the entire project while hiding in some abandoned test lab using some untraceable project number, just like before when the business started in the garage of one of the guys and they did not have any ISO 9000 certification).

right.

Nah: The fastest way is to work at clarifying the specification until the job is trivial and can possible be solved with standard applications, some glue and a GUI slapped over the voids for the infidel ;-)

almost

software

Give Python a look-see:

formatting link
- there is already a large body of Python applications and libraries available that support numeric applications. Mathplotlib f.ex.

Python applications will, with wery little care, run on Windows and Unix/Linux if one use the WxWidgets tools for the GUI. This may be important when you run out of CPU.

message

right.

kind) or

programmers

surely the

I tend to write the unit tests first so when the errors go away, it is done. But this is easy in Python.

Such site exists. It's "The Daily WTF"

formatting link

Enjoy.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required