The modern Javascript language situation: Introduction of situation

Introduction of situation

There are a lot of colors you can see at the monitor today.
Browser supports 224(16777216) colors. Some of them have normal names, such as red, yellow, green, the others have the names you cannot imagine and remember. If you read those color names you cannot understand what for a color was determined with this name because the normal language does not contain those names.

The normal and usual color names were formed at the times when people did not have RGB displays and could not imagine the full gamma. Some languages had no words to differ the green and blue colors, the red and orange colors and there are not any normal natural language with the names of 16777216 colors.
Early displays had only 2 colors (black and white) or some shadows of gray.
The color displays could have 4 colors(red, green, blue and green) been coded with 2 bits (for example 01, 11, 10, 10).
More powerful ones had 8 colors where each bit was determining one of color channel of (red, green, blue)
The full list is

000 black
001 blue
010 green
011 cyan
100 red
101 pink
110 yellow
111 white

This table contains a lot of colors but does not contains for example brown or gray.
The more powerful way is to add the «brightness» bit to this color table;

0000 black
0001 blue
0010 green
0011 cyan
0100 red
0101 pink
0110 yellow
0111 white
1000 light black
1001 light blue
1010 light green
1011 light cyan
1100 light red
1101 light pink
1110 light yellow
1111 light white

Here the brightness bit for ‘black color’ is useless so it is but the code ‘1000’ can be used to code one more color so ‘1000’ is ‘light gray’ and ‘0111’ is gray for example;
The 16 colors is quite enough to determine all commonday colors a normal human uses during his life.
But the more powerfull coding system is to use 2 bits for coding each color lightness the table of this codes is below (but without the color names). 64 new strings if each color would be given a string, but it would not be given.

000 005 00a 00f 050 055 05a 05f 0a0 0a5 0aa 0af 0f0 0f5 0fa 0ff
500 505 50a 50f 550 555 55a 55f 5a0 5a5 5aa 5af 5f0 5f5 5fa 5ff
a00 a05 a0a a0f a50 a55 a5a a5f aa0 aa5 aaa aaf af0 af5 afa aff
f00 f05 f0a f0f f50 f55 f5a f5f fa0 fa5 faa faf ff0 ff5 ffa fff

So you are just a human. Can you name all these colors? Do you know the name of all of them?
It is 64 colors in which each channel of red, green and blue has 4 brightness levels. But the browser allows to set 255 brightness level for each color!!
Maybe if you are a designer or a painter you can know 64 color names.
But the color names give no information about the brighness of each channel
The word ‘red’ cannot give the data that gives the string ‘#F00’ or ‘#E00’ or ‘#300’ or ‘rgb(200,0,0)’ because the language was formed in the conditions RGB paradigm was not known.
So sometimes people can use the codes to determine the color. For example one human can say to another
I have used RGB(F,0,0)(it sounds like adzhibi ef-zero-zero)
But what is the difference between RGB(255,0,0) and RGB(254, 0, 0) or RGB(128, 0, 0)?
It is the same color! But with different brightness.
You can get RGB(128, 0, 0) from RGB(255,0,0) with decreasing the screen brightness physically!

But if you have the color of RGB(255, 128, 0) it is the same with RGB(191, 96, 0)? The only difference is than the second has the brighness 75% of first;
The full row of 16 levels of color codes where the brighness of green is 50% of the red color brighness is

rgb(0,0,0) rgb(17,8,0) rgb(34,17,0) rgb(51,25,0) rgb(68,34,0) rgb(85,42,0) rgb(102,51,0) rgb(119,59,0) rgb(136,68,0) rgb(153,76,0) rgb(170,85,0) rgb(187,93,0) rgb(204,102,0) rgb(221,110,0) rgb(238,119,0) rgb(255,127,0)

So can you say when the brown ends and the ‘light-brown’ or ‘orange’ starts?
And the first color with the codes of RGB(0,0,0) is really black!
And RGB(17,8,0) is BLACK;
Only rgb(51,25,0) is something like BROWN;

brown…

But the brown is css is rgb(165, 42, 42);

Do you feel the diffenence of css brown and
rgb(170,85,0)

You can see the ‘web colors’ on Wikipedia

Or w3scool.com site
You can find there some colors similar to rgb(170,85,0):
SaddleBrown(rgb(139, 69, 19))
Sienna(rgb(160, 82, 45))
But it is not truly the color we determined. But do you feel difference?
And do you know why Sienna is named Sienna?
What color is rebeccapurple? Why rebecca?
What is the difference between fuchsia and magenta


You can read the last specification there

So what it principles of naming «forestgreen» and «darkgreen»???
It is total useless and senseless!!!
Most of sites and developers does not use this color names…
The standard has 141 named codes of color…
When you read the color ‘turquoise’ you cannot imagine that it is #40e0d0

It is not the right way to name the codes.
The right way for a language is to code the names.

…So how to code the names?
For example the word ‘red’ should code the red, green and blue channels.
It can mean that

  • ‘r’ codes the ‘true’ or 255 of 255 for red channel
  • ‘e’ codes the ‘false’ or 0 of 255 for green channel
  • ‘d’ codes the ‘false’ or 0 of 255 for blue channel

So there are the pairs of ‘r’-‘z’, ‘e’-‘o’, ‘d’-‘m’ the colors will sound as below

zed
zem
zod
zom
red
rem
rod
rom

Now the colors are really coded by words
*If you think ‘rod’ is to similar to ‘rom’ you can add the code protection
For example the first two letters can be only ‘ze’, ‘zo’, ‘re’, ‘ro’;
It is able to add the second variant of ‘va’, ‘vi’, ‘na’, ‘ni’ for example and use them instead of the third letter that codes the ‘blue’ channel’

So we had:

zed, zem, zod, zom, red, rem, rod, rom

And we get:

zed, vam, zod, vim, red, nam, rod, nim

Also it is possible to have two variants of the ‘blue’ code ‘l’ as equivalent of ‘d’ and ‘s’ as equivalent of ‘m’;

zel, vas, zod, vim, red, nam, rol, nis

so we have all colours coded and named right way.
But we alwars have the first letter ‘r’ when the red channel is set;
The second way is not to code the channel by a letter but use the codeset of to channels to get a letter. First letter for example is set by the code of green and blue, and the second letter by the codes of red and blue and the third letter by the code of blue and green;
for example

  • first letter can be ‘rkzv’
  • second letter can be ‘aoey’
  • third letter can be ‘vldm’
rav kov zal vol red kyd zem vym

It is also able to set four combinations for ‘false’ channel state and ‘true’ channel state’ and get the situation where each element is used only once.

nav polt haul teunt red kyst zeym vyuft

If is is necessary to code 16 combinations it can be performed with the prefix or suffix meaning ‘light’ or ‘dark’
But how to create the words to code 2^12 colors?
It means each channel has 4 variations. We have already given 4 letter combination for each symbol but we used it only to go away from similar sounding of color names (we didn’t have ever two colors starting with one letter).
The simpliest way according to modern language situation is to name a color is the way mentioned above just call RBG(F,0,0) using «ef-zero-zero» and call RGB(F,A,8) using «ef-ei-eitsh».
Of course we can construct the words using the algorithms described above, but those words a not understandable for people that did not learn them. But RGB naming system is clear enough.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *