SoundTrack: SECTOR OF SSG WAS HERE (RLZ98)
__________________________________________
Edition: Dan!! L / PGC / BD
Ze Pagan / PGC / BD
__________________________________________
Programming upward slant.
/ SVN /
I. Where to start.
Many Western programmers argue that, before starting to
write prog Rummy, you need time to
K deliberation algorithm, and neZ K are even calling attention
K sticks to the essence of the problem, which
K to be addressed. Kategorih K practically do not interest
K vatsya formulation of the problem
K prior to receipt of obekv K tnogo module programmy.Pom
K filamentary that programming -
* K is an art, so any
Dr K extra knowledge only restricted
K stricting your imagination. On
begins to write the text of the program long
before you formulate specification, and you get a great
opportunity to make the life of your manager (and his) are much
more diverse and interesting (for example, at the time of
TK, you can make trouble: "Imagine
how many will now have to adapt? ".
Never compose advance a block diagram of the program.
Firstly, it is simpler and faster to do when the program is
already written, and secondly, inadvertently left on the table
block diagram will give your enemies and envious opportunity to
understand what you are going to do. Remember that no one
except You should not deal in your program. And if you just can
not get rid of a bad habit to draw a flowchart, then
hack to death on your nose:
The larger structure of the program consistent with its
logic, the less you stand as a programmer.
II. Style.
This buzzword in many Western
adherents and apologists give a special, almost
no mystical meaning. Certainly, every
programmer or there, the composer has the right
write in his manner, but given the Volumes of programming
development, it is necessary to reckon with reality. Like
everyone else, Programming must be thrifty!
Spend up to 50% of listings on the comments, spaces, empty
operators, stars and other decorations - very unacceptable
waste. E-mail to Second in the 71st position in every possible
way to avoid gaps. If the comment did not escape, try to write
them as specific as possible. For example:
DO J = 1, then N; / * sYsL Po N * / IF J> 0 tneN
Goto m * / m * is reRehoD / eLSe Goto L;
/ * ReRehoD to L * / x = x +1 / * 1 to rRIvaWIth
x / * eND, m: x = x-1 / * so it is necessary Fyodor! * /
IF a tneN Goto L; L: / * VozVeStY x Ster.
Two * / x = x ** 2, ... Etc.
All the variables to give names to your
friends, favorite foods, variety of ensembles, cigarettes,
drinks, etc. It is easy to see that fragments of the type:
IF katJa> = 18 tneN DO; saLL GaStRoNom;
saLL tahI; Goto Hata; eND; eLSe Goto VeRa;
/ * PL / 1 * /
GLorING sSest
...
MaRINa eQU DURa
...
L en, maRUSJa
Un sy, aNJUta
vhLe LetS, IRINa, DRINk (aGDam)
/ * ASSemvLeR * /
amazing grace, wit and subtle
taste.
A close examination it is easy to discover that bourgeois
writers of books arguing about the subject, which they call
"Structured programming" drowning in
own contradictions. For example, [Myers], page 63: "The modest
goals for running programs not regulated better large-scale
projects" but on p. 58: "If a minor addition will make your
program suitable for another case, never
neglect it. "We are ready to agree with the last assertion,
since his skillful application will allow you to tighten
development program for any conceivable period.
Moreover, the same author a few
pages, remembers the notorious principle of
ISS (Keuren IT SImrLe, StUrID - keep it simple,
Fool! ). Imagine, one day, the head says to you: "Something
you very much just all turns out! ".
These structural and extremist tendencies in the end, lead
to a complete degeneration of programming as creative
activities. Limiting the degree of degradation generates
methods such as Ashcroft manna [Yoda], which reduce the
activity of the programmer to work on an assembly line in
Chaplin's movie "New times ".
III. Then go playlist
The problem of unconditional jumps, fortunately, have not
yet found a definitive solution. Among Western youth programming
common misconception that the use of the operator To go
playlist is highly undesirable. The practice of the leading
programmers in our laboratory shows that the use of
unconditional transition operator in conjunction with arrays of
tags increases the efficiency of programs by an average of
4.2%. With increasing debugging time by 350-400%.
If you want to go from this point of the program, go as far
as possible. If you have nowhere to go, should be reviewed
program.
Very successful are the transitions in the body
DO loop, especially from other modules. Although
translators, as a rule, it prohibits them
You can easily cheat by using variables such as management
metki.Peredacha a subroutine to bypass the title will bring you
many hours of happy meditations on the code completion 0s5.
All the inserts in the program should do
as follows: after the last statement put the new tag, write the
text box, will increase the dimension of the array of labels
for 2, passes control to that label from the desired point (Or
from somewhere else), check the operator followed To go
playlist, the new label, feel free to change the variable label
and return.
Generally speaking the language in which you would not
write a program better if each operator will have its label (as
specified in Fortran). The extent of your skills as a
programmer in the style of EHV, is defined by:
N
SIGma (V (I) + W (I))
I = 1
k = -------------------, where (1)
N
N - number of operators, V (I) - the number of control
transfers on the I-th operator;
W (I) - the number of possible transitions from
I-operator.
For k <0.5 You, as a programmer, anywhere
not fit. An acceptable ratio 3-4, and
Some superprogrammisty have to not less than 12.
IV. Modularity.
H and K and by about th e y m a n b n ews!
Generally ...
V. Efficiency.
Disputes over what constitutes an effective program, do not
cease since when in the gym has earned an M-20. In
Today, it came before the casuistic statements like:
"Readability program has its effectiveness "
[Myers].
We believe that the effectiveness of the program is
completely objective and quantified value. No need to regret
the time or effort to fight for efficiency - when your program
Eventually working, all your costs
will be repaid by savings in 1915 and 0.73 kb / sec.
That the programmer can assess in advance the effectiveness of
its product, it is proposed simple formula:
E = + I * t/t1 t/t2, where (2)
T1 - time required srU to run your program (if the program
is still does not go to the go playlist, T1 = T);
t - the time required for output
alphanumeric PRINTER pre-prepared text, which is identical to
the one that will print your program, when released to go
playlist;
T2 - the time that your program will run when you debug it
completely.
I = SQRt (-1)
Effectiveness of the program, as can be seen, the magnitude
of the complex, which reflects a systematic approach to
programming, typical for the method of ANS.
Thus, as follows from
(2), the timing of writing and debugging programs
in no way affect its effectiveness. Many programmers seem to
intuitively come to understand this fact and years, improve its
program, making it more efficient by reducing the
parameter m 2.
Incidentally, one of the apologists of "structural
programming "[Myers], allowed himself to
as follows: "No one in his senses and
good memory, will not be programmed
in assembler. "And it's about loved one
Language supporters EHV! On the contrary! Study
assembly - a great way to the top of cognition operating UCS.
Following this path, you get a lot of useful knowledge that
help you solve some major problems:
1). As a receiving voucher for a moment in the package, to
seize undivided srU use at least 1.5 hours, to eliminate the
problem of all other users (eg, code S422), stall queue, to
deprive the operator the opportunity to remove your job,
unhindered obtain the results (despite the established limit
paper consumption), and at the same time - all claims of
operator service OVT forward in the direction of any department
of the Faculty "f"?
2). How to ruin (not erasing) all wrong
ND for your package 5050/5061, leaving no
traces in rRINtLoG?
3). How to erase the kernel? (Or IrL?)
Generally, there is a rich spectrum
ways to improve the effectiveness of programs.
The authors are well and has long been familiar with one
programmer, who recently won the bet a case of beer, raising,
for 40 minutes of surface analysis, at least twice the
performance of three Fortran programs, taken at random from a
trash can on the one Chairs of Faculty "t". Since this fact is
absolutely no known leadership, programmers in the style of IOS
are coming for many years serene and happy existence
programming.
VI. Again the modularity.
Still, no modularity!
(Since modularity is impossible to understand
otherwise, as the presence of certain built-in
function. Everything else - from the evil one.)
Consider yourself worse than others, if you can not
able to write a program (if you want
call it a module) with a length of more than 1000 operators.
If, for objective reasons (They always have) you still have to
face the problem of docking, we remember one single rule method
SVN:
No agreement on the links!
In particular, if we have to deal with the programmers of
the opposite sex.
According to article 94 of the Code, in analyzing the cases
of paternity protocol agreement on the bonds is taken into
account along with evidence of joint farming.
Furthermore, as already emphasized, any restrictions on your
imagination, as a programmer, do not bring anything, except to
reduce project development time and, thus, reduce the
effectiveness of the final product.
Treat your head, hanging
above the desk a poster: "Programming - too complicated
intellectual activities that might have been hoped
ties to impose an administrative system
which stifles all initiative. "[Van
Tassel]. If management response would be more restrained than
you'd expect, repaint the door of your lab green most toxic
paint colors and disappear for three days, after turning off
your home phone [Meyer, Boda].
VII. Debugging.
The first commandment programmer, successfully
has overcome the barrier of syntactic control - do not hurry.
Remember that bad debugged program is always less efficient
than not debugged. Do not print more than one variable for one
run. Obtained Listings (print), immediately dispose of (avoid!
Sm.V). On the other hand, it is useful to store in a single
copy protocol compiler with the worst (it's easy) quality print
so that in case of unplanned when the head would be to say:
"You see, the conditions in which to work!" Of course, the
diagnostic messages to be cut, but better - not neatly cut
short. (For those who are programmers Fortran or assembly
language, it is recommended to acquire some skills with
scissors and glue).
If you store the source code to NMD,
Never check cards IevUrDte and
so as not to deprive themselves of pleasant surprises!
Moreover, to check punching - bad taste and a sign of
disrespect vile a sweet and charming girl, spending the best
years of his youth on punching holes in your punch cards.
When finished debugging, operation begins! None,
self-respecting programmer will not allow his beloved child,
the fruit of his long labors and exploiting the suffering of
some strangers. A few words about testing. Nobody knows what
exactly is the test that is the ultimate goal and what the
results should be obtained. In the method of EHV is considered
to be testing completed, if the execution fails with a return
code of 0000, even if raw data differ by at least one
number (or all - if you maximalist).
After completing the testing phase,
Destroy the source code. Only in this
If you can be absolutely sure
that your program no one no harm, and it will remain as
effective as ever.
-----------------------------------------*********
*********************************
-----------------------------------------
+---------------------+
| The Life and Extraordinary |
| Adventure |
| Cyril - hacker. |
+---------------------+
Once, on a maths lesson, Cyril did not
able to multiply 200 by 400 - the result has exceeded 65535. In
my head rang: "Overrun!"
One day, Cyril walking along a brick wall. Suddenly sees -
it goes bulldozer. "Packer! - Time to think
Cyril.
Once, when Cyril was 6 years old, Dad
took him to work. There he planted
his computer - playing Goody. When
Cyril played enough, he dismantled the computer - as well as
All cars, in which he played before.
Once, Kirill 3:00 stood before the traffic lights - could
not understand what was on the video: a Hercules'a - 2 colors,
the CGA - 4, the EGA - 16, with VGA - 256, with XGA - 65535
and 3 - well, no one!
Do you know what makes Cyril when
it's hot? He turns the computer
the other side - to fan themselves.
Do you know what makes Cyril when
he was cold? He turns off the AT-486 and include EU-1840. After
5 minutes, it heats up like a stove.
One day, a lesson of physics, Cyril received a rate in
joules. Error types! " - he thought.
One day, Cyril shorn. "Is not formatted!" - He thought.
One day, Cyril saw that his head drops a brick. "It looks
like Tetris!" - had time to think about it.
One day, Cyril's birthday gave a gun. "Why did it to me!?" -
Cyril surprised. He answered the question: "But you as he asked
the 'Winchester'!?.
Did you know that Kirill said instead of "Hello" when
off-hook? "Connect 2400!
Do you know how Cyril dials the phone number? First he tries
to recruit ATDP, and when he realizes that this is impossible,
it changes all 1 to 7, 2 to 8, and 3 to 9. And only then
gaining the resulting Room - the blind, both on the computer.
Do you know how Cyril wrote? Odd line - from left to right,
and even - right to left, like a printer.
One day, Cyril took the print
on a typewriter. He could not understand why, when he presses
the "slaughter" last entered character is not deleted.
Once, when the tube heard the busy tone, Cyril long sought
ESC on the phone. He finally found it, inside the unit.
Cyril respects the sort only the bubble and a hatchet.
One day, Cyril was sent for boron. He
Also, instead of pharmacy began to call BorLand.
There first did not understand. And then we decided, it was
some Russian aid organization.
One day, Cyril called a brake. He
long thought, what a brake - a working
or parking. Then he decided to - working with
computer control system.
Do you know why the teacher checks
Cyril of math is much longer than others? They do not clear
with what he reduces zeros.
Do you know why Cyril before
as a sandwich, carefully inspect it? Afraid of what's inside
can be a gray mouse, as it happened once. He then broke about
her plastic body two teeth.
Once, when I first saw Cyril
starry sky, he was surprised that the star hardly blink.
Moreover, when the fade for some reason do not change color as
the Norton Commander,.
One day, Cyril walking down the street and saw
on the pavement by someone dropped by a thing. Floppy! " -
Happily he thought, and bent down and raised. But it turned out
to be plump wallet. "Sorry!" - Cyril and thought, even without
looking at him, threw away. (In flight out of it fell out a few
hundred).
One day, Cyril asked to bring a guitar. He brought as much
5, and even a piano-on diskette for "Streem Tracker'a.
One day, Cyril accidentally put the floppy in the slot
between the two drives. Then he turned the computer upside down
and shook it for a long time, and pounded on it, until the
diskette is not fallen out.
Do you know why Cyril could only shoot a pistol? He pulls
the firing pin with the thumb, as in the joystick.
Do you know what makes Cyril when
Floppy is so bad that not even formatted on the computer? It
takes a microscope, a magnet and a hammer, and ... Formats hand
- where a magnet, and where the hammer.
One day, Cyril looked on with pity
a classmate who could not
count in mind that 256 square will be
65536. "Poor man, I forgot at home Mathematics
coprocessor, "- he thought.
Once, when the history lesson classmate Cyril said that the
Great October Socialist Revolution took place in 1918, Cyril
thought: "I poor memory parity error! "
Once, on a maths lesson, Cyril computes the sum of an
infinite convergent series. Counted them, looked at the answer
- did not match. "Checksum error!" - Thought of Cyril. He
counted them and got this same result. Then he looked again
condition and realized that he had it wrong
Probably copied it. "Error reading", came to Cyril.
Then he began to count again, but he
suddenly came to an end notebook. "Overflow!" - Cyril decided
and did not address further - he decided that the decision error
overflow would be sufficient.
One day, Cyril, as the hacker asked
"Hack" Arcanoid. He has done this - all
wall Arcanoid'e were "hacked" -
he drew on them a crack.
Do you know how to distinguish Cyril High Density floppy
disk from the Double and Single Density? He brings to the most
magnetic coating match - that the fire touched it, and then
sees the other side. If the shine - the High Density.
Once, Cyril asked how a computer works. He said: "Watching
what. IBM - silently, DCK - PPPP-boom-BUMMY-rrrrzz and
SM - does not work at all-time hangs. "
Do you know how Cyril photographs?
He puts the bulb, click on "Descent"
and then holds the lens along the subject matter - as a
scanner, then releases the shutter and starts looking at the
camera screen - see what happened.
One day, Cyril decided to make an antivirus
against all viruses and did! Rather, he found - it was an
autoclave with temperature up 300 degrees Celsius.
Do you know how Cyril playing volleyball? Head! (In the
literal sense.) Moreover, only his head and nose - as the
Arcade Voleyball.
Do you know how Cyril opens the door? He tries to dial in
the air, as keyboard "Open Door" and then wonders
why the door does not open.
Did you know that Cyril puts a
on chairs instead of buttons? Circuits - legs up.
Once, when Cyril listened to the tape, he suddenly began to
"chew" film. Cyril and twitched for a long time sticking to the
front panel - in search of Reset'a.
One day, Cyril had a computer.
He did not want to wake up that fell into a lethargic sleep.
Once, Cyril asked the key to the trunk to open and unpack
it, he replied: "-e - Extract".
Do you know why Cyril does not like icing? 3.5 floppy he
loves more than 5.25.
Do you know what made Cyril diskettes, after accidentally
left them under the light of 500 candles? He threw away the
plastic casing melted and stuck floppy disk in ordinary
envelopes, do not forget to affix stamps.
Once, when I first saw Cyril
Rembrandt, he thought: "If
I had the same computer, as he does, I
would not that be painted! "
--------------------------------------------------
--------------------------------
FoR SYStem aNaLISISt oNLY
"Imagine that
you buy the furniture ... "
February 24
---------
Finally! Exchanged their close placement to a new and
improved two-room apartment project: "SVS 6.1/M9." She told me
very Good: beautiful, perfect for housing and
work.
March 1
------
Began to move. Somewhat puzzled.
The door is too narrow, some of our furniture is not
climbs. Threw the cabinet, sideboard, desk. Do not worry, buy
new ones. Sofa managed to push through, but found a strange
thing: as soon as I him sit down, the lights go out around the
home. Also have to be replaced. Sorry, very place a sofa, now
there are not released.
The bathroom was occupied by the ingenious device. A
neighbor said that he needed for predicting earthquakes. The
device looks like a box in which sat two evil snakes with
sensors on the tail. In my opinion, poisonous. That the wife
could use the bathroom, had to pull the apparatus into the
garbage disposal. A neighbor said he did the same.
The kitchen at the stove huge niche with a badly
smeary inscription: "noR kItsneN somvINe.
Begin to suspect that a house designed
not for our area. We have earthquakes do not happen.
In general, one can live. The only bad thing that
bath flow and not the phone work. TV shows only one program: the
some indications that the Indian.
March 14
---------
Long struggled with rosettes. In order to avoid
shock, they are fixed under the ceiling. I asked a staff
electrician take until the current radio outlet that I
absolutely do not need, but he said that the house is arranged
like this: if you disable radio, begins to howl fire alarm, so
it's best to be patient, after 7-8 months they should get the
socket version 02, which can be attached to the wall in any
place with special glue. True, until the glue is bad and keep
all outlets still will not. It turned out, why not a TV. It
turns out that the house is installed antenna improved
construction and televisions with appropriate modifications
have not yet started producing.
I walk around the apartment with caution. All time
running into sharp corners, from time to time
with a ringing crash parketina, sofa throw, but the light still
goes out often.
April 19
--------
Thank God, though the phone was repaired. Master said that
he was connected to the TV cable. But TV is now nothing takes,
even India.
A neighbor said that in my apartment should be a third room.
On the plan it does not, because the plan the old, the new year
will and a half. Now I understand why the door
at the end of the corridor. Where can you find her key?
Applied to the housing office, but there, as usual, the damn
thing do not know.
I watched the outbreak of the exchange.
May 26
-----
Still, I am in luck! Traded this lousy
apartment. Tomorrow the move. Remarkable
house project svm2.0. Modern amenities, open space, automatics.
Lay-free, easily rebuilt. For example, on my floor are an
Indian wigwam, bamboo hut and two Qurna hut.
Allowed to do whatever they want, for example,
breeding fires right in the corridor. Soundproofing is absolute.
May 29
-----
Gradually settle in the new location. Neighbors tame. One,
which in the long hut keeps a cow and a goat. A little dirty and
uncomfortable. Poorly with electricity: inmate
tent is freezing and keeps constantly
included a huge fireplace, which goes almost all the energy, so
we have quite dark. One thing confuses me: even when the
fireplace fuses, lamps are lit in the half-intensity.
Qurna outrageous excess smoke, breathe
absolutely nothing. But no problems with the furniture, though
the room is empty. Once you need a chair or cabinet, the
operator on duty immediately sends you the requested item among
cash. This is called "virtual furniture".
May 30
-------
Turned up the case moved to another floor. There are no
wigwams, the neighbors are very decent. True, the elevator
hefty cave, inside which in total darkness snores something
big. The commandant said that it will sleep until the end of
the quarter, so that nothing dangerous, just in the last decade
the best of the apartments do not come out.
It seems that virtual beds are not
as good as I thought. Most
people sleeping at the same time, they need real
beds and those at all lacking. In addition, the operator is
constantly confused and picks up the bed before it is released.
There were some embarrassing incidents. However, Commandant
said that we were lucky. In the first series of SVM were
virtual bathroom.
It is difficult to refuse. He is one to
all, so each floor is an intermediate silo for temporary storage
debris. It happens that trash lingers there
for a week. Smell around like a cave.
June 16
------
Soon the end of the quarter. Snoring in a cave
became restless, occasionally punctuated by unscrupulous
slovami.Zapassya products for two weeks.
Today I saw a dream and upset. Dreamed that I live in his
former personal apartment, where all things are mine, and not
virtual, and all the equipment works as expected.
Tomorrow I'll go watch outbreak of the exchange ...