С чего начать изучение программирования?
Привет всем! Совсем недавно я наткнулась на видео одной девушки, которая стала вполне успешным программистом. Она рассказывала как ей нравится писать код, и что до этого момента, еще год или два года назад, она даже не задумывалась о таком виде деятельности.
Мне 22 года, я все еще не нашла своего любимого дела, но стараюсь всегда пробовать что-то новое, в надежде, что найду свой путь. Никаких представлений о том, что такое программирование и с чем его едят у меня нет, я не любительница компьютеров, у меня нет никакой зависимости от каких-либо гаджетов. Тем не менее, что если данная тема была бы мне интересна?
И вот я пишу этот долгий текст, на сайте, который до сегодняшнего дня мне так же был не знаком. Как вообще познакомится с темой создания сайтов, приложений, программ и тому подобного? Есть ли какие-то статьи или онлайн книги (желательно в свободном доступе) для таких нубов как я?
У меня нет цели зарабатывать бешеные деньги, но мне всегда хочется узнавать что-то новое, а тема со всеми этими кодами, насколько мне известно, постоянно развивается, и ты учишься на протяжении всей жизни. Так с чего начать? Что стоит почитать, чтобы хоть как-то понимать всю кухню программирования, что с его помощью создают и как, где этому обучают?
Комментарий недоступен
первый абзац — самый дельный совет
Не нужно быть любителем компов, чтобы программировать. Или вы из тех к говорит: "Почини мне комп, ты ж программист"
Учи python, а про php забудь сразу.
Лучше всего взять какой-нибудь курс на udemy для начала
Если вам интересен веб, то, возможно, стоит начинать не с программирования, а попытаться сделать что-то элементарное и банальное на HTML. Потом чуть улучшить сделанное с помощью CSS. Затем добавить чуть функционала через JS.
Для старта вам понадобятся только какой-нибудь блокнот с подсветкой кода и любой браузер.
— https://www.google.com/search?q=учебник+html
— https://www.google.com/search?q=учебник+css
— https://www.google.com/search?q=учебник+javascript
— Блокнот: https://www.sublimetext.com/
Комментарий недоступен
JS - плохой язык, особенно для новичка. он во многих местах неоднозначен и нелогичен.
Комментарий недоступен
Комментарий удален модератором
Самоутвердился? Почувствовал собственную значимость? Тут человек с НУЛЕВЫМИ знаниями о программировании обратился за помощью, и твой высер с десятком непонятных терминов может только еще больше запутать и оттолкнуть от программирования.
Комментарий недоступен
По какому принципу составлен этот список? Первое в гугле по запросу "фронтенд"?
Вижу, что ты ещё в самом начале пути...
Я сооснователь сообщества MoscowPython и «топлю за Питон», но скажу, что к его изучению надо подходить осторожно. Проходит хайп в духе «Питон для всего» и Питон всё больше становится языком анализа данных. Для применения его в этой сфере желательно иметь математический бэкграунд.
Если к этому «душа лежит», то велкам на http://learn.python.ru
И да, Питон до сих пор широко применяется в разных сферах, в том числе в вебе (и трек по вебу есть на наших курсах), однако в этой части у него много «молодых и бодрых конкурентов» типа Go.
Комментарий недоступен
Комментарий недоступен
Комментарий удален модератором
Начинать надо с написания своего проекта, который реально интересно и хочется делать. Когда есть идея проекта, надо открывать гугл и вводить туда слова "как сделать %thing_name% на %technology_name% и делать как там написано, до тех пор пока не начнешь въезжать. Полгода такой деятельности - и вы готовый джун, которого с руками работодатели оторвут.
Ну и небольшой список очевидных фактов:
- Те, кто предлагает читать учебники и смотреть обучающие видосы, дрочить теорию и решать задачки на сайтах типа codeacademy вместо НОРМАЛЬНОЙ практики - идиоты, которые сами учиться не умеют и другим херню советуют
- Фрондетндщики - не программисты, и никогда ими не станут. Востребованность на рынке не избавит вас от принадлежности к самой низшей касте
- Заниматься программированием, если это тебе не интересно - непродуктивное издевательство над собой
- Проституция - не самый плохой выход для девушки, которая больше ничего не умеет
Илита с бэкенда подъехала.
Комментарий недоступен
Ого, школьники-edgelord-ы на месте.
Начал читать, не понял сначала откуда столько минусов. Потом дочитал до конца, и поставил минус.
Вот только на первом баге без бэкапа, желание что-то делать пропадет.
Обиженный бэкенд подъехал
Комментарий недоступен
Только это была совсем другая профессия.
К сожалению женщинам инженерные специальности либо тупо неинтересны, либо значительно сложнее даются. За всю карьеру видел всего десяток девушек-программисток, из которых только две умели нормально программировать. Но и они звезд не хватали, и имели весьма средний уровень.
Комментарий недоступен
Swift может и отличный язык, но с Vendor lock
Комментарий недоступен
Комментарий удален модератором
тоже считаю, что это самая дружелюбная платформа для начала изучения программирования.
Есть гарвардский курс CS50, переведенные лекции гуляют по интернету. Можешь начать с него, там чисто основы.
Совет один - БЕГN.
С цели. С ответа на вопрос - "зачем оно мне надо". Далее вы выбираете себе несложный проектик и пытаетесь его освоить на выбранном языке.
Без цели же любое обучение будет спотыкаться о психологические проблемы. Тут даже не "смотрю в книгу, вижу понятно что", тут круче:
Книга: - "процедура clrscr применяется для..."
Обучающийся: - А СМЫСЛ?!
В детстве наверное все мы ("поколение девяностых" плюс минус) изучали на информатике Бейсик, Паскаль и так далее. Пока я учил тот же Паскаль в школе "для галочки", он давался мне с трудом. Как только я поставил себе цель на первом курсе - написать несложную текстовую игру, изучение пошло влёт. Доступного интернета тогда не было, так что единственная книжка зачиталась до дыр, справочная документация к самому паскалю - тоже. Delphi, MySQL, С++ изучались по тому же принципу. Ради чего-то.
Самое смешное, что та же самая эпопея была у меня и с естественными языками. Пока в меня пытались вбить тот же английский "шоб було", для галочки - бесполезно. Как только мне попалась книжка на английском, которую я счёл интересной - внезапно выяснилось, что языкового кретинизма у меня нет. Прямо откуда что взялось.
Резюмируя: подумайте над проектами, которыми вы бы хотелись заниматься. Это и определит ваш язык программирования. Сами понимаете, "хакинг" ROM-образов под Денди, написание конфигураций 1С и разработка видеоигр предполагает разные компетенции.
Более того, язык особо и не выбирают. Выбирают сферу деятельности. Потому что в каждой из них есть "отраслевой стандарт" - тот язык, который знать крайне желательно, в крайнем случае - два-три таких вот распространённых. И выбор по сути идёт между ними. Например, веб-разработчик, который не знает php, автоматически закрывает для себя львиную долю готовых решений. Человеку, не знающему c++ будет крайне трудно в системном программировании, как и в базах данных без знания какого-то диалекта sql.
Я бы разделил именно программирование и веб-разработку, на мой взгляд именно чистое программирование сильно отличается от просто разработки
Еще, нужно понимать разницу между Programmer и Developer (программист и разработчик). Один пишет код (воплощает алгоритмы), а второй пишет реализацию функционала (решает задачу пользователя).
С чего начать изучение программирования?
Структуры данных (массивы, списки, деревья).
Способы обхода и изменения структур данных.
... (прошло год || два)...
вы джун.
Вы джун.
Устраиваетесь на работу.
Никаких алгоритмов и деревьев тут нет.
Комментарий недоступен
Программисты 1С программируют на русском.
Комментарий недоступен
А теперь фотку автора в тему можно? Я только,. так определю какой язык нужен
А, наш традиционный казарменно-программистский юмор) Ну да, пусть автор знает к чему готовиться, живя в России)
по моему опыту самое простое, что нынче есть в веб программировании, это метеор (meteor.com)
Mongo, доступный на клиенте, node, jquery, никаких проблем с коллбэками, выбор между vue, blaze, react, angular.
Ну и, конечно, найти позицию интерна в стартапе
Метеор искать тут meteor.com
* по деньгам в хорошей конторе $100-180к в год в штатах на позиции сеньор девелопера и до миллиона на позициях архитекта-CTO
"найти позицию интерна в стартапе"
Наиболее востребованы веб-программисты. Наиболее востребованные языки в веб: PHP и JavaScript.
PHP: php.net, getjump.github.io/ru-php-the-right-way/
JavaScript: learn.javascript.ru/
HTML, CSS: htmlbook.ru/
Базы данных: MySQL, Redis.
Всё бесплатно и без заморочек. Самое главное: обучение должно идти от простого к сложному. Как бы Вас не уговаривали, что проще знать ту или иную библиотеку или фреймворк, сначала нужно изучить основы языков. Кстати, эффективно изучать веб-программирование лучше всего создавая какой-нибудь простейший блог с регистрацией и комментариями.
Ах, да, совсем забыл сказать про один важнейший совет для новичков. Не обращайте внимание на снобов-программистов, которые любят подтрунивать над новичками тем самым отбивая желание у последних учиться. Все сначала делают ошибки, не всё сразу легко даётся - нужно упорно изучать дальше и всё получится. Удачи и терпения!
Ясно же, что статья создана для того, чтобы в комментах кинуть ссылку на онлайн-школу программирования, а может и не одну. Не понимаю, чё тут столько комментов нафигачили...
Всё. Будучи программистом вы можете изменить на этой планете очень многое, вплоть до вывода цивилизации на новую ступень развития.
Круче программистов только учёные, но даже у них нет таких широких возможностей изменить мир на текущем отрезке времени. Им для этого нужно выпрашивать дорогое оборудование. Программисту достаточно компьютера за 35 USD.
Комментарий удален модератором
"Миром правят компьютеры. Я правлю компьютерами" (с)
1. Выясняете что хотите делать. (веб сервисы, игры (где они будут запускаться?), чат-боты, нейросети, и тд.)
2. Открываете гугл и выясняете на каком языке это делается
3. Открываете https://stepik.org/ и ищите базовый курс по этому языку и проходите его за неделю-две.
4. Если не бросили, то после прохождения начните писать хоть какую-то маленькую программу.
5. Учитесь 12 часов в сутки новым библиотекам, фишкам и т.д. делая свой стартап уже (если эта программа оказалась полезной людям), или пытаясь устроиться на работу, где первично будет получение опыта.
Советую прочесть https://learntocodewith.me/posts/code-for-free/
Большинство предыдущих комментариев дичайшая чушь. Лучше вообще пообщайтесь с программистом со стажем. Мб даже и здесь такого найдете.
Начинать надо с базы - понимания логических операций, что такое вообще программа, представление чисел и команд в памяти машины, как всё это работает под капотом. А то встречаются "программисты", которые не знают сколько бит в байте, как делать сдвиги и зачем они нужны, как применять маски к числам...
Критические знания, ага. Программисты только тем и занимаются, что биты в байты переводят
Комментарий недоступен
С математики
Насколько хорошо у вас было в школе с математикой? А с алгоритмами? Если душа к этому никогда не лежала - не стоит и начинать. Html к программированию никакого отношения не имеет.
Математика, если ты в остальном не дурак, не нужна.
Да какая там математика, на что вы хотите человека подписать.
Попробуйте начать отсюда https://tutorial.djangogirls.org/ru/ очень доступно объяснено.
Советую попробовать попасть на отборочный бассейн(4 недели) в эту школу.
Я как раз сейчас закончил первую неделю и это что-то нереальное)
настоятельно рекомендую избегать данный ужас Школы 21(я был в киевском ее отделении и всем рекомендую ее избегать)
Начните с английского. Параллельно познакомьтесь с парнем/девушкой программистом. Сьедтесь, выходить замуж по вкусу... Через год сможете идти джуном.
Так они к 30 только женятся.
Ответ простой: ни с чего. В инете ТОННЫ курсов для начинающих программеров - берите и пробуйте, что зайдет (если вообще зайдет). Если вы не можете сами начать - вам советы не помогут, тем более советы разные и от неизвестных людей
в этой стране кроме ебучего веба нигде не заработать нубам. собсно поэтому и веб такое гавнище. Каждый упырь с ноутбуком теперь прогер.
Комментарий недоступен
Попробуйте Ардуино чтобы понять на сколько вам нравится программирование.
Нужно еще паять научиться)
codecademy.com
Комментарий недоступен
С изучения языка программирования лидирующего в интересующей сфере?
Комментарий недоступен
О! Я помню как я задавал тот же вопрос на Хабрахабре в 2008. Ответ простой, не учи. Если бы действительно хотел, то уже бы кодил свою первую ардуинку или простое веб-приложение.
Не надо, нас итак много, а кушать так хочется порой.
Комментарий удален модератором
Интересный сервис
Есть много интересных сервисов для обучения. Я когда начинал учиться программированию мне очень помог https://teamtreehouse.com и coursera.
Для обучения Swift (я на нем и пишу) есть swiftbook или teachmesimply.com
Попробуйте почитать детские книги по проге типа таких https://www.ozon.ru/context/detail/id/139934622/?gclid=Cj0KCQjwjYHpBRC4ARIsAI-3GkEjvpcvhMt3aHR_SEU4z5LVhQ5TohCpx-4o_mXcybeVhlw-5s8ApbAaAlBmEALw_wcB
Ещё как вариант попробуйте порубиться в обучающие проге игры https://codecombat.com/.
Если заходит, то научитесь гуглить и конкретизировать вопросы, если не зашло для детей и поиграться, забейте, значит не Ваше. По языкам программирования могу рекомендовать питон.
скажу сразу, понятия не имею что можно выучить за год. Но для начала выберите что вам нравиться, конечно это сделать сложно, так как понять не попробыв нелегко, начните с книжки по Computer Scince. После ее прочтения начнете по немногу вникать в это. Если захотите что нибудь немного попроще и сразу с результатом то можно JavaScript и все что связанно с вебом, если посложнее то что-то типа C# и выбираете технологию (если веб ) то asp.core + sql(для работы с бд) + entityframework и LINQ to SQL(object)(для простых запросов к БД и знакомства с реляционными базами данных) + алгоритмы, но для нормальных веб морд сейчас нужен JS(и все его плюшки) без него сайт выглядит как из 90х )). Если что-то более прикольное и крутое то это C++ и лет 5 свободного времени по 8 часов в день.
Ну и я немного выпендрюсь своей статьей "программирование за 5 минут": https://medium.com/@nikitakolmogorov/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0-15-%D0%BC%D0%B8%D0%BD%D1%83%D1%82-8888bcafc464
Комментарий удален модератором
Офигеть Никитос, ты начинал с планов захватить мир, и к настоящему моменту опустился до статей "предпринимательство за 5 минут", "программирование за 5 минут" и "пацанского блокчейна".
Ну хоть с Канады не выгнали, и то хорошо.
что бы потраченное время стоило того, начинайте так:
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
а дальше, куда кривая выведет... сишник пригодится в любом случае
Комментарий недоступен
Кому пригодится сишник? Мертвый язык
Dasha Tsenter ?
Комментарий удален модератором
Комментарий недоступен
Так и хочется написать "С Hello World!":) Можно на JS, лучше на С++, чтобы потом была лучше понятна фраза "Объекты в PHP и JS хранятся по ссылке". Удачи и терпения следующие 3 года!
Вот эта статья (и две предыдущие из этой же серии от других авторов) широко раскрывают этот вопрос и дают представление о том, с чего стоит начинать, и как и для чего применяется навык программирования:
https://mkdev.me/posts/google-pixel-protiv-iphone-7-ili-o-tom-kak-vybirayut-yazyk-programmirovaniya-v-realnoy-zhizni
Всегда рекомендую её к прочтению нашим студентам, которые не определились с выбором направления, или не очень хорошо представляют себе сферу.
Залетайте к нам на канал всему обучим и все расскажем)
https://discord.gg/xxDJCty
Комментарий недоступен
Комментарий удален модератором
Есть куча обучающих материалов по web программированию. Попробуй сделать презентабельный проект для резюме и у тебя появится шанс попасть на работу стажером куда-нибудь.
Чайнику программирование лучше начинать с "Программирования для чайников".
Что делать, что делает.
вбей в ютуб язык Си Гена. Там основы, просто просмотри и все. Также ищи ютуб каналы + курсы на сливах телеграмм каналов. Местных вообще не слушай так как 90% тут просто комментаторы, а не практики
Это будет похуже золивара Андроид - айОС
"Совсем недавно я наткнулась на видео одной девушки, которая стала вполне успешным программистом".
У меня друг ссылочку просит) Дадите ?
если нужна помощь в веб разработке с фронтэндом на ЛЮБОМ уровне, можешь вк написать) я говорю на любом уровне, потому что сам знаю, что именно первые шаги делать сложно. поэтому если будут какие-то вопросы, то пиши, поделюсь своим опытом
Начните вот так HTML > CSS > Python.
По всем трем есть бесплатные курсы. Когда все пройдете, дальше ищите более специфичный курс. Подумайте, а что вы хотите программировать в итоге? Сайты? Мобильные приложения?
Если сайты - дальше ищите курс по созданию сайтов на Python.
Если мобильные приложения - то курсы по Android. Не рекомендую браться за iOS, т.к. там много нужно для того чтобы разрабатывать. Всякий оброк от Apple, наличие их девайсов (хотя тут могу ошибаться).
Есть крутая прилажуха бесплатная SoloLearn (для iOS точно есть , а про андроид не знаю) - програма, которая даст базовые знания о языках, в общем о програмировании - я сам только начал изучать и недавно пользуюсь этой программой - классная штука.
А если интересует Web разработка, то советую пройти онлайн курсы Jonas Schmedtmann - html, css, javascript . Сможете на практическом примере создать несколько проектов.
Если Вы действительно кроме игр, соцсетей и word на компе ничего не делали, то попробуйте для начала написать простенький сайт на HTML ( подойдет любой учебник с примерами ), затем добавте CSS . Если понравится web разработка, то идите дальше - JavaScript и фреймворки. Не понравится, можно попробовать себя в web- дизайне - будете программистам объяснять какие и где окошки\кнопки и тд. размещать, чтобы пользователь не вывихнул пальчик при выборе меню. Когда дойдете до определенного уровня, сможете сами определить что тут по чем и где хоккей с мячом.))
И не верьте девушкам\мальчикам, которые рассказывают какими они стали программистами за один вечер ...
Начните с курсов по Гугл таблицам)) поработаете с формулами, попробуете писать сложные формулы, искать в них ошибки, когда что-то не работает. Если это понравится, то будете смотреть в сторону азов программирования, если же нет, то хотя бы получите ценные навыки работы с инструментом, который пригодится на любой офисной работе.
По своему опыту скажу, что самый быстрый и эффективный способ обучения - курсы. Люди с опытом дадут максимум нужной информации и научат на реальной практике. Зачем тратить свое драгоценное время на долгие поиски по сети, если существуют готовые продуманные программы для новичков. Я учился здесь https://it.avenue-pro.ru/
Есть ли что-то проще Scratch для новичка?
Начните с простейшего языка программирования Microsoft Small Basic. Освоив простейший язык, можно переходить к более популярным языкам программирования. Ms Small Basic создан специально для начинающих, для русскоговорящих пользователей он имеет адаптированный интерфейс и интерактивные всплывающие подсказки при написании кода. Вот сайт с описанием зыка и бесплатными обучающими материалами на русском языке: http://small-basic.ru/
Сначала должен быть интерес. Потом твердое фундаментальное знание компьютерных наук, такие как алгоритмы, структуры, данных и т.д. Затем идёт выбор областей. По платформе - веб (самая популярная), мобильная (вторая по популярности) и десктоп. У каждой платформы есть стек технологий и в основном имеют клиент-серверную архитектуру, то есть фронтенд и бэкэнд. В вебе для фронта учат html5, css3, js(ES6+), на мобилках - это Java или Kotlin для Android OS или Swift для iOS, в десктопе я не шарю но в основном C++ и какая-нибудь библиотека для этого (Qt и прочие). Для бэкэнда в принципе пойдет любой язык. PHP, Python (Django, Flask, Pyramid), JS (изоморфный стек, Nest.js, Express.js, Koa.js), Elixir (Phoenix), Java (Spring Boot), Go (ставишь нужные библиотеки от gorilla и идёшь писать бэк, не стоит юзать фреймворки для него) - ну это в принципе все ЯП и библиотеки/фреймворки, которые я использовал. Этим дело не ограничивается, нужно также знать БД - базы данных. Реляционные, документо-ориентированные, в режиме реального времени и т.д. Основные БД - PostgreSQL, Oracle (платная залупа, но не плохая), MongoDB, Redis, Cassandra или HBase, Neo4J/OrientDB. Также стоит узнать про highload, поисковики (Solr, Elastic Search, ELK Stack), безопасность (почитать рекомендации OWASP). Изучать придется много чего, главное не останавливаться и не бросать.
Начинайте с Python – простой язык. Если он не пойдет, то в целом действительно это не ваша сфера деятельности:
1) начните просмотр этого курса (лучшего объяснения материала я не встречал) – https://www.youtube.com/watch?v=IU4-19ofajg&list=PLQAt0m1f9OHvv2wxPGSCWjgy1qER_FvB6;
2) тут решайте простые задачи https://pythontutor.ru/.
Поздно учить программирование. Халявные бабки кончились. Надо было начинать лет 10 назад. А лучше 20-30.
Freecodecamp.org