Очень важным, для тех кто хочет стать действительно высококвалифицированным программистом, является понимание, как «железо» обрабатывает информацию.
Стоит в начале упомянуть, что на данном сайте я буду избегать каких-то банальных и часто встречающихся вещей, хоть иногда и буду их описывать. Цель сайта — рассказать о концептуальных понятиях и абстракциях, которыми и мыслят программисты. Помните, хороший опытный программист никогда не привязываться к одному-двум языкам, НО ДЛЯ НАЧИНАЮЩИХ ЛУЧШЕ ОГРАНИЧИТЬСЯ ОДНИМ-ДВУМЯ ЯЗЫКАМИ хотя бы на первые пол года. Поняв общие принципы и логику будет достаточно легко переходить с языка на язык, правда изучение новых операторов и библиотек тоже занимает некоторое время, но обычно оно быстро окупается, ведь переход на новый язык не происходит просто так. Гораздо большее времени занимает понимание что есть что, как когда-то даже крупные компании сомневались или даже отказывались переходить на парадигму ООП (что такое Объекты и Объектно Ориентированное Программирование расскажем в ближайшем будущем), т.к. это займет прилично времени. Ладно отвлеклись от текущей темы.
Что я подразумеваю в «думанье о железе». К примеру Вам нужно сделать какую-то простейшую математическую операцию, допустим 2+3. Тут в дело вступают типы данных. Они бывают целочисленные и с плавающей запятой. С каждым из этих типов работает отдельная часть центрального процессора. Сложить целочисленные 2 и 3, либо значения с плавающей запятой 2,0 и 3,0 занимает у процессора одинаковое количество времени. А что бы сложить целочисленное 2 и значение с плавающей запятой 3,0 придется первое число подогнать к типу второго числа, а именно сделать 2,0 (практически всегда это период именно к типу с плавающей запятой). Перевод типов занимает относительно много процессорного времени.
Но это на самом деле далеко не все. У Вас может быть очень и очень много операций сложения. Изначально все или практически все числа, которые будут использоваться данных операциях, являются значениями с плавающей запятой. Учитываю всю приведенную выше информацию Вы вполне логично можете счесть правильным подогнать все переменные под одинаковый тип с плавающей запятой, что сделает получение результата более быстрым.
В вакууме это правильно, это так. Вот только здесь появляются два других фактора, которые могут повлиять на решение:
Конечно есть много НО и ЕСЛИ, но суть думаю Вы уловили. Есть еще важные вещи, о которых зачастую не пишут даже в действительно крупных и уважаемых (в том числе и мною) книгах, о них мы постараемся здесь рассказывать.
© Все права защищены.