title: Код Грея

text: Если считыватель настолько медленный, что за время считывания показания несколько раз сменились, код Грея гарантирует, что ошибка будет невелика — меньше, чем реальное изменение сигнала. Например, если за время считывания показания сменились , то помимо этих трёх значений, можно получить  — выходит ошибка на единицу.


title: Код Грея

text: Если датчик круговой (например, угловой энкодер), то ему приходится перескакивать и с максимума до нуля. Такой перескок (с до ) тоже изменяет один разряд.


title: Код Грея

text: Коды Грея часто используются в датчиках-энкодерах. Их использование удобно тем, что два соседних значения шкалы сигнала отличаются только в одном разряде. Также они используются для кодирования номера дорожек в жёстких дисках.


title: Код Грея

text: Код Грея можно использовать также и для решения задачи о Ханойских башнях.


title: Код Грея

text: Широко применяются коды Грея и в теории генетических алгоритмов для кодирования генетических признаков, представленных целыми числами.


title: Код Грея

text: Код Грея используется для генерации сочетаний методом вращающейся двери.


title: Код Грея

text: В некоторых компьютерных играх (например, Duke Nukem 3D) для успешного прохождения уровня требуется подобрать нужную комбинацию положений нескольких переключателей. Никаких подсказок нет, надо просто перебрать все комбинации. Для минимизации числа переключений при переборе вариантов следует использовать код Грея. Например, если переключателей три, пробуем их в порядке 000, 001, 011, 010, 110…


title: Код Грея

text: Сложные датчики, требующие синхросигнала, отходят от кода Грея и работают в обычном двоичном.


title: Код Грея

text: Коды Грея легко получаются из двоичных чисел путём побитовой операции «Исключающее ИЛИ» с тем же числом, сдвинутым вправо на один бит и в котором старший разряд заполняется нулём. Следовательно, "i"-й бит кода Грея "G" выражается через биты двоичного кода "B" следующим образом:


title: Код Грея

text:
formula_1
где formula_2 — операция «исключающее ИЛИ»; биты нумеруются справа налево, начиная с младшего.


title: Код Грея

text:
Ниже приведён алгоритм преобразования из двоичной системы счисления в код Грея, записанный на языке C:
Однако, необходимо помнить, что данный алгоритм будет работать правильно, если компилятор реализует "нециклический" логический сдвиг (например, стандарт языка C не уточняет тип сдвига для знаковых чисел, но для unsigned типов поддержка гарантируется).


title: Код Грея

text:
Тот же самый алгоритм, записанный на языке Паскаль:
Пример: преобразовать двоичное число 10110 в код Грея.
Обратный алгоритм — преобразование кода Грея в двоичный код — можно выразить рекуррентной формулой


Код Грея


title: Код Грея

text: причём преобразование осуществляется побитно, начиная со старших разрядов, и значение formula_4, используемое в формуле, вычисляется на предыдущем шаге алгоритма. Действительно, если подставить в эту формулу вышеприведённое выражение для "i"-го бита кода Грея, получим


title: Код Грея

text: Однако приведённый алгоритм, связанный с манипуляцией отдельными битами, неудобен для программной реализации, поэтому на практике используют видоизменённый алгоритм:


title: Код Грея

text: где "N" — число битов в коде Грея (для увеличения быстродействия алгоритма в качестве "N" можно взять номер старшего ненулевого бита кода Грея); знак formula_2 означает суммирование при помощи операции «исключающее ИЛИ», то есть


title: Код Грея

text: Действительно, подставив в формулу выражение для "i"-го бита кода Грея, получим


title: Код Грея

text:
formula_9
formula_10


title: Код Грея

text: Здесь предполагается, что бит, выходящий за рамки разрядной сетки (formula_11), равен нулю.


title: Код Грея

text:
Ниже приведена функция на языке С, реализующая данный алгоритм. Она осуществляет последовательный сдвиг вправо и суммирование исходного двоичного числа, до тех пор, пока очередной сдвиг не обнулит слагаемое.
Тот же самый алгоритм, записанный на языке Паскаль:
Пример: преобразовать код Грея 11101 в двоичный код.
Быстрое преобразование 8/16/24/32-разрядного значения кода Грея в двоичный код на языке C (Примечание: исходный код Грея является составным. Где каждая тетрада бит является отдельным числом и закодирована отдельно. Этот код не является полноценным кодом Грея. И правило изменения одного бита при переходе к новому числу сохраняется только в пределах каждой четвёрки. Например при переходе от 0x0F к 0x10 изменяются одновременно два бита так как мы имеем изменение двух тетрад 0->1 и F->0):
Простой способ преобразования двоичного числа в код Грея выполняется по правилу: старший разряд записывается без изменения, каждый следующий символ кода Грея нужно инвертировать, если в натуральном коде перед этим была получена «1», и оставить без изменения, если в натуральном коде был получен «0».


title: Код Грея

text: Код Грея для n бит может быть рекурсивно построен на основе кода для n-1 бит путём переворачивания списка бит (то есть записыванием кодов в обратном порядке), конкатенации исходного и перевёрнутого списков, дописывания нулей в начало каждого кода в исходном списке и единиц — в начало кодов в перевёрнутом списке. Так, для генерации списка для n = 3 бит на основании кодов для двух бит необходимо выполнить следующие шаги:


title: Код Грея

text:
Ниже представлен один из алгоритмов создания последовательности кода Грея заданной глубины, записанный на языке Perl:
Рекурсивная функция построения кода Грея на языке C:
Быстрое преобразование 8/16/24/32-разрядного двоичного кода в код Грея на языке C. (Примечание: полученный код не является полноценным кодом Грея. Данный код преобразовывает в код Грея каждые 4 бита отдельно, рассматривая их как отдельные числа. В результате полученный код состоит из множества 4 битных кодов грея. И правило изменения одного бита при переходе к новому числу сохраняется только в пределах каждой четвёрки. Например при переходе от 0x0F к 0x10 изменяются одновременно два бита так как мы имеем изменение двух тетрад 0->1 и F->0):
Если датчики имеют ограниченный ресурс по количеству переключений, хотелось бы, чтобы они изнашивались равномерно. В сбалансированном коде Грея в разных разрядах количество переключений настолько близко, насколько можно.


title: Код Грея

text: Здесь в 4-битном коде каждый разряд переключается четырежды. В 5-битном коде такое невозможно, приходится переключать один бит 8 раз, остальные — по 6.


title: Код Грея

text: Код Грея является однодорожечным, если все столбцы матрицы являются кольцевыми сдвигами друг друга. Это позволяет сделать угловой датчик с одной дорожкой.


title: Код Грея

text: Двухбитный код Грея является однодорожечным, это можно увидеть в компьютерной мыши — как в шариковом механизме старых мышей, так и в колесе прокрутки новых. Два датчика стоят в разных точках одной дорожки. Если довести эту систему до крайности — половина диска «чёрная», половина «белая», и датчики стоят на 90° друг относительно друга — то можно узнать абсолютное положение диска с дискретностью в 90°.


title: Код Грея

text: Для кодов Грея более высокой разрядности это не так, приходится увеличивать количество дорожек, это делает датчик громоздким и дорогим. Поэтому, если возможно, обходятся двумя дорожками — одна для двухбитного кода Грея, и одна — позиция нуля. Однако существуют коды, где дорожка именно одна, правда, все 2 позиций так закодировать невозможно. Для 5 бит рекорд — 30 позиций, для 9 — 360.


title: Код Грея

text: Используется в квадратурной модуляции сигналов. Соседние точки «созвездия» отличаются одним битом, диагональные — двумя.


title: Восторгов, Иван Иванович

text: Ива́н (Иоа́нн) Ива́нович Восто́ргов (, станица , Кубанской области — , ) — священник Русской православной церкви, протоиерей. Проповедник, церковный писатель, миссионер, деятель монархического движения.


title: Восторгов, Иван Иванович

text: Прославлен в лике святых Русской православной церкви в 2000 году; память — 23 августа по юлианскому календарю и в Соборе святых новомучеников и исповедников Российских.


title: Восторгов, Иван Иванович

text: Родился в 1864 году на Кубани, в станице Кавказской в семье священника Ивана Александровича и Татьяны Ксенофонтовны Восторговых. Дед, Александр Восторгов, был магистром богословия, профессором Владимирской духовной семинарии. Рано лишился отца.


title: Восторгов, Иван Иванович

text: В 1887 году окончил Ставропольскую духовную семинарию.


title: Восторгов, Иван Иванович

text: С 15 августа 1887 года — надзиратель Ставропольского духовного училища.


title: Восторгов, Иван Иванович

text: С 30 сентября 1887 года — учитель русского и церковнославянского языков Ставропольского духовного училища.


title: Восторгов, Иван Иванович

text: С 1 августа 1889 года — диакон церкви во имя Архангела Михаила села Кирпильское Кубанской области.


title: Восторгов, Иван Иванович

text: 6 августа 1889 года возведён в сан иерея.


title: Восторгов, Иван Иванович

text: На свои средства устроил в селе церковно-приходскую школу, открыл общество трезвости, много проповедовал. Деятельность молодого священника привела к тому, что многие местные старообрядцы присоединились к Русской православной церкви.


title: Восторгов, Иван Иванович

text: С 12 мая 1890 года — наблюдатель церковно-приходских школ 12-го благочиннического округа Кубанской области.


title: Восторгов, Иван Иванович

text: С 15 сентября 1890 года — законоучитель Ставропольской мужской гимназии. С 21 августа 1891 года одновременно, настоятель церкви этой гимназии.


title: Восторгов, Иван Иванович

text: С 1893 года был также членом совета Ставропольского епархиального женского училища, членом правления Ставропольской духовной семинарии.


title: Восторгов, Иван Иванович

text: С 28 октября 1894 года — законоучитель гимназии в городе Елисаветполе (ныне — Гянджа). С 11 августа 1896 года, одновременно, секретарь педагогического совета гимназии.


title: Восторгов, Иван Иванович

text: С 1897 года — законоучитель 1-й Тифлисской женской гимназии Великой княгини Ольги Феодоровны, настоятель домовой гимназической церкви во имя святой равноапостольной княгини Ольги.


title: Восторгов, Иван Иванович

text: С августа 1898 года — законоучитель 1-й Тифлисской мужской классической гимназии.


title: Восторгов, Иван Иванович

text: В 1900 году в населённом сектантами районе Тифлиса при его активном участии открылись три церковно-приходские школы, в которых учились до трёхсот человек. Вскоре число школ возросло до восьми. Кроме того, участвовал в учреждении в городе отдела Общества ревнителей русского исторического просвещения в память императора Александра III.


title: Восторгов, Иван Иванович

text: С 22 декабря 1900 года — епархиальный наблюдатель церковно-приходских школ и школ грамоты. За три последующих года под его руководством число школ в епархии удвоилось. Число учащихся через несколько месяцев достигло пятисот человек, 20 % из них составляли дети сектантов.


title: Восторгов, Иван Иванович

text: 6 января 1901 года возведён в сан протоиерея.


title: Восторгов, Иван Иванович

text:
С 13 февраля 1901 года, одновременно, редактор журнала «Духовный вестник Грузинского Экзархата».
В августе — октябре 1901 года находился в командировке в городе Урмия (в Персии), занимался обозрением дел Российской православной духовной миссии и ревизией состоящих при миссии школ. В этот период к православию происходило присоединение персидских сиро-халдеев, исповедовавших несторианство.


title: Восторгов, Иван Иванович

text: В августе 1905 года был направлен обер-прокурором Святейшего синода в поездку для ознакомления с нуждами духовно-учебных заведений Иркутской, Забайкальской и Приамурской епархий.


title: Восторгов, Иван Иванович

text: С 25 января 1906 года — проповедник-миссионер с правами противосектантского епархиального миссионера, в связи с чем переехал в Москву. Во время служения в Московской епархии был одним из ближайших соратников митрополита Владимира.


title: Восторгов, Иван Иванович

text: В 1906 году посетил Самарскую и Симбирскую епархии, знакомясь с состоянием там церковных школ.


title: Восторгов, Иван Иванович

text: Являлся одним из организаторов 4-го Миссионерского съезда, проходившего в Киеве в июле 1908 года, где его избрали председателем отдела по организации мер борьбы с социализмом, атеизмом и противоцерковной литературой. Сделал доклад на тему: «Проповедь социализма и успех её среди учащейся молодёжи и, главным образом, среди рабочих». Автор большого количества работ, посвящённых критике социалистических и коммунистических учений. По его словам, «раз социализм отрицает Бога, душу, бессмертие, свободу духовную в человеке, постоянные правила нравственности, то он должен обратиться к единственному средству воздействия на человека — к насилию».


title: Восторгов, Иван Иванович

text: В 1908 году совершил поездку по Дальнему Востоку, где занимался проповедью среди крестьян-переселенцев. Инициатор создания и с января 1909 года товарищ председателя Братства Воскресения Христова, созданного для организации духовного окормления русских переселенцев (председатель — митрополит Владимир). В течение первого года существования силами Братства было создано 25 проповеднических и 3 миссионерских кружка для подготовки священников для работы с переселенцами. В 1909—1910 годах организовал в Москве пастырско-миссионерские курсы по подготовке священников и учителей для создаваемых в переселенческих районах приходов и школ. В 1912 году были организованы пастырско-миссионерские курсы в Хабаровске и Тобольске, в 1913 года — в Иркутске и Ташкенте.


title: Восторгов, Иван Иванович

text: Почётный член Казанской духовной академии (1909).


title: Восторгов, Иван Иванович

text: C 9 сентября 1909 года — настоятель Князе-Владимирской церкви при Московском епархиальном доме.


title: Восторгов, Иван Иванович

text: В 1909 году совершил поездку по восьми переселенческим епархиям для определения порядка открытия в них новых приходов и школ, построения церквей и школьных зданий. Кроме того, совершил инспекцию Пекинской духовной миссии и православных церквей в Северной Маньчжурии, ознакомился с состоянием миссионерского дела в Японии и Корее. В 1910 году объехал Туркестан от персидской границы до северных пределов Сырдарьинской области, посетил Семиреченскую и Семипалатинскую области. В июле — августе того же года участвовал в работе Общесибирского миссионерского съезда, проходившего в Иркутске.


title: Восторгов, Иван Иванович

text: С 1910 года — руководитель Высших богословских женских курсов в Москве, в 1913 году преобразованных в Женский миссионерский институт. С 1911 года — заведующий псаломщическими курсами в Москве для приготовления псаломщиков в епархии Сибири и Дальнего Востока.


title: Восторгов, Иван Иванович

text: С 31 мая 1913 года — настоятель Покровского собора на Рву (храма Василия Блаженного). Избирался председателем Московского столичного совета благочинных.


title: Восторгов, Иван Иванович

text: Был одним из самых известных православных проповедников своего времени. Иоанн Кронштадтский высоко оценивал его деятельность, говоря, «что это дивный человек, обладающий необыкновенным красноречием, что это Златоуст, что он может великую пользу принести России».


title: Восторгов, Иван Иванович

text: Одновременно занялся политической деятельностью, став одним из виднейших деятелей монархического движения. Вступил в Русскую монархическую партию (РМП), стал членом московского отдела Союза русского народа (СРН; до 1908 года). Издавал газеты «Церковность», «Русская земля», журнала «Верность». Участвовал во Втором и Третьем Всероссийских съездах русских людей.


title: Восторгов, Иван Иванович

text: С 1907 года — председатель Русской монархической партии, переименованной затем в Русский монархический союз, возглавлял Русское монархическое собрание.


title: Восторгов, Иван Иванович

text: Во время конфликта в русском черносотенном движении между главой Союза русского народа Александром Дубровиным и руководителем Русского народного союза имени Михаила Архангела (РНСМА) Владимиром Пуришкевичем поддержал второго. В связи с этим в 1908 году стал членом Главной палаты РНСМА, а в 1909 году был исключён из СРН.


title: Восторгов, Иван Иванович

text: В 1909 году выступил одним из инициаторов проведения Пятого Всероссийского съезда русских людей в Москве, в работе которого участвовали также митрополит Владимир, архимандрит Макарий (Гневушев), протоиерей Епифаний Кузнецов (будущий епископ Селенгинский Ефрем), иеромонах Нестор (Анисимов), Владимир Пуришкевич и ряд других церковных и светских монархических деятелей. Почётным председателем съезда был епископ Серафим (Чичагов). Это мероприятие должно было способствовать объединению всех правых политических сил, но лишь закрепило раскол в их рядах — СРН съезд проигнорировал.


title: Восторгов, Иван Иванович

text: В 1913 году, когда Синод запретил священнослужителям заниматься политической деятельностью, покинул руководящий пост в Русском монархическом союзе, а в 1915 году — и Главную палату РНСМА.


title: Восторгов, Иван Иванович

text: Политическая деятельность Иоанна Восторгова подвергалась резкой критике со стороны либеральной общественности, а также и части черносотенных деятелей, обвинявших его, в частности, в уголовных преступлениях — например, в убийстве жены (которая в то время была ещё жива; умерла в 1915 году). Позднее обвинения не подтвердились, но они стали одной из причин того, что в 1916 году отец Иоанн не был хиротонисан во епископа (другой причиной могло стать его неприятие Григория Распутина). Восторгова обвиняли правые политические конкуренты в отравлении политического деятеля Павла Крушевана, раскрадывании сумм монархических организаций. Особенно активно выступал в правой прессе против Иоанна Восторгова с обвинениями в различных преступлениях консервативный публицист Николай Дурново.


title: Восторгов, Иван Иванович

text: Александра Богданович, жена правомонархического деятеля Евгения Богдановича, записала в своём дневнике (ссылаясь на правого политического деятеля Бориса Никольского) по поводу расследования убийства депутатов Государственной думы Григория Иоллоса и Михаила Герценштейна: «…поднимут дело об убийстве Иоллоса, а кем он был убит? Подготовил для него убийц протоиерей Восторгов, убит был Иоллос, как и Герценштейн, на деньги Столыпина».


title: Восторгов, Иван Иванович

text: После падения монархии без благословения митрополита Московского Макария собрал 7 марта (20 марта) 1917 года под своим председательством Московский столичный совет благочинных для принятия постановления: «1) Единогласно и вседушевно, во имя пастырского и патриотического долга, подчиниться Временному Правительству и последовавшим в этом направлении распоряжениям Высшей Церковной власти. 2) Приветствовать со всею радостью заявление Обер-прокурора Св. Синода В. Н. Львова о новом направлении церковной жизни, в смысле полного невмешательства Церкви и её служителей, как таковых, в их церковно-пастырской деятельности, в политический строй страны.  8) Настоящее постановление, ввиду временного отсутствия в Москве Митрополита, привести во исполнение без утверждения Митрополита и сообщить всем Преосвященным Викариям, Духовной Консистории, всему духовенству Москвы ». Посчитал необходимым от себя лично выступить в печати с разъяснением своей политической позиции, написав, в частности: «Отчего в старом строе в епархиальной жизни всё было придавлено? Оттого, что и епископы, и Синод были в рабстве».


title: Восторгов, Иван Иванович

text: В 1917 году состоял секретарём Миссионерского совета при Святейшем синоде.


title: Восторгов, Иван Иванович

text: Участник Всероссийского Поместного собора 1917—1918 годов.


title: Восторгов, Иван Иванович

text: После прихода к власти большевиков резко критиковал их деятельность в своих проповедях, призывал православных немедленно объединяться в «дружины пасомых» для защиты церкви.


title: Восторгов, Иван Иванович

text: 30 мая 1918 года был арестован в своей квартире вместе с епископом Селенгинским Ефремом (Кузнецовым), своим давним знакомым, который с началом смуты не смог вернуться в свою Иркутскую епархию; был обвинён в том, что дал согласие на продажу епархиального дома, к тому времени уже национализированного новой властью. 8 июня 1918 года в газете «Известия» появилась статья «Коммерческая сделка патриарха Тихона, протоиерея Восторгова и Ко». Содержался во внутренней тюрьме ВЧК, затем в Бутырской тюрьме. По этому делу был арестован также протоиерей Медведев. Их обвинили в связях с домом Романовых.


title: Восторгов, Иван Иванович

text: После убийства Моисея Урицкого и покушения на Ленина большевистская власть объявила красный террор. По всей советской России начались бессудные казни заложников; в числе первых жертв оказался и протоиерей Иоанн Восторгов: 4 сентября 1918 года Следственная комиссия Революционного трибунала при ВЦИКе постановила ликвидировать дело отца Иоанна во внесудебном порядке. Публично расстрелян 5 сентября 1918 года в Петровском парке вместе с епископом Ефремом, а также бывшим председателем Государственного совета Иваном Щегловитовым, бывшими министрами внутренних дел Николаем Маклаковым и Алексеем Хвостовым и сенатором Степаном Белецким. После расстрела тела всех казнённых (до 80-ти человек) были ограблены.


title: Восторгов, Иван Иванович

text: Погребён на Ходынском поле в Москве.


title: Восторгов, Иван Иванович

text:
По рассказу одного из очевидцев,
…по просьбе отца Иоанна палачи разрешили всем осуждённым помолиться и попрощаться друг с другом. Все встали на колени, и полилась горячая молитва «смертников», после чего все подходили под благословение преосвященного Ефрема и отца Иоанна, а затем все простились друг с другом. Первым бодро подошёл к могиле протоиерей Восторгов, сказавший перед тем несколько слов остальным, приглашая всех с верою в милосердие Божие и скорое возрождение Родины принести последнюю искупительную жертву. «Я готов», — заключил он, обращаясь к конвою. Все встали на указанные места. Палач подошёл к нему со спины вплотную, взял его левую руку, вывернул за поясницу и, приставив к затылку револьвер, выстрелил, одновременно толкнул отца Иоанна в могилу.


title: Восторгов, Иван Иванович

text: В августе 2000 года протоиерей Иоанн Восторгов был причислен к лику святых Юбилейным Архиерейским собором в составе Собора святых новомучеников и исповедников Российских.


title: Новая полицейская история

text: «Новая полицейская история» () — фильм режиссёра Бенни Чана. Фильм является перезапуском серии «Полицейская история». Фильм вышел в Гонконге 24 сентября 2004 года. В нём больше драматических моментов чем в предыдущих фильмах серии.


title: Новая полицейская история

text: Инспектор Чан Гвоквин (Чэнь Гожун) (Джеки Чан), легенда гонконгской полиции, публично поклялся изловить некую Банду Пятерых. Гангстеры устраивают засаду и уничтожают весь отдел Чана Гвоквина. Молодые сотрудники отдела умирают мучительной смертью на глазах инспектора. Самого инспектора, правда, оставляют в живых, но скорее из изощренного садизма, чем из милосердия. Расчет бандитов оправдывается на все сто: вместо того, чтобы радоваться, Чан Гвоквин погружается в глубокую депрессию и годовой запой. К жизни его пробуждает новый напарник, странный трудоголик Фрэнк (Николас Це Тинфэн (Цзэ Тхингфун)), с которым Чан Гвоквин сколачивает новую команду и вновь принимается за поиски Пятерых. Те, в отличие от инспектора, времени даром не теряли; за год предприимчивые бандиты создали и выбросили на рынок новую компьютерную игру-шутер. Роль главных мишеней отводится в ней подразделению Чан Гвоквин.


title: Новая полицейская история

text: Фрэнк раз за разом вытягивает Чана из запоя, ставя того в ситуации, когда ему нужно решить, кто он такой - то ли плюющий на все алкоголик, то ли полицейский, обязанный защищать мирных граждан. В итоге Чан делает свой выбор: он - офицер полиции. Чен бросает пить, и тратит все свои силы на обнаружение банды.


title: Новая полицейская история

text: В связи с этим выясняется, что главарь Банды Пятерых - некий Джо, одержимый ненавистью к полицейским. Он сколотил свою группу из юношей-мажоров, вступивших в конфликт с родителями. В действительности же Джо ненавидит не полицию, а только лишь собственного отца, полицейского офицера, всегда считавшего, что лучший метод воспитания ребенка - это палка и ремень. Получив такое "воспитание", Джо одновременно и ненавидит отца, и мечтает заслужить его одобрение. Точно так же смотрят на мир и его соратники по банде.


title: Новая полицейская история

text: Банда Пятерых, сумев, благодаря связям своих родителей, усадить Чана и Фрэнка в тюрьму, с изощренным издевательством сообщает им о месте следующего теракта: им станет торговый комплекс в центре города. Там наверняка погибнут невинные люди. Но боевики не учитывают круговой поруки в полиции: полицейские не только подбрасывают Чану и Фрэнку ключи от запертой камеры, но и "не видят" их в процессе движения по местному участку. Больше того, начальник участка лично передает Чану свой табельный пистолет вместе с обоймой. Вовремя прибыв в торговый комплекс, Чан с Фрэнком ухитряются нейтрализовать почти всех бандитов. Фрэнк ранит в ногу одного из боевиков, вынуждая его сдаться полиции, а Чан побеждает в прямом поединке признанного мастера борьбы без оружия, являвшегося ближайшим другом Джо. Побежденный мастер неожиданно проявляет благородство: целясь из пистолета Чану в спину, и одновременно слыша его призывы врача для раненного преступника, он предпочитает умереть, но не убить человека, который пытается его спасти.


title: Новая полицейская история

text: Из бандитов остается один лишь один Джо. Бросив вызов Чану, Джо проигрывает поединок, после чего провоцирует стрельбу снайперов по себе. Отец Джо своими глазами видит, как погибает его сын. Чан спасает Фрэнка, падающего с купола торгового центра. В финале фильма зритель видит Чана, делающего предложение своей невесте.


title: Новая полицейская история

text: И только тогда зритель узнает, кто же такой Фрэнк. Десять лет назад инспектор Чан отправил десятилетнего мальчика в детский лагерь после трагической гибели его отца. Чан, естественно, ничего такого не запомнил - для него это был рядовой случай. Но Фрэнк запомнил. И навсегда сохранил благодарность по отношению к человеку, давшему ему возможность вырасти и жить нормальной жизнью. Именно этим объясняются его дальнейшие действия.


title: Новая полицейская история

text: Вопреки ожиданиям, "Новая полицейская история" действительно оказалась некой иной мелодией в симфонии Джеки Чана. Кровожадность и наивный драматизм сценария, мрачный антураж и сильно урезанная комическая программа дают основания заподозрить во всем этом попытку поговорить о чём-то важном. Одним словом, Джеки сумел-таки снять напряженную психологическую драму.


title: Новая полицейская история

text: Основные съемки проходили в Гонконге с 1 января по 31 декабря 2003 года.


title: Новая полицейская история

text:
В первые три дня проката в Гонконге фильм собрал 5 625 746 гонконгских долларов. Всего он собрал 21 миллион, заняв тем самым четвертое место по сборам среди фильмов гонконгского производства за тот год.
13 октября 2006 фильм вышел в ограниченном прокате в Великобритании. За две недели проката он собрал 33 404 доллара. Британский критик Джонатан Росс оставил довольно положительный отзыв, написав что Чан "все еще в деле".


title: Симонс, Симона

text: Симона Симонс (Симоне Симонс, ; родилась 17 января 1985 года) — нидерландская певица (сопрано), ведущая вокалистка в симфо-метал-группе Epica.


title: Симонс, Симона

text: Певица родилась 17 января 1985 года в Нидерландах, в городе Херлен. Начала обучение игре на флейте и фортепиано в 1995 году. Через год начала заниматься вокалом (джаз и поп-пение).


title: Симонс, Симона

text: В 15 лет Симона послушала альбом "Oceanborn" группы Nightwish, и её так восхитил сильный оперный вокал Тарьи Турунен, что она стала брать уроки классического пения. В 2002 году в течение нескольких месяцев она пела в хоре, после чего присоединилась к недавно появившейся симфоник-метал-группе Epica. Группа, называвшаяся тогда Sahara Dust, дала несколько концертов с норвежской вокалисткой Хеленой Михаельсен, однако голос и яркая внешность молодой Симонс (на тот момент девушки гитариста и основателя группы Марка Янсена) сразу же сделали её лицом группы, а саму группу событием в европейской метал-музыке, принеся ей известность уже после первого альбома. Симона является автором некоторых песен группы.


title: Симонс, Симона

text: В 2005 году Симона участвовала в записи альбома группы Kamelot, в качестве приглашенной вокалистки.


title: Симонс, Симона

text:
Симона не заканчивала никаких специальных музыкальных заведений. В одном из интервью она говорила:
С 2013 года Симона замужем за музыкантом . У супругов есть сын — Винсент Палотай (род.02.10.2013).


title: Кампокьяро

text: Кампокьяро () — коммуна в Италии, располагается в регионе Молизе, в провинции Кампобассо.


title: Кампокьяро

text: Население составляет 634 человека (2008 г.), плотность населения составляет 18 чел./км². Занимает площадь 35 км². Почтовый индекс — 86020. Телефонный код — 0874.


title: Кампокьяро

text: Покровителем населённого пункта считается святой San Marco.


title: Кампокьяро

text: Динамика населения:


title: Волновое сопротивление

text: Волновое сопротивление — характеристика среды распространения волны.


title: Волновое сопротивление

text: Волновое сопротивление в газе и жидкости — отношение звукового давления в бегущей плоской звуковой волне к колебательной скорости частиц среды. Также волновое сопротивление равно произведению плотности среды на скорость звука в ней.


title: Волновое сопротивление

text: Волновое сопротивление в твёрдых телах для продольных волн — отношение механического напряжения, взятого с обратным знаком, к колебательной скорости частиц среды.


title: Волновое сопротивление

text: См. также удельное акустическое сопротивление.


title: Волновое сопротивление

text: Волновое сопротивление в гидромеханике — часть гидро- и аэродинамического сопротивления, характеризующая затраты энергии на образование волн, например:


title: Волновое сопротивление

text: В электродинамике волновое сопротивление линии передачи (коротко — волновое сопротивление) — величина, определяемая отношением напряжения падающей волны к току этой волны в линии передачи (по закону Ома).


title: Волновое сопротивление

text: При определении волнового сопротивления может использоваться также напряжение и ток отражённой или бегущей волн.


title: Волновое сопротивление

text: Единица измерения — Ом.


title: Волновое сопротивление

text: При расчёте волнового сопротивления по методу комплексных амплитуд используют амплитуды напряжения и силы тока. При наличии потерь в линии передачи значение становится комплексным.


title: Волновое сопротивление

text: Волновое сопротивление линии передачи зависит от её конструкции и электрофизических параметров применяемых материалов (ε, μ, σ), что совместно определяет погонные параметры линии передачи (ёмкость, индуктивность, сопротивление и проводимость на единицу длины), а также от типа волны, при наличии дисперсии — от частоты электромагнитных колебаний.


title: Волновое сопротивление

text: Волновое сопротивление часто путают с "характеристическим сопротивлением волны" — величиной, определяемой отношением поперечной составляющей напряженности электрического поля к поперечной составляющей напряженности магнитного поля бегущей волны.


title: Волновое сопротивление

text: В длинной линии волновое сопротивление равно (по закону Ома):


title: Волновое сопротивление

text: где:


title: Волновое сопротивление

text: В бесконечно длинных линиях нагрузка имеет чисто активный характер, поэтому энергия, запасаемая в индуктивности и ёмкости, одинаковая.


title: Волновое сопротивление

text: Поэтому волновое сопротивление в бесконечно длинных линиях определяется погонными индуктивностью и ёмкостью:


title: Волновое сопротивление

text: Волновое сопротивление среды — отношение амплитуд электрического и магнитного полей электромагнитных волн, распространяющихся в среде:


title: Волновое сопротивление

text: Если волновые сопротивления двух сред, имеющих границу раздела, одинаковы, то на этой границе не происходит отражения электромагнитных волн, даже если диэлектрическая и магнитная проницаемости в средах различны.


title: Волновое сопротивление

text: При распространении электромагнитной волны в среде с диэлектрической formula_12 и магнитной formula_13 проницаемостями амплитудные и мгновенные значения напряжённости электрического formula_14 и магнитного formula_15 полей связаны соотношением: formula_16. Это выражение можно представить в виде: formula_17. Отношение formula_18 принято называть волновым сопротивлением среды, поскольку существует формальная аналогия между уравнением formula_17 и законом Ома.


title: Ульяновка

text:
Улья́новка:
"спорная между Россией и Украиной территория, де-факто в составе России"


title: Ульяновка

text: Русское название "Ульяновка" соответствует украинским Улянівка и Ульяновка.


title: Усольский район (Пермский край)

text: Усо́льский райо́н — административно-территориальная единица (район) и муниципальное образование (муниципальный район) в составе Пермского края России.


title: Усольский район (Пермский край)

text: Административный центр — город Усолье.


title: Усольский район (Пермский край)

text: Граничит на севере с Соликамским районом, на востоке — с территорией, подчиненной городу Александровску, на юге — с Добрянским и Юсьвинским районами, на западе — с Кудымкарским и Косинским районами Пермского края. Площадь района — 4637,48 км².


title: Усольский район (Пермский край)

text: Водные ресурсы района представлены поверхностными и подземными, а также минерально-питьевыми и лечебно-столовыми водами.


title: Усольский район (Пермский край)

text: В феврале 1918 года село Новое Усолье стало центром Соликамского уезда, а с ноября 1923 года — центром Верхне-Камского округа, в который вошли территории Усольского и Чердынского уездов.


title: Усольский район (Пермский край)

text: В сентябре 1928 года центр Верхне-Камского округа, перенесен в город Соликамск.


title: Усольский район (Пермский край)

text: 23 июля 1930 года, постановлением ВЦИК, Верхне-Камский округ упразднён.


title: Усольский район (Пермский край)

text: 20 марта 1932 года Постановлением Президиума ВЦИК РСФСР город Усолье и рабочие поселки объединили в один город с присвоением ему наименования — Березники.


title: Усольский район (Пермский край)

text: 30 августа 1940 года Указом Президиума Верховного Совета РСФСР город Усолье выделен из городской черты города Березники и определен центром Ворошиловского района.


title: Усольский район (Пермский край)

text: В 1957 году району присвоено наименование Усольский.


title: Усольский район (Пермский край)

text: Указом Президиума Верховного Совета РСФСР от 1 февраля 1963 года Усольский район был ликвидирован, а населенные пункты переданы в подчинение г. Березники и г. Соликамска.


title: Усольский район (Пермский край)

text: В 1965 году район вновь был восстановлен и существует до настоящего времени.В городских условиях (город Усолье) проживают % населения района.


title: Усольский район (Пермский край)

text: По итогам переписи 2010 года: русские — 95%; татары — 1,4%; коми-пермяки — 1%.


title: Усольский район (Пермский край)

text:
В Усольском районе 73 населённых пункта в составе 1 городского и 3 сельских поселений:
Законом Пермского края от 5 марта 2013 года № 176-ПК образовано новое муниципальное образование Усольское городское поселение в результате объединения граничащих между собой муниципальных образований - Усольского городского поселения, Пыскорского сельского поселения, сельского поселения Березовка на Каме. Административным центром нового муниципального образования является город Усолье


title: Усольский район (Пермский край)

text: В сносках к названию населённого пункта указана муниципальная принадлежность


title: Усольский район (Пермский край)

text: Посёлок Девятый километр переименован в Солнечный.


title: Усольский район (Пермский край)

text: Посёлок 8 км, деревни Большая Сутяга, Палашер, Петухи, Рассохи.


title: Усольский район (Пермский край)

text: Развита лесная, деревообрабатывающая промышленность и направление по изготовлению мебели.


title: Усольский район (Пермский край)

text: Основная специализация сельскохозяйственного производства — молочно-мясная.


title: Усольский район (Пермский край)

text: Кравчук, Виктор Петрович (род. 1961) — командующий Балтийским флотом ВМФ РФ, вице-адмирал.


title: Вечный город (фильм)

text: «Вечный город» () — немая военная мелодрама 1923 года. Экранизация одноименного романа Холла Кейна.


title: Вечный город (фильм)

text: О сироте Давиде Росси заботится бродяга Бруно. Затем мальчика усыновляет доктор Роселли и растит вместе со своей дочерью по имени Рома. Повзрослев, Давид и Рома влюбляются друг в друга. Когда начинается Первая мировая война, Давид и Бруно уходят на фронт. Рома же становится скульптором. Девушке оказывает финансовую поддержку барон Бонелли, тайный лидер коммунистов. Далее Давид переходит на сторону фашистов и становится правой рукой Муссолини. Вновь встретившись с Ромой, он предполагает, что Бонелли — её любовник, и убивает его. Рома берет вину за гибель своего покровителя на себя, и Давид понимает, что она всегда оставалась верна ему.


title: Такт (поведение)

text: Такти́чность (такт, чу́вство та́кта, чу́вство ме́ры;  — прикосновение, осязание, чувство) — умение вести себя в соответствии с принятым этикетом и этическими нормами. Людей с чувством такта называют тактичными. Тактичность подразумевает не только простое следование правилам поведения, но и умение понимать собеседника и не допускать неприятных для других людей ситуаций.


title: Такт (поведение)

text:
Характеристику бестактности на конкретных примерах дал древнегреческий философ Теофраст в своём труде «Характеристики». Согласно Теофрасту, бестактность — это неумение выбрать подходящий момент для общения, что причиняет собеседнику неприятность. Бестактный человек не имеет злого умысла, но действует невпопад и не вовремя.
Теофраст приводит следующие примеры бестактных поступков:


title: Такт (поведение)

text: Такт — соразмерность поведения человека с чувствами и поступками других людей. Тактичность — способность соизмерять собственные поступки, чувства, слова и интонации с поступками, чувствами и интонациями других; навык совершения поступков и произношения слов, гармонизированных с поступками или словами партнера по общению.


title: Такт (поведение)

text: Х.-Г. Гадамер пишет: Под тактом мы понимаем определенную восприимчивость и способность к восприятию ситуации и поведения внутри неё, для которой у нас нет знания, исходящего из общих принципов. В силу этого понятие такта невыразительно и невыразимо. Можно что-то тактично сказать. Но это всегда будет значить, что при этом что-то тактично обходят и не высказывают и что бестактно говорить о том, что можно обойти. Но «обойти» не означает отвернуться от чего-то; напротив, это что-то нужно иметь перед глазами, чтобы об него не споткнуться, а пройти мимо него. Тем самым такт помогает держать дистанцию, избегать уязвлений и столкновений, слишком близкого соприкосновения и травмирования интимной сферы личности.


title: Сравнение C Sharp и Java

text: C# и Java — два языка программирования, развивающих язык программирования С++, с синтаксисом, который во многом наследует синтаксис С++, и созданных во многом в условиях конкуренции, и, вследствие этого, обладающих определённым сходством, а также имеющих и ряд различий.


title: Сравнение C Sharp и Java

text: Языки C# и Java появились в разное время. Язык Java был создан задолго до появления C#. Под названием Oak Java был разработан компанией Sun Microsystems в 1990 г., а в 1995 была выпущена первая бета-версия Java. Создание C# было анонсировано в 2000 году, а в 2002 году вышла первая версия платформы .NET, поддерживающей C#. Таким образом, если Java создавался опираясь в большей степени на опыт языков Objective C и C, то для C# такой опорой являлись C++ и сам Java. И, несмотря на своё название, C# оказался ближе к Java, чем к C++.


title: Сравнение C Sharp и Java

text: С точки зрения разработчика языки Java и C# очень похожи. Оба языка являются строго типизированными, объектными. Оба вобрали в себя многое из синтаксиса C++, но в отличие от C++, проще в освоении для начинающих. Оба позаимствовали из C набор основных ключевых слов и служебных символов, в том числе фигурные скобки для выделения блоков. Оба языка опираются на сборку мусора. Оба языка сопровождаются богатыми коллекциями библиотек. Но есть в языках также свои особенности и различия, сильные и слабые стороны. C# учёл многие недостатки Java, и исправил их в своей реализации. Но и Java не стоит на месте, развиваясь параллельно с C#.


title: Сравнение C Sharp и Java

text: Кик Рэдек из Microsoft считает С# более сложным языком, чем Java. По его мнению, «язык Java был построен таким образом, чтобы уберечь разработчика от стрельбы себе в ногу» (), а «С# был построен так, чтобы дать разработчику пистолет, но оставить его на предохранителе» ().


title: Сравнение C Sharp и Java

text:
Оба языка используют в качестве синтаксической основы язык программирования C. В частности, от него унаследованы без изменений:
Синтаксических различий также достаточно.


title: Сравнение C Sharp и Java

text: Оба языка реализуют одну модель работы с динамическими данными: объекты создаются динамически с помощью конструкции codice_1, среда исполнения отслеживает наличие ссылок на них, а сборщик мусора периодически очищает память от объектов, ссылок на которые нет. Для оптимизации сборки мусора спецификации языков и сред исполнения не содержат ограничений на время жизни объекта после удаления последней ссылки на него — сборщик работает независимо от исполнения программы, поэтому реальное уничтожение объекта может произойти в любой момент после удаления последней ссылки до завершения работы программы. В реальности сборщики мусора оптимизируют исполнение так, чтобы обеспечить приемлемый расход памяти при минимальном замедлении работы программ.


title: Сравнение C Sharp и Java

text: И в Java, и в C# есть сильные и слабые ссылки на объекты. Оба языка поддерживают методы-финализаторы. Из-за неопределённости момента удаления объекта финализаторы не могут использоваться для освобождения системных ресурсов, занятых объектом, что вынуждает создавать дополнительные методы для «очистки» объекта и вызывать их явно.


title: Сравнение C Sharp и Java

text: C# содержит в стандартной библиотеке интерфейс codice_2 и специальную конструкцию codice_3, гарантирующую своевременный вызов метода очистки:


title: Сравнение C Sharp и Java

text: В Java подобной конструкции нет и очистка объектов может быть выполнена только вручную:


title: Сравнение C Sharp и Java

text: В Java 7 добавлена конструкция «try-with-resources», обеспечивающая автоматическую очистку полностью аналогично C#:


title: Сравнение C Sharp и Java

text: При выходе из блока try все объекты, которым присвоено значение в его заголовке (круглых скобках перед блоком операторов), будут очищены. Обязательное условие — классы этих объектов должны реализовывать системный интерфейс java.lang.AutoCloseable.


title: Сравнение C Sharp и Java

text: Java позволяет зарегистрировать слушателя (listener), который будет получать сообщения, когда ссылка подвергается сборке мусора, что даёт улучшение производительности WeakHashMap.


title: Сравнение C Sharp и Java

text: C# (точнее, среда CLR) позволяет отменить выполнение финализатора для данного объекта методом codice_4 (напр., соединение SQL на файловом потоке). Это бывает полезным, поскольку финализация считается относительно дорогой операцией при сборке мусора, и объект с финализатором «живёт» дольше.


title: Сравнение C Sharp и Java

text: Оба языка — объектно-ориентированные, с синтаксисом, унаследованным от C++, но значительно переработанным. Код и данные могут описываться только внутри классов.


title: Сравнение C Sharp и Java

text: В Java модификатор protected в описании, помимо доступа из классов-потомков, разрешает доступ из всех классов, входящих в тот же пакет, что и класс-владелец.


title: Сравнение C Sharp и Java

text: В C# для объектов, которые должны быть видны в пределах сборки (примерный аналог пакета Java) введён отдельный модификатор internal (аналог default в Java), а protected сохраняет свой изначальный смысл, взятый из C++ — доступ только из классов-потомков. Допускается комбинировать internal и protected — тогда получится область доступа, соответствующая protected в Java.


title: Сравнение C Sharp и Java

text: Оба языка позволяют определить класс внутри класса.


title: Сравнение C Sharp и Java

text: В Java внутренние классы используются для эмуляции замыканий. Внутренние классы Java имеют доступ к нестатическим членам родительского класса, то есть «знают о this»; кроме того, внутри методов можно определять локальные классы, имеющие доступ по чтению к локальным переменным, и безымянные (анонимные) локальные классы, которые фактически позволяют создавать экземпляры объектов и интерфейсов, перекрывающие методы своего класса, непосредственно в месте их использования. На этом механизме в Java-программах может строиться обработка событий (событие генерирует вызов метода, в исходном классе-обработчике являющегося абстрактным; там, где нужен конкретный обработчик события, программист создаёт экземпляр локального анонимного класса — наследника базового класса-обработчика и непосредственно использует его). Таким образом, исчезает необходимость в специальном типе и синтаксической поддержке для событий, но сам код, создающий обработчики, несколько более сложен для понимания. В частности, сложнее становятся области видимости переменных.


title: Сравнение C Sharp и Java

text: В C# есть замыкания и лямбды. Подход C# более напоминает C++: внутренние классы в C# имеют доступ только к статическим членам внешнего класса, а для доступа к нестатическим членам нужно явно указывать экземпляр внешнего класса. Локальные внутренние классы в C# не поддерживаются.


title: Сравнение C Sharp и Java

text: В Java начиная с 8 версии также появились лямбда-выражения.


title: Сравнение C Sharp и Java

text: В обоих языках методы определяются через функции класса. Тело метода располагается внутри описания класса. Поддерживаются статические методы, абстрактные методы. В C# также есть явная реализация методов интерфейса, что позволяет классу реализовывать методы интерфейса отдельно от собственных методов или давать разные реализации одноимённых методов, принадлежащих двум разным интерфейсам.


title: Сравнение C Sharp и Java

text: В Java8 появился оператор default, позволяющий определить реализацию методов интерфейса "по умолчанию". Таким образом, реализующий интерфейс класс избавляется от обязанности реализовывать default-методы, но может перекрыть их.


title: Сравнение C Sharp и Java

text: В Java примитивные типы (byte, int, double, float, boolean и пр.) передаются по значению, а для остальных (объектные) по значению передается ссылка на объект.


title: Сравнение C Sharp и Java

text: В C# в дополнение к примитивным типам передаются по значению структуры (struct) (т. н. значимые типы), остальные типы передаются по ссылке (т. н. ссылочные типы). C# также поддерживает явное описание передачи параметров по ссылке (ключевые слова ref и out). При использовании out компилятор контролирует наличие в методе присваивания значения. Использовать их стоит только при работе с неуправляемым кодом, который это требует (например, Winapi), так как это нарушает концепцию ООП.


title: Сравнение C Sharp и Java

text: В C# запрещается давать методам наименование, совпадающее с названием класса, что предотвращает ошибки (в Java программист может определить конструктор, который будет на самом деле являться методом).


title: Сравнение C Sharp и Java

text: C# копирует концепцию виртуальных методов C++: виртуальный метод должен быть явно объявлен с ключевым словом codice_5, прочие методы виртуальными не являются. Такое выборочное объявление виртуальных методов введено в C#, так как объявление всех методов виртуальными может сильно замедлить исполнение. Кроме того, C# требует явного объявления о перекрытии виртуального метода в производном классе ключевым словом codice_6. Если требуется скрыть (hide) виртуальный метод, то есть просто ввести новый метод с тем же именем и сигнатурой, требуется указать ключевое слово codice_1 (в случае отсутствия которого компилятор выдаёт предупреждение). Запрещается заслонять абстрактные методы. Объявление override-метода с ключевым словом codice_8 запрещает переопределять (override) этот метод в классах-потомках, однако по-прежнему позволяет скрыть его.


title: Сравнение C Sharp и Java

text: В Java, наоборот, все открытые методы, кроме статических, являются виртуальными, а переопределить метод так, чтобы механизм виртуальности не включился, невозможно. Метод всегда виртуально перекрывает метод базового класса с теми же именем и сигнатурой, если он есть. Ключевое слово codice_9 позволяет запретить создание метода с такой же сигнатурой в производных классах.


title: Сравнение C Sharp и Java

text: Подход Java синтаксически проще, он гарантирует, что всегда вызывается метод именно того класса, к которому относится объект. С другой стороны, виртуальность действительно нужна не всегда, а накладные расходы на вызов виртуальных методов несколько больше, поскольку эти вызовы обычно не проходят инлайн-подстановку и требуют дополнительного обращения к таблице виртуальных методов (хотя некоторые реализации JVM, включая реализацию Sun, реализуют инлайн-подстановку наиболее часто вызываемых виртуальных методов).


title: Сравнение C Sharp и Java

text: Виртуальность всех методов потенциально небезопасна: если программист по ошибке объявит метод, который уже есть в базовом классе, не имея намерения его перекрывать, а просто не обратив внимания на то, что такой метод уже есть, то новый метод перекроет одноимённый метод в базовом классе, хотя это и не входит в намерения разработчика. В C# подобная ошибка тоже возможна, но компилятор выдаст предупреждение, что перекрывающий метод объявлен без codice_1 и codice_6. В Java 5 появился аналогичный механизм — если метод перекрывает виртуальный метод класса-предка, компилятор выдаёт предупреждение; чтобы предупреждение не выдавалось, необходимо отметить перекрывающий метод аннотацией «@Override».


title: Сравнение C Sharp и Java

text: Оба языка поддерживают идею примитивных типов (которые в C# являются подмножеством "типов-значений" — "value types"), и оба для трансляции примитивных типов в объектные обеспечивают их автоматическую «упаковку» в объекты (boxing) и «распаковку» (unboxing) (в Java — начиная с версии 5). В C# к примитивным типам можно обращаться как к объектам, и это является одной из причин, с которой связывают популярность C#. В Java разделяют примитивные типы и объектные, для обращения к примитивным типам как к объектам применяются классы-обёртки (например для типа int — обёртка Integer), это вызывает недовольство многих разработчиков на Java.


title: Сравнение C Sharp и Java

text: Примитивных типов в C# больше, чем в Java, за счёт беззнаковых целых типов (unsigned), имеющихся парно ко всем знаковым, и специального типа codice_12 для высокоточных вычислений с фиксированной запятой (в Java для этого служат классы java.math.BigInteger и java.math.BigDecimal).


title: Сравнение C Sharp и Java

text: В Java отказались от большинства беззнаковых типов ради упрощения языка. Одна из известных проблем с такими типами — сложность определения типа результата арифметических операций над двумя аргументами, один из которых является знаковым, другой — беззнаковым. Независимо от того, какие правила в отношении подобных операций примет язык, в некоторых ситуациях это приведёт к ошибкам (например, в C++ операция над знаковым и беззнаковым значением даёт беззнаковый результат; в итоге на 16-разрядных архитектурах выражение «40000 / (-4)» даст в результате не −10000, а 55536). Однако этот отказ порождает свои проблемы; поскольку значительная часть технических данных, используемых на низком уровне (например, различные служебные данные, передаваемые оборудованием и возвращаемые функциями API операционной системы) имеет именно беззнаковый целый тип, и отсутствие таких типов приводит к необходимости выполнять небезопасные операции конвертации данных, а в ряде случаев — заменять использование простой беззнаковой арифметики неочевидными комбинациями побитовых операций.


title: Сравнение C Sharp и Java

text: C# позволяет создавать пользовательские типы-значения, используя ключевое слово codice_13. Это прямое наследие языка С++ от которого создатели Java сознательно отказались. В отличие от экземпляров классов, экземпляры типов-значений создаются не в куче, а на стеке вызовов или в составе экземпляра объекта, в котором они объявлены, что в некоторых случаях повышает производительность кода. С точки зрения программиста они подобны классам, но с несколькими ограничениями: у них не может быть явного конструктора без параметров (но может быть конструктор с параметрами), от них нельзя наследовать и они не могут явно наследоваться от других типов (всегда неявно наследуются от класса System.ValueType), но могут реализовывать интерфейсы. Кроме того, значения struct-типов поддерживают логику присваивания значения (то есть присваивание одной переменной значения другой приводит не к копированию ссылки на один и тот же объект, а к копированию значений полей одной структуры в другую). Начиная с версии 1.6, в Java тоже имеется возможность создавать объекты на стеке, но происходит это автоматически без участия пользователя.


title: Сравнение C Sharp и Java

text: В Java для того, чтобы от класса нельзя было наследоваться, его можно объявить финальным codice_9, тем самым получив частичный аналог конструкции codice_13 (копирование по значению при этом поддерживаться не будет всё равно). В C# для тех же целей используется модификатор codice_8.


title: Сравнение C Sharp и Java

text: Перечислимые типы в C# происходят от примитивных целочисленных типов. Допустимым значением перечислимого типа является любое значение лежащего в его основе примитивного, хотя для его присваивания может потребоваться явное приведение типа. Это позволяет комбинировать значения перечислимого типа побитовой операцией «или», если они являются битовыми флагами.


title: Сравнение C Sharp и Java

text: В Java перечислимые типы являются классами, их значения, соответственно — объектами. Тип-перечисление может иметь методы, реализовывать интерфейсы. Единственные допустимые значения типа — те, что перечислены в объявлении. Для комбинации их вместе как флагов требуется специальный объект набора перечислений. Возможно задавать разные реализации методов для каждого значения.


title: Сравнение C Sharp и Java

text: Массивы и коллекции тоже получили выражение в синтаксисе обоих языков, благодаря особой разновидности цикла codice_17 (цикл по коллекции, известный также как цикл codice_18). В обоих языках массив является объектом класса codice_19, но в Java он не реализует какие-либо интерфейсы коллекций, хотя по массивам возможна итерация циклом for(:). Оба языка имеют в стандартной библиотеке классы типичных коллекций.


title: Сравнение C Sharp и Java

text: В Java могут быть объявлены, строго говоря, только одномерные массивы. Многомерный массив в Java — массив массивов. В C# есть как настоящие многомерные массивы, так и массивы массивов, которые в C# обычно называются «неровными», или «ступенчатыми» (jagged). Многомерные массивы всегда «прямоугольные» (говоря в двумерной терминологии), в то время как массивы массивов могут хранить строки разной длины (опять-таки в двумерном случае, в многомерном аналогично). Многомерные массивы ускоряют доступ к памяти (для них указатель разыменовывается только один раз), а неровные массивы работают медленнее, но экономят память, когда не все строки заполнены. Многомерные массивы требуют для своего создания лишь один вызов оператора codice_1, а ступенчатые требуют явно выделять память в цикле для каждой строки.


title: Сравнение C Sharp и Java

text: В обоих языках типы могут быть параметризованными, что поддерживает парадигму обобщённого программирования. Синтаксически определение типов достаточно близко — в обоих языках оно унаследовано от шаблонов (templates) C++, хотя и с некоторыми модификациями.


title: Сравнение C Sharp и Java

text: Обобщения типов в Java являются чисто языковой конструкцией и реализованы лишь в компиляторе. Компилятор заменяет все обобщённые типы на их верхние границы и вставляет соответствующее приведение типов в те места, где используется параметризируемый тип. В результате получается байт-код, который не содержит ссылок на обобщённые типы и их параметры. Такая техника реализации обобщённых типов называется "затиранием типов" (type erasure). Это означает, что информация об исходных обобщённых типах во время выполнения недоступна, и обусловливает некоторые ограничения, такие как невозможность создавать новые экземпляры массивов из аргументов обобщённого типа. Среда выполнения Java не знакома с системой обобщённых типов, вследствие чего новым реализациям JVM понадобились лишь минимальные обновления для работы с новым форматом классов.


title: Сравнение C Sharp и Java

text: C# пошёл другим путём. Поддержка обобщённости была интегрирована в саму виртуальную среду выполнения, впервые появившись в .NET 2.0. Язык здесь стал лишь внешним интерфейсом для доступа к этим возможностям среды. Как и в Java, компилятор производит статическую проверку типов, но в дополнение к этому JIT производит проверку корректности во время загрузки. Информация об обобщённых типах полностью присутствует во время выполнения и позволяет полную поддержку рефлексии обобщённых типов и создание их новых реализаций.


title: Сравнение C Sharp и Java

text: Подход Java требует дополнительных проверок во время выполнения, не гарантирует, что клиент кода будет следовать соответствию типов, и не обеспечивает рефлексии для обобщённых типов. Java не позволяет специализировать обобщённые типы примитивными (это можно сделать только заворачивая примитивные типы в классы), в то время как C# обеспечивает обобщение как для ссылочных типов, так и для типов-значений, включая примитивные. Вместо этого Java предлагает использование завёрнутых примитивных типов в качестве параметров (напр., codice_21 вместо codice_22), но это даётся ценой дополнительного выделения динамической памяти. Как в Java, так и в C# специализации обобщённого типа на разных ссылочных типах дают одинаковый код, но для C# среда выполнения динамически генерирует оптимизированный код при специализации на типах-значениях (например, codice_22), что позволяет их хранить и извлекать из контейнеров без операций за- и разворачивания.


title: Сравнение C Sharp и Java

text: Java требует от программиста ручной реализации шаблона наблюдателя, хоть и обеспечивает некоторый синтаксический сахар в виде анонимных вложенных классов, что позволяет определить тело класса и тут же создать его экземпляр в одной точке кода.


title: Сравнение C Sharp и Java

text: C# предоставляет обширную поддержку событийного программирования на уровне языка, включая делегаты .NET, мультикастинг, специальный синтаксис для задания событий в классах, операции для регистрации и разрегистрации обработчиков события, ковариантность делегатов и анонимные методы с полным набором семантики замыкания.


title: Сравнение C Sharp и Java

text: Замыкания включены в Java SE 8 . Эти замыкания, как делегаты в C#, имеют полный доступ ко всем локальным переменным в данной области видимости, а не только доступ для чтения к переменным, помеченным словом codice_9 (как с анонимными вложенными классами).


title: Сравнение C Sharp и Java

text: C# включает перегрузку операторов и задаваемое пользователем приведение типов, знакомые программирующим на C++. C# её поддерживает с некоторыми ограничениями, обеспечивающими логическую целостность, что при осторожном использовании помогает сделать код более лаконичным и читаемым. Java не включает перегрузку операций во избежание злоупотреблений ею и для поддержания простоты языка.


title: Сравнение C Sharp и Java

text: C# поддерживает концепцию «свойств» — псевдополей класса, к которым обеспечивается полностью контролируемый доступ путём создания методов для извлечения и записи значения поля. Описания свойств производятся с помощью конструкций codice_25 и codice_26. В Java отсутствует такая концепция (хотя никаких ограничений, чтобы реализовать её с помощью традиционных методов, нет).


title: Сравнение C Sharp и Java

text:
C# также включает так называемые "индексаторы", которые можно считать особым случаем перегрузки операций (аналогичным перегрузке codice_27 в C++), или параметризованными свойствами. Индексатор — это свойство с именем codice_28, которое может иметь один или более параметров (индексов), причём индексы могут быть любого типа. Это позволяет создавать классы, экземпляры которых ведут себя подобно массивам / Map:
Использование свойств не одобряется некоторыми авторитетными программистами. В частности, Джеффри Рихтер пишет:


title: Сравнение C Sharp и Java

text: «Лично мне свойства не нравятся, и я был бы рад, если бы их поддержку убрали из Microsoft .NET Framework и сопутствующих языков программирования. Причина в том, что свойства выглядят как поля, на самом деле являясь методами.»


title: Сравнение C Sharp и Java

text: Согласно общепринятому в C# стилю именования, имена свойств визуально отличаются от полей тем, что начинаются с прописной буквы.


title: Сравнение C Sharp и Java

text: C#, в отличие от Java, поддерживает условную компиляцию с использованием директив препроцессора. В нём также есть атрибут codice_29, означающий, что указанный метод вызывается только тогда, когда определена данная константа компиляции. Таким путём можно вставлять в код, например, проверки допущений (assertion checks), которые будут работать только в отладочной версии, когда определена константа codice_30. В стандартной библиотеке .NET таков метод codice_31.


title: Сравнение C Sharp и Java

text: Java версий 1.4 и выше включает в язык возможность проверки допущений, включаемую во время выполнения. Кроме того, конструкции if с константными условиями могут разворачиваться на этапе компиляции. Существуют сторонние реализации препроцессоров для Java, они используются преимущественно при разработке приложений для мобильных устройств.


title: Сравнение C Sharp и Java

text: Внешние модули в Java и в C# подключаются сходным образом. В Java используется ключевое слово import, в С# — using. Пример:


title: Сравнение C Sharp и Java

text: Существенным отличием между import в Java и using в C# является то, что C# использует концепцию "пространств имён" (namespace), напоминающую одноимённый механизм C++. В Java используется концепция "пакетов". Пространства имён никак не связаны с компилированными модулями (сборками, или assembly в терминологии Microsoft). Несколько сборок могут содержать одно и то же пространство имён, в одной сборке может объявляться несколько пространств имён, не обязательно вложенных. Модификаторы области видимости C# никак не связаны с пространствами имён. В Java же объявленные в одном пакете классы по умолчанию образуют единый компилированный модуль. Модификатор области видимости по умолчанию (отсутствие явного указания) ограничивает область видимости полей и методов класса пределами пакета.


title: Сравнение C Sharp и Java

text: В Java структура файлов и каталогов исходных текстов пакета по умолчанию связана со структурой пакета — пакету соответствует каталог, входящим в него подпакетам — подкаталоги этого каталога, файлы исходных текстов располагаются в каталогах, соответствующих пакету или подпакету, в который они входят. Таким образом, дерево исходных текстов повторяет структуру пакета. В C# местонахождение файла с исходным текстом никак не связано с его пространством имён.


title: Сравнение C Sharp и Java

text: Ни один из вариантов не обладает значительным превосходством в мощности, просто используются разные механизмы для разрешения неоднозначностей.


title: Сравнение C Sharp и Java

text: В C# классы могут располагаться в файлах произвольным образом. Имя файла исходного кода никак не связано с именами определяемых в нём классов. Допускается расположить в одном файле несколько общедоступных (public) классов. Начиная с версии 2.0, C# позволяет также разбить класс на два и более файла (ключевое слово codice_32). Последняя особенность сделана для разделения кода, который пишется человеком, и генерируемого кода. Она используется, например, визуальными средствами построения интерфейса: часть класса, в которой находятся поля и методы, управляемые конструктором интерфейса, выделяются в отдельный файл.


title: Сравнение C Sharp и Java

text: В Java каждый файл может содержать только один общедоступный (public) класс, причём Java требует, чтобы имя файла совпадало с именем этого класса, что исключает путаницу в именах файлов и классов. Более того, согласно рекомендуемому Sun соглашению об оформлении кода, размер файла исходного кода не должен превышать 2000 строк кода, поскольку в файле большего размера труднее разбираться. Большой размер файла также считается признаком плохого проектирования.


title: Сравнение C Sharp и Java

text: Оба языка поддерживают механизм обработки исключений, синтаксически оформленный совершенно одинаково: в языке имеется оператор генерации исключения codice_33 и блок обработки исключений codice_34, обеспечивающий перехват возникших внутри блока исключений, их обработку, а также гарантированное выполнение завершающих действий.


title: Сравнение C Sharp и Java

text: Java поддерживает проверяемые (checked) исключения: программист должен явно указать для каждого метода типы исключений, которые метод может выбросить, эти типы перечисляют в объявлении метода после ключевого слова codice_35. Если метод использует методы, выбрасывающие проверяемые исключения, он должен либо явно перехватывать все эти исключения, либо содержать их в собственном описании. Таким образом, код явно содержит перечень исключений, которые могут быть выброшены каждым методом. Иерархия типов исключений содержит также два типа (codice_36 и codice_37), наследники которых не являются проверяемыми и не должны описываться. Они выделены для исключений времени выполнения, которые могут возникнуть в любом месте, либо обычно не могут быть обработаны программистом (например, ошибки среды исполнения), и не должны указываться в объявлении codice_35.


title: Сравнение C Sharp и Java

text: C# проверяемые исключения не поддерживает. Их отсутствие является сознательным выбором разработчиков. Андерс Хейлсберг, главный архитектор C#, считает, что в Java они были в какой-то степени экспериментом и себя не оправдали .


title: Сравнение C Sharp и Java

text: Вопрос о пользе проверяемых исключений дискуссионный. Подробнее см. статью Обработка исключений.


title: Сравнение C Sharp и Java

text: В целом механизмы параллельного программирования в C# аналогичны тем, что предоставляет Java, различие состоит в деталях реализации. В обоих случаях имеется библиотечный класс Thread, реализующий понятие «потока». Java предоставляет два способа создания собственных потоков: либо путём расширения класса Thread, либо путём реализации интерфейса Runnable. В обоих случаях программист должен определить наследуемый (входящий в интерфейс) метод run(), содержащий тело потока — код, который будет в нём выполняться. C# вместо этого использует механизм делегатов: для создания потока создаётся экземпляр стандартного класса Thread, которому передаётся в виде параметра конструктора делегат, содержащий метод — тело потока.


title: Сравнение C Sharp и Java

text: В обоих языках есть возможность создать синхронно исполняемый блок кода; в Java это делается с помощью оператора synchronized(), в C# — оператором lock(). В Java имеется также возможность объявлять синхронные методы, используя модификатор synchronized в заголовке описания метода. Такие методы при исполнении блокируют свой объект-хозяин (таким образом, из синхронизированных методов класса, для одного и того же экземпляра, одновременно может выполняться только один и только в одном треде, остальные будут ждать). Аналогичная возможность в .NET реализуется с помощью атрибута реализации метода MethodImplAttribute MethodImplOptions.Synchronized, но, в отличие от Java, эта возможность формально не является частью языка C#.


title: Сравнение C Sharp и Java

text: В С# есть оператор codice_39 , захватывающий блокировку перед входом в блок и освобождающий её как при выходе, так и при выбросе исключения. Аналог в Java - synchronized () {}.


title: Сравнение C Sharp и Java

text: В C# 4.5 появились операторы async и await, а также новый класс Task, более эффективный, чем Thread для коротких параллельных задач. На этом же механизме реализована эффективная параллельная обработка перечислимых типов (Enumerable контейнеров).


title: Сравнение C Sharp и Java

text: В обоих языках доступны также идентичные средства синхронизации, основанные на отправке и ожидании сигнала от одного потока к другому (другим). В Java это методы notify(), notifyAll() и wait(), в C# — методы Pulse(), PulseAll(), Wait() (тройки методов функционально попарно аналогичны). Различие состоит лишь в том, что в Java эти методы (и, соответственно, функциональность монитора) реализуется в классе Object, поэтому для синхронизации не требуется никаких дополнительных библиотек, а в C# эти методы реализованы как статические в отдельном библиотечном классе Monitor (неявно используемом оператором lock). В C# стандартная библиотека содержит также несколько дополнительных примитивов синхронизации параллельного исполнения потоков: мьютексы, семафоры, синхронизирующие таймеры. С версии 1.5 в JDK SE включены пакеты java.util.concurrent, java.util.concurrent.atomic и java.util.concurrent.locks содержащие исчерпывающий набор средств для реализации параллельных вычислений.


title: Сравнение C Sharp и Java

text: Java Native Interface (JNI) позволяет программам вызывать из Java низкоуровневые, системно-зависимые функции (например, библиотек winAPI). Как правило, JNI используется при написании драйверов. При написании JNI-библиотек разработчик должен использовать специальный API, предоставляемый бесплатно. Выпускаются также специализированные библиотеки для взаимодействия Java с COM.


title: Сравнение C Sharp и Java

text: Технология Platform Invoke (P/Invoke), реализованная в .NET, позволяет вызывать из C# внешний код, который Microsoft называет "неуправляемым". Через атрибуты в метаданных программист может точно управлять передачей (маршалингом) параметров и результатов, избегая таким образом необходимости дополнительного кода адаптации. P/Invoke предоставляет почти полный доступ к процедурным API (таким, как Win32 или POSIX), но не даёт прямого доступа к библиотекам классов C++.


title: Сравнение C Sharp и Java

text: .NET Framework предоставляет также мост между .NET и COM, позволяя обращаться к COM-компонентам так, как если бы они были родными объектами .NET, что требует дополнительных усилий программиста при использовании COM-компонент со сложными нетривиальными интерфейсами (например, в случае передачи структуры через массив байтов). В этих случаях приходится прибегать к unsafe коду (см. ниже) или другим обходным путям.


title: Сравнение C Sharp и Java

text: C# разрешает ограниченное использование указателей, которые проектировщики языков зачастую считают опасными. Подход C# в этом деле — требование ключевого слова codice_40 при блоках кода или методах, использующих эту возможность. Это ключевое слово предупреждает пользователей такого кода о его потенциальной опасности. Оно также требует явного задания компилятору опции /unsafe, которая по умолчанию выключена. Такой «небезопасный» код используется для улучшения взаимодействия с неуправляемым API и иногда для повышения эффективности определённых участков кода.


title: Сравнение C Sharp и Java

text: C# также позволяет программисту отключить нормальную проверку типов и другие возможности безопасности CLR, разрешая использование переменных-указателей при условии применения ключевого слова codice_40. Преимуществом управляемого unsafe-кода над P/Invoke или JNI является то, что он позволяет программисту продолжать работать в знакомой среде C# для выполнения задач, которые при других методах потребовали бы вызова неуправляемого кода, написанного на другом языке.


title: Сравнение C Sharp и Java

text: Существуют многочисленные реализации JVM практически для всех присутствующих на рынке платформ. Разработкой JVM занимаются такие корпорации, как IBM, Sun Microsystems (с 2010 года Oracle), Bea и ряд других. Следует отметить, что Sun (Oracle) выпускает свою JVM как под своей собственной лицензией , так и под модифицированной (посредством т. н. «Classpath exception») лицензией GPLv2 .


title: Сравнение C Sharp и Java

text: Java Web Start и апплеты обеспечивают удобное, лёгкое и безопасное средство распространения настольных приложений, причём эффективность её байткодового представления совместно с агрессивными технологиями сжатия, такими как pack200, делают Java средством распространения сетевых приложений, неприхотливым к полосе пропускания.


title: Сравнение C Sharp и Java

text: C# тоже является кроссплатформенным стандартом. Его первичная платформа — Windows, но существуют и реализации для других платформ, самая значительная из которых — проект Mono.


title: Сравнение C Sharp и Java

text: .NET Core — это универсальная платформа разработки с открытым кодом, которую поддерживает корпорация Майкрософт и сообщество .NET на сайте GitHub. Она является кроссплатформенной (поддерживает Windows, macOS и Linux) и может использоваться для создания приложений для устройств, облака и Интернета вещей.


title: Сравнение C Sharp и Java

text:
Технология ClickOnce предлагает функциональность, подобную Java Web Start, но она имеется только для клиентов Windows. Internet Explorer на Windows умеет показывать элементы интерфейса .NET Windows Forms, что даёт апплетоподобную функциональность, но ограничено конкретным браузером.
Развитие этих двух языков, и также их API, двоичных форматов и сред выполнения, управляется по-разному.


title: Сравнение C Sharp и Java

text: C# определён стандартами ECMA и ISO, которые задают синтаксис языка, формат выполнимых модулей (известный как CLI) и библиотеку базовых классов (Base Class Library, или BCL). Стандарты не включают многие новые библиотеки, реализованные Microsoft поверх стандартного каркаса, такие как библиотеки для баз данных, GUI и веб-приложений (Windows Forms, ASP.NET и ADO.NET). Однако Microsoft формально согласилась не преследовать в судебном порядке проекты сообщества за реализацию этих библиотек .


title: Сравнение C Sharp и Java

text: На сегодняшний день никакая составная часть среды Java не стандартизуется Ecma, ISO, ANSI или какой-либо другой сторонней организацией стандартов. В то время как Oracle сохраняет неограниченные исключительные юридические права на модификацию и лицензирование своих торговых марок Java, Oracle добровольно участвует в процессе, называемом Java Community Process (JCP), который позволяет заинтересованным сторонам предлагать изменения в любые Java-технологии Oracle (язык, инструментарий, API) через консультации и экспертные группы. По правилам JCP, любое предложение по изменению в JDK, среде выполнения Java или спецификации языка Java может быть односторонне отвергнуто Oracle, потому что для его одобрения требуется голос «за» со стороны Oracle. От коммерческих участников JCP требует членских взносов, в то время как некоммерческие организации и частные лица могут участвовать в нём бесплатно.


title: Сравнение C Sharp и Java

text: В то время как «Java» — торговая марка Oracle (ранее - Sun), и только Oracle может лицензировать имя «Java», существуют многочисленные свободные проекты, частично совместимые с Oracle Java. Например, GNU Classpath и GNU Compiler for Java (GCJ) поставляют свободную библиотеку классов и компилятор, частично совместимые с текущей версией Oracle Java. В конце 2006 года Sun объявила, что весь исходный код Java, за исключением закрытого кода, на который они не сохраняют права, будет выпущен к марту 2007 года в качестве свободного программного обеспечения под видоизменённой лицензией GPL. Oracle в настоящее время распространяет свою HotSpot Virtual Machine и компилятор Java под лицензией GPL, но на стандартную среду выполнения Java сейчас нет свободной лицензии. Поскольку Oracle сохранит право собственности на свой исходный код Java, выпуск под лицензией GPL не запретит Oracle распространять несвободные или неоткрытые версии Java, или давать на это лицензии другим.


title: Сравнение C Sharp и Java

text: C#, среда CLR и большая часть соответствующей библиотеки классов стандартизированы и могут свободно реализовываться без лицензии. Уже реализовано несколько свободных систем C#, в том числе Mono и DotGNU. В проекте Mono также реализованы многие нестандартные библиотеки Microsoft путём изучения материалов Microsoft, аналогично GNU Classpath и Java. Целью проекта Mono является избежать посягательств на какие-либо патенты или копирайты, и проект может свободно распространяться и использоваться под лицензией GPL. Microsoft в настоящее время распространяет Shared source-версию своей среды выполнения .NET для некоммерческого использования.


title: Сравнение C Sharp и Java

text: Интерпретаторы Java могут устанавливаться копированием файлов и работают без ограничений на Windows как минимум с Windows 2000. Официальный C# фреймворк должен быть установлен в систему от администратора, определенные версии языка могут требовать определённую версию Windows.


title: Сравнение C Sharp и Java

text: Java построена на более открытой культуре с высокой конкурентностью фирм в различных областях функциональности. Большинство дополнительных библиотек доступно под свободными лицензиями с открытым исходным кодом. Также Sun приветствует практику описания какой-либо функциональности в виде спецификации (см. процесс JCP), оставляя реализацию сторонним разработчикам (возможно, предоставляя эталонную реализацию). Таким образом, решается вопрос независимости от производителя ПО.


title: Сравнение C Sharp и Java

text: Несмотря на существование Mono, C# тесно привязывает разработчиков к платформе Microsoft (включая ОС, офисные решения). Таким образом, пользователь программного обеспечения, написанного на .NET, часто не имеет выбора в использовании различных компонент системы. Это приводит к так называемому vendor-locking, при котором производитель стороннего ПО может диктовать покупателю практически любые условия на поддержку внедрённого проекта. В то время, как пользователь приложения Java, как правило, может сам выбрать поставщика дополнительного ПО (такого, как БД, ОС, сервера приложений и т. д.).


title: Сравнение C Sharp и Java

text: Java старше, чем C# и построена на большой и активной пользовательской базе, став "lingua franca" во многих современных областях информатики, особенно таких, где задействованы сети. Java доминирует в курсах программирования американских университетов и колледжей, и литературы по Java сегодня намного больше, чем по C#. Зрелость и популярность Java привели к большему числу библиотек и API на Java (многие из которых открытые), чем на C#.


title: Сравнение C Sharp и Java

text: В отличие от Java, C# — язык относительно новый. Microsoft изучила существующие языки, такие как Java, Delphi и Visual Basic, и изменила некоторые аспекты языка для лучшего соответствия нуждам некоторых типов приложений.


title: Сравнение C Sharp и Java

text: В отношении Java можно услышать критику, что этот язык медленно развивается, в нём не хватает некоторых возможностей, которые облегчают модные шаблоны программирования и методологии. Язык C# критикуют в том, что его разработчики, возможно, слишком спешат угодить сиюминутным течениям в программировании ценой фокусировки и простоты языка. Очевидно, проектировщики Java заняли более консервативную позицию по добавлению крупных новых возможностей в синтаксис языка, чем в других современных языках — возможно, не желая привязать язык к течениям, которые в долгосрочной перспективе могут завести в тупик. С выпуском Java 5.0 эта тенденция во многом была нарушена, так как в ней ввели несколько крупных новых возможностей языка: цикл типа codice_42, автоматическое заворачивание, методы с переменным числом параметров, перечислимые типы, обобщённые типы и аннотации (все они присутствуют и в C#). Начиная с Java 8, началось активное внедрение новых функций, в частности: лямбда-выражения, ключевое слово codice_43, модульность в рамках проекта Jigsaw и так далее.


title: Сравнение C Sharp и Java

text: C#, в свою очередь, развивается быстрее, гораздо слабее ограничивая себя в добавлении новых проблемно-ориентированных возможностей. Особенно эта тенденция проявилась в версии C# 3.0, в которой, например, появились SQL-подобные запросы. (Новые возможности при этом строятся так, чтобы язык оставался языком общего назначения. Подробнее о C# 3.0 см в статье о C#). Проблемно-ориентированные дополнения к Java рассматривались, но, по крайней мере на сегодняшний день, были отвергнуты.


title: Сравнение C Sharp и Java

text: С момента появления C# он постоянно сравнивается с Java. Невозможно отрицать, что C# и его управляемая среда CLR многим обязаны Java и её JRE (Java Runtime Environment).


title: Сравнение C Sharp и Java

text: Можно спорить, является ли разработка C# в какой-то степени результатом признания Майкрософтом того, что среда управляемого кода, где лидирует Java, имеет множество достоинств в растущем сетевом мире, особенно при появлении интернета на устройствах, отличных от персональных компьютеров, и при растущей важности сетевой безопасности. До создания C# Microsoft модифицировала Java (создав J++), с тем чтобы добавить возможности, работающие только на ОС Windows, нарушив таким образом лицензионное соглашение Sun Microsystems. Пока Microsoft находилась на второй фазе своей бизнес-стратегии, известной как «Embrace, Extend, and Extinguish», развитие J++ было остановлено иском, поданным Sun’ом. Будучи лишённой возможности разрабатывать клон Java с нужными ей свойствами, Microsoft создала альтернативу, которая больше соответствовала их потребностям и видению будущего.


title: Сравнение C Sharp и Java

text: Несмотря на такое беспокойное начало, становится всё более очевидным, что два языка редко конкурируют друг с другом на рынке. Java доминирует в мобильном секторе и имеет много приверженцев на рынке веб-приложений. C# получил хорошее признание на рынке настольных приложений Windows и благодаря ASP.NET, C# также является игроком и на рынке веб-приложений.


title: Сравнение C Sharp и Java

text: Для обоих языков имеется набор библиотек, предоставляющих возможности построения интерфейса пользователя для настольных приложений. В случае Java это мультиплатформенные библиотеки Swing и SWT, а также платформа JavaFX, позволяющая создавать RIA-приложения. В принципе, любая из них позволяет создавать кроссплатформенные настольные приложения на Java.


title: Сравнение C Sharp и Java

text:
Для C# на платформе Windows основными платформами для разработки настольных графических приложений являются платформы Windows Forms и WPF. Для разработки под Windows 8 существует специальная платформа WinRT. Для разработки под Windows 10 существует специальная платформа UWP. Для прочих платформ используется библиотека gtk#, выполненная в рамках проекта Mono. Попытки свободной реализации Windows.Forms предпринимались и предпринимаются (например, в проекте DotGNU), однако они, в силу закрытости оригинала, неизбежно страдают вторичностью и неполнотой, вряд ли могут конкурировать с реализацией от Microsoft и потому могут применяться разве что для запаздывающего портирования Windows-приложений на другие платформы. Разработки, изначально базирующиеся на Windows, строятся обычно на Windows.Forms, и их перенос на другую платформу становится затруднительным. Разработки на C# в среде Mono, использующие gtk#, переносимы, но их существенно меньше.
Реализация платформы WPF в рамках проекта Mono отсутствует, поэтому WPF приложения не обладают переносимостью на операционные системы на основе Linux.


title: Сравнение C Sharp и Java

text: C#, наравне с Java, постепенно становится популярным на нескольких операционных системах на основе Linux и BSD. Реализация проекта Mono была юридически безболезненным процессом, поскольку CLR и язык C# стандартизированы Ecma и ISO, и любой может их реализовывать, не беспокоясь о правовой стороне дела. В то же время, следует отметить, что приложение, написанное под средой Windows, может иметь значительные проблемы запуска под другой ОС.


title: Сравнение C Sharp и Java

text: На этой арене, возможно, два языка наиболее близки к тому, чтобы считаться конкурентами. Java с её платформой J2EE (Java(2) Enterprise Edition) и C# с его ASP.NET соперничают в области создания динамического веб-контента и приложений.


title: Сравнение C Sharp и Java

text: На этом рынке широко используются и поддерживаются оба языка, вместе с комплектом инструментов и сопровождающих продуктов, имеющихся для JavaEE и .NET.


title: Сравнение C Sharp и Java

text: J2ME (JavaME, Java(2) Micro Edition) имеет очень широкую базу на рынках мобильных телефонов и КПК, где только самые дешёвые устройства лишены KVM (урезанная Java Virtual Machine для устройств с ограниченными ресурсами). Программы на Java, включая множество игр, встречаются повсеместно.


title: Сравнение C Sharp и Java

text: В то время как почти все телефоны включают в себя KVM, эти возможности используются большинством пользователей не очень интенсивно. Приложения Java на большинстве телефонов обычно состоят из систем меню, небольших игр и т. д. Полноценные приложения для мобильных телефонов редки.


title: Сравнение C Sharp и Java

text: Java используется для разработки приложений для Android, использующей нестандартную виртуальную машину Dalvik (или ART).


title: Сравнение C Sharp и Java

text: С# является основным языком для написания приложений для мобильной операционной системы Windows Phone, разрабатываемой Microsoft. Однако существует фреймворк для кроссплатформенной разработки Xamarin, позволяющий создавать нативные приложения для Android, IOS и Windows Phone.


title: Сравнение C Sharp и Java

text: Java принята в качестве официального программного средства для использования в следующем поколении стандарта DVD, Blu-ray, через интерактивную платформу . Это значит, что такое интерактивное содержимое, как меню, игры, скачивания и т. д., на всех дисках DVD Blu-ray будет создаваться на платформе Java.


title: Дороги отчаяния

text: «Дороги отчаяния» () — немой чёрно-белый вестерн 1921 года.


title: Дороги отчаяния

text: Барт Карсон влюблен в коварную обольстительницу леди Лу и из самопожертвования берёт на себя вину её мнимого брата Уолтера Уолкера, который бросил жену и ограбил поезд. В тюрьме Барт узнаёт, что Уолкер на самом деле является любовником Лу. Приняв решение отомстить Уолкеру, он совершает побег и убивает его. Далее Барт отдаёт себя в руки сына миссис Уолкер, чтобы эта дама могла получить награду за его поимку, однако шериф на основании признания Лу оправдывает его.


title: Арион (поэт)

text: Арио́н, также Арио́н Метимне́йский (греч. , лат. Arion Methymneus) — греческий лирический поэт, певец и кифаред из Мефимны на о. Лесбос (конец VII — начало VI в. до н. э.).


title: Арион (поэт)

text: Ввёл в поэзию жанр дифирамба; кроме того, славился как непревзойденный музыкант. Согласно рассказу, передаваемому Геродотом, Арион плыл с богатыми сокровищами (которые заработал своим пением) на корабле из Тарента в Коринф. Моряки, желая завладеть богатствами певца, выбросили его за борт, однако Арион был спасён дельфином, высажен у Тенарского мыса и благополучно добрался до Коринфа.


title: Арион (поэт)

text: Случаи спасения людей дельфинами реальны. Легенда приукрасила этот эпизод: согласно ей, Арион попросил у корабельщиков позволения спеть в последний раз в жизни, после чего, в одеянии кифареда и с инструментом в руках, бросился в волны, но был подхвачен дельфинами (в других вариантах легенды дельфина для спасения певца послал Аполлон или даже сам Аполлон принял образ дельфина).


title: Арион (поэт)

text: Сюжет об Арионе лёг в основу стихотворения А. С. Пушкина «Арион» (1827), традиционно понимаемом как аллюзия на ситуацию автора после поражения декабрьского восстания 1825 года и репрессий против декабристов.


title: Арион (поэт)

text: В 1994 году была поставлена опера «» («Arion and the Dolphin») на либретто Викрама Сета.


title: Арион (поэт)

text: В 2015 году Международный астрономический союз присвоил планете 18 Дельфина b в системе 18 Дельфина наименование в честь древнегреческого поэта Ариона.


title: Стевия медовая

text: Стевия медовая (также — Медо́вая трава́, Stevia rebaudiana Bertoni.) — многолетнее травянистое растение, вид рода Стевия семейства .


title: Стевия медовая

text: Произрастает в Южной и Центральной Америке, на север вплоть до Мексики.


title: Стевия медовая

text: Культивируется и широко используется в продуктах питания в восточной Азии, включая Китай (с 1984 г.), Корею, Тайвань, Таиланд и Малайзию; её также можно найти в Сент-Китс и Невис, в Южной Америке (Бразилия, Парагвай и Уругвай) и Израиле.


title: Стевия медовая

text: В диком виде встречается на полузасушливых территориях от равнин до горных районов.


title: Стевия медовая

text: Стевия это многолетнее травянистое растение, которое относится к отделу высших растений. Семья, к которой принадлежит стевия, достаточно многочисленна, насчитывает свыше 20 тысяч видов. Это относительно молодое растение, которое находится в филлогенетическом расцвете, в которой продолжаются процессы видопроизводства.


title: Стевия медовая

text: Стевия прорастает в виде кустов, имеющих следующие формы:


title: Стевия медовая

text: 1. Овальная(яйцеобразная) форма - самая широкая часть куста находится ниже середины, постепенно сужаясь к низу и вытягиваясь к верху.


title: Стевия медовая

text: 2. Шаровидная форма куста - куст имеет округлую форму.


title: Стевия медовая

text: 3. Раскидистая форма - самая широкая часть растения находится посредине куста.


title: Стевия медовая

text: 4. Обратно-конусообразная или пирамидальная форма - самая широкая часть растения находится в верхней его части.


title: Стевия медовая

text: 5. Обратно-трапециевидная форма - самая широкая часть куста находится сверху, постепенно сужаясь книзу.


title: Стевия медовая

text: 6. Цилиндрическая или удлиненная форма - одинаковая за шириной в верхней и нижней части куста.


title: Стевия медовая

text: 7. Пирамидальная форма куста - когда куст постепенно расширяется книзу.


title: Стевия медовая

text: Встречаются также веретенообразная и коническая формы.


title: Стевия медовая

text: Высота кустов, в зависимости от климатических условий года и влажности почвы - составляет от 45,0 до 120 см.


title: Стевия медовая

text: Кусты стевии бывают прямостоячие или павшие. Хорошо опушены. Диаметр стебля при основе от 1,0 до 1,5 см. Растения первого года развития имеют один главный стебель с боковыми стеблями. На 2-3 год выращивание стеблей отрастает столько, сколько было заложено почек на корневище.


title: Стевия медовая

text: Листья и стебли растения включают в себя стевиол (см. таблицу ниже), некоторые флавоноиды и сапонины.


title: Стевия медовая

text: Пищевая промышленность, медицина, косметика.


title: Стевия медовая

text: В 1931 году французские химики М. Бридель и Р. Лявей выделили из стевии гликозиды, которые и придают стевии сладкий вкус. Экстракты получили название стевиозиды () и ребаудиозиды ().


title: Стевия медовая

text: Индейцы племени гуарани на территории современных Бразилии и Парагвая применяли "Stevia rebaudiana" в пищу под названием "ka’a he'ê" («сладкая трава») в качестве подсластителя к мате и другим медицинским чаям, для лечения изжоги и других болезней.


title: Стевия медовая

text: Уникальность стевии заключается в гармоничном сочетании ценных витаминов и микроэлементов с высокой сладостью и низкой калорийностью. Поэтому напитки со стевией могут применяться для больных сахарным диабетом, для контролирования массы тела.


title: Чухломское озеро

text: Чу́хломское озеро — озеро в Костромской области России. Площадь 48,7 км². Озеро имеет форму близкую к круглой, в поперечнике 6-7 километров. Глубина до 4,5 метра. Берега плоские, заболоченные. Дно илистое. С конца октября по конец апреля озеро замерзает.


title: Чухломское озеро

text: Уровень воды в озере — 148 метров над уровнем моря. В Чухломское озеро впадает множество небольших рек и ручьёв, вытекает река Вёкса.


title: Чухломское озеро

text: На юго-восточном берегу озера расположен город Чухлома.


title: Чухломское озеро

text: На северном берегу озера, в селе Ножкино, расположен действующий Авраамиево-Городецкий монастырь, основанный в XIV веке.


title: Nord Stream (компания)

text: Nord Stream AG — швейцарская компания, созданная для управления газопроводом Nord Stream (ранее — Северо-Европейский газопровод). Штаб-квартира располагается в городе Цуг (Швейцария).


title: Nord Stream (компания)

text: Основана в 2005 году. Ранее носила название North European Gas Pipeline Company, новое название получила в октябре 2006 года.


title: Nord Stream (компания)

text: Акционерами Nord Stream AG являются:


title: Nord Stream (компания)

text:
Председатель комитета акционеров компании — Герхард Шрёдер ("Gerhard Schröder"), бывший канцлер Германии.
Управляющий директор — Маттиас Варниг ("Matthias Warnig").


title: Nord Stream (компания)

text: Членами совета являются:


title: Nord Stream (компания)

text: Основная цель деятельности компании — проектирование, строительство и эксплуатация газопровода Nord Stream. У компании имеется филиал в Москве.


title: Nord Stream (компания)

text: Прибыль Nord Stream в первом квартале 2012 года составила 1,184 миллиарда рублей, в первом квартале 2013 года — 1,2 млрд рублей.


title: Спасский мост

text: Спасский мост:


title: Северный поток

text: «Северный поток» (, ранее — "морская часть Северо-Европейского газопровода") — магистральный газопровод между Россией и Германией, проходящий по дну Балтийского моря. Является морской частью одной из веток системы газопроводов Ямал-Европа. Помимо Северного потока в ветку входит газопровод «Грязовец — Выборг» в России и газопроводы OPAL и NEL в Германии.


title: Северный поток

text: В проекте участвуют Россия, Германия, Нидерланды и Франция; против его реализации выступали страны-транзитёры российского газа и страны Прибалтики. Цели проекта — увеличение поставок газа на европейский рынок и снижение зависимости от транзитных стран.


title: Северный поток

text: Прокладка трубопровода начата в апреле 2010 года. В сентябре 2011 года начато заполнение технологическим газом первой из двух ниток. 8 ноября 2011 года начались поставки газа по первой нитке газопровода. 18 апреля 2012 года была закончена вторая нитка. 8 октября 2012 года начались поставки газа по двум ниткам газопровода в коммерческом режиме.


title: Северный поток

text: Газопровод «Северный поток» — самый длинный подводный маршрут экспорта газа в мире, его протяжённость — . Владелец и оператор — компания Nord Stream AG.


title: Северный поток

text: Согласно прогнозам, импорт природного газа в Евросоюз возрастёт от в 2007 году до в год в 2030 году. Российские газовые месторождения способны обеспечить около четверти дополнительного импорта газа. Природный газ имеет самый низкий уровень выброса CO из всех видов ископаемого топлива и успешно заменяет уголь, у которого уровень выброса на 50 % больше. Таким образом, увеличение поставок природного газа вписывается в концепцию европейской программы по борьбе с изменением климата, согласующейся с рамочной конвенцией ООН.


title: Северный поток

text: Объём газа, который может быть поставлен по газопроводу «Северный поток» — в год, эквивалентен энергии, вырабатываемой на и электростанциях.


title: Северный поток

text: Газопровод протяжённостью проходит от компрессорной станции у бухты Портовая близ Выборга (Ленинградская область) до Любмина близ Грайфсвальда (земля Мекленбург-Передняя Померания). Это самый протяженный подводный газопровод в мире.


title: Северный поток

text: Компрессорная станция КС «Портовая» является уникальным объектом мировой газовой отрасли по суммарной мощности 366 МВт. Давление на её входе составляет 220 бар, при выходе трубы на сушу в Германии — 106 бар. На протяжении всего морского участка газ транспортируется в безкомпрессорном режиме, при этом в Грайфсвальде также нет компрессорной станции — запаса давления хватает, чтобы транспортировать газ еще на 100 км.


title: Северный поток

text: Характеристики проекта:


title: Северный поток

text: Ресурсная база трубопровода включает в себя Южно-Русское месторождение с запасами около , как было объявлено в октябре 2006.


title: Северный поток

text: Суммарные инвестиции в проект в двухниточном исполнении составляют евро.


title: Северный поток

text: Оператор газопровода является Nord Stream AG, структура акционеров:Технически Северный поток является подводной частью петли на газопроводе Ямал — Европа. Наземная часть петли начинается в районе города Грязовец, откуда в 2012 году был построен газопровод «Грязовец — Выборг» длиной 917 км и диаметром 1420 мм. Петля замыкается в Германии, где к открытию Северного потока был построен газопровод OPAL, соединяющий Северный поток с газопроводом (продолжением газопровода Ямал—Европа) и газопроводом (продолжением газопровода Уренгой — Помары — Ужгород). Помимо OPAL, в Германии был построен еще один сухопутный отвод Северного потока, газопровод NEL, через который газ поступает на северо-запад Европы.


title: Северный поток

text:
Ресурсное обеспечение Северного потока газом осуществляется с двух вновь освоенных месторождений — Южно-Русского месторождения (район Уренгоя, начало эксплуатации 2008 год, запасы 1000 млрд м³) и Бованенковского (расположено на полуострове Ямал, начало эксплуатации 2012 год, запасы 4900 млрд м³). Для подключения Бованенковского месторождения в 2012 году был открыт газопровод Бованенково — Ухта длиной 1100 км и производительностью до 140 млрд м³/год.
На подготовительном этапе на все исследования в области экологии по всему будущему маршруту трубопровода Nord Stream потратил около .
Сразу после заключения соглашения президент Польши Александр Квасьневский назвал подписанный Путиным пакет «плохим с точки зрения экологии и слабым с экономической и политической точек зрения».


title: Северный поток

text: Польский сейм принял заявление, в котором говорится, что германско-российское соглашение о строительстве газопровода «угрожает безопасности и независимости Польши».


title: Северный поток

text: Правительство Польши последовательно выступает против этого проекта.


title: Северный поток

text: Лидер партии «Закон и справедливость» Ярослав Качиньский объявил себя врагом «Северного потока».


title: Северный поток

text: Экс-премьер-министр Латвии Айгар Калвитис заявил, что планируемое строительство «не отвечает единой энергетической политике ЕС». Однако 13 декабря 2005 министр иностранных дел Латвии Артис Пабрикс заявил, что Латвия может принять участие в Северо-Европейском газопроводе.


title: Северный поток

text: Для Евросоюза и балтийского региона вместе с Россией очень важна физическая инфраструктура — это означает больше передач, больше кабелей, больше труб