Программирование для начинающих и не только
Содержание:
- Разработка приложений
- Лекции и литература
- Kotlin
- Выберете направление
- А можно еще проще?
- Сайты для изучения английского языка – и не только английского!
- Нужно ли начинать с простого языка
- Шаг третий: покажите миру свои новые навыки
- На каком языке писать свой язык программирования?
- JavaScript (JS) разработчик
- По намерениям
- Javascript
- Что почитать по теории языков?
- Из чего состоит программа на C++
- PHP
- Какой язык программирования учить: учимся программировать быстро и эффективно
- Словарный запас
- Сходства и различия
- Валерия Наумович, окончила филфак БГУ:
Разработка приложений
Пожалуй, самый трудоёмкий и сложный процесс – создание приложений, особенно, если речь идет об играх для мобильных устройств. Делая выбор языка программирования для создания программ, необходимо отталкиваться от того, для какой платформы планируется запускать продукт.
Обратите внимание! Языки, предназначенные для создания программного обеспечения – самые узкоспециализированные, а также наиболее сложные с точки зрения изучения и освоения
Objective C |
Swift |
Крайне высокая популярность и востребованность |
Создан и «заточен» исключительно под платформы компании Apple |
Хорошая совместимость практически со всеми существующими платформами |
Упрощённый принцип работы с повторяющимися частями исходного кода |
Динамическая типизация модулей |
Повышенная безопасность |
Простой синтаксис |
Удобство чтения |
Возможность управления памятью |
Swift создан на базе и в качестве замены Objective С, является более продвинутым, но всё же «сырым» языком программирования. Кроме того, специалисты считают, что изучать и осваивать Swift стоит лишь при наличии хотя бы минимального представления о работе его старшего собрата.
Изучение языков программирования – процесс интересный, но требующий терпения и искреннего желания постигнуть основы программирования. Замечательно, если удалось подобрать стоящую и понятную книгу-самоучитель, но лучше попросить помощи в изучении у опытных разработчиков, коих великое множество в сообществах, посвящённых тому или иному языку программирования.
Пожалуйста, оставьте свои отзывы по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, дизлайки, подписки, отклики, лайки!
Лекции и литература
Освоив метод Франклина, ищите информацию, которая бесплатно доступна в интернете в огромном количестве, особенно на английском языке. Вкратце план действий такой:
- Выучить английский язык (хотя можно найти немало курсов и на русском языке).
- Выбрать программу обучения. Определиться, какое направление программирования наиболее интересно.
- Найти учебные материалы по этому предмету.
Образовательные ресурсы с курсами и лекциями
- MIT OpenCourseWare: обучающие курсы, видеозаписи лекций и семинаров Массачусетского технологического института.
- KhanAcademy: бесплатные лекции, в том числе по математике и информатике.
- Coursera: курсы от ведущих западных университетов.
- Статьи по программированию от Skillbox.
Учебная литература
- Список бесплатных книг по программированию (англ. яз.).
- Сборник учебной литературы для программиста.
- Бесплатные книги по программированию на русском и английском.
- Подборка бесплатных книг.
Самоучители для начинающих
- Занимательное программирование. Самоучитель. М. Мозговой.
- C# для школьников. Учебное пособие. М. Драйер.
- Программирование на Java для детей, родителей, дедушек и бабушек. Я. Файн.
Kotlin
Хотя Kotlin используется меньше, чем Java и Python, он быстро завоевал популярность — особенно после того, как Google назвал его первоклассным языком разработки для Android.
Google настолько стремится сделать Kotlin популярным языком, что теперь предлагает онлайн-курс Android Basics in Kotlin, который является отличной отправной точкой для начинающих. Есть также дополнительные курсы от Google: Kotlin Bootcamp for Programmers, Android Kotlin Fundamentals, Advanced Android in Kotlin.
Большинство разработчиков Kotlin используют этот язык для создания мобильных приложений, но он все чаще используется для десктопных приложений, бэкенда и интернета вещей (IoT). Даже если вы не заинтересованы в создании приложений для Android, этот язык стоит изучить.
Выберете направление
«программистом может стать каждый, надо лишь приложить достаточно усилий»
Но стоит новичку попытаться выбрать что-то конкретное, очень быстро приходит понимание, что даже в этом случае требуется много дополнительных сопутствующих знаний и навыков, и желание изучать кодинг сразу отпадет. Так, для Data Science нужно знать высшую математику и статистику. Для разработки видеоигр пригодятся прикладная физика, знание графических техник и навыки геймдизайна.
Особо популярна сегодня разработка мобильных приложений — на HeadHunter можно найти больше 4000 вакансий «разработчик под Android», но средняя зарплата примерно на 33 % ниже, чем у специалиста в области Data Science — 80 000 рублей против 120 000.
А можно еще проще?
- фронтенд — всё, что браузер выводит на экран: контент, дизайн элементов, набор цветов и анимаций, реакции на действия пользователя. Нередко это направление выбирают те, кому нравится дизайн;
- бэкенд — всё, что работает на стороне сервера: функции сайта, обработка запросов пользователей и работа с базами данных. Направление, как правило, выбирают те, кому дизайн и графика не близки.
Другое явное преимущество веб-разработки — оно востребовано всегда. Скажем, захотел сайт-каталог расшириться и добавить онлайн-торговлю — вот и вакансия для бэкенд-разработчика на фриланс-бирже. Или надумала фирма обновить свой дизайн — начинаются поиски фронтенд-разработчика. Регулярно нужно делать и новые сайты, что будет по силам со знаниями фулстек-разработчика.
Кто-то может возразить, мол, веб-технологии динамично развиваются, ежегодно появляются «технологии завтрашнего дня», быстро замещающие актуальные. И не получится ли так, что учишься год-два, а когда выходишь на рынок, это направление устарело и надо учиться заново?
Сайты для изучения английского языка – и не только английского!
- – отличный инструмент для изучения языка. Абсолютно разные голоса для аудирования, множество материалов с разными субтитрами, самые интересные темы и необычная подача. Выбирайте интересную тему, и такая учеба никогда не надоест.
- Метод чтения Ильи Франка – каждый абзац приведен дважды на разных языках, чтобы было быстро, понятно и хорошо запоминалось. А еще и бесплатно. Очень рекомендуем читать вслух.
- RosettaStone – целая социальная сеть для изучения разных языков. Больше подойдет тем, у кого уже есть какие-либо знания. Языки, становитесь в очередь!
- MyLanguageExchnge – сервис для поиска друга по переписке. Можно совместить с буккроссингом, кстати.
- NewsInLevels – новостная лента для изучения языка. Вы читаете новости и учите язык, гениально! Каждая новость написана для трех уровней владения языком. Так от простого к сложному можно прийти очень быстро.
Есть и другие бесплатные сайты для изучения языков – ищите и выбирайте площадку по душе!
Учитывайте свои личностные особенности и выбирайте ресурсы и форматы обучения, которые подходят именно вам. Кому-то удобно заниматься по учебнику всем известного Голицынского, а кто-то учит языки с помощью блогов в инстаграме. Кстати, сейчас это очень популярно. Чтобы найти подходящего блогера, введите название языка в поиске по людям.
Здесь, как на войне, все средства хороши. А чтобы результат вас порадовал, учеба непременно должна быть в удовольствие. Как говорит Nike, «Just Do It!»
Читайте нас в Telegram и
первыми узнавайте о новых статьях!
Нужно ли начинать с простого языка
Если вы, как и я, выбрали геймдев, то перед вами встаёт дилемма: какой из языков выбрать. Оба достаточно крутые, на них написано большое количество известных игр. Допустим, вам всё же больше понравился C++.
Но тут возникает проблема: среди популярных сегодня языков C++ — один из самых сложных. Что делать?
Есть мнение, что если ваш первый язык будет слишком простым, то вы не сможете стать хорошим программистом.
Всё из-за того, что простые языки не требуют от вас знаний, как устроен компьютер, как данные хранятся в памяти, как процессор выполняет операцию деления и так далее.
Тот же Джоэл Спольски писал, что начинать погружение в программирование нужно с C (ещё сложнее, чем C++), потому что так вы освоите главные принципы и сможете писать более эффективные программы. Даже если они будут не на C.
С другой стороны, очень просто потерять мотивацию, когда изучаешь язык и подолгу останавливаешься на каждом термине. Несколько дней на изучение переменных, потом ещё недельку на массивы, месяц — на функции и так далее. За это же время другие успеют выучить Python на достаточном уровне, чтобы создавать простые блоги.
Шаг третий: покажите миру свои новые навыки
Выложите свой код
Если вы новичок в мире разработки, полном единорогов, радуг и смертельных ям со смолой, вам нужно немного познакомиться с git. По сути, это система, которая позволяет вам обновлять и размещать весь ваш код на внешнем сервере.
Установите git на свой компьютер и зарегистрируйтесь на Github. Теперь осталось только выложить свой проект!
Когда все будет готово, вы можете показать свой код всему миру. Это особенно полезно, если вы хотите найти свою первую работу на должность разработчика. Вы сможете показать свой классных сайд-проект всем, кто захочет оценить ваши навыки — например, потенциальному работодателю. Это гораздо лучше, чем портфолио, в которое вы налили кучу воды.
Вот почему сторонний проект — такая важная штука. Во-первых, он поможет изучить вам новый язык программирования, а во-вторых, повысит ваш авторитет в глазах как других разработчиков, так и потенциального работодателя. Чем больше проектов у вас на Github, тем меньше шансов, что на собеседовании вам придется решать скучные задачи по программированию.
Фидбек от коллег
Все это очень хорошо, но нужно помнить об одном важном моменте: работая над второстепенным проектом в одиночку, вы можете научиться «неправильно» и привить себе вредные привычки. Даже если вы читаете серьезную и нахваленную книгу, вы все равно можете неправильно понять некоторые идеи
Или вообще попасть в ловушку под названием иллюзия компетентности, когда вы думаете, что что-то знаете, но на самом деле не можете объяснить принцип работы и даже использовать это что-то. На мой взгляд, все это не очень полезно и продуктивно
Даже если вы читаете серьезную и нахваленную книгу, вы все равно можете неправильно понять некоторые идеи. Или вообще попасть в ловушку под названием иллюзия компетентности, когда вы думаете, что что-то знаете, но на самом деле не можете объяснить принцип работы и даже использовать это что-то. На мой взгляд, все это не очень полезно и продуктивно.
Переписывание кода из книги и работа над сайд-проектом не позволит вам забивать голову всякой ерундой. Но риск все равно есть.
Поэтому я бы посоветовал вам показать свой код как можно большему количеству людей. Зайдите на Reddit, на форумы, в группы ВКонтакте и попросите оставить отзыв. Отрицательные отзывы — ваши лучшие друзья: с ними всегда трудно справляться, но они многому вас научат, а это-то нам и нужно.
Если среди ваших знакомых есть опытные разработчики, спросите и их мнение. Лучшим из лучших будет наставник, которого вы хорошо знаете и который поэтому сможет дать индивидуальный совет.
Обратная связь — это здорово, когда она конструктивна
Не обращайте внимание на критику без аргументов и объяснений. Вам нужна конструктивная обратная связь
Это значит, что вы узнаете, что вы сделали не так и как это исправить. Не классно ли?
На каком языке писать свой язык программирования?
Где читать: обсуждение на Quora.
Зачем читать: чтобы получше разобраться в особенностях создания языков программирования.
Недавно на Quora появился вопрос — какой язык выбрать для того, чтобы создать свой язык программирования. Вот что ответили автору вопроса:
- Вопрос некорректен: сами языки программирования не пишут на других языках. Они пишутся на так называемых метаязыках, которые описывают правила и синтаксис. Пример метаязыка — БНФ (Формула Бэкуса — Наура).
- Зато на других языках пишут компиляторы. Для этого можно использовать любой язык общего назначения, однако чаще всего рекомендуют C, на котором написаны компиляторы Java, Python, PHP, JavaScript.
JavaScript (JS) разработчик
Что такое JavaScript: Язык программирования, на создание которого ушло всего 10 дней. До того, как получить имя JavaScript, язык назывался Mocha, после Mona и затем LiveScript. Приставка Java может натолкнуть на мысль о том, что JS имеет общие корни с Java, но схожесть названий – по большей части маркетинговый ход.
Чем занимается JavaScript-разработчик: JavaScript – лучшее решение для интерактивных сайтов, динамических веб-страниц, расширений для браузеров. Его также могут применять и для мобильной, десктопной и серверной разработки.
Что нужно знать, чтобы стать Junior JavaScript Developer:
- Основы HTML /CSS (HTML теги, базовый синтаксис CSS, приоритеты стилей)
- Ключевые особенности JavaScript, такие как система типов, DOM, контекст выполнения, замыкания, прототипы, event Loop, async/defer атрибуты, классы, promises и т.п.
- Английский, начиная от Pre-Intermediate.
- Приветствуются знания основ ООП, основных сущностей и связей в БД, SQL и No-SQL базы данных (PostgreSQL, MongoDB)
- Потенциальными работодателями по достоинству будет оценён опыт работы с Node.js и знание основы работы с системами контроля версий
По намерениям
Какая сфера привлекает вас больше других?
1. «Хочу делать сайты и веб-приложения»
Java, JavaScript, HTML 5, Ruby, Python, SQL, PHP
2. «Хочу написать приложение для айфона»
Swift (потребуется макбук или iPad с клавиатурой, чтобы писать код). Коммерческому iOS-разработчику нужно знать Objective-С и Swift.
3. «Хочу писать приложения под Android»
Java и Kotlin
4. «Хочу сделать карьеру в IT»
Разница между «работать» и «сделать карьеру» в IT есть, как и на других рынках. Хорошо начать с С/C++, так часто пишут, потому что между ними есть несколько отличий, а в целом они похожи. В описании вакансий часто пишут именно С/C++. Работы много и на российском, и на калифорнийском рынках. Хорошие перспективы для развития и вертикального роста.
5. «Хочу работать с темой AI»
Python, C/C++
6. «Хочу работать с данными»
Python, Java, R, Scala
7. «Хочу работать в геймдев»
Базис – С# и среда Unity
8. «Хочу понять, как все это работает»
С/C++
9. «Хочу работать в робототехнике»
С/C++
10. «Хочу быстро сделать свой стартап»
Ruby, Java, Swift, JavaScript
11. «Хочу работать в IoT, интернете вещей»
С/C++, Python, Java, Go, JavaScript
12. «Хочу работать в известной компании»
Вот данные авторитетного ресурса Stackshare.io по использованию популярных языков программирования в известных компаниях:
Java (Airbnb, Instagram, Uber Technologies, Spotify, Netflix, Pinterest, Slack, Google, LinkedIn, Lyft)
Python (Instagram, Uber Technologies, Spotify, Netflix, Facebook, Dropbox, Pinteres, Reddit, Google)
С (Twich, Telegram Messenger)
JavaScipt (Airbnb, Instagram, Slack, Reddit, eBay, Asana, Coursera, Product Hunt, MIT)
C++ (Google, Twich, IBM, Lyft)
C# (Microsoft, Stack Overflow)
Objective-С (Apple, Instagram, Uber Technologies, Pinterest, Slack, Snapchat)
Swift (Lyft, Asana, Apple)
Go (Google, Uber, Medium, Lyft, Shopify, Twich, Codeacademy)
Ruby (Airbnb, Shopify, StackShare, Twich, Starbucks, Hulu, Kickstarter, Product Hunt, Hotel Tonight, MIT, Coinbase, Codeacademy)
13. «Хочу перейти на IT-рынок»
Если входить через специальность QA-инженера, то можно начать, например, с JavaScript, Java, Ruby или Python. Названия Java и JavaScript похожи, но свойства языков различаются, оба языка – топовые и характеризуются как доступные для новичков.
Javascript
Вот уже несколько лет подряд Javascript занимает лидирующую позицию в рейтингах самых используемых языков программирования. И не зря. Эта технология прекрасно подходит для разработки десктопных, веб- и мобильных приложений. Да-да, хоть большинство мобильных приложений заточены под Android, где господствует Java, но JS, благодаря своим гибким библиотекам, может с ней посоревноваться.
Javascript — универсальный язык программирования, который используется во front-end и back-end разработке.
Front-end — клиентская сторона вопроса. Проще говоря, фронтенд — это разработка интерфейса, мобильная, отзывчивая и адаптивная верстка, работа с графикой и мультимедиа в браузере.
Чтобы работать с Javascript на фронтенде, нужно качественно изучить библиотеки React.js. и Angular.js. Без этих гибких инструментов во frontend делать нечего.
Back-end — все, что работает на сервере, то есть «не в браузере» или «на компьютере, подсоединенном к сети (обычно к Интернету), который отвечает на сообщения от других компьютеров».
В бэкенде кровь из носа нужен Node.js.
Еще один безусловный плюс JS — его мультипарадигменность. Это значит, что его не нужно компилировать под платформу, на которой ведется разработка. Не нужно подгонять костюмчик, он и так хорошо сидит.
Обобщая информацию о Javascript, делаем вывод, что этот язык программирования заслуживает того, чтобы быть первым. Даже если вы еще не определились, что хотите разрабатывать (десктопные, веб- или мобильные приложения), смело приступайте к изучению. Понимание, куда двигаться дальше, придет немного позже.
Кстати! Для наших читателей сейчас действует скидка 10% на любой вид работы
Что почитать по теории языков?
Где читать: обсуждение на Reddit.
Зачем читать: чтобы найти книги по теории программирования для начинающих.
В другом обсуждении на Reddit участники сообщества собрали классные рекомендации книг, в которых не слишком сложным языком описаны основы теории языков программирования.
- «Типы в языках программирования» Бенджамина Пирса: хорошее введение в теорию, которое советуют многие. В отличие от остальных книг, она переведена на русский язык. Правда, Пирс написал её в 2002 году, поэтому она не освещает ряд актуальных тем.
- Practical Foundations for Programming Languages («Практические основы языков программирования») Роберта Харпера. Эту книгу советуют читать уже после Пирса: в ней разобраны более подробные детали и для новичка она может быть сложновата.
- Concepts in Programming Languages («Концепты в языках программирования») Джона Митчелла — книга рассказывает о традиционных парадигмах программирования и больше сосредоточена на практике, а не на теории.
- Programming Languages: Application and Interpretation — книга бесплатна и доступна онлайн.
Из чего состоит программа на C++
Начнём с самой первой строчки:
С помощью языка программирования можно:
- писать условия;
- работать с памятью;
- создавать подпрограммы;
- работать с классами, структурами и объектами;
- выполнять базовые математические операции и так далее.
Но чтобы получить больше возможностей, программе нужно как-то взаимодействовать с операционной системой. Писать код, который будет отправлять команды ОС, достаточно сложно, но нам и не придётся — всё уже написано другими разработчиками и помещено в специальную библиотеку.
Одна из таких библиотек, iostream, позволяет запрашивать пользовательский ввод или выводить что-то в консоли.
Есть и другие библиотеки, которые помогают работать с графикой, отправлять запросы через интернет, воспроизводить звук и так далее. В будущем вы научитесь самостоятельно писать свои собственные библиотеки.
Вернёмся к коду:
main () — это подпрограмма (функция), с которой начинается выполнение любой программы на C++. Её также называют точкой входа.
Подробнее подпрограммы мы разберём в следующих статьях. Сейчас нужно знать только то, что все команды записывают в тело функции.
Настало время понять, как работают команды:
Команда cout говорит компьютеру о том, что нужно вывести определённый текст в консоли. В нашем случае — Hello, World!. Любой текст должен быть в кавычках, иначе компилятор воспримет его как идентификатор, то есть имя команды, функции, переменной и так далее. Поэкспериментируйте с текстом, запустите программу и посмотрите, что изменится.
После каждой команды должна стоять точка с запятой — она говорит компилятору, что это конец инструкции и нужно переходить к следующей.
PHP
PHP — чемпион по популярности в веб-разработке. Его широко используют в создании серверных приложений, скриптов и утилит. Вы найдёте его в сайтах многих известных компаний, например Avito, Badoo, «ВКонтакте», Wikipedia, Facebook.
Иногда приходится слышать, что PHP умирает или что это ужасный язык. Это мнение устарело. Такая оценка появилась, когда он только набирал популярность. Тогда у PHP действительно было много недостатков и ничего серьёзного на нём не писали. Некоторые специалисты его таким и запомнили, но PHP уже лет десять как настоящий взрослый язык. Более того, огромное количество конструкторов и редакторов сайтов написаны именно на нём.
Плюсы PHP
- Легко освоить, поэтому его часто выбирают как первый язык.
- Для него существует огромное количество готовых решений.
- Широко распространён, будет легко найти работу.
- В последних версиях улучшился синтаксис и добавились новые возможности.
Минусы и особенности PHP
- Слабая типизация, как и у JavaScript.
- Хотя стандартная библиотека богатая, но организована неудобно и нелогично, в ней легко запутаться.
- Практически не используется в других областях, кроме веб-разработки.
Зарплаты и востребованность
Как вы видите на скриншоте ниже, предложений работы для PHP-разработчиков очень много — больше, чем для других языков, — но средняя зарплата ниже, чем у JavaScript-разработчиков, — 88 тысяч рублей.
Если вы новичок, можете рассчитывать на зарплату от 30 до 66 тысяч рублей; если у вас уже есть опыт, то от 66 до 94 тысяч; профессионалы получают 100 тысяч и больше.
Опять же, PHP используется во многих известных компаниях, так что есть возможность найти работу в очень хорошем месте.
Какой язык программирования учить: учимся программировать быстро и эффективно
программирование, tech.wp.pl
Ответа на данный вопрос так и нет. Изучение программирования — долгий и творческий путь. В идеале программист должен знать все популярные язык программирования, но на практике хватает и одного — двух. Программы для программирования — доступны в свободном доступе, что открывает перед специалистами неограниченные перспективы. Javascript c нуля или php с нуля гарантирует вам успех и дальнейшую занятость, поскольку сегодня считается наиболее популярным и доступным в данной сфере.
Как научиться программированию и на чем сделать акцент, вам помогут и ваши менторы или преподаватели в вузе, мнение которых и может решить вашу дилемму при выборе деятельности. Кодинг — перспективное занятие, которое обеспечит вас работой на несколько десятилетий вперед
Словарный запас
Усвоить лексику иностранного языка непросто. Слова могут принципиально отличаться по звучанию от аналогов в вашем родном языке, и зачастую их приходится просто зазубривать. При этом для общения активный словарь должен включать порядка 400 слов — и этого хватит только для разговора на повседневные темы.
С языками программирования попроще. Выучить надо наименования ключевых слов, операторов и идентификаторов. Даже в самом богатом языке программирования их используется ограниченное количество.
Кроме того, большинство ключевых слов (if, void, while, for или print) взяты из английского языка. И если он вам знаком, будет просто запомнить их и увязать с новыми значениями.
Сходства и различия
На первый взгляд, между компьютерными и человеческими языками нет ничего общего. Изучение иностранных языков — гуманитарная область, а программирование — техническая специальность. Да и служат эти языки разным целям.
Самое существенное отличие между человеческими и компьютерными языками заключается в более высокой степени абстракции языков программирования. Они имеют дело не с объектами физического мира, а с отвлеченными понятиями, каждое из которых нужно сначала понять. Даже такой простой термин, как переменная, надо объяснять. А есть и более сложные — например, инкапсуляция и полиморфизм.
Иностранный язык всегда немного напоминает родной. Все люди живут в одном материальном мире. Часть слов мы можем усвоить сразу: table — стол, а cat — кошка. Некоторые более абстрактные вещи тоже понятны — как hello или good morning.
Встречаются и более сложные конструкции, смысл которых не очевиден — вряд ли новичок сумеет с ходу разобраться, почему how do you do означает «как дела?», а take care — «береги себя». В этих выражениях перевод отдельных слов мало что дает для понимания смысла. Подобные словосочетания лучше запоминать целиком, не вникая в их внутреннюю логику.
В языках программирования тоже есть элементы, которые понятны сразу — как операторы сложения (+) или умножения (*). Но существуют и конструкции, которые на первых порах приходится заучивать. Например, тег, открывающий код на JavaScript:
<script type=»text/javascript»>
Новичок может не понимать, как работает конструкция, почему необходима именно такая структура. Правильная стратегия — просто принять их как факт и включать в код механически. Сначала придется копировать шаблоны и структуры из учебных пособий, чтобы позже понять, как работает каждый элемент языка. Нарабатывая опыт и глубже изучая механизмы языка, мы начинаем деконструировать сложные структуры, чтобы включать их в свой код более осознанно и творчески.
Если приглядеться, можно найти еще больше сходств между человеческими и компьютерными языками. И те и другие имеют структуру и принципы, по которым работают, — иначе говоря, семантические и синтаксические правила. А еще у каждого языка есть словарный состав.
Валерия Наумович, окончила филфак БГУ:
– Сейчас я разговариваю на русском, белорусском, английском, итальянском и польском. Итальянский начинала учить в университете, доучивала сама. Польский выучила за этот год. Кроме этого учила чешский.
Чтобы начать учить язык, нужно:
- купить книгу (самоучитель или любую другую, лучше воспользоваться советом тех, кто уже учился по ним, т.к. книг много, а реально толковых для самостоятельного изучения мало)
- либо начать смотреть уроки на YouTube, например, «Полиглот», или искать другой канал по душе.
Попробуйте разные способы изучения иностранных языков: где будет понятнее даваться материал, то и подойдет
Обязательно нужно вести тетрадь и записывать всё важное. Но это поможет достичь только начального уровня
Никогда не видела, чтобы по видео выучили больше, чем на уровень А1.
Можно поискать по группам ВКонтакте, там, как правило, сразу и материалы, и отзывы, а еще найти полезные видео с субтитрами, простые сериалы или фильмы.
Для просмотра фильмов хорош сайт Puzzle English и English-films English-films.
Для практики я бы посоветовала выучить базовые выражения, записать все возможные ситуации и диалоги в блокнотик, выучить наизусть и ехать с ним путешествовать. При этом не забывать про онлайн-переводчик в телефоне, переводить всё, что непонятно, а потом переписывать себе в блокнот. Вечерами перечитывать свои заметки.
В новой стране стоит пойти в бар, выпить немного вина и найти собеседника. Сначала будет сложно решиться, но это самый проверенный и действенный способ быстро заговорить.
Лучшей онлайн-площадкой для поиска собеседников считаю Tinder. Там находятся люди, изначально заинтересованные в общении и готовые терпеливо читать ваши сообщения с ошибками, помогать правильно выражать свои мысли на чужом языке. Ещё один опыт, который, безусловно, помог мне преодолеть языковой барьер – это программа обмена Erasmus. В коллективе, где собраны люди из всех уголков мира, можно не только попрактиковаться в языке, но и научиться неплохо разбираться в акцентах.
Как вариант, можно поехать на курсы в страну, где разговаривают на изучаемом языке. Более бюджетный вариант – волонтёрство. Существует множество сайтов, которые предлагают поехать в разные страны, чаще на сезонные работы или для оказания социальной помощи. Взамен вам предоставляется жильё, пропитание, незабываемый опыт общения на языке и полное погружение в культуру местных жителей. При выборе волонтёрского фонда или организации помните о страховке и безопасном выезде за границу, лучше лишний раз всё перепроверить. Волонтёром я ездила в Италию со своим слабеньким итальянским, и через три месяца моря, солнца и античной римской культуры уехала с уверенным B2 (правда, помимо простого пребывания в Риме я умудрилась прочитать две книги на итальянском и посмотрела все сезоны итальянского сериала Tutto può succedere – «Всё может случиться»)
На мой взгляд, самое важное – погрузиться в язык с головой, окружить себя им со всех сторон, полюбить его всей душой, заинтересоваться культурой, и тогда, безусловно, он ответит вам взаимностью и поселится у вас в голове!