Как разобраться в Computer Science самостоятельно
Для большинства программистов Computer Science — факультет в зарубежных вузах, целиком и полностью посвящённый программированию, математике и всему, что связано с разработкой программного обеспечения. К счастью, в современном мире необязательно инвестировать тысячи долларов и 4 года своей жизни в образование, ведь существует бесчисленное множество онлайн-курсов, книг и других ресурсов для изучения компьютерных наук.
Приводить сотни всевозможных материалов для программистов-самоучек мы не будем, а лишь попытаемся ответить на два главных вопроса:
- Какие дисциплины следует изучать и почему?
- Какие из доступных ресурсов, книг, серий лекций для конкретной дисциплины имеет смысл посмотреть?
В качестве ответа приведём список материалов, опубликованный Озаном Онай (Ozan Onay) и Майлзом Бёрном (Myles Byrne) — инструкторами в школе компьютерных наук Брэдфилда в Сан-Франциско. Данная подборка литературы и курсов основана на личном опыте обучения сотен программистов-самоучек.
Совет 2: Как разобраться в компьютере
Компьютер есть, желание трудиться на нем – тоже, но непостижимо, с чего начать? Дозволено воспользоваться несколькими источниками информации, а дозволено предпочесть только один, особенно для Вас приемлемый.
1. Способ «научного тыка». Метод не дюже действенный, но кому-то помогает. Почаще каждого так учатся дети, которым неизвестен ужас перед трудной техникой.
2. Учебники и разные самоучители. В магазинах теперь полно книг с инструкциями «для чайников»
3. Курсы ПК. Фирмы, которые оказывают такие службы, дозволено обнаружить по справочникам, изредка бесплатное обучение предлагают в службе занятости.
4. Совет друга. Припомните всех продвинутых «юзеров», которые могли бы вам порекомендовать что-нибудь дельное. Наилучший вариант – если выдержанный референт сидит несколько вечеров вблизи вас и услужливо помогает тыкать в необходимые места мышкой, но и консультация по телефону – тоже выход.
Видео по теме
Полезный совет
Если что-то непостижимо – не опасаться и не унывать! Трудиться на компьютере может даже двухлетний ребенок, ну не тупей же вы его, правда?
Технические характеристики компьютера
Основными техническими характеристиками компьютера являются: объем жесткого диска, тактовая частота процессора и объем оперативной памяти. Конечно, это еще далеко не все параметры, имеющиеся у ПК, и свои показатели существуют у модема, видеокарты, звуковой карты, и т. д. Однако именно эти три характеристики дают наиболее полное представление о конкретном компьютере, его быстродействии и способности удовлетворить потребности пользователя. Кратко рассмотрим каждый из них.
Что представляет собой объем жесткого диска, догадаться несложно: этот показатель характеризует емкость винчестера, и исходя из этого можно определить, сколько и какой информации можно хранить и обрабатывать на компьютере. Новые современные компьютеры, рассчитанные на среднестатистических пользователей, имеют объем жестких дисков в среднем от 80 до 320 Гб.
Тактовая частота процессора также имеет большое значение. Наряду с объемом оперативной памяти, этот показатель непосредственно влияет на быстродействие компьютера. Если вы не собираетесь играть на компьютере в мощные современные игры, заниматься сложной обработкой музыкальных файлов, видео, графики и т. п., то вам будет вполне достаточно частоты процессора 1,7–2,5 ГГц.
Но даже если на вашем компьютере используется винчестер большого объема и мощный процессор, а оперативной памяти недостаточно – возникнут проблемы с быстродействием. Рекомендуется, чтобы объем «оперативки» в компьютере был не менее 1024 Мб.
Отметим, что эти рекомендации являются условными и подходят для среднестатистического пользователя. А вообще – кому-то нужен более мощный компьютер, а кто-то вполне удовлетворен вдвойне меньшими характеристиками: многое зависит от того, для решения каких задач используется компьютер.
Основные компоненты устройств
Разобравшись с наименованиями, можно перейти к основным составляющим современной техники. Из-за того, что во всех этих устройствах применяется архитектура фон Неймана, рассматривать эту тему можно абсолютно равнозначно для каждого из них. Современная вычислительная машина состоит из аппаратных и программных компонентов. Из аппаратных можно выделить такие:
-
Центральный процессор (ЦП) — вычислительное ядро системы. Обрабатывает все операции, которые приходят ему из оперативной памяти и отправляет результаты вычислений туда же.
- Оперативная память или запоминающее устройство (ОЗУ) — временное хранилище информации, считанной из жёсткого диска внутренними инструкциями исполняемых файлов (программ). Обменивается данными с процессором, вычислений самостоятельно не производит.
- Постоянная память — хранилище, на котором содержатся программное обеспечение и пользовательские файлы. В современных вычислительных устройствах может быть механическим и твердотельным. В первом случае это винчестер или жёсткий диск, во втором — более быстрый SSD, не зависящий от скорости работы считывающей головки.
- Видеокарта — компьютер в компьютере, если это отдельная плата. Имеет свой процессор и размещённую на собственной плате память. Отвечает за построение и вывод изображения на экран. В интегрированном состоянии чаще всего является частью процессора, в более древних устройствах — одного из мостов материнской платы.
- Материнская плата (МП) — главная и самая крупная часть аппаратно-вычислительной составляющей. Имеет гнёзда для всех основных устройств, описанных ранее, и собственные наборы логики — мосты. В современных «материнках» мост всего один и называется словом «хаб». В более старых было два — северный и южный.
- Блок питания (БП) — устройство, подающее напряжение на все комплектующие. В выключенном состоянии компьютер или другое устройство, если не отсоединено от сети или не извлечена батарея, всё равно находится под так называемым дежурным напряжением. Именно оно позволяет всей системе реагировать на кнопку включения. У ноутбуков всегда выполнен в виде отдельного устройства, которое подключается в специальное гнездо.
Программных же компонентов выделяется всего три — базовая система ввода-вывода, операционная система и, собственно, программы, устанавливаемые на неё. Различия между ними будут в следующем:
-
Базовая система ввода-вывода или BIOS — предназначена для настройки ПК, изменения параметров его компонентов и в некоторых случаях разгона. За сохранность всех параметров отвечает батарейка, которая находится на материнской плате.
- Операционная система — управляющее программное обеспечение, позволяющее использовать устройство. На ПК и ноутбуках чаще всего используются системы семейств Windows, Linux и MacOS. У смартфонов и планшетов — мобильные версии этих ОС, соответственно, Windows Mobile, Android и iOS.
- Программное обеспечение (ПО) — различные продукты, позволяющие использовать устройство для решения прикладных задач — отправки писем, просмотра веб-сайтов, фильмов, прослушивания музыки. На смартфонах, благодаря встроенным функциям вроде акселерометра, гироскопа и GPS-датчика, функциональность приложений намного шире.
Так выглядит в самом сокращённом виде самоучитель, позволяющий быстро разъяснить все основные сложности в терминологии вычислительных устройств и их различий. Учебник по компьютеру для начинающих обязательно должен содержать более подробную информацию, изложенную в понятном и доступном для неопытного человека виде.
Дополнительные устройства компьютера
Всё, о чём я выше рассказал необходимо для работы системного блока, а теперь давайте рассмотрим дополнительные устройства компьютера, которые расширяют его возможности и добавляют функционал.
Внешний жесткий диск
В отличие от HDD, внешний жесткий диск переносной. Если HDD и SSD нужно установить в корпус и закрепить его там, то внешний подключается всего одним USB проводом. Это очень удобно на все случаи жизни, которые не имеет смысла описывать. Внешний HDD это как флешка, только с большим количеством памяти.
Источник бесперебойного питания
Абсолютно каждый компьютер боится перепадов напряжения, я бы даже сказал больше чем какая-либо другая техника. Источник бесперебойного питания обеспечит стабильное напряжение и убережёт ваш БП от скачков.
Напряжение может прыгать по разным причинам, и не всегда это заметно. Например, если у вас слабая проводка, то во время включения другой техники в доме напряжение может прыгнуть. Или же у соседей что-то мощное… В общем, я настоятельно рекомендую всем использовать безперебойник.
ТВ тюнер
ТВ тюнер – это специальная микросхема, которая позволяет смотреть ТВ на компьютере. Тут скорее, как и в случае с дисководом – ещё работает, но уже не актуально. Чтоб смотреть ТВ на компьютере, не обязательно вставлять специальные платы, у нас теперь есть IPTV и в моем блоге есть целый раздел, посвященный этой теме.
Виды персональных компьютеров
Различные компьютерные компании делают свои продукты очень похожими. Каждый из производителей использует одни и те же запчасти для создания компьютера, их можно различить только по наклейке определённой фирмы. Даже компьютеры фирмы Apple, известные своей исключительной конструкцией, по сути, не отличаются от своих конкурентов с точки зрения их технического устройства.
p, blockquote 5,0,0,0,0 —>
В ноутбуках и стационарных компьютерах также используют подобные функциональные детали. Только ноутбуки создаются из уменьшенных копий тех же частей, что и стационарные компьютеры. Другими словами, если Вы понимаете, как устроен, например, стационарный компьютер, то Вам будет несложно разобраться в работе всех остальных компьютеров, например, разобраться в работе ноутбуков.
p, blockquote 6,0,0,0,0 —>
Процессор – сердце любого ПК
Статей и видео на тему выбора процессора сейчас огромное множество, поэтому я не буду изобретать велосипед, а приведу лишь основные нюансы, о которых консультанты Вам обычно не расскажут. Поколения процессоров от АМД и Интела я рассматривал в 3 части статьи, поэтому здесь приведу лишь краткую таблицу поколений Интел, поскольку они лидируют по количеству поколений и моделей.
Поколения процессоров Интел 2003-2019
Если раньше процессоры соревновались по тактовой частоте, то сейчас по числу ядер и потоков. Но самый «дорогой» параметр — это объём его кэш памяти, при этом она бывает как минимум 3 уровней (L1, L2, L3) и измеряется в килобайтах и мегабайтах.
Поэтому Вам могут продать процессор с вычислительной мощностью, избыточной для Ваших нужд.
Например, немногие знают, что процессоры серий Core i3, i5, i7 сильно отличаются в рамках каждой серии. И «топовые» Core i3 обгоняют по производительности и цене Core i5 начального уровня, а «топовые» Core i5 обгоняют по Core i7. Это маркетинг)) В рекламном буклете обычно пишут «Производительный процессор Core i5», а его характеристики, которые примерно равны Core i3, обычно не указывают.
Для тех, кто будет собирать свой ПК из б/у комплектующих или хочет купить его целиком, полезно будет ознакомиться с хронологией выхода процессоров Intel и процессоров AMD (она была в третьей части моей статьи).
Таблица быстродействия процессоров поможет Вам определиться с выбором сердца Вашего ПК.
Изучение компьютера. Урок №1 — Осведомленность
Здравствуйте дорогие читатели! Прошелся я недавно по просторам нашего уже неотъемлемого компонента в жизни каждого человека, которым является Интернет. Набрал в поиске «Компьютер для начинающих», и увидел, ровным счетом ничего.
Конечно, есть некоторые экземпляры, вроде бы и можно на чем-то остановиться, но мешает либо дизайн, который выедает глаза, либо сама тема компьютеров разбавлена большим количеством воды. Собственно к чему веду? Я хочу начать свою цепь уроков, по изучению компьютера.
Компьютер – это инструмент для достижения целей. Для того, чтобы инструмент работал целенаправленно его нужно изучать, понять для чего он вам нужен. Давайте так и сделаем, приступим к «укрощению зверя».
Урок №1 – Компьютерная осведомленность
Первый урок стоит начать с изучения составляющих компьютера, разобраться, за что отвечают те или иные его компоненты.
Компьютер состоит из системного блока, монитора, клавиатуры и мыши. Скорее всего, об этом всем известно, но ведь мы с вами не какие-то там «чайники», как любят называть новичков продвинутые пользователи. Поэтому рассмотрим более детально.
Обычный персональный компьютер (ПК) имеет следующее строение:
1. Монитор (Дисплей) – устройство для вывода графической и текстовой информации. Все с ним знакомы и знают о его назначении. Иными словами – это устройство, с помощью которого вы сейчас видите и читаете данную статью.
2. Компьютерная мышь – также всем знакомая «зверушка», с ее помощью вы приводите в движение курсор на экране монитора.
3. Клавиатура – это устройство с расположенными в определенном порядке клавишами, с помощью которых в компьютер вводится информация (например, набор текста в блокноте).
4. Системный блок – это корпус, который защищает элементы находящиеся внутри от повреждений и поддерживает необходимый температурный режим для корректной работы. Также он обеспечивает экранирование, внутренним компонентам.
Экранирование – это защита от всякого рода воздействий, в том числе и от электромагнитных, с помощью материала, который их поглощает (в нашем случае это сталь и алюминий из которых состоит корпус).
Системный блок – это основная составляющая, многие говорят, что это мозг компьютера, что он отвечает за все операции, но они немного ошибаются. Системный блок является всего лишь корпусом, в котором находятся компоненты компьютера. Вы можете в этом убедиться, взглянув на следующее изображение:
Чтобы лучше понимать с чего состоит компьютер, рассмотрим ближе элементы, которые находятся внутри системного блока.
5. Блок питания – обеспечивает стабильность в работе всех элементов компьютера. Снабжает электроэнергией, преобразуя переменный ток (который используется в быту, проще говоря, в розетках) в постоянный.
6. Дисковод – устройство, с помощью которого осуществляется чтение и запись информации на диск или дискету. От дискет довольно таки давно стали отказываться, заменяя их USB-флеш-накопителями (флешками), но все же некоторые еще пользуются, поэтому решил их упомянуть.
7. Жесткий диск (Винчестер, HDD) – накопитель данных в компьютере. Простыми словами – это устройство, на котором установлена операционная система и хранится ваша информация (музыка, фильмы, игры, документы и т.д.)
8. Материнская плата – главная плата, которая располагается внутри системного блока, на нее устанавливаются основные компоненты компьютера (такие как процессор, оперативная память и т.д.).
9. Процессор (CPU) – это мозг, если выразиться простыми словами. Он отвечает за обработку информации и управляет составляющими компьютера.
10. PATA (ATA) – порт для подключения накопителей (жесткие диски, дисковод.)
В современных компьютерах используется также SATA (для подключения накопителей) — это последователь PATA, который успешно его вытесняет.
11. Оперативная память (ОЗУ, Оперативка) – это память, в которой временно хранятся какие-либо данные, необходимые процессору в данный момент. Она работает намного быстрее жесткого диска, поэтому используется во время работы программ или игр, при выключении компьютера все данные с нее стираются. Чем больше ее объем, тем больше задач вы можете выполнить одновременно.
12. Карта расширения – плата, которую помещают в специальный слот на материнской плате для получения дополнительных функций (например, видеокарта, звуковая карта).
Видеокарта (GPU) – преобразовывает изображение из памяти компьютера в видеосигнал для монитора. От нее зависит производительность в играх и других 2D и 3D приложениях.
Звуковая карта – преобразует звук из аналогового сигнала в цифровой. С ее помощью у вас есть возможность записывать и воспроизводить звук. На современных материнских платах присутствуют разъемы для подключения устройств (колонки, наушники и т.д.), но звуковая карта может производить более сложную обработку звука, нежели стандартная, которая интегрирована в материнской плате.
Подведем итог. В данной статье мы рассмотрели основные составляющие компьютера, разобрались, для чего они нужны и за что отвечают. На этом заканчивается наш первый урок, а чтобы не пропустить выход последующих, подпишитесь на обновления блога. Я желаю вам легкого обучения, творческих и личных успехов.
Доброго времени суток. На самом деле, есть очень много видеоматериалов на всем известном видеопортале. Видео начиная от «Как работает процессор» заканчивая тем как собирать сбалансированные сборки.
В самом начале надо понять совместимость:
1. Сокет — Процессор
Так же не стоит забывать о том, что есть такая тема как «чипсет», допустим процессоры i7 7700k с архитектурой Kaby-Lake имеют чипсет Z270, а i7 8700k с архитектурой Coffee-Lake поддерживает чипсет Z370, при этом Сокет 1151 у них одинаковый. Исходя из этого, если вы попробуете в материнскую плату с чипсетом Z270 вставить процессор i7 8700k, он у вас попросту не запуститься. Поэтому данную тему тоже стоит затронуть.
Так же стоит обратить внимание, что при покупке процессоров с индексом «K» не стоит устанавливать материнские платы с приставками H,B и так далее, ибо у них меньше цепей питание, что в свою очередь может повлиять на работу процессора.
2. Совместимость процессора и оперативной памяти(конкретнее, что каждый процессор может поддерживать определенную максимальную частоту оперативной памяти).
3. Совместимость оперативной памяти и материнской платы(DDR3, DDR4). В настоящее время большинство сборок все же проходит с использованием оперативной памяти DDR4, но почитать материалы про данные форматы тоже полезно.
4. Совместимость процессорных кулеров с сокетом на материнской плате. Проще говоря, если вы не обратите внимание на данный пункт при покупке процессорного кулера, то если он не подходит под ваш сокет, то под него попросту не будет креплений на материнской плате.
5. Совместимость процессорного кулера по размерам в соотношении с корпусом. Было много случаев, когда люди покупали процессорные кулеры в форме башни, они вставали да(если они соблюдали правило с совместимостью с сокетом), но у них в итоге не закрывалась боковая крышка.
6. Совместимость размера видеокарты по размерам в соотношении с корпусом. И с видеокартами были такие проблемы, когда в маленький корпусец не влезала видеокарта с тремя кулерами. GTX 1060, GTX 1070, GTX 1070ti, GTX 1080, GTX 1080Ti (версии с тремя кулерами) могут не влезть, поэтому на это тоже стоит обратить внимание.
7. При добавление в сборку SSD формата M2, стоит обращать на наличие данного интерфейса на материнской плате.
В принципе основные моменты я вам описал, надеюсь мой ответ вам поможет.
Это не так сложно как кажется на первый взгляд. Для начала достаточно вбивать в поисковик запрос «Как выбрать *** » и Вам выдаст кучу статей, где расскажут о характеристиках той или иной модели и подробно распишут на что эти характеристики влияют. Например, «как выбрать видеокарту».
Также все комплектующие взаимосвязаны, но тут тоже нет ничего сложного. Это как обычное лего, где под определённый слот подходит определённые комплектующие. Вот слоты на которые надо обращать внимания:
1. Процессоры — сокет.
2. Оперативная память — тип памяти (сейчас используются в основном ddr3 и ddr4) и частота.
3. Видеокарты — интерфейс подключения (сейчас это pci-e и обычно запариваться с ним не надо, потому что несовместимость может быть только с ооооочень древними видеокартами или материнскими платами) и разъём для монитора (vga, dvi, hdmi — желательно, чтобы они совпадали с тем, что на мониторе, но на деле всегда можно приобрести переходник)
4. Материнская плата. Это самая главная часть, надо следить чтобы все написанные выше характеристики совпадали с тем, что поддерживает материнка.
Есть также нюансы вроде того, что у процессоров тоже есть требования к оперативки и иногда они бывают ниразу не очевидные. Например, сокет 775 не поддерживает новые оперативки, потому что расположение чипов изменили, но это приходит со временем.
В итоге ещё раз повторюсь, это намного проще, если Вы представите, что всё это лего с разными пазами, которые прописаны в характеристиках. Если в чём-то сомневаетесь, то существуют много конфигураторов ПК (можно прямо так и вбивать в поиск), где просто ставишь понравившиеся детальки, а он сам определяет будет ли это работать вместе или нет.
Читать книги, сайты и форумы на эту тему. Задавать вопросы на форумах и отвечать на них. Собрать компьютер или сделать его апгрейд себе или другим. Изучать ассортимент магазинов на их сайтах и отзывы на комплектующие в Интернете, самостоятельно их выбирать.
Многие люди, когда заходит разговор о компьютерах, машут рукой и говорят что-то вроде «Компьютер для меня – это тёмный лес», «я не умею…», «я не разбираюсь…» и т.д.
Некоторые наоборот смело заявляют: «я знаю компьютер».
Кто-то, сидя у себя на работе, освоив одну узконаправленную программу, вводит в неё данные и при каждом удобном случае гордо всем сообщает: «я работаю на компьютере», получая за это уважительное отношение своих знакомых.
Кто-то осваивает компьютер несколько лет, умеет в 1000 раз больше, но считает, что знает мало.
А кто-то просто боится подходить к компьютеру, чтобы его не испортить нажатием не на ту кнопку, заранее поставив перед собой планку «это не для меня» или «я уже стар для этого», в то же время, в глубине души понимая, что без компьютера в наше время прожить уже невозможно.
А задавали ли Вы себе вопрос: «Что значит — знать компьютер»? Насколько сложно его освоить?
Давайте попробуем разобраться. Ведь не поняв этого, можно всю жизнь бояться компьютера и оставаться «чайником».
Конечно же, нет чёткой границы между «чайником» и знающим пользователем, ибо нет предела совершенству, и тот, кто вчера считал себя профессионалом, освоив новые знания, сегодня понимает, что вчера он был только любителем.
Например, можно ли назвать «чайником» человека, который легко набирает текст, умеет его форматировать, автоматически проверять правописание и распечатать на принтере, который сам подключил, установил драйвер и настроил параметры печати?
Кто-то может сказать, что этого мало, чтобы быть пользователем, но мне кажется, что такого человека «чайником» уже не назовёшь. Да это и не важно. Я думаю, что каждый человек понимает (сам для себя) кем он является и этого вполне достаточно.
Теперь давайте попробуем разобраться, что же такое «знать компьютер» и с чего начинать его освоение.
Все мы знаем, что компьютер сам по себе это просто куча железа, и он ничего не будет делать, если в него не установить специальные программы. Чтобы набрать текст, нужна программа для набора текста (текстовый редактор). Чтобы пользоваться Интернетом, необходима программа-броузер для просмотра Web-страниц и т.д. Даже чтобы поиграть в игру, её надо установить и научиться играть (пользоваться программой).
Таким образом, вывод напрашивается сам собой: «знать компьютер – это знать программы». Чем больше программ Вы знаете и используете, тем лучше Вы знаете компьютер.
Конечно, невозможно знать все существующие программы. Их миллионы и изучить их все невозможно. Поэтому не стоит сломя голову изучать всё подряд. Это только утомит Вас и не приведёт ни к чему хорошему.
Для начала надо определиться, как Вы хотите использовать компьютер и затем решить, какие программы лучше всего подходят для решения тех или иных вопросов.
Если Вы, например, любите фотографировать и хотели бы научиться обрабатывать снимки, делать монтаж и т.д., тогда Вам надо освоить ту программу, которая служит именно для обработки изображений. Возможно, это будет мощный и профессиональный Adobe Photoshop, а может быть что-то более простое и более лёгкое в освоении.
Не стоит бояться, что Вы не сможете или не хватит времени на освоение всех программ, которые Вам нужны. Большинство программ очень похожи друг на друга. У них у всех похожие меню и по большому счёту Вам надо понять, как работает две-три программы, а все остальные в последствии изучить будет гораздо проще.
Если Вы совсем новичок, то начните освоение с элементарного «Блокнота» и «Калькулятора». Эти программы уже установлены в компьютере и есть у всех. Изучите, как работают меню этих программ, как происходит копирование, вставка и удаление данных. Это будет первым и самым важным Вашим шагом.
Потом (если касаться набора текста) можно переходит в текстовый редактор WordPad, который кроме набора текста имеет возможность форматирования текста (размер шрифта, его расположение, цвет и т.д.). Дальше можно пробовать Word.
Здесь хочу отметить, что многие профессиональные программы имеют огромное количество функциональных возможностей и настроек, которые могут напугать и отбить желание к их изучению.
Я могу Вас успокоить. Не обязательно разбираться во всех тонкостях каждой программы. Чтобы ею пользоваться, иногда хватает и 20% от всех её возможностей, а всё остальное это уже для более профессионального использования и нужно далеко не всем. По крайней мере, для начального освоения это точно не обязательно.
Таким образом, изучив несколько самых необходимых программ, Вы уже поймёте, что слово «чайник» к Вам применить всё труднее. А когда Вы почувствуете в себе силы, то самое время переходить к освоению работы операционной системы.
Вы должны научиться делать элементарные настройки Windows, научиться выходить из трудностей, связанных с её сбоями и неполадками. Этому надо научиться обязательно. Рано или поздно Вы столкнётесь с этим, а для неподготовленного человека это может оказаться серьёзной проблемой.
Если Вы новичок в этом деле, то первой ступенькой для понимания и решения таких проблем для Вас может стать бесплатный мини-курс «Помощь новичку при сбоях компьютера» , посвящённый решению таких вопросов и ориентированный именно на новичков.
А если Вы поймёте что такое переустановка Windows, зачем она нужна и сможете делать её самостоятельно, то перестанете бояться компьютера раз и навсегда. Поверьте мне, это под силу каждому. Если есть желание, то, приложив некоторые усилия, Вы научитесь всему, что только можете себе представить. Поэтому не бойтесь и сделайте первый шаг.
Всегда будут те, кто знает компьютер лучше Вас, и всегда есть те, кто его знает хуже Вас. Начинайте с малого и спустя некоторое время Вы сможете сказать сами себе (и не только), что «компьютер знаете». Уважение от друзей «чайников» Вам обеспечено, но главное Вы будете уважать сами себя.
Удачи Вам в этом не очень простом, но очень увлекательном деле!
Начать свой путь к карьере программиста стоит с ответа на вопрос, нужно ли вам программирование вообще? Этот вопрос не относится к тем, кто учится или учился по специальности, близкой к программированию. Если вам в школе математика давалась лучше, чем гуманитарные науки, если вам нравится проводить много времени за компьютером, если вам хочется изучать что-то новое, тогда программирование вам подойдёт.
С чего начать
Есть несколько вариантов развития событий, в результате которых человек становится программистом. Первый — родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет. Второй вариант — модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось. И последний вариант — хобби, которое переросло в работу.
Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:
- Самообразование . Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно , и приложений , которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
- Университет . Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
- Ментор . Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о , где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
- Специализированные практические курсы . Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.
Какой язык, технологию и направление выбрать
Когда вы станете программистом, через годик-другой будете вольны выбирать любой язык, который вам нравится. Но при выборе первого языка программирования новичок должен учитывать следующие критерии:
- Наличие на рынке вакансий . Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
- Низкий уровень вхождения . Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
- Кайф от процесса . Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.
Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.
В любом случае изучите веб-технологии. Это язык разметки , стили и , который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.
Как получить начальный опыт
Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.
Во-первых, не стоит ждать, пока вы прочитаете все книги по выбранному языку программирования. Начинайте писать свои первые строки кода уже после второй главы книги. Выполняйте все задания из книг, перепечатывайте примеры, разбирайтесь в них. Усложняйте примеры и задания из книг своими идеями. Создавайте свои задачи к пройденному материалу. Решайте эти задачи.
Во-вторых, вам нужно найти свои первые проекты. Это, наверное, самый сложный вариант, но рабочий. Вам придётся самому искать заказы, выполнять их, заморачиваться с оплатой. Для новичка это архисложно, но зато затем все остальные варианты покажутся плёвым делом. Выполненные проекты можно будет записать в опыт и показать вашему будущему работодателю. Реальные проекты являются большим плюсом в вашем резюме.
Если вы знаете английский язык, регистрируйтесь лучше на англоязычных биржах. Рынок там больше. Если не знаете английского, учите его. А пока что вам доступны русскоязычные биржи фриланса. Ищите небольшие проекты, которые соответствуют вашему уровню знаний или чуть выше него. Подайте заявку на пару десятков таких заданий. И приготовьтесь получить море отказов. Но если одна-две заявки выстрелят, у вас будет шанс получить реальный опыт.
Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или . Не стесняйтесь задавать там вопросы.
Четвёртый вариант получения опыта — помощь знакомым программистам. Попросите их передать вам маленькие и несложные задания. Если что-то не будет получаться, у вас всегда будет к кому обратиться. И при этом вы будете участвовать в реальном проекте.
Последний способ — собственные проекты, различные хакатоны или работа в коворкинге. Свои проекты сложно начинать самому, лучше поискать знакомых или друзей.
Почему стоит выбрать Python
Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python . Я очень советую выбрать именно его в качестве первого языка программирования.
Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.
Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.
PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.
Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.
Важен ли английский язык
Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.
Что нужно знать, кроме языка программирования
Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.
Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.
Последние шаги
Вам нужно подготовить резюме. Не просто резюме, а . Не стоит писать там , но и умалчивать о своих умениях тоже не нужно. После того как вас пригласят на интервью, вы должны к нему подготовиться. Пройдитесь по материалу, который указан в вашем резюме. Вы должны быть уверены в своих знаниях. Просмотрите проекты, над которыми вы работали, вспомните технологии, которые вы применяли. И вперёд — к светлому будущему с новой профессией программиста.