Центральный процессор вашего компьютера понимает только программы, написанные на языке ноликов и единичек. Например, команда «прибавить константу 5 к числу, записанному в регистре AL», записывается так: 0000 0100 0000 0101
Здесь 0000 0100 – код операции «прибавить число к регистру AL», а 0000 0101 – двоичное представление числа 5.
На заре индустрии для ввода программы в компьютер нужно было либо перещелкнуть сотни тумблеров на специальной панели (тумблер ВЫКЛ. – нолик, тумблер ВКЛ. – единичка), либо пробить дырочки в специальной перфокарте. Ошиблись в одной ячейке из тысячи – программа будет работать неправильно, будьте добры сами найти ошибку методом пристального взгляда.
Ясно, что такой способ программирования жутко неудобен и подвержен ошибкам. Чтобы не тратить время на это занудство, ленивые программисты начали думать, как переложить неблагодарную работу на машину.
Можно один раз хорошенько помучиться и написать на языке ноликов и единичек вспомогательную программу, которая называется ассемблер («сборщик»). Этот волшебный ассемблер принимает на вход человеко-читаемый текст и преобразует его в нолики и единички. Например, та же самая команда «прибавить константу 5 к числу, записанному в регистре AL», записывается на языке ассемблера x86 так:
ADD AL, 5
Думаю, вы согласитесь, что это все-таки более читаемо, чем 0000 0100 0000 0101. Здесь хотя бы понятно, что речь идет о сложении (ADD) и числе 5. Теперь уже дело ассемблера преобразовать эту строчку в 0000 0100 0000 0101. На языке ассемблера сложно писать большие программы, процессоры разных производителей могут требовать разных ассемблеров, но все равно это был большой шаг вперед.
Дальше инженерную мысль было не остановить. Нужно один раз помучиться, чтобы написать на ассемблере компилятор языка программирования, например Фортрана. Потом еще немного помучиться, чтобы написать на Фортране компилятор Алгола. Затем передохнуть, помучиться и написать на Алголе компилятор языка CPL. Еще немного мучений – и можно на основе CPL написать компилятор языка C. Дальше можно уже не мучиться и в свое удовольствие писать на C компиляторы C++, Java, C# и других современных языков. Впрочем, никто не запретит использовать Java, чтобы написать ассемблер x86 и замкнуть рекурсию.
Что такое большие данные? Почему это так популярно?
Виталий Данюк стратег
В буквальном понимании термин «большие данные» действительно означает большие по объему (в терабайтах, петабайтах и экзобайтах) данные. Но суть в другом.
Более точной формулировкой может служить «сложные данные». Когда говорят «большие данные», подразумевают данные с такими характеристиками: их сложно и дорого анализировать, необходимы значительные человеческие и вычислительные ресурсы; в них может находиться информация, использование которой приведет к конкретному, измеримому увеличению бизнес-показателей компании.
Примером больших данных может служить набор данных очень крупного интернет-магазина, аналитическая система которого собирает действия пользователей на сайте: каждую посещенную страницу, источник трафика, движения мышки, клики по ссылкам, статистику из социальных профилей пользователей, историю покупок и так далее. Результатом успешного анализа такого набора данных будет увеличение продаж, среднего чека или повторных покупок, что приведет к отслеживаемому росту дохода магазина.
О больших данных говорят, потому что эта методология работает. Компании (и не только) принимают стратегические решения на основании результатов анализа. На данный момент количество необработанных данных значительно превышает количество специалистов и вычислительную мощность серверов для их анализа. Спрос на анализ больших данных рождает предложение.
Именно коммерческое использование больших данных генерирует такой интерес вокруг этой области знании. Но большие данные очень важны и для науки. Большой Адронный Коллайдер, к примеру, генерирует невообразимо огромные объемы данных. И именно успешный анализ и обработка этих данных позволяют ученым открывать новые элементарные частицы.
Можно ли создать виртуальный банк без сотрудников?
Дмитрий Васильев студент Высшей школы экономики в Праге
Если исходить из определения банка как финансовой организации, которая предоставляет разнообразные финансовые услуги юридическим и физическим лицам, то все будет зависеть от вида услуг, предоставляющихся этим банком.
Читать дальше
Конец ознакомительного отрывка
Купить книгу