Брайан КерниганОсновы информационных технологий для неспециалистов: что происходит внутри машин
Все, что вам нужно знать о компьютерах, интернете, приватности и безопасности. Компьютеры окружают нас повсюду, включая бытовую технику, автомобили, медицинское оборудование, транспортные системы, электросети и оружие. Однако большинство из них остаются невидимыми, собирая и иногда сливая наши личные данные. Это делает нас уязвимыми для правительств, компаний и преступников, которые могут использовать информацию в своих целях. «Основы информационных технологий для неспециалистов: что происходит внутри машин» известного ученого Брайана Кернигана рассматривает принципы работы компьютерного оборудования, программного обеспечения и сетей. Технологические изменения — это не отдельное событие, а непрерывный процесс — быстрый, постоянный и ускоряющийся. К счастью, основы работы цифровых систем останутся неизменными. Когда вы их поймете, то сможете лучше справляться с вызовами и возможностями, которые они предоставят. Вы узнаете: • Как работают компьютеры, программное обеспечение и сети. • Почему безопасность и конфиденциальность данных под угрозой. • Как меняют нашу жизнь современные технологии. • Для чего нужны big data и машинное обучение. • Что происходит внутри компьютеров. Брайан Керниган — профессор факультета компьютерных наук Принстонского университета, член Национальной инженерной академии США, автор классического учебника «Язык программирования С», книг «Практика программирования», «UNIX. Программное окружение» и др.
С другой стороны, с облачными вычислениями связаны непростые вопросы конфиденциальности и безопасности. Кому принадлежат данные, хранящиеся в облаке? Кто имеет к ним доступ и на каких условиях? Существует ли какая-либо ответственность в случае неумышленного разглашения информации? Как поступают с аккаунтами умерших людей? Кто может принудить раскрыть данные? Например, в каких ситуациях ваш поставщик почтовых услуг (добровольно или под угрозой иска) может переда
Важная часть реального программирования – тестирование. Компании-разработчики ПО, надеясь выявить как можно больше ошибок перед отправкой продукта пользователям, часто пишут больше тестов, чем кода, и у них работает больше тестировщиков, чем программистов. В целом можно достичь состояния, когда ошибки встречаются хотя бы нечасто, пусть это и сложно.
Ошибки встречаются в программах любого масштаба: при определенных обстоятельствах они будут что-то делать неправильно или выдавать неверные ответы. Эти недостатки называются «багами», то есть «жуками», и первое употребление термина часто приписывают Грейс Хоппер, которая упоминалась выше. В 1947 году ее коллеги обнаружили настоящего жука (дохлую моль) в механическом компьютере «Марк II», с которым они работали, и Хоппер, по-видимому, сказала, что они «очищали [машину] от жуков» (англ, debugging), то есть занимались отладкой.