От Древнего Египта к расшифровке генома: что такое программирование на самом деле

Что такое программирование

Сегодня слово «Программирование» можно увидеть / услышать, как в какой-нибудь вирусной рекламе в социальной сети, так и в литературном или кинематографическом произведении. Однако что такое программирование и кто такие программисты? Не мудрствуя лукаво, можно поступить как матерый кодер и загуглить новое слово.

Согласно многочисленным определениям, программирование — это процесс создания компьютерных программ. Расшифровать это определение можно следующим образом. Программирование есть ничто иное, как объяснение машине что, в каком виде и как нужно получить пользователю. То есть это своеобразное искусство перевода пожеланий человека на язык машины.

Все о компьютерах и программировании

+7 (499) 444-90-36 Отдел заботы о пользователях

Москва, Ленинский проспект, дом 6, строение 20

  • Участник Skolkovo
  • Премии Рунета 2018, 2019, 2020

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies


Программирование для начинающих: как стартовать и куда двигаться?

Бывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.

Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)

UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

Нортон «Программно-аппаратная организация IBM PC»
Эта книга, несмотря на свою давность, относятся к тем, что пока отнюдь не устарели. Как новичок подтверждаю – повествование вполне понятно и для почти полного чайника в IT.

Гук «Аппаратные средства IBM PC»
А эту книгу стоит прочитать «поверх» – она расскажет о том, как дела в данной сфере обстоят сейчас.

Этап II. Hardware

Морс, Алберт «Архитектура микропроцессора 80286»
Почему тут берётся за основу именно микропроцессор 80286 – станет понятно по изучении трудов первого этапа.

Гук «Аппаратные интерфейсы ПК»

Гук «Интерфейсы устройств хранения»

Этап III. Операционные системы

Таненбаум «Архитектура компьютера»

Колисниченко, Аллен «Linux: полное руководство»
От общей теории переходим к изучению конкретной операционной системы – на примере Linux.

Немет, Снайдер, Хейн «Руководство администратора Linux»

Этап IV. Собственно программирование

Керниган, Ричи «Язык программирования С»
Почему первым для освоения выбран именно язык Си? Как мне рассказали знающие товарищи, он поможет достичь правильного «программистского мышления», чего было бы сложно достичь, начиная изучение, скажем, с Паскаля. Кроме того, язык Си по-прежнему используется в наши дни и подходит как для прикладного, так и для системного программирования.

Кнут «Искусство программирования»:
Том 1. Основные алгоритмы
Том 2. Получисленные алгоритмы
Том 3. Сортировка и поиск

Бентли «Жемчужины программирования»

Зачем осваивать эти труды? Как уже отмечали на Хабре – «наверное, нигде больше, чем в айти, не изобретается такое огромное количество велосипедов». Данные книги помогут этого избежать – и попутно будут прививать умение писать не просто код, а хороший код.

Ну а для затравки можно прочесть небольшой цикл лекций «Культура программирования» (автор – А. Бабий). Он помогает начинающим программистам понять, что их деятельность не будет проходить в вакууме, а неизбежно включит взаимодействие с другими программистами, с заказчиками и пользователями (а также включит необходимость копаться потом в своих собственных или в чужих программах).

Закономерный вопрос новичка: сколько времени займёт изучение всего этого? По прогнозам моего советчика, у человека, который может тратить на изучение программирования только вечера и выходные, на прочтение и осмысление литературы первых трёх этапов уйдёт полгода-год. На четвёртый этап тоже даётся год – чтение должно сопровождаться практикой по самостоятельному составлению программ. Как получится на самом деле – время покажет.

Компьютер для программирования

  1. Если сфера программирования не требует мощного железа. Например , вы разрабатываете небольшие веб-сайты на HTML, CSS, JavaScript, PHP. В этом случае вам не нужно использовать мощную и прожорливую IDE и вам вполне будет достаточно ч его -то типа «Notepad++» или «Sublime Text». Возможно , вы вообще сможете работать в онлайн-редакторах кода. Если же программировать что-то сложное, например , нейронные сети, мощные компьютерные игры, даже приложение на Android — со слабым компьютером будут возникать проблемы.

  2. Если вам нравится, когда компьютер «тормозит». То ест ь п рограммировать можно на слабых компьютерах, но это будет ужасно медленно. Такую «скорость» работы не оценит ваш заказчик, да и вам такая «работа» надоест.

Стационарный компьютер или ноутбук для программирования — что лучше?

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

  2. У ноутбуков сложно сделать апгрейд. Ноутбук покупается с определенными характеристиками , и редко какие производители ноутбуко в оставляют возможность их улучшить. У стационарных компьютеров все по-другому. Его можно собрать самостоятельно, а если купить «готовый сбор», тогда всегда будет возможность его улучшить.

  3. Стационарный компьютер подойдет для тех, кто не любит «переезжать». Купить, установить, настроить и работать на одном месте и в одном положении. Если вас это устраивает, тогда стационарный компьютер для вас. Но нужно помнить, что программирование — скучная и однообразная работа. Когда уже немного п оработа ете программистом, у вас появится огромное желание часто менять положение тела и локацию работы. Такую возможность дает только ноутбук.

Компьютер для программирования: на что обращать внимание

  1. Экран. Необходимо определиться с размером экрана. Маленький экран — это неудобство и постоянно напряженные глаза. Есть такое негласное правило: чем больше экран, тем легче на нем работать. Иногда программисты используют 2 экрана на устройстве, чтобы во время работы не переключаться. Подключить второй экран можно даже к ноутбуку.

  2. Разрешение экрана. Разрешение экрана влияет на качество транслируемой картинки , п оэтому важно использовать FullHD и обязательно с матовой матрицей. В этом случае вы получите матовую качественную картинку , а ваши глаза не будут так сильно уставать.

  3. Клавиатура. Это основной «инструмент» программиста, так как при помощи клавиатуры он вводит программный код. Клавиатура должна иметь небольшой ход клавиш и работать максимально тихо. Другой атрибут комфортной работы на клавиатуре — это раскладка и наличие подсветки.

  4. Оперативная память. Это важнейший критерий выбора , как и процессор, о котором речь пойдет чуть ниже. Тут все просто : чем больше — тем лучше. Уровень оперативной памяти зависит от сферы программирования. Чем требовательней ваша сфера, тем больше нужно оперативки. Чтобы комфортно работать, нужно 16 Гб и больше. Минимум для программирования — это 8 Гб , х отя заниматься веб-программированием можно даже с 4 Гб.

  5. Процессор. Процессор характеризуется частотой и ядрами. Принцип тот же — чем больше частота на каждом отдельном ядре, тем лучше. А также чем больше ядер, тем лучше. Можно ли программировать на двух ъ ядерном компьютере? Можно, но лучше на 4 ядрах и выше. Есть одна тонкость — наличие потоков в ядрах , п оэтому даже если компьютер будет двух ъ ядерным, то важно , чтобы на каждом ядре было минимум по 2 потока. Таким образом , 2 ядра по 2 потока даст 4 потока — это лучше , чем просто 2 ядра. Один поток — это одна «очередь» из команд, которые будет обрабатывать процессор. Соответственно, если будет больше потоков, тогда компьютер будет быстрее работать. Обычно одно ядро — это один поток , п оэтому есть нюанс : 2 ядра по 2 потока в каждом будут работать медленнее , чем 4 ядра по одному потоку.

  6. Объем жесткой памяти. Тут есть два вида памяти: HDD и SDD. SDD обычно не такие емкие, как HDD, но они работают быстрее и стабильнее, поэтому выбор лучше остановить на них. А вообще , объем памяти жесткого диска — это дело индивидуальное , т о ест ь к ому сколько нужно.

Компьютер для программирования: операционная система

Еще одна дилемма: MacOS, Linux или Windows? На самом деле , принципиальной разницы нет. Выбор зависит от предпочтений и финансовых возможностей программиста. Если есть свободные средства, тогда можно приобрести Макбук или лицензию для операционной системы Windows. Если нет свободных средств, тогда можно использовать любой бесплатный дистрибутив Линукс.

Раньше выбор операционной системы был важен, так как основное программистское программное обеспечение было «заточено» под Виндовс , н а МакОС и Линуксе с программами были проблемы. Сейчас все совсем по-другому. Практически любую программистскую программу можно инсталлировать на каждую из популярных операционных систем.

Поэтому выбор операционной системы — это дело личное , и существенных ограничений или привилегий нет ни в одной операционной системе. Единственное , о чем нужно сказать , — MacOS поставляется вместе с устройствами компании Apple. Цены у таких устройств немного выше , чем у аналог ов от других компаний при похожи х характеристиках.

С чего начать

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

Для этого рекомендуется:

  • определиться с направлением – начинать лучше «с малого» (основы информатики);
  • подготовить соответствующую литературу;
  • выяснить мотивы выбора профессии IT Science (если это только заработок – ничего не получится);
  • изучить имеющиеся в доступе уроки и литературу.

Но для полноценного образования стоит присмотреться к специализированным курсам. Есть как всеобъемлющее звено «Компьютерные науки», так и различные направленности упомянутой области. Главное помнить – изучить computer и его принципы работы не так-то просто. Это долгий и весьма энергозатратный процесс. Но, если постараться, все обязательно получится.

Хотите освоить современные компьютерные науки? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector