12 вещей, о которых стоит знать каждому программисту


Оглавление (нажмите, чтобы открыть):

20 вещей для развития, которые важно знать каждому

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

2. Не надо слепо верить в образовательную систему. Учебная программа устарела в первый день вашего обучения. Исключение – фундаментальные программы в точных науках.

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

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

5. Быть застенчивым – пустая трата времени. Не давайте эмоциям рулить процессами принятия решений.

6. Если вам что-то не нравится в отношениях с человеком, – в случае вашего разрыва это и будет причиной.

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

8. Найдите людей, которыми можно восхищаться, и старайтесь их превзойти.

9. Со временем люди становятся более консервативными. Если хотите сделать рисковые вещи – делайте пока молодые. Реформаторство – это следствие отсутствия знаний, а не наличия фокуса.

10. Не тратьте деньги на ерунду: скопите их на что-то серьезное. Это также научит вас тратить деньги и в бизнесе: с умом и ради цели.

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

12. После того, как вы научились экономить, научитесь зарабатывать.

13. Научитесь программировать. Не хотите программировать – научитесь что-то делать руками, чтобы можно было производить что-то полезное.

14. Не набирайте лишний вес в молодости. Это сократит вашу активную жизнь на 10-20 лет.

15. Научитесь готовить еду. Лучшее время для обдумывания чего-то – когда вы режете ингредиенты на блюдо.

16. Высыпайтесь ночью. Недостаток сна сильно влияет на качество принятия решений.

17. Записывайте свои дела. Памяти недостаточно, какой бы она ни была.

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

19. Станьте специалистом своего дела перед тем, как менять сферу деятельности. Тут дело и в правиле 10000 часов, и в том, что хороший генералист должен в прошлом быть специалистом.

20. Не старайтесь исправить людей. Ищите тех, кто еще не испорчен.

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

Жми «Нравится» и получай только лучшие посты в Facebook ↓

Programming stuff

Страницы

пятница, 1 ноября 2013 г.

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

(Каждый из вас может получить самостоятельное представление о содержимом этой книги по адресу – programmer.97things.oreilly.com)

Представьте, что вы просыпаетесь среди ночи с озарением: я хочу написать книгу! Вы при этом понимаете, что писать книгу с нуля муторно, наработок толком нет, да и с темой еще не определился. Но поскольку уснуть не получается, то вы бродите по дому всю ночь в поисках решения. И вот, когда за окном уже начинает светать к вам приходит озарение: миру не хватает книги с общими советами, бесполезными любому программисту! Менеджерам повезло, для них уже вышла книга «97 Things Every Project Manager Should Know», так почему бы не сделать аналогичное доброе дело для программистов?!

Сказано – сделано! Все, что нам нужно, это найти 5 десятков авторов разной степени известности и попросить их поделиться своими сакральными знаниями! От каждого из них нам потребуется всего ничего: вумных мыслей в размере не более одной страницы! А что если у автора уже есть свои известные статьи? Тем лучше, тогда мы попросим выкинуть из нее весь код и «скукожить» в размерах, чтобы даже самому автору она перестала быть понятной! После этого, мы возьмем сотню заметок на самую разную тематику, выкинем 3 лишних, чтобы получить волшебное число 97, тщательно их перемешаем, чтобы от последовательного чтения книги вообще не осталось никакого смысла, напишем введение и . вуаля, книга готова!

Иногда, размер имеет значение

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

Проблема любого совета типа «используйте Х», «не используйте Y», «изучите Z» в том, что он контекстно-зависим. Любой взрослый программист знает, что серебряных пуль нет и основная сложность заключается в поиске компромиссов при принятии решения. Нужны ли комментарии или они вредны? Можно ли дублировать код или это главная проблема нашей индустрии? Что лучше ФП или ООП? На эти вопросы очень сложно дать ответ на одной странице так, чтобы они звучали убедительно и раскрывали контекст, в котором этот совет применим.

Ну а поскольку многие советы таки зависят от контекста, то в книге появляются прямо противоположные рекомендации. Один автор утверждает, что принцип DRY (Don’t Repeat Yourself) является абсолютно фундаментальным и его нарушение ведет к нарушению всех остальных принципов проектирования, а другой автор пишет, что иногда на реюз можно положить болт, поскольку это может приводить к ненужной связности независимых кусков кода.

Очень расстроили известные статьи, «скукоженные» до неузнаваемости. Один из моих любимых принципов проектирования я почерпнул из замечательной книги Скотта Мейерса «Эффективное использование С++» о проектировании API. Звучит он так: «Проектируйте класс/модуль так, чтобы его легко было использовать правильно и сложно использовать неправильно«.

Следование этому совету приведет к использованию специализированных доменных типов (типа User >Этот же совет Скотт дает и в этой книге в главе Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly, но он настолько короткий, что читатель может ему лишь поверить, но проникнуться им до глубины души шансов у него не много.

Другим примером «скукоживания» может служить описание известного принципа единой ответственности Боба Мартина. The Single Responsibility Principle занимает целых полторы страницы и содержит два примера кода, но едва ли можно считать его полным, исчерпывающим и убедительным.

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

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

Набор несвязанных фактов

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

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

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

Так что же должен знать каждый программист?

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

Кто-то скажет, что знание computer science является обязательным, а кто-то возразит, что это теоретическая хрень, которая не применяется на практике.

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

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

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

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

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

Я буду отстаивать важность контрактов и ценность книги Мейера для любого программиста, но всегда найдутся сторонники защитного программирования или ярые сторонники юнит-тестов, которые будут убеждать в бесполезность контрактов или убогости их реализации на платформе .NET.

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

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

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

Вердикт книги: легкое чтиво, с небольшой пользой для читателя.

MacOS tips’n’tricks. Полезные вещи, о которых стоит знать каждому маководу

Содержание статьи

В предыдущих выпусках

Эта статья планировалась как первая в серии статей про macOS. Вместо нее мы тогда сделали сводную статью, где были и советы, и скрытые настройки системы, и рекомендации по выбору программ. А потом перешли к изучению утилит командной строки и автоматизации работы при помощи launchd. Теперь, чтобы наверстать, подробнее возвращаемся к скрытым фичам системы.

Интересное в Finder

Finder — это бессменный (в том числе буквально) файловый менеджер macOS. Но в реальности это, оказывается, целых шесть исполняемых файлов, которые хитро передают управление друг другу и сосуществуют в рамках одной программы. Увидеть их все ты можешь, заглянув по адресу /System/Library/CoreServices/Finder.app/Contents/Applications/ (жми Cmd-Shift-G и вставляй этот путь).

Здесь есть отдельные приложения для AirDrop, iCloud Drive, Network, All My Files и Recents (по сути, заранее настроенные окна с поиском) и Computer. Каждый из них можно при желании вытащить в док для более простого доступа — они будут просто открывать нужные окна.

Но вернемся к самому Finder. По умолчанию его внешний вид минималистичен, но ты можешь дополнительно включить строку состояния, строку пути и окно просмотра (Status Bar, Path Bar и Preview) в меню «Вид».

Обрати внимание на две строки в нижней части окна

Возможность включить панель предпросмотра не только в колоночном режиме, но и в других — это, похоже, задел на новую фичу Finder в macOS 10.14 Mojave. Там эта панель заиграет новыми красками.

Строка статуса раньше была включена по умолчанию: она показывает, сколько файлов в текущей папке и сколько места свободно на диске; строка пути — менее известная вещь, хотя что-то похожее есть и в Windows, и в линуксовских DE. Это удобный путь к текущей папке, к каждому элементу которого можно перейти. Обрати внимание, что тут эти крошечные папочки можно еще и таскать — скажем, чтобы переложить в другое место, либо наоборот — таскать файлы на них.

Еще один неочевидный трюк с перетягиванием доступен в окне свойств файла (оно открывается по Cmd-I). Любой программе, ярлыку или документу можно присвоить кастомную иконку, если перетащить ее на значок в верхней части панели свойств. Все, что нужно для этого, — файл .icns. Где его взять? Проще всего — сделать утилитой iconutil , а на Stack Overflow есть отличный скрипт, который генерирует .icns с иконками всех нужных размеров из картинки в PNG.

Кстати, если про меню свойств файла все обычно знают, то меню «Параметры вида» (Cmd-J) — менее известная фича. Это настройки отображения содержимого, которые Finder хранит для каждой папки, в том числе — и для рабочего стола.

Для режима отображения в виде значков и для режима списка эти настройки разные

Еще занятно, что для каждой папки можно задать свои размер шрифта и цвет фона. Можно даже сделать фон с картинкой — именно так, кстати, и делают окна Finder, которые ты видишь при установке программ из .dmg.

Простые фишки

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

  • Настрой Time Machine. Это удобнейшая вещь для отката правок в любом документе. Система сама сохраняет дельты локально на твоем диске и следит за тем, чтобы они не занимали слишком много места. В большинстве программ из меню «Файл → Вернуться к версии → Просмотреть все версии» (File → Revert to → Browse All Versions) ты можешь перейти к сравнению версий. Но и бэкап на внешний диск (автоматом при подключении) или NAS настроить тоже не помешает.
  • Используй QuickLook! Это встроенный в систему просмотрщик документов, который появляется при нажатии на пробел при выбранном файле. Забавная фича: если выбрать несколько документов, то в QuickLook их можно будет разложить плиткой.
  • Ты можешь подсматривать пароли в «Связке ключей». Сложно не узнать о том, что в macOS встроена система хранения паролей — Keychain. Однако не все доходят до утилиты «Связка ключей» (Keychain access), которая позволяет управлять этими паролями, а также узнавать их в случае надобности, вводя пароль от системы. Просто дважды кликай на любой пароль и ставь галочку «Показать пароль».
  • Не ищи пункты меню глазами. Для ускорения поисков ты можешь нажать «Справка» и начать печатать его название. «Макось» подскажет тебе варианты и наглядно покажет, где надо было смотреть.
  • Загляни в настройки клавиатуры, там есть масса полезного. Например, автозамена — в том числе обычных кавычек на парные елочки и коротких тире — на длинные (только не забудь включить ее в редакторе, как на скриншоте выше). В соседней вкладке — назначение шоткатов (ты можешь сам вписать команду из меню любой программы и задать сочетание клавиш), а также настройки переключения раскладки — можно занять этим Caps Lock или включить опцию, при которой система помнит раскладку для каждого документа.
  • Ты можешь создавать сети Wi-Fi, это умеет любой «мак». Бывает удобно для раздачи проводного интернета с ноутбука либо когда нужно на ходу именно создать сеть, а не перекинуть файл по AirDrop. Просто нажми на значок Wi-Fi в меню и выбери «Создать сеть» (Create Network).
  • Смотри содержимое специальных папок при помощи пункта «Показать содержимое пакета» контекстного меню. Программы, библиотеки iTunes и Photos, дистрибутивы — все это специальные типы папок, для которых на двойной клик завязано какое-то действие. Но это не значит, что ты не можешь заглянуть внутрь.
  • Попробуй зажать Control и покрутить колесиком мыши. Система сделает зум на часть экрана рядом с курсором. Трюк неплохо помогает, когда нужно разглядеть что-нибудь мелкое.
  • Еще фича из той же серии: попробуй держать Shift во время некоторых зашитых в систему анимационных эффектов, они будут происходить замедленно. Например, можешь подержать Shift и нажать на одну из папок в правой части дока. Удобно, если нужно сделать скриншот в процессе.
  • Таскай файлы прямо из заголовков окон. Это одна из моих любимых мелких фич: значок файла в заголовке окна с документом представляет файл точно так же, как и значок в Finder. Например, можно взять и перетащить в другое место.
  • Перетаскивай файлы и папки на диалоги открытия и сохранения. Если перетащить папку, то ты перейдешь в нее, если файл, то он окажется выбран. Иногда бывает мегаполезно.
  • Прочитай о назначении активных углов и секретах кнопки Alt в начале статьи «Обвес macOS». Не будем повторяться — впереди еще много всего занимательного!

Продвинутые техники работы с «Терминалом»

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

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

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

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

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

Мастер Йода рекомендует:  Какой ИИ-персонаж стал бы для вас отличной парой — тест на совместимость от Tproger и DataArt

С чего начать

Есть несколько вариантов развития событий, в результате которых человек становится программистом. Первый — родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет. Второй вариант — модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось. И последний вариант — хобби, которое переросло в работу.

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

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

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

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

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (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, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.

Последние шаги

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

Пять вещей, о которых стоит помнить программисту в возрасте

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

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

Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек.

Однажды вечером мы смотрели старый добрый Звёздный Путь и Джеймс Кирк сказал, что он становится старым и выдыхается. Ему тут же возразил Спок, как обычно, в своём уверенном и логичном стиле:

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


Я пропустил остаток фильма — думал об этой фразе. А не сделал ли я той же вещи? Не зря ли я перешел к работе менеджера (в которой был лишь умеренно хорош), вместо того, чтобы отдаться своей судьбе и таланту? К счастью, вскоре я нашел ответ на этот вопрос и он был: «Да, зря». Я забыл, что написание кода и было той самоей моей «единственной и лучшей из возможных судьбой», а написанный мною код был самым важным моим творением в жизни. Моя первая компания была построена вокруг куска написанного мною кода, и даже сегодня кое-что из него всё-ещё работает. И вот после некоторого периода самокопания я выбросил все свои стереотипы о том, что «индустрия уже не та». Я начал учить новые языки программирования. Мне повезло и ещё до того, как мне стукнуло 57 я закончил разработку одного из лучших программных компонентов, который мне довелось написать в жизни. Это был продукт для небольшого местного стартапа. Он был хорош: в нём была идея, архитектура, реализация. Он, в конце концов, действительно что-то значил!

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

1. Вы знали, на что идёте

По мере того, как мы становимся старше, мы все устаём. Мы устаём от бесконечной траты времени с минимальным результатом. Мы устаём видеть одни и те же ошибки, случающиеся снова и снова. Мы начинаем говорить вещи вроде «жизнь слишком коротка для этого». И по мере того, как наши знакомые приближаются к выходу на пенсию, мы часто ловим себя на зависти по отношению к их надёжным, скучным работам, которые вскоре дадут им возможность выйти на заслуженный отдых. Сама идея начать всё заново, снова потратить следующие 20 лет на это путешествие кажется нелепой, не находит понимания у семьи (особенно если её члены не задействованы в разработке ПО).

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

А сейчас, друзья мои, мы приехали. Мы уже не молоды и у нас достаточно опыта, ошибок, а знаний о том, как работают компьютеры на низком уровне у нас значительно больше, чем в среднем у людей в нашей сфере. Чтобы оставаться на коне, вам нужно научиться мыслить иначе, чем вы привыкли это делать. Вас не должна пугать необходимость выбросить из головы всё, что вы знали до этого и выучить новый язык вроде Swift, Python или Go. Да, на это могут уйти годы. Вы будете делать ошибки, новые ошибки, какие вам до этого никогда не приходилось делать. Вам придётся задерживаться и разбираться, чтобы понять какой инструментарий на сегодняшний день является самым актуальным. И ещё вы будете наблюдать, как молодёжь обгоняет вас, не потому что она умнее или настойчивее, а потому, что не боится с головой окунуться в какую-нибудь новомодную технологию, которой 3 месяца назад и вовсе ещё не существовало. Но это именно та атмосфера, которая вам и нужна. Снова. Так же, как было тогда, когда вы только начинали.

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

2. Примите Хаос

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

Но с другой точки зрения, многое всё-таки изменилось. Когда я писал свои первые программы, запускались они на научном калькуляторе от HP, все программисты, которых можно было увидеть, носили белые лабораторные халаты, а операционная система Unix (новейшая на то время) состояла из 20 000 строк кода. Даже в середине 80-ых разработка ПО была довольно странной, редкой и изолированной предметной областью. Домашние компьютеры, хотя и получили уже достаточную для разработки ПО мощность, всё ещё не давали доступа к инструментам, знаниям и средствам, необходимым для эффективного обучения программированию.

Я не знаю, сколько в мире было программистов, когда я начинал этим заниматься в 80-е годы, но их точно было не так уж много. До 1988 года их количество даже не отражалось в статистике, собираемой Бюро Трудовой Статистики. К тому времени профессиональных программистов в США стало 100 000 человек, и только 7000 из них были уровня «senior».

Индустрия, к которой я присоединился, была индустрией специалистов. Обязательства и дисциплина были основными требованиями. Сегодня последнее исследование IDC насчитало в мире 18 миллионов программистов и примерно половина из них не являются профессиональными разработчиками. Ядро операционной системы Linux состоит из 9.8 миллионов строк, написанных боле чем 6000 авторов. А кроме него на Гитхабе есть ещё 10 миллионов репозиториев, в кодовой базе Google — 2 миллиарда строк кода. Сегодня пишется много кода. Ужасающе много кода.

Эти ошеломляющие цифры показывают общий уровень интереса к программированию и компьютерной грамотности. Stackoverflow рапортует о 32 миллионах активных пользователей в месяц, и только 26% из них из США. И знаете что? Только 5% из этих людей старше 55 лет. Когда-то доступ к миру разработки ПО требовал дисциплины, самоотдачи и дорогого оборудования, а сегодня 80% американцев имеют доступ ко всему необходимому прямо не выходя из дома. И этим пользуется молодое поколения, вытесняя из профессии своих родителей.

Сегодняшняя индустрия совершенно не похожа на ту, которую я помню. Сегодня разработка ПО — это что-то вроде экстремального вида спорта. Кто-угодно может начать этим заниматься, написать какой-то код, быть неосторожным, упасть со скалы и разбиться к чертям. Это не случайно, что в современном Agile используются термины вроде «спринт» и «схватка» (scrum). Вам лучше привыкать к ним, поскольку навыки кодинга становятся уже базовой грамотностью. Если каждая школа на планете учит детей программированию с 10 лет, вскоре сегодняшние 18 миллионов программистов станут каплей в море. Те из нас, кто имеет некоторый опыт, понимают, что это означает. В среднем каждое приложение, с которым вам придётся столкнуться, будет куском… будет не очень высокого качества. Как и в любом массовом спорте, большинство участников будет аматорами, лишь некоторые из них будут подавать надежды, а уж до уровня участников Олимпиады доберутся и вовсе единицы. Чтобы преуспеть сегодня, вам нужно отбросить все предубеждения о разработке ПО и принять хаос.

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

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

Чтобы оставаться в игре, вам нужно прыгнуть на поле, схватить мяч и начать играть с остальными игроками, даже если они на 30 лет моложе. Я даже больше скажу: мы, старшее поколение, несём на себе обязанность добавить наш опыт и мудрость ко всем этим современным кодовым базам и новым проектам. Это может уменьшить хаос в некоторых локальных точках и повысить шанс успеха некоторых проектов. Может быть даже наших.

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

3. То, что вы выбрасываете, более важно, чем то, что вы оставляете

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

Мастер Йода рекомендует:  Nintendo выпустила набор разработчика к своей новой приставке Switch по цене $450

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

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

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

4. Вы никогда не будете «слишком старым»

Представьте на секундочку, что вам снова 20 лет. Вы где-то на втором курсе университета, обнаруживаете, что вам не только нравится учиться писать программы, но вы уже даже кое-что можете написать. И иногда даже получается неплохо. Вокруг себя вы видите людей своего возраста, которые с восторгом смотрят в будущее. Некоторые из них даже начинают работать или создают собственные приложения, с надеждой, что из этого когда-нибудь вырастет бизнес. Когда Джону Мейеру было 19 лет, его компания TapMedia уже имела около 40-а приложений в Apple App Store.

Перематываем вперёд.

Что такого было у того 20-летнего парня, чего вы сегодня не имеете? Вот что: бесстрашие и безграничный энтузиазм. Но у вас ведь сегодня есть не менее полезные вещи: опыт, знания, все ваши ошибки и все ваши успехи — ценнейший базис!

Если 20-летний может выпуститься и иметь успешный стартап ещё до того, как ему стукнет 25, то вы это можете и подавно! Вам не надо проверять все возможные пути — часть из них вами уже пройдена и вы знаете, что там ждёт провал. У вас есть какое-никакое представление не только о программировании, но и о менеджменте, рисках, деньгах.

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

Достижения не только для молодых. Артур Рубинштейн, один из величайших в мире пианистов, радовал мир своей замечательной игрой 80 лет. Джулия Чайлд (шеф-повар, автор кулинарных книг и ведущая кулинарных телепередач) никогда не готовила до 40 лет. Роже создал свой знаменитый тезаурус только в 73 года.

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

5. Ваше здоровье — ваш новый бизнес-партнёр

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

Такого больше не будет.

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

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

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

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

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

Выводы

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

10 научных вопросов, на которые каждый должен знать ответ

Научные исследования продолжаются. Уровень образованности населения растет. Окруженные технологическими чудесами, от носимой электроники до спутников связи, мы должны быть чертовски умными и разбираться в науке, не так ли? Проблема в том, что мы (ну хорошо, не мы, но многие) страшные невежды, если дело доходит до фундаментальных научных знаний. Только 53% людей знают, что Земля обращается вокруг Солнца за год, и только 59% людей знают, что первые люди и динозавры жили в разное время, а не как во «Флинстоунах». Только 47% людей точно отвечают, что 70% поверхности Земли покрыто водой.

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

Почему небо голубое?

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

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

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

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

Каков возраст Земли?

Наверное, ни один Новый Год на нашей планете не обходится, когда кто-нибудь не скажет всерьез: «Не могу поверить, что Земле исполняется 2015 лет!». Или 2020, или 2020… Настоящий возраст Земли давно является предметом ожесточенных споров. Еще в 1654 году, ученый по имени Джон Лайтфут, расчеты которого были основаны на библейской Книге Бытия, провозгласил, что Земля была создана в 9 утра по месопотамскому времени 26 октября в 4004 году до н. э. В конце 1700-х ученый граф де Бюффон нагрел созданную им маленькую копию планеты и измерил скорость, с которой она остыла, и уже на основе этих данных оценил возраст Земли в 75 000 лет. В 19 веке физик лорд Кельвин определил возраст Земли в 20-40 миллионов лет.

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

Как работает естественный отбор?

Как и возраст Земли, теория эволюции — впервые разработанная биологом Чарльзом Дарвином в середине 1800-х годов — отдельная тема, которую люди не знают, но любят обсуждать. В наше время противники теории эволюции пытаются убрать ее из программы обучения в школах или чтобы дети изучали «науку о сотворении» в довесок к теории эволюции.

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

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

Погаснет ли Солнце когда-нибудь?

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

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

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

Как работают магниты?

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

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

Что вызывает радугу?

Есть что-то особенное в этом атмосферном явлении, которое вызывает благоговение у людей с древних времен. По Книге Бытия, Господь положил радугу на небо после Великого потопа и сказал Ною, что это «знак соглашения между Мной и землей». Древние греки пошли дальше и решили, что радуга — это богиня Ирида. Правда, фигура у нее была зловещей — она возвещала войну и возмездия. На протяжении веков великие умы, от Аристотеля до Декарта, пытались выяснить, какой процесс порождает многоцветие радуги.

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

Что такое теория относительности?

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

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

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

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

Вероятно, это звучит странно. Но это правда. GPS-спутники, которые зависят от точного измерения времени и составляют карту Земли, хороший тому пример. Спутники летают вокруг планеты на скорости порядка 14 000 километров в час, и если бы инженеры не подкорректировали часы с учетом относительности, то уже через день карты Google ошибались бы почти на 10 километров во время позиционирования.

Почему пузыри круглые?

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

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

Из чего сделаны облака?

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

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

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

Почему вода испаряется при комнатной температуре?

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

Мастер Йода рекомендует:  Как настроить бесплатный SSL-сертификат для сайта

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

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

47 вещей, которые должен уметь делать каждый

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

Чтобы быть уверенным в себе, необходимо освоить базовый набор навыков, быть мастером на все руки.

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

Этот список не является всеобъемлющим, однако, нижеперечисленные 47 вещей должен уметь делать каждый человек.

Жизненные навыки

Огонь – это тепло и свет, одни из основных потребностей человека для жизни. В какой-то момент это знание может спасти вас.

2. Работать с компьютером.

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

3. Уметь пользоваться Google.

Эта поисковая система знает всё. Если у вас возникла проблема найти что-либо с помощью Google, то значит проблема не в нём, а в вас.

4. Уметь делать искусственное дыхание и манёвр Геймлиха.

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

Манёвр Геймлиха – это способ удаления инородных тел из верхних дыхательных путей, особенно эффективен при их полной закупорке.

5. Уметь управлять автомобилем с механической коробкой передач.

Придёт время, когда отсутствие этого навыка сыграет с вами злую шутку.

6. Знать основы кулинарии.

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

7. Уметь говорить так, чтобы привлекать внимание людей.

8. Не влезайте в кулачную драку, если не уверены в своей победе, не только физической.

9. Умейте приносить плохие новости.

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

10. Умейте поменять шины на автомобиле.

11. Умейте держаться с достоинством на собеседовании.

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

Жизненно необходимые навыки

12. Умейте управлять своим временем.

Иначе вы попусту его тратите. Иногда это хорошо, но не на постоянной основе.

13. Научитесь скоростному чтению.

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

14. Запоминайте имена людей.

Вряд ли вам понравится, если после того, как вы представились, через какое-то время к вам обратятся: «Эй ты!»

15. Изменяйте жилое пространство.

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

16. Путешествуйте налегке.

Берите с собой всё только самое необходимое. Это и дешевле, и проще.

17. Ведите себя в рамках уголовного кодекса, потому что в тюрьме совсем не весело.

18. Научитесь давать правильные указания.

Никому не нравится наворачивать круги.


19. Будьте в состоянии оказать первую помощь.

Вы не должны быть врачом или гением, чтобы обработать рану.

71 процент поверхности Земли покрыт водой, поэтому уметь плавать довольно таки не плохая идея.

21. Научитесь парковаться параллельно.

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

22. Знайте свой алкогольный лимит.

В противном случае ваша жизнь закончится, как у этого человека.

Жизненно важные навыки

23. Выбирайте качественную еду.

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

24. Умейте управляться с молотком, топором и ножовкой.

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

25. Ведите свой бюджет.

Быть в долгах – это не весёлое дело. Контролировать свои расходы – ключевой момент.

26. Говорите, как минимум, на двух распространённых языках.

Примерно 300 миллионов людей в мире говорит на русском языке (это меньше 5 процентов), на английском говорит 25 процентов населения. Неплохо было бы уметь найти общий язык с англоворящими и с оставшимися 70 процентами.

27. Отжимайтесь и приседайте правильно.

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

28. Умейте делать комплименты.

Это один из самых больших подарков, которые вы можете преподнести человеку. И это бесплатно.

29. Умейте договариваться.

30. Внимательно слушайте других.

Чем больше вы слушаете и чем меньше вы говорите, тем больше вы узнаете и тем меньше упускаете.

Жизненно важные навыки и умения

31. Знайте основы географии.

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

Стоимость покраски комнаты – это 90 процентов оплата рабочей силы. Нет смысла переплачивать за то, что вы можете сделать самостоятельно.

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

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

34. Научитесь улыбаться, когда вас фотографируют или снимают на видео.

Люди, которые этого не делают, ассоциируются с унылыми существами.

35. Умейте правильно флиртовать.

Существует тонкая грань между успешным флиртом и полным провалом. Если вы слишком стараетесь, то окажетесь в проигрыше. Если вы не слишком стараетесь, то окажетесь в проигрыше.

36. Научитесь извлекать полезную и нужную информацию.

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

37. Будьте гостеприимным.

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

38. Научитесь производить хорошее первое впечатление.

Аристотель однажды сказал: «Тот уже полдела совершил, кто начал».

39. Умейте управляться с картой и компасом.

Что случится, если GPS вдруг перестанет работать, и вы окажетесь в середине непонятно чего?

40. Научитесь пришивать пуговицу на рубашке.

Это дешевле, чем купить новую.

41. Научитесь быстро печатать.

Этот навык сэкономит вам за всю жизнь в общей сложности несколько дней.

42. Всегда защищайте личную информацию.

Кража личных данных может вам дорого обойтись. Не будьте небрежным.

43. Освойте основы компьютерной безопасности.

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

44. Научитесь распознавать ложь.

Люди будут лгать вам. Это печальная истина.

45. Умейте вежливо заканчивать свидания, не давая никаких обещаний.

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

46. Научитесь удалять трудно выводимые пятна с одежды.

Это дешевле, чем покупать новую.

47. Поддерживайте дом в чистоте.

Порядок в доме – это организованность в жизни.

15 языков, которые нужно знать каждому программисту

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

Тед Ньювард, директор и ответственный за взаимодействие с разработчиками в компании Smartsheet

Мой список включает следующие языки:

  1. C++. Именно на этом языке написаны многие из ниже указанных платформ (JVM, CLR, Node и другие). Кроме того, с его помощью вам будет проще понять, как вручную выполнять оптимизацию памяти.
  2. C# или Java. Нет, вам не нужно знать сразу оба. Изучение одного из этих объектно-ориентированных языков очень похоже на изучение другого.
  3. HTML. Я не считаю его одним из языков программирования, но другие придерживаются именно этого мнения, поэтому…
  4. CSS. Крайне необходим для любых видов веб-разработки.
  5. JavaScript. Его более современный и приятный вариант, а не та дрянь, которой мы пользовались 20 лет назад. Заметьте: сам язык не сильно изменился с того времени и вплоть до нынешнего момента. Мы, а именно, программисты, которые его используют, вот кто действительно поменялся.
  6. SQL. Понадобится для работы с реляционными базами данных.
  7. Lisp. Да, Lisp. Или, если быть более точным, “одно из воплощений этого языка”. Подойдет Clojure, Lisp, Scheme, Nu или что-то наподобие того. Вы должны знать, что представляет собой гомоиконный язык, а также понимать, как при использовании правильных инструментов исчезают границы между кодом и данными.
  8. Smalltalk. Ага. В любой основе графического интерфейса, построенного на базе собственных аппаратных средств (Windows, macOS, OS/2, X/Windows, Android, iOS и прочие), используются те же самые базовые принципы, что были сформулированы и воплощены в Smalltalk еще в 60-ые годы.
  9. Ruby или Python. Вам необходимо знать хотя бы один динамический язык программирования. Сюда же подходит Javascript, но только если вы сначала изучите сам язык, безо всяких DOM-моделей, которые могут значительно исказить начальную картинку (React, Angular, VueJS – во всех них содержатся эти самые “DOM-модели”, о которых и ведется речь.) Кстати, как только вы разберетесь с Lisp, вам станет намного проще понимать JavaScript.
  10. AspectJ. Знакомство с аспектно-ориентированным программированием полностью изменит ваш взгляд на объекты, и это прекрасно.
  11. Haskell, ML, Ocaml или Miranda. Потратьте некоторое время на функциональные языки, в которых отсутствуют объекты.
  12. Bash, или zsh, или другой сценарий командной оболочки. Потому что далеко не каждая проблема или задача в программировании должна решаться с помощью полноценного приложения.
  13. F#, Scala, Clojure или любой другой объектный/функциональный гибридный язык программирования. Потому что как только вы разберетесь с азами и усвоите базовый набор, к которому относятся первые 11 языков программирования из этого списка, вы будете готовы к чему-то, что будет совсем непросто изучить.
  14. Swift и/или Kotlin. Оба относятся к разновидностям объектно-ориентированных языков и обладают некоторыми встроенными функциональными особенностями. Изучив их, вы будете готовы к работе над мобильными приложениями.
  15. x86 или ARM-ассемблер. Умение читать на языке ассемблера позволит вам отлаживать код без использования исходного кода.

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

И нет, вам не нужно знать их все, чтобы стать достаточно компетентным программистом. Если вы хотите стать просто хорошим разработчиком, вам нужно знать один из основных языков (HTML/CSS/Javascript) + язык для бэкенд-программирования (чаще всего, это C#, Java, Python, Ruby или NodeJS-Javascript) + SQL, если вы используете систему управления реляционными базами данных (RDBMS). Этого будет вполне достаточно.

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

Нишан Панта, специалист по компьютерной инженерии, разработчик на языке Python

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

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

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

3. C++. Также для выполнения несложных задач. Подходит для использования объектно-ориентированных парадигм. Кроме того, может использоваться для ряда других задач.

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

5. Scala. Используется в качестве гибрида функционального и императивного языка программирования. С его помощью можно сотворить удивительные вещи.

6. Javascript. Самый мощный язык для веб-разработки. Лично мне нравится «чистый» JS (стоит учитывать, что веб-разработка – это точно не мое).

7. Java. Для выполнения задач в объектно-ориентированном программировании. И для использования Spring framework.

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

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

10. R. Для статистического анализа. Лично я даже не пробовал с ним работать, так как мне более чем неплохо с самим Python.

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

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

13. VimL / vimscript. Раньше с помощью VimL я писал скрипты для создания пользовательских плагинов и конфигураций для vim. Это один из тех скриптовых языков, работать с которыми осмеливаются далеко не многие.

14. CSS. Использование CSS время от времени совсем не повредит вашему HTML.

15. Matlab/Octave. С его помощью я раньше выполнял сложные вычисления. Однако теперь я все это делаю на Python благодаря NumPy.

12 вещей, к которым нужно стремиться, вместо того чтобы страдать по завершившимся отношениям

Ребята, мы вкладываем душу в AdMe.ru. Cпасибо за то,
что открываете эту красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook
и ВКонтакте

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

Мы в AdMe.ru решили собрать вместе все плюсы жизни, доступные тем, кто не связан романтическими узами. Просмотрите их — может быть, вы станете по-новому относиться к своей свободе.

1. Тем, кто не в отношениях, не нужно отвоевывать себе место в кровати

Если кто и будет еще претендовать на пространство в вашей мягкой кроватке, то только питомец. Но он ведь не станет устраивать с вами битву за одеяло?

2. В выходные можно спать до обеда

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

3. Можно прочитать целую кучу книг

«50 оттенков серого», «Все о муми-троллях» или учебник физики за 7-й класс — вам некого стесняться. Уходите в книжный отрыв, можно абсолютно все.

12 вещей, которые должна знать каждая девственница

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

В любом случае, предупрежден – значит вооружен. Ознакомься с нашими советами перед тем, как «сделать это».

Не думай, что если ты начала вести половую жизнь – это плохо и стыдно

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

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

Не притворяйся, что испытываешь оргазм

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

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

Не стесняйся задавать вопросы

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

Знай, что тебе не должно быть больно

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

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

Пойдет ли кровь?

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

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

Не сравнивай свой первый раз

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

Ты не обязана говорить партнеру, что ты девственница, но лучше все-таки сказать

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

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

В любой момент ты можешь отказаться

Если ты чувствуешь, что тебе не нравится процесс или на тебя давят, то лучше сразу сказать «нет». Потеря девственности не означает, что «если уже зашел, то до конца». Если ты ощущаешь себя дискомфортно, то ты сама в праве распоряжаться – дальше заниматься сексом или нет.

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

Обязательно справь нужду после полового акта

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

С каждым разом секс будет лучше

Это верно! Запомни, что если не получилось все идеально в первый раз, в последующие разы все получится! Секс перестанет быть пыткой, и ты начнешь получать удовольствие, которое сблизит тебя с твоим МЧ.

Добавить комментарий