5 книг для тех, кому недостаточно просто писать код


Содержание

Что почитать? 5 книг для тех, кто хочет научиться красиво писать

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

Живой как жизнь

Корней Чуковский

«Живой как жизнь» — главная книга Чуковского, посвященная русскому языку, его истории и современной жизни, законам его развития. Нескрываемый и страстный интерес автора к слову как к началу всех начал в сочетании с объективным научным анализом речи — отличительная особенность книги Чуковского, сделавшая ее такой популярной и читаемой в нашей стране.

В книге вы найдете огромное количество примеров живой русской речи, узнаете, что такое «канцелярит» и как с ним бороться, «умслопогасы» и «иноплеменные слова» и многое-многое другое.

Как писать хорошо

Уильям Зинсер

Книга Уильяма Зинсера — самая популярная и авторитетная книга в мире о писательском мастерстве. Она выдержала 30 переизданий и разошлась общим тиражом более миллиона экземпляров. Это книга о том, как писать статьи, эссе, блоги и целые книги — увлекательно, ярко и доходчиво. Ее аудитория — не только профессиональные журналисты и литераторы, а все работники интеллектуального труда. Ведь умение грамотно излагать свои мысли в письменном виде обязательно для любого, кто хочет преуспеть в современном перенасыщенном информацией мире. Зинсер обстоятельно рассказывает, как писать любые тексты на любую тему — о людях, о путешествиях, о себе, о технике, о спорте, об искусстве. Поясняет, какими пра­вилами писатель должен руководствоваться, какими методами пользовать­ся и как относиться к своему труду, чтобы максимально приблизить его к совершенству.

Слово живое и мертвое

Нора Галь

Перу Норы Галь (Элеоноры Гальпериной), выдающейся переводчицы английской и французской литературы, принадлежат переводы «Маленького принца» Сент-Экзюпери, «Постороннего» Камю, «Убить пересмешника» Харпер Ли, а также Клиффорда Саймака, Рэя Брэдбери, Урсулы Ле Гуинн и Роджера Желязны. Эти переводы давно вошли в домашние библиотеки россиян и считаются одними из самых высококачественных. В книге «Слово живое и мертвое» Нора Галь не просто делится историями из своего переводческого прошлого, но преподносит профессию переводчика с азартом и любовью, так, что после прочтения хочется самому взяться за иностранный текст и переложить его на русский. Эту книгу можно использовать как учебник перевода, написанный без академического занудства, но наоборот — с юмором и бесценными примерами из личного опыта.

Пиши, сокращай

Максим Ильяхов, Лидия Сарычева

Этот учебник для журналистов, редакторов и копирайтеров вышел в 2020 году, но найти его в книжных нелегко: новые экземпляры мгновенно раскупают. «Информационный стиль», который проповедуют авторы книги, подходит не для всех случаев. Тем не менее, советы Максима Ильяхова и Людмилы Сарычевой учат важному навыку: не усложнять текст там, где этого можно не делать. Легкий язык, множество примеров и забавные комиксы делают книгу увлекательной, так что все 450 страниц читаются на одном дыхании.

Дзен в искусстве написания книг

Рей Брейдбери

«Каждое утро я вскакиваю с постели и наступаю на мину. Эта мина — я сам», — пишет Рэй Брэбери, и это, пожалуй, и есть квинтэссенция книги. Великий Брэдбери, чьи книги стали классикой при жизни автора, пытается разобраться в себе, в природе писательского творчества. Как рождается сюжет? Как появляется замысел? И вообще — в какой момент человек понимает, что писать книги — и есть его предназначение?

Но это отнюдь не скучные и пафосные заметки мэтра. У Брэдбери замечательное чувство юмора, он смотрит на мир глазами не только всепонимающего, умудренного опытом, но и ироничного человека. Так, одна из глав книги называется «Как удерживать и кормить Музу».

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

«Не надо „хотеть“ стать программистом». Белорусский тимлид — о тех, из кого не получится хороших разработчиков

Ведущий iOS-разработчик neoviso Игорь Шавловский разобрал по пунктам, в каких случаях шансов стать хорошим программистом не так уж много.

Несколько раз в год я даю консультации по вопросу: «Куда лучше поступить, чтобы стать программистом?» Чаще всего спрашивают мамы выпускников. Звучит это обычно так: «Говорит, что хочет стать программистом, будем сдавать ЦТ по математике, но не знаем, куда подавать документы». На вопрос, почему именно программистом, отвечают, что зарплаты высокие.

Разберём по пунктам, в каких случаях вы не станете хорошим программистом. Причём вне зависимости от вуза, который выберете.

Увлекается программированием большую часть жизни, в ИТ пришёл на третьем курсе университета. 8 лет занимается iOS-разработкой. Начинал с должности разработчика-джуниора и дорос до Team Lead в компании neoviso. ​

1. Если хотите, чтобы вас научили программированию.

Почему? Большинство из нас до сих пор живёт в прошлом веке с парадигмой советского образования и строгого следования учебному плану. Лабораторные выполняются, потому что без них не поставят зачёт, а на лекции ходят, поскольку надо писать конспект — вдруг его проверят на экзамене. Дипломный проект для многих — не научная работа, а повинность и беготня за справкой о внедрении.

Время занимательных историй. В одном из ведущих вузов Москвы студент пришёл на экзамен по высшей математике. Вытянул билет, сел за стол, на котором лежали книги. В них полностью содержался курс вышки. Он подготовился, решил задачу, сдал экзамен на высший балл и подал зачётку преподавателю. Оказалось, что он сдал экзамен за второй курс, а сам ещё на первом. Студент не знал, как выглядит его преподаватель, ни разу не видел своих одногруппников, он просто случайно ошибся аудиторией. Как вы думаете, спрашивал ли он у друзей, куда лучше поступить, чтобы стать кем-то там? Пошёл ли он в университет, чтобы писать конспекты? А что он получил от университета, если не ходил на лекции? Как насчёт лабораторий, профессоров и научных коллективов, которые работают в вузе? Не это ли университет предлагает нам в первую очередь?

Когда абитуриент ищет себе вуз, он задаётся вопросом: «Где меня будут учить?». А должен спрашивать: «Где я получу лучшие возможности учиться?».

В контексте обучения программированию полезно задавать такие вопросы:

  • Где лучшие преподаватели?
  • Где лучшие лаборатории?
  • Где есть объединения по интересам, возможность участия в олимпиадах и коллаборациях, связи с международными институтами?

Логично искать место, где вы получите больше навыков, чем в интернете на пошаговых курсах программирования.

2. Если вам не интересно программирование.

Приходить в университет надо уже с навыками программирования, вас никто не должен учить. В вузе надо развиваться, а не пытаться научиться с нуля. Абсолютно бессмысленно рассматривать учебное заведение как стартовую площадку для программиста. Для этого достаточно открыть Блокнот, скачать компилятор, заглянуть в Google и начать писать.

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

Пример из жизни. В школе мне всегда было интересно рисовать графики. Я ждал, когда же мы изучим новою функцию, чтобы увидеть очередную линию, почувствовать то, как математическая формула превращается в изящный рисунок, как круг порождает тригонометрические формулы. Именно поэтому, когда я впервые держал в руках учебник программирования, сразу начал искать в нём, как нарисовать линию, ведь любой график представляет собой последовательность линий. Но этого, как оказалось, было недостаточно, для начала потребовалось понять как «писать код». Пришлось прочитать первые скучные и бесполезные 20 страниц учебника, из которых узнал, как объявлять и вводить переменные, выводить результат. Свою первую же программу я попытался написать, не подсматривая в книгу. Тогда я с треском провалился — оказалось, что забыл всё, кроме begin и end. Более того, пришлось принять на веру необходимость непонятной строчки кода uses crt, что меня возмутило. Я не хотел терять контроль над происходящим, наоборот, важно было, чтобы всё написанное мной имело только те смысл и цели, которые я закладывал.

Через 10 минут моя первая программа запустилась, сделала какие-то простейшие математические операции над введёнными данными и вывела результат. Могу смело заявить, что в тот момент я научился программировать на Pascal, у меня было всё необходимое, кроме знания стандартных библиотек. Посидев ещё пару дней, я перевёл монитор в графический режим и нарисовал график экспоненты. Так моя первая цель была достигнута.

Все остальные цели были исключительно игровыми: я писал для себя простые игры, потом усложнял, придумывал новые возможности и радовался, что всё выходило, как задумано. Я получал удовольствие от того, что могу дать компьютеру задание, которое он безошибочно выполнит, бросал себе всё более сложные вызовы и справлялся с ними. А всё потому, что у меня был интерес. Компьютер я фактически рассматривал как игрушку и не думал о том, что с его помощью можно зарабатывать. Программирование было для меня тогда лишь инструментом реализации своего интереса.

Поэтому не надо «хотеть» стать программистом, намного полезнее видеть в программировании удивительный мир бесконечных возможностей. Это поможет вам создать то, что поддержит ваши интересы. Можно начать с разработки своей домашней страницы, создания простой игры или моделирования эволюционного процесса, защиты своих данных. А можно сыграть «Кузнечика» на матричном принтере или нарисовать фрактал Мандельброта.

3. Если у вас нет аналитических навыков.

В одной из своих колонок я писал, что главным навыком любого программиста является алгоритмизация — умение (даже, возможно, искусство) строить последовательности простых команд, которые в сумме выполняют конкретную задачу.

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

4. Если привыкли учиться по книгам.

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

Предлагаю людям, не знакомым с разработкой на iOS, почитать в книге, как работает UITableView, и попытаться написать код исключительно на основе этой информации. А теперь попробуйте просто открыть готовый код в интернете и понять, как он работает. Во втором случае вы научитесь работать с таблицей в разы эффективнее, потому что практические навыки приобретаются намного быстрее, чем усваивается информация из книги.

В книгах каждому компоненту может быть уделено 10 страниц текста. Но даже если вы прочитаете всё о кнопке, вы так и не сможете с ней ничего сделать, потому что реферативные знания вам не нужны, программисту нужна практика.

Начиная изучать новый язык, вам надо разобраться с синтаксисом и базовыми подходами к разработке — например, управлением памятью. Всё остальное — это практические навыки, которые появляются в процессе решения конкретных задач. Все они могут быть разделены на мелкие, а каждая мелкая задача уже решена в интернете. Так, со временем и повторением типовых приёмов, вы изучите всё то, что авторы книг безуспешно пытаются впихнуть в свои 500-страничные труды.

5. Если будете рассчитывать на экспресс-курсы.

Сегодня по всей Беларуси можно увидеть уйму рекламных плакатов о курсах и о том, как на них за считанные месяцы взрастят программиста с нуля. Мне всегда было интересно сходить на них. В первую очередь, чтобы посмотреть на людей, которые громогласно гарантируют трудоустройство.

Курсы программирования, как и вуз, не могут ничему научить, они могут лишь дать начальный толчок. При условии, что у вас есть интерес к программированию (а не к профессии программиста!). Если посетитель этих курсов не заинтересован ни в чём, кроме их окончания и получения бумажки, они бесполезны. Чтобы курсы сработали, надо самостоятельно уделять программированию хотя бы раз в 10 больше времени, чем на аудиторных занятиях. То есть на 2-часовое занятие должно приходиться, как минимум, 20 часов самостоятельного закрепления. Более того, если учитывать, что на повторение двухчасовой лекции не должно уйти больше нескольких часов, остальное время надо тратить на практику и копание в деталях.

Ставьте себе задачи, которые интересны, решайте их путём анализа, поиска возможных решений и оптимального из них — тогда вы уже за пару первых недель изучите всё, что сможете получить на курсах, и пойдёте дальше. А после выпуска действительно сможете найти работу и начать развиваться как профессионал.

А вы станете хорошим программистом?

Возможно, эта статья напугала того, кто только подумывает стать программистом. Но бояться не надо. В компьютере есть процессор, который выполняет команды, есть память, которая хранит данные, имеются устройства ввода/вывода, остальное — работа программиста, её реально освоить. Если вам интересно взять в свои руки то, что происходит внутри вашего компьютера, и создать свою собственную программу — сделайте это прямо сейчас.

Как понять, смогу ли я стать программистом — отвечают эксперты

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

«Как понять, смогу ли я стать программистом?»

За разъяснениями мы обратились к нашим экспертам, а полученные ответы предоставляем вашему вниманию.

Павел Попов , руководитель калининградского офиса компании «Первый БИТ»

Первое, что нужно сделать – это проверить базовый уровень логики. Найди шмурдики тест, пройди его и набери хотя бы 27 баллов с первого раза. Сумел с третьей попытки за счёт понимания дать все правильные ответы — молодец.

Переходим на следующую стадию. Поставь среду разработки для С++ или С# или еще какого-нибудь языка. Справился и каждый успешно пройденный шаг тебе доставлял удовольствие – хороший признак. Двигайся дальше.

Найди описание, как создать в установленной тобой среде на выбранном языке первое приложение, Hello World, — это классика. Сделал? Отлично.

Теперь напиши свой калькулятор, который складывает, вычитает, умножает, делит. Если ты это сделал и получил от этого удовольствие, сможешь стать программистом.

Михаил Субботин , преподаватель израильской высшей школы IT и безопасности HackerU


Программистом может стать каждый, кто готов много трудиться и заниматься своим развитием, читать профильные книги и решать трудные, но интересные задачи. Чтобы стать программистом, совсем не обязательно сдавать сложные экзамены или учиться много лет в университете. Достаточно громко заявить миру, что на свет появился новый программист, при этом много и упорно работать. С другой стороны, можно иметь образ жизни программиста: не откладывать редактор кода по возвращении домой, продолжать обучение, добывать редкий материал в сети, изучать новые технологии, подтянуть математику и заняться, например, ML.

Цукерберг рекомендует:  Как создать страницу с обратным отсчетом времени с помощью PHP и jQuery

Артем Литвиненко , координатор обучения, scrum-мастер REG.RU

Программиста определяет желание писать крутой код. Но просто работающим кодом сложно кого-то удивить: он должен быть кратким, быстрым и понятным даже школьнику. Ну а писать совершенный код можно, только когда по настоящему любишь это занятие.

Еще надо любить обучаться новому и совершенствоваться в старом. Знанием Django тоже сложно удивить. Стек технологий ежедневно меняется и развивается. Недостаточно просто знать о наличии какого-нибудь инструмента. Важно понимать, как он работает и зачем нужен. Для этого нередко приходится погружаться в основы не относящиеся к программированию напрямую. А чтобы обучение было в удовольствие потребуется пытливый ум.

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

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

Ну, и, конечно, надо уметь выстраивать коммуникацию с людьми и адаптироваться к разным обстоятельствам. Прошло время бородатых гениев, которые из подвала в одиночку хакали пентагон, писали Windows 3.11 и Facebook с нуля. Сейчас программист — это член команды. От коммуникативных навыков и гибкости зависит успех всей команды.

В конце спроси себя: «Смогу ли я стать программистом»? Если твой ответ «Да, смогу», то ничто тебя не остановит.

Микаэл Караманянц , директор компании-разработчика мобильных приложений Рашенсофт

Ответ лежит, скорее, в области человеческих качеств и склада ума. Конечно, если изначально есть высокий уровень теоретической подготовки, например, фундаментальное математическое образование, то обучение будет идти легче, но в целом это вопрос практики.

Чтобы стать успешным программистом нужно уметь понимать базовые принципы программирования и мыслить критериями языка, на котором собираешься писать код, но нельзя сказать, что это какая-то предрасположенность. Нужно запастись терпением и упорно трудиться, как бы ни банально это звучало.

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

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

Если есть сомнения, я бы советовал вначале попробовать близкие профессии, к примеру, тестировщика. Для них не нужна глубокая техническая база, в то же время требуется как раз схожий склад ума и характер.

Федор Кошель , эксперт курса «Профессия Ruby on Rails разработчик» университета digital-профессий «Нетология»

Для начала вам нужно понять, что считать профессией программиста. Программирование давно перестало быть уделом избранных, способных мыслить байт-кодами и в уме следить за аллоцированной памятью. Сегодня в мире есть много современных языков, синтаксис которых максимально близок к простому английскому. К примеру, User.find_by(name: ‘Вася’).destroy в Ruby (on rails). Знания этих команд достаточно для того, чтобы писать небольшие сайты, блоги, интернет-магазины. Если вы хотите работать на этом уровне, то вам достаточно выбрать понравившийся динамический объектно-ориентированный язык (Ruby, Python) и пройти курс по нему, или прочитать книгу, их достаточно много для каждого языка. Также можно попробовать себя в фронтенд-разработке, выучить JavaScript а затем освоить фреймворки к нему.

Если вы хотите писать более сложные системы, необходимы знания абстрактной логики, их можно получить изучая высшую математику в институте (в идеале дискретную, но, на самом деле, матанализ тоже весьма неплохо развивает мозги). Можно читать книги по дискретной математике и алгоритмам (Стивен Скиена «Алгоритмы. Руководство по разработке», Томас Кормен «Алгоритмы. Построение и анализ», Род Хаггарти «Дискретная математика для программистов», Дж. Андресон «Дискретная математика и комбинаторика») и просто практиковаться в программировании. Также очень полезно было бы выучить низкоуровневый язык, например С (Керниган, Ритчи «Язык программирования С») – для общего понимания принципов работы программ.

Если же ваша цель — заниматься машинным обучением и обработкой данных, — вам понадобится освоить математическую статистику и линейную алгебру. Все эти науки объединяет одна особенность — им можно научиться. Поэтому основная идея понимания собственных возможностей в программировании такова: «Если ты можешь учиться сам, то ты можешь стать программистом. Не нужно быть математиком, но нужно уметь при необходимости стать им».

Также множество каналов есть в телеграмм, несколько на каждый язык программирования, тоже советую поискать.

Если говорить про простейшую разработку web сайтов, то тут не должно быть никаких сомнений, справится каждый. Если же вы хотите пойти дальше, но при этом считаете, что математика и логика это совсем не про вас, то можете попробовать игровые сайты для разработки алгоритмов:
https://www.codingame.com/
https://www.codewars.com/
На них надо решать простейшие (и не очень) алгоритмические задачи на любом понравившемся вам языке программирования. Не могу сказать, что это очень полезно для обучения реальному программированию, но если вам понравятся эти игры, то вам точно понравится заниматься серьезной разработкой.

Тамара Внукова , старший преподаватель РЭУ им. Плеханова

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

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

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

Иван Монахов , технический директор компании Attack Killer

Сегодня сложно найти профессию более перспективную, технологичную и финансово стабильную, чем работа программиста. При этом, даже несмотря на высокие зарплаты (в разы выше, чем «средняя по региону»), отрасль испытывает кадровый голод. Как говорил Адам Смит, «спрос рождает предложение» — но все не так просто.

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

Профессиональный «голод» обретает новые характеристики. Чтобы преуспеть, нужно владеть фундаментальной базой: качественным алгоритмическим фундаментом, сильной математикой, быть ответственным и готовым постоянно учиться. Если все это у вас есть – Google, Amazon, Facebook и Attack Killer готовы пригласить вас на собеседование прямо сейчас!

Денис Колесников , программист прикладной разработки DirectumRX

Начну с того, что сейчас разработка ПО это огромная индустрия с широким диапазоном задач и требуемых для них скиллов, в которой задействованы десятки миллионов людей. Разнообразие компаний и проектов настолько велико, что можно свести ответ к простому — «Да, наверняка вы можете стать программистом».

Но лучше переформулировать вопрос в «смогу ли я стать хорошим программистом?» На мой взгляд, хорошим программистом можно стать, если:
1. Любите программирование и испытываете удовлетворение от самого процесса продумывания и написания кода.
2. Вам нравятся качественные и удобные программные продукты, и вы хотите разрабатывать именно такие.
3. Испытываете интерес к развитию IT, даже если не все тренды вам нравятся.
4. Обладаете развитым критическим мышлением и способностями к анализу.
5. Можете работать в состоянии потока и концентрироваться на одной задаче часами.
6. Вам не все равно, чем вы занимаетесь и с какими людьми работаете.
7. Готовы работать в команде для достижения общей цели, даже если не любите общаться с людьми.

А вообще самый простой способ проверить, можете ли вы стать программистом – начать писать код. Выберите один из популярных языков программирования, заведите небольшой проект на гитхабе, реализуйте что-то интересное лично вам, почитайте техническую литературу и книги по культуре кода и архитектуре. После этого ответ придет сам собой. Попробовать точно стоит, удачи!

Андрей Коваленко , со-основатель и CTO Voximplant

Выбирая программирование как профессию, стоит понимать несколько моментов.

Во-первых, это творческий процесс. Конечно, он сильно отличается от искусства в повседневном понимании, но если тебя не привлекает идея что-либо создавать, то и писать код не будет очень интересно.

Во-вторых, творческая составляющая — это 15%, другие же 85% — это нудная и монотонная работа. Данную часть можно сравнить, в противовес свободному полету фантазии, с детальным изучением музыки или живописи. Если ты написал игру «питон» или «крестики-нолики» и не умер от скуки, а получил от этого удовольствие, то программистом стать сможешь.

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

В качестве бонуса: наличие свободного времени и любовь к кофеину также повышают шансы преуспеть в программировании.

Павел Купреев: «Если программист хочет действительно преуспеть, недостаточно просто писать качественный код. «


Досье
FT

Имя: Павел Купреев
Возраст: 24 года
Город: Смоленск
Образование: ВА ВПВО ВС РФ (гражданский факультет) по специальности Автоматизированные системы
На фрилансе: 3 года
Специализация: Веб-программирование/Внедрение CRM


— Почему ты решил стать фрилансером, и как, вообще, пришел на фриланс?

— Еще во время учебы в институте фриланс привлек меня тем, что для работы не нужно каждый день вставать по расписанию в восемь утра и ехать в офис. Даже взял пару заказов в свободное время, но выполнять было трудно, так как не было ни опыта работы, ни опыта общения с клиентами, проекты затянулись, но были сданы за какие-то смешные деньги. На этом мое первое знакомство с фрилансом закончилось, и я устроился работать по специальности в одну из крупных компаний города.

Из-за того что студия работала на поток и типовые задачи выполнялись очень быстро — появлялась масса свободного времени, и я решил вернуться на фриланс. На первых порах это 2-3 проекта в месяц, но в течение года мой доход на фрилансе стал больше чем заработная плата в студии, правда спать я почти перестал — с 10 до 18 проекты студии и поиск клиентов, а после до глубокой ночи работа на фрилансе. Когда времени стало совсем мало — уволился с работы и полностью погрузился во фриланс.

— Не было страшно оставлять нагретое место со стабильной зарплатой ради чего-то неизвестного?

— Фриланс уже приносил более-менее стабильный доход. Появлялись постоянные заказчики. Да и увольнялся я летом: больше хотелось отдыхать, чем сидеть в офисе. Скажем так, я совместил приятное с полезным — уволился, кинул ноутбук в сумку и поехал на море. Правда через месяц я понял, что в августе на фрилансе «не сезон» — все заказчики в отпусках и хороших проектов мало. На эти случаи всегда должны быть деньги на пару месяцев жизни вообще без заказов.

— Как отнеслось твое окружение к тому, что ты решил стать фриалансером — семья и друзья? В конце концов, для большинства людей «фрилансер = безработный».

— Друзья у меня в основном IT-шники. В крупных компаниях около 30% спокойно совмещают и работу в офисе, и подработку на стороне. Так что они не считали меня безработным, скорее тем, кто решил работать только на себя. Сестра у меня тоже работала в той же компании, только дизайнером и на удаленной основе, поэтому родители как-то привыкли, что никто никуда не ездит, и все всегда находятся дома.

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


— Как и к чему необходимо подготовиться, когда собираешься стать фриалнсером? Что изучить, на какие темы статьи прочитать? Да и вообще, сложно ли подготовиться к этому?

— Как я уже и говорил, у фрилансера всегда должен быть запас денег на время полного отсутствия заказов. Сложно научиться самостоятельно планировать свое время, ведь в офисе твой день расписан по часам. На фрилансе, особенно на первых порах, придется работать много — браться за все проекты без разбора и набирать портфолио.

Из полезных книг по тайм-менеджменту советую прочитать «Как привести дела в порядок. Искусство продуктивности без стресса» от Дэвида Аллена. Также советую пользоваться приложениями для планирования времени, например Any.do или аналогами, сам уже давно перешел на полноценную CRM для ведения всех задач.

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

Также приходится привыкать часто разговаривать с клиентами: 70% моего рабочего времени – это обсуждения проектов с заказчиками. Вообще, за три года фриланс превратил меня скорее в менеджера по проектам, чем разработчика.

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

— Клиенты бывают разные. Обычно я отфильтровываю таких на этапе согласования. Всегда должно быть четкое ТЗ: по нему волнуется оценка стоимости работ (по часам). Если клиент начинает торговаться, скорее всего, он мне не подходит.

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

Для заказчиков любящих вносить дополнительные правки после завершения работ всегда согласовываю их заранее (час дополнительных работ). Если честно, за время работы фрилансером, неадекватных заказчиков попадалось максимум пять, хотя я никогда не беру предоплаты за работу.

— В начале нашего разговора ты заикнулся о совмещении работы и путешествий, а не мешает ли одно другому, и ка правильно совмещать личную жизнь с фрилансом, чтобы не жертвовать тем или иным?

— Я привык уже, но в новом месте сложно заставлять себя работать. Больше хочется изучать достопримечательности. Спасают приложения, которые отправляют заявки с фриланса на телефон в виде push-уведомлений — так я всегда могу ответить на понравившийся проект одним из первых. Для обсуждений в дороге помогает Skype и гарнитура.

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

— Каких клиентов можно встретить на фрилансе или, точнее на какие типажи мог бы ты их разделить, и как бы описал каждого из них?

— Я постараюсь выстроить клиентов в порядке ценности:

1) Экономный клиент или посредник берущий заказ и пытающийся продать его за более низкую стоимость. Может ответить на предложение фрилансера, но с ценой в пять раз ниже и будет торговаться до последнего. Часто ссылается на то, что денег больше нет и «да, там делать пять минут — я бы сам сделал, но времени нет». В половине случаев проект надо сдать «вчера». Как правило, стоит проходить мимо таких клиентов.


2) Любящий пообсуждать проект. Даже если проект на час и совершенно типовой. Обсуждение может затянуться на 3-4 дня. А проверка и оплата еще на неделю. Если много свободного времени — можно работать.

3) Постоянный клиент. Как правило, студии или такие же фрилансеры, которые отдают часть своей работы на аутсорсинг. Обычно тут начинаются хорошие бюджеты и вменяемые сроки. Особенно такие клиенты помогают в трудные времена, когда заказов на биржах нет. При длительном сотрудничестве можно делать небольшие скидки.

4) Партнер — идеальный клиент. Как правило, говорит «Сделай все как считаешь нужным». Обычно даже не спрашивает стоимость, а после выполнения уточняет сколько должен. Часто больше не идет на биржу, а обращается только к тебе.

— Давай поговорим о работе. Какие навыки и умения наиболее важны для веб-программиста?

— Из технических навыков 95% заказов на фрилансе затрагивают PHP, JS, CSS/HTML. Остальные языки, скорее для саморазвития. Полезными будут библиотеки для ускорения работы (например, предпроцессоры CSS и системы сборки), а так же GIT.

Если программист хочет действительно преуспеть, недостаточно просто писать качественный код, нужно развивать лидерские качества. Это имеет большое значение, ведь популярный вариант развития карьеры фрилансера — это менеджерские обязанности.

На старте будут полезными такие качества, как усидчивость, ответственность и инициативность.

— Обязательно ли иметь профильное образование, чтобы стать успешным программистом или же все-таки добиться успеха можно, будучи самоучкой?

— Свою корочку видел один раз — на вручении. Больше она не нужна никому. То, чему сейчас учат программистов, сильно отличается от потребностей рынка. Программа устарела на лет 20. Надо быть готовым к тому, что придется обучаться самому. Причем постоянно: технологии меняются очень быстро.

— Какие направления в разработке и языки программирования наиболее востребованы на сегодняшний день?

— Наиболее востребованные, судя по проектам, как всегда верстка, сайты под ключ и доработка. Языки PHP, JavaScript, CSS. Из новых библиотек и фреймворков писать можно на чем угодно — заказчику обычно все равно, как проект исполнен внутри, главное, чтобы все работало хорошо. Для крупных проектов часто использую React (JS) + Node.js. К тому же на этом стеке спокойно можно написать и мобильное приложение.

— А в каком направлении больше всего хотел развиваться именно ты или же, проще говоря, какое направление разработки нравится тебе, какие проекты и почему?

— Сейчас стало интересно внедрение CRM систем. К сожалению, на фрилансе таких проектов мало, но спасает реклама в поисковиках. Нравится из-за малого объема работы (программирования), в основном это общение с клиентом и отладка бизнес процессов в его бизнесе, как еще один плюс — корпоративные клиенты платят больше. А для саморазвития пишу собственные проекты на Nodeh.

— Расскажи о своих планах на будущее?

— Увеличение потока клиентов. Создание чего-то подобного веб-студии для фрилансеров. С фриланса часто приходит много заказов, которые я не успеваю физически выполнить. Как дополнительный доход думаю отдавать их собственной команде разработчиков.

— Твои пожелания или совет начинающим фрилансерам?

— Учиться, учиться и еще раз учиться. В веб-разработке технологии меняются с космической скоростью.

20 самых рекомендуемых книг для программистов на русском языке

Авторы проекта Dev-Books проанализировали миллионы вопросов и ответов в крупнейшем сообществе программистов Stack Overflow. Всё для того, чтобы найти книги, на которые чаще всего ссылаются разработчики.

В общий список вошло 5 720 книг. Ниже вы найдёте 20 самых упоминаемых из них, которые когда-либо выходили на русском.

По просьбе Лайфхакера своими мнениями насчёт некоторых изданий поделились отечественные эксперты.

1. «Эффективная работа с унаследованным кодом», Майкл К. Физерс

Автор объясняет, как быстро разбираться в унаследованном коде, как тестировать его, как правильно вносить изменения. Книга содержит множество эффективных приёмов, предназначенных специально для этих задач.

2. «Приёмы объектно-ориентированного проектирования. Паттерны проектирования», Эрих Гамма и другие

Классика для программиста. Первая книга, посвящённая именно шаблонам.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Издание уже 20 лет переиздаётся в изначальном виде. В этом, конечно, главный недостаток книги: некоторые шаблоны уже неактуальны. Думаю, её полезно читать уже после других, более современных, книг по паттернам проектирования. Тем более что она написана сухим академическим языком. Для понимания паттернов эта книга не must read, но её прочтение добавляет крутости в глазах коллег-программистов. :) Начинать я советую с «Паттернов проектирования» (Head First Design Patterns).

3. «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин

Интересная, но во многом спорная книга о том, как писать понятный и поддерживаемый код.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Почему спорная? Книг про написание кода уже огромное количество, и часть приёмов являются общепризнанными. Но каждый автор добавляет что-то своё. Лично для меня мнение Боба Мартина кажется иногда странным и противоречащим другим источникам. Не must read, но прочитать всё же стоит. Качество кода после прочтения становится лучше.

4. «Предметно-ориентированное проектирование», Эрик Эванс

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

Леонид Выговский, системный архитектор IT-компании LiveTex

— Из этой книги выросли концепции СQRS, BDD, onion-architecture и много других интересных идей. Единственный недостаток: книга насквозь теоретическая. Практическую пользу она приобрела только с выходом книги Вона Вернона «Реализация методов предметно-ориентированного проектирования» (Implementing Domain Driven Design). Поэтому читать их надо последовательно, сразу друг за другом.

5. «JavaScript: сильные стороны», Дуглас Крокфорд

Обязательная книга для веб-разработчиков. В ней Дуглас Крокфорд рассказывает о преимуществах языка JavaScript и учит грамотно их применять для создания эффективного кода.

6. «Шаблоны корпоративных приложений», Мартин Фаулер и другие

Книга описывает базовые принципы проектирования ПО для корпоративных платформ.

7. «Совершенный код. Мастер-класс», Стив Макконнелл

Классическая книга о том, как писать код лучше.

Михаил Осотов, директор по производству «Центра высоких технологий»

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

8. «Рефакторинг. Улучшение существующего кода», Мартин Фаулер и другие

Из серии книг по написанию понятного и качественного кода, «Рефакторинг» — лучшая.

Леонид Выговский, системный архитектор IT-компании LiveTex

Выговский: «Она не только показывает хороший код, но и на примере плохого объясняет, чем именно он плох. Эта книга — must read для всех. Причём чем раньше вы её прочтёте, тем лучше. Качество кода после прочтения сильно вырастет».

Если книгу Фаулера вы уже прочли, обратите внимание на «Рефакторинг с использованием шаблонов» (Refactoring to Patterns) Джошуа Кериевски, которую рекомендует Михаил Осотов.

«Рефакторинг с использованием шаблонов» Кериевски — отличная книга для тех, кто каждый день сталкивается с проблемой легаси-кода и технического долга в своих проектах.

Михаил Осотов, директор по производству «Центра высоких технологий»

— Эта книга поможет сохранить свои нервы, подружиться с рефакторингом и сделать код лучше.

9. «Паттерны проектирования», Эрик Фримен, Элизабет Фримен и другие

Серия Head First, на мой взгляд, идеально подходит для новичков в области разработки ПО.

Михаил Осотов, директор по производству «Центра высоких технологий»

— Все книги написаны разными авторами, но в каждой виден общий подход, который выражается в простой подаче материала, интересных и простых примерах.

10. «Язык программирования C», Брайан У. Керниган, Деннис М. Ритчи

Классическое учебное пособие по языку C, написанное его же создателями. Однако начинающим эта книга может показаться сложной, поскольку требует от читателя знания основ программирования.

11. «Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ», Скотт Майерс

Книга содержит советы по проектированию программ, работе с шаблонами и управлению ресурсами, а также другие рекомендации по созданию качественного ПО на языке С++.

12. «Экстремальное программирование: разработка через тестирование», Кент Бек

Автор на примерах описывает методику разработки ПО, которая предполагает тестирование программ ещё до написания их кода.

13. «Алгоритмы. Построение и анализ», Томас Х. Кормен и другие

Эту книгу называют библией алгоритмов. Она зарекомендовала себя как отличное научное пособие для студентов технических вузов и всех, кто интересуется информатикой. Книга доступным языком знакомит с алгоритмами разных типов и описывает их особенности.

14. «Регулярные выражения», Джеффри Фридл


Издание об эффективной работе с текстом в Perl, PHP, Java, Python, Ruby и других языках программирования.

15. «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#», Джеффри Рихтер

Классический учебник по разработке приложений для платформы Microsoft, в том числе с помощью Silverlight, Windows Presentation Foundation, ASP.NET и прочих технологий компании.

16. «Современное проектирование на C++», Андрей Александреску

Книга для опытных программистов на C++. Автор предлагает новый подход к разработке, сочетающий метапрограммирование шаблонов, обобщённое программирование и объектно-ориентированное программирование на этом языке.

17. «Microsoft ASP.NET 2.0. Базовый курс», Дино Эспозито

Детальное руководство для опытных специалистов по ASP.NET 2.0. Книга учит создавать мощные, надёжные и масштабируемые сайты на этой платформе.

18. «Шаблоны тестирования xUnit. Рефакторинг кода тестов», Джерард Месарош

Автор книги показывает, как применять шаблоны проектирования, исключение повторений, инкапсуляцию и другие принципы разработки ПО к написанию кода тестов.

19. «Компиляторы. Принципы, технологии и инструментарий», Альфред В. Ахо и другие

Книга описывает базовые принципы разработки компиляторов и делает особый акцент на оптимизации кода. В помощь читателю — большое количество примеров из практики.

20. «Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET», Кржиштоф Цвалина, Брэд Абрамс

Издание содержит лучшие приёмы разработки библиотек для платформы Microsoft .NET Framework. Книга должна упростить работу любого .NET-специалиста, который пишет код для других разработчиков.

Полный рейтинг англоязычных книг доступен на сайте Dev-Books. Там же можно просмотреть списки самых популярных книг на определённые темы, будь то Java, Database Design или CSS.

5 обязательных к прочтению книг для программиста

Опубликовано shwan в 19.12.2020

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

Стив Макконнелл — Совершенный код

Это действительно самая важная книга в карьере любого программиста, так как до ее прочтения он просто не имеет права себя таковым называть. По своей сути это «библия программиста», в которой очень доходчиво и просто изложены «заповеди программирования». И читать ее нужно систематически, чтобы освежать в памяти, осознавать и применять на практике изложенный в ней материал. Данная книга рассматривает вопросы проектирования, написания программного кода, тестирование, отладку и поддержку программного обеспечения. И каждый из этапов автор рассматривает очень подробно, приводя примеры. Основная идея книги заключается в том, что для написания качественного программного продукта необходимо контролировать его ложность на каждом этапе разработки, и на всех его уровнях.

Джеффри Рихтер — CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#

Очень подробное и грамотное руководство по языку разработке на языке C#. Книга подробно описывает внутреннее устройство и функционирование общеязыковой исполняющей среды (CLR) Microsoft .NET Framework версии 4.5. Материал книги направлена на обучение созданию по-настоящему надежных приложений любого вида, в том числе с использованием Microsoft Silverlight, ASP.NET, Windows Presentation Foundation и т.д. Материал излагается грамотным техническим языком. Данная книга является обязательной для изучения всем разработчикам на платформе .NET Framework и использующих язык программирования C#.

Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес — Приемы объектно-ориентированного проектирования. Паттерны проектирования

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

Мартин Фаулер, Кент Бек, Джон Брант, Дон Робертс — Рефакторинг. Улучшение проекта существующего кода

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

Эндрю Хант, Дэвид Томас, А. Алексашин — Программист-прагматик. Путь от подмастерья к мастеру

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

Основы программирования: как начать писать код

Окончил курс по языку программирования, но писать код не научился. С подобным сталкиваются многие новички. Пользователи Reddit описывают проблему так:

  • Я прошёл онлайн‑курс по Python, но всё равно не знаю, как написать полноценную программу.
  • Я знаю теорию, но не могу применить её на практике.
  • Я знаю, что такое цикл while, но не знаю, как и в каких случаях использовать его.

Разбираемся, в чём может быть проблема и как её решить.

Проблема: искусственная среда программирования

Многие онлайн‑курсы и книги предлагают новичкам работать в искусственной среде программирования, которая сопровождает написание кода различными инструкциями и подсказками. Она не соответствует тому, как в действительности работают разработчики. Когда курс заканчивается и бывший студент пытается совладать с реальной средой программирования, он чувствует себя потерянным, потому как привык к учебным инструментам, которые на каждом шагу предлагают подсказки.

Причина, по которой разработчики онлайн‑курсов пользуются подобными инструментами, заключается в том, что новичкам сложно взаимодействовать с реальными средами разработки. А искусственные платформы хороши тем, что помогают преодолеть первое сопротивление перед написанием кода. В конечном же счёте начинающему программисту всё равно придётся столкнуться с реальной средой разработки.

Проблема: чрезмерные руководства

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

По окончании курса новичок оказывается один на один с пустым файлом, без подсказок, и может почувствовать себя в замешательстве.

Проблема здесь — в чрезмерном руководстве. Ученика натаскивают на синтаксис языка, не уделяя при этом должного внимания основным идеям и понятиям программирования.

Синтаксис — это просто набор символов, которые используются для определённого языка программирования. Можно провести параллель с естественными языками: умение написать и произнести фразу на французском “S’il vous plaît” не имеет смысла, если вы не знаете её значения.

Только знание и понимание концепций, которые лежат в основе программирования, позволит понять, как работает код.

Решение 1: использовать реальные среды разработки

Стоит помучиться: установить и настроить реальную среду разработки. Начать можно с обычного текстового блокнота или сразу с редактора кода.

Узнайте, какой редактор чаще всего используют для выбранного вами языка, и установите его. Тщательно изучите его работу: как создать проект, запустить код, какие есть горячие клавиши и сокращения.

Напишите код, сохраните его и запустите — это будет вашим первым серьёзным шагом, ведь именно так работают настоящие разработчики.

Решение 2: писать код с нуля

Достаточно подсказок и инструкций! Начните с пустого файла, в который вы добавите каждую строку кода самостоятельно.

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

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

Главное на данном этапе — дойти до решения самостоятельно, а не получить уже готовое. Каждый раз, когда вы ищите и исправляете ошибку, вы получаете реальный опыт программирования.

Решение 3: писать много кода, очень много кода

Программирование — не теоретическая дисциплина: чтения книг, просмотра учебных видео и выполнения тренировочных упражнений недостаточно, чтобы освоить её. Чтобы научить программировать, нужно написать тысячи строк кода.

Ваша первая программа сможет немногое, а в вашем коде будет масса ошибок — но это не столь важно. Главное, сразу не разочаровываться в своих способностях и не бросить всё.

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

Решение 4: просить о помощи

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

Сделать это можно на сайтах вопросов и ответов для разработчиков, самый известный — Stackoverflow, который существует в англоязычной и русскоязычной версиях. Не забывайте: хороший программист должен владеть английским языком, ведь это основной язык разработчиков всего мира, и ответ вы быстрее найдёте или получите именно на нём.

Чтобы получить корректный ответ на свой вопрос, стоит научиться правильно составлять запрос:

  1. Скопируйте сообщение об ошибке, которое выводится в редакторе и укажите его в вопросе.
  2. Нет сообщения об ошибке, объясните, какого результата вы ожидаете от работы программы, и что происходит при её запуске на самом деле.
  3. Вставьте фрагмент кода, укажите код полностью в посте, если он небольшой. Если большой — используйте Github Gist или Pastebin и укажите ссылку на код.
  4. Отформатируйте код. Не вставляйте его обычным текстом, используйте редактор кода.
  5. Напишите, что вы уже пытались сделать с кодом.
  6. Используйте корректную терминологию — в этом вам поможет изучение теории.

Программирование — непростое занятие, которое требует реальной заинтересованности и способности часами думать над решением задачи. Если вы воспользуетесь решениями из статьи и не передумаете становиться разработчиком — вы действительно готовы ступить на эту стезю.

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

ТОП 20: лучшие книги по копирайтингу


Я собрал для вас лучшие книги по копирайтингу, которые научат писать просто и убедительно, а также «бить словом прямо в цель».

Уметь ярко и внятно писать нужно не только копирайтерам, но и владельцам бизнеса. Ведь никто лучше не создаст продающие тексты, описание товара/услуг, чем вы сами. А иметь индивидуальный стиль при письме — это дорого стоит.

Развивайте свои навыки письма и за хорошими текстами последует результат в виде роста продаж!

Приятного чтения и хороших текстов!

1. «Копирайтинг. Как не съесть собаку» Дмитрий Кот

Включает в себя приемы и секреты по написанию любых продающих текстов и других рекламных целей. В каждой главе есть совет или прием, который уже можно использовать. Открываем нужную страницу, выбираем необходимый совет и внедряем его. В книге нет теорий и формул — только практика, построенная на личном опыте автора и его клиентов.

2. «Нейрокопирайтинг» Д. Каплунов

Очень хорошая книга, где можно делать заметку на заметке. В книге «Нейрокопирайтинг» объединены 100 приёмов влияния на читателя с помощью словесных хитростей. Вы обогатите ими текст, сделаете его убедительным и получите прилив вдохновения. Вам гарантированы свежие идеи для заголовков, вводной части, блока аргументации, работы с возражениями и финала повествования.

3. Дэвид Огилви «Откровения рекламного агента»

Дэвида Огилви по праву считается «отцом рекламы», и признан самым выдающимся копирайтером мира.

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

4. «Клад для копирайтера. Технология создания захватывающих текстов» Элина Слободянюк

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

5. «Копирайтинг массового поражения» Денис Каплунов

Грамотно составленный рекламный текст способен стать мощнейшим инструментом продаж. Эта книга будет полезна всем людям, которые занимаются написанием рекламных текстов и понимают всю «убийственную» важность правильно подобранного слова.

6. «Продающие тексты. Как превратить читателя в покупателя» Сергей Бернадский

Сегодня уже недостаточно просто рекламироваться. Необходимо, чтобы ваше сообщение било точно в цель. Проникало в сердце. Захватывало воображение. И, самое главное, предлагало то, чего действительно хочет потенциальный клиент. Как составлять рекламные послания, которые будут продавать и побуждать к действию, а не просто информировать? Ответ на этот вопрос вы найдете на страницах этой книги.

7. «Автор, ножницы, бумага. Как быстро писать впечатляющие тексты. 14 уроков» Н. Кононов

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

8. «Бизнес-копирайтинг» Денис Каплунов

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

9. «Как писать так, чтобы было понятно всем!» Аллан Пиз

Эта книга посвящена одному из самых важных способов коммуникации — искусству передачи и обмену информацией в письменном виде.Алан Пиз научит вас убедительно и ясно излагать свои мысли, освоить искусство деловой и личной переписки, и добиться успехов во всех сферах жизни.

10. «Гипнотические рекламные тексты» Джо Витале

Джо Витале — один из королей вирусного маркетинга в Интернете — знает секрет гипнотических рекламных текстов. Он разработал собственный гипнотический стиль, которые включает в себя как классические инструменты копирайтинга, так и личные разработки автора.

11. «Пиши, сокращай. Как создавать сильный текст» Максим Ильяхов, Людмила Сарычева

Книга для всех, кто использует текст в работе. Не предназначена для авторов художественного текста.

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

12. «Пишем убедительно. Сам себе копирайтер» Саша Карепина

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

13. Дэн Кеннеди и его книга «Продающее письмо: полное руководство для копирайтера»

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

14. Джозеф Шугерман «Искусство создания рекламных посланий»

Джозеф Шугерман — выдающийся американский копирайтер, стоящий в одном ряду с такими рекламными личностями, как Дэвид Огилви, Джон Кейплс, Лео Барнетт. Совершенно справедливо утверждает, что несмотря на технологические перемены, несмотря на развитие телевидения, интернета, основные рекламные подходы остаются неизменными. Как остаются неизменными потребители – это, прежде всего, сами люди, со всеми их человеческими склонностями и слабостями.

15. Денис Каплунов «Контент, маркетинг и рок-н-ролл»

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

16. Рой Питер Кларк «50 приемов письма»

Книга содержит правила, которые научат вкладывать смысл в строки, и превращать «слова в музыку». Официально в России не издавалась, но была переведена Юлией Купер с разрешения Института Пойнтера.

17. «77 секретов копирайтинга. Тексты, которые продают» Андрей Парабеллум

В ней вы действительно найдете эффективные инструменты и полезные сведения, о которых прежде не слышали, даже если посещали тренинги или слушали вебинары по копирайтингу. Вы познакомитесь с «фишками», которые помогут вам стать еще успешнее и писать яркие, запоминающиеся, мощно заряженные мотивацией тексты.

18. «Как писать так, чтобы вам доверяли» Кеннет Роуман и Джоэл Рафаэльсон

Это отличное руководство по эффективному письму от лучших экспертов в этой области. Книга уже стала классикой в США. Авторы книги Роуман и Рафаэльсон, много лет работавшие с Дэвидом Огилви в Ogilvy & Mather, поставили перед собой цель — помочь людям, использующим письменное слово в бизнесе, искусстве или учебе, делать это так, чтобы всегда добиваться результата. Прочитав эту книгу, вы сможете написать четкую и содержательную презентацию, речь на миллион, эффективное письмо покупателю или резюме, которое приведет вас на интервью к работодателю.

19. Ольга Соломатина: «Писать легко. Как сочинять тексты, не дожидаясь вдохновения»

Сборник лекций и практических заданий для тех, кто хочет научиться писать легко. Автор помогает справиться с разнообразными сложностями писательского труда, рассказывая о несложных правилах сочинения текстов. Соблюдая их, можно убедиться в правоте Ольги Соломатиной, которая утверждает, что писать может каждый!

20. Зиг Зиглар «Секреты заключения сделок»

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

Основы программирования: как начать писать код

Окончил курс по языку программирования, но писать код не научился. С подобным сталкиваются многие новички. Пользователи Reddit описывают проблему так:

  • Я прошёл онлайн‑курс по Python, но всё равно не знаю, как написать полноценную программу.
  • Я знаю теорию, но не могу применить её на практике.
  • Я знаю, что такое цикл while, но не знаю, как и в каких случаях использовать его.

Разбираемся, в чём может быть проблема и как её решить.

Проблема: искусственная среда программирования

Многие онлайн‑курсы и книги предлагают новичкам работать в искусственной среде программирования, которая сопровождает написание кода различными инструкциями и подсказками. Она не соответствует тому, как в действительности работают разработчики. Когда курс заканчивается и бывший студент пытается совладать с реальной средой программирования, он чувствует себя потерянным, потому как привык к учебным инструментам, которые на каждом шагу предлагают подсказки.

Причина, по которой разработчики онлайн‑курсов пользуются подобными инструментами, заключается в том, что новичкам сложно взаимодействовать с реальными средами разработки. А искусственные платформы хороши тем, что помогают преодолеть первое сопротивление перед написанием кода. В конечном же счёте начинающему программисту всё равно придётся столкнуться с реальной средой разработки.

Проблема: чрезмерные руководства

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

По окончании курса новичок оказывается один на один с пустым файлом, без подсказок, и может почувствовать себя в замешательстве.

Проблема здесь — в чрезмерном руководстве. Ученика натаскивают на синтаксис языка, не уделяя при этом должного внимания основным идеям и понятиям программирования.

Синтаксис — это просто набор символов, которые используются для определённого языка программирования. Можно провести параллель с естественными языками: умение написать и произнести фразу на французском “S’il vous plaît” не имеет смысла, если вы не знаете её значения.

Только знание и понимание концепций, которые лежат в основе программирования, позволит понять, как работает код.

Решение 1: использовать реальные среды разработки

Стоит помучиться: установить и настроить реальную среду разработки. Начать можно с обычного текстового блокнота или сразу с редактора кода.

Узнайте, какой редактор чаще всего используют для выбранного вами языка, и установите его. Тщательно изучите его работу: как создать проект, запустить код, какие есть горячие клавиши и сокращения.

Напишите код, сохраните его и запустите — это будет вашим первым серьёзным шагом, ведь именно так работают настоящие разработчики.


Решение 2: писать код с нуля

Достаточно подсказок и инструкций! Начните с пустого файла, в который вы добавите каждую строку кода самостоятельно.

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

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

Главное на данном этапе — дойти до решения самостоятельно, а не получить уже готовое. Каждый раз, когда вы ищите и исправляете ошибку, вы получаете реальный опыт программирования.

Решение 3: писать много кода, очень много кода

Программирование — не теоретическая дисциплина: чтения книг, просмотра учебных видео и выполнения тренировочных упражнений недостаточно, чтобы освоить её. Чтобы научить программировать, нужно написать тысячи строк кода.

Ваша первая программа сможет немногое, а в вашем коде будет масса ошибок — но это не столь важно. Главное, сразу не разочаровываться в своих способностях и не бросить всё.

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

Решение 4: просить о помощи

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

Сделать это можно на сайтах вопросов и ответов для разработчиков, самый известный — Stackoverflow, который существует в англоязычной и русскоязычной версиях. Не забывайте: хороший программист должен владеть английским языком, ведь это основной язык разработчиков всего мира, и ответ вы быстрее найдёте или получите именно на нём.

Чтобы получить корректный ответ на свой вопрос, стоит научиться правильно составлять запрос:

  1. Скопируйте сообщение об ошибке, которое выводится в редакторе и укажите его в вопросе.
  2. Нет сообщения об ошибке, объясните, какого результата вы ожидаете от работы программы, и что происходит при её запуске на самом деле.
  3. Вставьте фрагмент кода, укажите код полностью в посте, если он небольшой. Если большой — используйте Github Gist или Pastebin и укажите ссылку на код.
  4. Отформатируйте код. Не вставляйте его обычным текстом, используйте редактор кода.
  5. Напишите, что вы уже пытались сделать с кодом.
  6. Используйте корректную терминологию — в этом вам поможет изучение теории.

Программирование — непростое занятие, которое требует реальной заинтересованности и способности часами думать над решением задачи. Если вы воспользуетесь решениями из статьи и не передумаете становиться разработчиком — вы действительно готовы ступить на эту стезю.

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

10 великих книг, которые объяснят вам простыми словами самые сложные вещи

Получайте на почту один раз в сутки одну самую читаемую статью. Присоединяйтесь к нам в Facebook и ВКонтакте.

Краткая история времени. Стивен Хокинг

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

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

В этом произведении Хокинг просто и доступно описывает секреты происхождения Вселенной и природу ее существования. Он рассказывает про Черные дыры, теорию суперструн, сложные математические концепции и многие другие темы. При этом в изложенном материале может разобраться даже школьник – «Кратная история времени» читается как захватывающий приключенческий роман, а не как книга о науке.

Интересно, что во всей «Краткой истории времени» встречается одна-единственная формула – E=mc².

Что такое математика? Рихард Курант, Герберт Роббинс

Оказывается, математика, которая преподается в школе, имеет весьма далекое отношение к фундаментальной науке с таким же названием. А потому известный немецкий ученый Рихард Курант вместе с соавтором Гербертом Роббинсом решили написать книгу, способную объяснить широкому кругу читателей, что же собой представляет современная математика?

Авторы начинают свое повествование с элементарных понятий, а затем постепенно усложняют их, переводя читателя со временем к пониманию самых важных и сложных проблем современной математики.

Книга написана простым и понятным языком. А описанные в ней факты кажутся интересными и занимательными даже тем, кто в школе сдавал математику на тройки.

Как устроена экономика. Ха-Джунг Чанг

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

Но это вовсе не является тайной за семью печатями. И знаменитый экономист из Кембриджа Ха-Джун Чанг написал книгу с названием «Как устроена экономика», в которой каждый желающий может узнать суть и историю этого понятия.

Ха-Джун Чанг дает читателям представление об истории экономики («от булавки до PIN-кода»), об основных экономических теориях и практике их реализации, а также подробно и небанально рассказывает, как экономика работает в реальных условиях.

Описанные Чангом факты невозможно найти в учебниках. Он делится на страницах своей книги откровением, что единственно правильного взгляда на экономику не существует. Зато есть набор инструментов, которые помогут человеку самому попытаться разобраться, как функционирует мир производства и денег в условиях глобализма.

История Европы. Норман Дэвис

История – это наука, которая вполне может быть объективной. Эту идею доказывает британский ученый Норман Дэвис, который выпустил эпохальный научно-популярный труд с названием «История Европы».

В своей книге Дэвис рассматривает историю жизни и сосуществования народов, проживающих на огромной территории от Исландии до Волги. Автор сильно углубляется в факты, стараясь не упустить ни одно по-настоящему значимое событие от палеолита до распада Советского Союза в 1991 году.

Автор книги сопровождает свой текст неожиданными мнениями, рассказом про забавные, но важные эпизоды европейской истории, а также рельефными, а не глянцевыми портретами великих личностей.

Ни один из упомянутых в данном произведении народов не может обвинить автора «Истории Европы» в предвзятом отношении. Книга основана на филигранной работе с фактами, а также их интерпретации в соответствии с объективными законами логики.

Ководство. Артемий Лебедев

Проект «Ководство» известный российский дизайнер Артемий Лебедев начал в 1997 году, когда стал выкладывать блоговые записи, раскрывающие секреты дизайнерского мастерства. Материал был субъективным, спорным, однако люди с удовольствием стали применять эту информацию на практике.

Со временем записей в блоге «Ководство» стало так много, что их было решено выпустить в качестве единой книги. В результате получился настоящий учебник современного дизайна.

Книга полна цветных иллюстраций с примерами и антипримерами, на ее страницах можно найти огромное количество уникальной практичной информации, которую невозможно увидеть в других источниках.

Охотники за микробами. Поль де Крюи

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

«Охотники за микробами» — это наполовину художественное произведение. История науки микробиологии в ней тесно переплетена с историями самих ученых-микробиологов – отважных людей, которые ведут войну с инфекционными заболеваниями, сохраняя тем самым Человечеству многие миллионы жизней.

Де Крюи увлекательно рассказывает историю научных открытий в области микробиологии, подчас глубоко драматичную, но часто весьма занимательную, с комедийными элементами. Книга появилась еще в 1926 году, но до сих пор читается увлекательно – лучше на эту тему с тех пор так и не написали.

Поваренная книга анархиста. Уильям Пауэлл

Книга, запрещенная к печати и распространению в десятках стран мира, в том числе, и в России. «Поваренная книга анархиста» от американца Уильяма Пауэлла была написана в шестидесятых годах двадцатого века на волне расцвета протестного движения против Войны во Вьетнаме.

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

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

Нефть благословенная и проклинаемая. Сэмюэль Ван-Вактор

Многие считают нефть фундаментом современной Цивилизации. Этот ресурс сделал наш мир таким, какой он есть. Тем не менее, общество не устает смешивать с грязью нефтяной бизнес и его деятелей, считая их воплощением мирового зла.

Книга «Нефть благословенная и проклинаемая: Международный нефтегазовый бизнес от скважины до бензоколонки» дает широкому кругу читателей подробное представление о принципах функционирования этой отрасли экономики, а также о ее влиянии на мировую энергетику и политику.

Но не стоит считать Сэмюэля Ван-Вактора лоббистом нефтяного бизнеса. В заключительной части книги он подробно рассказывает про все основные альтернативы нефти как главного мирового источника энергии: синтетические виды топлива, сжиженный природный газ, солнечные панели, водородные двигатели и т.д.

История Бога. Карен Армстронг

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

Карен Армстронг рассматривает историю монотеизма в разрезе четырех тысяч лет: от Авраама до наших дней, затрагивая при этом античную философию, средневековый мистицизм, духовные искания эпохи Возрождения, Реформацию, а также современный научный скептицизм.

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

Искусство управления государством. Маргарет Тэтчер

Как известно, каждый таксист лучше всех знает, как правильно управлять государством. Но прислушиваться в этом плане следует не к представителям данной профессии, а к людям, которые, действительно, стояли во главе мировой политики, которые смогли провести в своей стране и в мире существенный сдвиг к лучшему. Таким человеком, к примеру, является Маргарет Тэтчер, премьер-министр Соединенного Королевства в 1979-1990 годах.

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

Маргарет Тэтчер в своей книге проанализировала роль США, России, Китая и Индии в мировом политическом процессе, изучила вопрос европейской интеграции и появления на этом фоне государств-изгоев. Знаменитая женщина-политик представила на суд общественности собственную картину мира, с которой можно соглашаться или не соглашаться, но которую невозможно не уважать.

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

Понравилась статья? Тогда поддержи нас, жми:

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