Здравствуйте, a7d3, Вы писали: A>Есть книжка: A>«Programming Collective Intelligence. Building Smart Web 2.0 Applications» By Toby Segaran, Publisher: O'Reilly Media.
Спасибо, попробую глянуть. Правда, опасаюсь, что для меня это будет слишком сложно из-за крайне слабого знания Web-технологий. A>Примеры кода на питоне, а рассматриваются такие вещи, ради которых и на которых учатся программированию в современно мире. Например, как именно сделать систему рекомендаций пользователю — книг, фильмов, музыки — чтобы оно действительно работало. Это не такое скучное и оторванное от реальности, как использование пяти алгоритмов сортировки массивов встроенными средствами языка программирования. Когда про них жуют сотню страниц, но у читающего новичка не появляется осознания как это применить к системе-сервисе для повседневной жизни людей.
Вообще-то я с интересом решаю некоторые алгоритмические задачки, пробуя разные подходы с целью повысить скорость выполнения кода.
По результатам тестирования скорость выполнения всех этих вариантов кода приблизительно одинакова, хотя я очень надеялся, что последний вариант будет заметно быстрее остальных.
A>Т.е. читать, набираться идей чего хотелось бы сделать — реализовывать через PyQT или онлайн ресурс собрав веб-сайтик. После этого будет о чём поговорить с людьми на интервью-собеседованиях. A>Потенциально, в перспективе может даже появиться осознание, что незачем привязывать к конкретному языку. Что искать работу по этому принципу — это как умение работать сугубо лопатами строго одного конкретного вида-типа. Деньги платят за другое — то самое умение использовать разные подходы в некой предметной сфере, что описаны в подобных книжках.
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, a7d3, Вы писали:
A>>Есть книжка: A>>«Programming Collective Intelligence. Building Smart Web 2.0 Applications» By Toby Segaran, Publisher: O'Reilly Media.
L>Спасибо, попробую глянуть. Правда, опасаюсь, что для меня это будет слишком сложно из-за крайне слабого знания Web-технологий.
Технологии создания веб-сайтов или веб-ресурсов там и рядом не ночевали. Автор вещает про те вещи, которые являются начинкой этих современных веб-сервисов.
Не говорит как написать веб-сайт показывающий видео-по-запросу, типа Netflix, а рассказывает о том, каким образом такие сервисы конкурируют меж собой — за то, кто лучше решает проблему пользователя «чего сегодня посмотреть». Когда у человека есть лишь два часа перед отходом ко сну и хочется их тратить ли на то кино, которое заведомо понравится.
Re[6]: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, L.K., Вы писали:
LK>С прошлого года прошло уже почти полгода. Азы языка программирования (любого) учатся за неделю.
...при условии, что ты хотя бы один (а лучше — пару) языков программированния уже знаешь...
LK>А дальнейший опыт получается только в серьезной коммерческой разработке (на полную ставку и за бабки).
Это как где. Есть хорошие места, где это именно так, а есть и такие — где ученика только испортят.
Сам по себе факт коммерческой разработки, ещё ни о чём не говорит.
При этом факт финансирования — далеко на всегда гарантия "серьезной_разработки".
Re[4]: Кому-нибудь требуется начинающий питонист в подмастерья?
Z>>>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.
M>>Участвовать в чужом проекте гораздо более продуктивно. Только обязательное условие, чтобы старшие товарищи были готовы к тому, что в проекте есть неопытный разработчик и временами наставляли на путь истинный. Времени на это тратится довольно мало, но большинство людей в принципе не готовы напрягаться и кому-то что-то объяснять (в чем косяк и как его исправить, а также, с какими темами нужно разобраться в первую очередь).
Z>в том то и дело, что это утопия. поэтому с практической точки зрения, быстрее начать делать свое, чем ждать милости кого то другого. если хочется палки-погонялки, то можно пойти на курсы, там будет преподаватель, который будет контролировать и наставлять на путь истинный.
В мире C++, например, есть LibreOffice, где разработчики готовы к приему новичков. Есть и документация "с чего начать" и специальный набор простых задач, где идет обсуждение в трекере, как их решать, но их специально оставляют новичкам. Так что в мире C++ это реальность, а не утопия.
И суть чужого проекта не в палке-погонялке, а в том, что ты сам будешь использовать знакомые тебе технологии в знакомых тебе сферах. Чужой проект, как и коммерческая разработка заставит решать задачи интересные не тебе, а платежеспособному заказчику, изучать технологии интересные не тебе или преподу-балаболу с курсов (созданных, чтобы срубить бабла и продать перспективных учеников работодателю), а технологии, за которые платят, т.е. гораздо ближе к коммерческой реальности. Кроме того, тебя самого может потянуть на технологии, популярные в 90-х, потому что они выглядят круто, а у тебя не хватает кругозора это распознать (типа распределенных транзакций), которые в современном мире не используются (заменены eventual consistency). Сторонний человек тебя остановит, как и от использования других неудачных решений.
Соглашусь, что начать свой проект проще, чем найти чужой, а также, что свой проект тоже будет полезен.
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, Lazytech, Вы писали:
L>С прошлого года постепенно осваиваю Python 3. Хотелось бы поучаствовать в качестве волонтера (то есть бесплатно) в небольших проектах малой или средней сложности, не всё же тренировочные задачки решать. Похвастаться знанием других актуальных языков программирования, к сожалению, пока не могу, да и опыта практической работы в каких-либо предметных областях у меня пока нет.
L>Если кому-то интересно, готов предоставить ссылки на образцы своего кода, выложенные на всеобщее обозрение на одном англоязычном программистском сайте, где также есть формулировка задачи, так что контекста будет предостаточно.
L>Буду рад любым советам. Если задал неуместный вопрос, прошу извинить.
Не тот язык ты выбрал для изучения ИМХО.
Небольшая история:
Изучаю программирование достаточно давно, но свою первую работу я получил 5 лет назад в Германии. Причем занимался я в основном С/С++ программированием + немного питоном. Недавно мне стало так тошно работать над теми проектами, с которыми я работал, что я решил стать питонистом, тк надеялся работать вплотную с машинным обучением. Искал я работу где-то 3 месяца, успел отказаться от 2х офферов на С++ программиста (случаино получилось), и вроде ПОЧТИ получил работу на Питон программиста (но нет, что-то им не понравилось). После этого я еще раз окинул взглядом рынок вакансии и понял, что интереснои программистскои работы для Питонистов не так уж и много, и почти везде требуется знание предметнои области, но ОЧЕНь много интереснои работы (да и просто ОЧЕНь) много работы есть для Ява прграммистов.
В итоге я за 2 недели подтянул знания Явы, и буквально за 5-6 недель пулучил 3 оффера, один из которых оказался очень интересным.
Вывод: учи Ява, много работы даже для новичков.
Вакансий для Golang программистов почти нету (в Германии по краиней мере).
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
Знакомая есть, в прошлом переводчиком работала, затем прошла курсы тестировщиков от одного крупного оутсорсера, и устроилась работать там же.
Поищи программы подготовки солдат в крупных конторах своего города.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, Mug0fT, Вы писали:
MT>Вывод: учи Ява, много работы даже для новичков. MT>Вакансий для Golang программистов почти нету (в Германии по краиней мере).
Спасибо за совет! Вообще-то, если не ошибаюсь, начинающему программисту гораздо проще освоить Python, чем Java. (Про Go ничего сказать не могу, пока даже не смотрел.) По идее, по сложности синтаксических конструкций Java мало уступает C++ и подобным ему языкам.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, Muxa, Вы писали:
M>Знакомая есть, в прошлом переводчиком работала, затем прошла курсы тестировщиков от одного крупного оутсорсера, и устроилась работать там же. M>Поищи программы подготовки солдат в крупных конторах своего города.
Спасибо, конечно, но профессия тестировщика меня мало привлекает.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, Lazytech, Вы писали:
L>Спасибо за совет! Вообще-то, если не ошибаюсь, начинающему программисту гораздо проще освоить Python, чем Java. (Про Go ничего сказать не могу, пока даже не смотрел.) По идее, по сложности синтаксических конструкций Java мало уступает C++ и подобным ему языкам.
Java несравненно проще C++ и уж точно не сложнее чем Python. Разве что суровый Java-энтерпрайз и не менее суровый зоопарк систем сборки делает процесс вхождения в Java немного сложнее чем в Python.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, L.K., Вы писали:
LK>https://github.com/python
LK>А вообще, если и осваивать что-то с нуля, то что-то новое: какой-нибудь Rust или Golang.
Вот не надо вредных советов человеку давать. Язык для хипстеров с дико сложной системой управления владением и около-нулевым предложением вакансий и язык для разработки сервисов всех мастей и размеров с сильно ограниченным количеством вакансий ну очень плохие варианты для новичка.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, Lazytech, Вы писали:
L>Да, во втором полугодии прошлого года у меня практически не стало заказов. В очередной раз — спрос на мои услуги и до того не раз и не два падал ниже плинтуса, причем такой период мог продолжаться по несколько месяцев. По сути, мне снова стало нечего ловить (хотя до этого я тоже особо не жировал), вот я и призадумался о своем унылом настоящем и еще более невеселом будущем.
Я пару раз за последние полгода давал твои контакты, как переводчика. Люди, которым давал, сказали, что ты больше заказы на перевод не берёшь.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
M>>Знакомая есть, в прошлом переводчиком работала, затем прошла курсы тестировщиков от одного крупного оутсорсера, и устроилась работать там же. M>>Поищи программы подготовки солдат в крупных конторах своего города.
L>Спасибо, конечно, но профессия тестировщика меня мало привлекает.
Это реальный и довольно простой способ "зайти в IT", а точнее в программисты. В тестировщики берут много кого, начальных знаний будет достаточно из какого-нибудь онлайн курса. Дальше тебя научат на рабочем месте (потому что в крупные конторы берут народ пачками с расчетом на обучение). Дальше работаешь 1-1.5 года ручным тестировщиком (тестируешь интерфейсы тыкая на кнопки руками), а заодно разбираешься, что нужно знать тестировщику-автоматизатору (это которые пишут тесты на каком-то языке). Подтягиваешь нужные навыки (программирование на чем-то). Дальше переходишь в отдел автоматизации тестирования в той же конторе, где тебя уже знают, как толкового и усердного работника. После чего повышаешь уже навыки программирования на нужном языке и фреймворках. Переходишь в программисты (в той же конторе).
Преимущество этого метода в том, что порог входа довольно низкий, а дальше ты будешь точно знать что именно изучать (самообучение будет проходить по максимально прямому пути), ну и вопросы будет кому задать... Придется, правда, с тестированием освоиться, но этот способ быстрее и надежнее, чем пилить собственные проекты на github и убеждать в чем-то рекрутера, который ни при каком раскладе не захочет брать junior'а за 30.
Re[8]: Кому-нибудь требуется начинающий питонист в подмастер
Здравствуйте, Nuzhny, Вы писали:
N>Я пару раз за последние полгода давал твои контакты, как переводчика. Люди, которым давал, сказали, что ты больше заказы на перевод не берёшь.
Спасибо за поддержку, но переводами я действительно больше не занимаюсь. Решил кардинально что-то изменить, иначе перспективы очень мрачные...
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
Здравствуйте, Lazytech, Вы писали:
L>Спасибо за совет! Вообще-то, если не ошибаюсь, начинающему программисту гораздо проще освоить Python, чем Java. (Про Go ничего сказать не могу, пока даже не смотрел.) По идее, по сложности синтаксических конструкций Java мало уступает C++ и подобным ему языкам.
Java сильно уступает C++ по сложности синтаксиса.
Я бы скорее сравнивал C# и Java, нежели C++ и Java.
Также следует понимать и тот факт, что как и все современные языки, Java имеет автоматическую сборку мусора (GC — Garbage Collection).
На C++ за сборкой мусора должен следить человек (разработчик).
P.S. Не знаю, как в России, но у нас в Минске C# в последнее время очень популярен — в смысле наличия большого выбора разных вакансий.
Может быть Вам, уважаемый Lazytech, стоило бы посмотреть в сторону освоения C# и платформы .NET?
P.P.S. Дополнительный бонус при разработке на C# (по сравнению с Питоном) — не нужно заморачиваться на пробелы/отступы/табуляции —
что лично меня напрягает, когда приходиться писать на Питоне.
Здравствуйте, AlexGin, Вы писали:
AG>Java сильно уступает C++ по сложности синтаксиса. AG>Я бы скорее сравнивал C# и Java, нежели C++ и Java.
Признаюсь, не знал. Будучи дилетантом, о синтаксисе C++ сужу по приобретенной в начале века книге Страуструпа, а о синтаксисе Java — по образцам кода, что попадаются на программистских сайтах.
AG>Также следует понимать и тот факт, что как и все современные языки, Java имеет автоматическую сборку мусора (GC — Garbage Collection). AG>На C++ за сборкой мусора должен следить человек (разработчик).
Судя по обрывкам сведений, почерпнутым мною из статей, это чуть ли не главная фишка Java.
AG>P.S. Не знаю, как в России, но у нас в Минске C# в последнее время очень популярен — в смысле наличия большого выбора разных вакансий. AG>Может быть Вам, уважаемый Lazytech, стоило бы посмотреть в сторону освоения C# и платформы .NET?
Спасибо за совет, только я пока недостаточно крут для таких серьезных технологий. Как мне кажется, Python на первых порах попроще будет.
AG>P.P.S. Дополнительный бонус при разработке на C# (по сравнению с Питоном) — не нужно заморачиваться на пробелы/отступы/табуляции - AG>что лично меня напрягает, когда приходиться писать на Питоне.
А мне, наоборот, нравится простой синтаксис Python. Из того, что не нравится, могу упомянуть разве что необходимость помнить о том, что в конструкциях вроде range начало диапазона включает указанное граничное значение, а конец диапазона — не включает. Сам то и дело об этом забываю.
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
лет 15 назад python почти всегда упоминался в связке с django (web framework).
сейчас последний как-то подрастерял популярность, но в своей области вроде еще лидирует.
в москве hh.ru нашел 218 вакансий с упоминанием django, что очень мало, но хоть что-то есть.
думаю, в любом случае лучше сразу выбрать одну из конкретных областей применения питона и затачиваться под неё.
из них датасаенс и мэшин-лёнинг явно труднее освоить, чем веб, а скриптинг и автоматизация тестирования — как бы не основные, а к чему-то прилагающиеся.
то есть остается веб, следовательно, есть смысл освоить django.
как упражнение логично сделать свой сайтик, представляющий собой интерфейс к БД (варианты: система багтрекинга, мини-CRM или что-то более знакомое и полезное для себя — хотя бы личная записная книжка со списком дел/расписанием, списком контактов и т.д.)
далее можно сразу начать искать работу или зарегистрироваться и поупражняться с возможно трешевой (с учетом необходимости демпинговать поначалу), но реальной работой на фриланс-биржах (upwork, кто-нибудь посоветует что-то еще?)
как вариант — поучаствовать в разработке/багфиксинге этого самого django (проект открытый).
Каша в голове — пища для ума (с)
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
Здравствуйте, Lazytech, Вы писали:
L>Признаюсь, не знал. Будучи дилетантом, о синтаксисе C++ сужу по приобретенной в начале века книге Страуструпа, а о синтаксисе Java — по образцам кода, что попадаются на программистских сайтах.
Начинать изучение C++ по книгам Страуструпа — очень сложное и медленное дело.
Есть много писателей, доходчиво и популярно раскрывающих основы языка C++ (Герберт Шилдт, Том Сван, Джесс Либерти, из отечественных Алексей Васильев).
По мере изучения C++ и погружения в тему, станете понимать Бьерна Страуструпа, Скотта Майерса, Герба Саттера и Андрея Александреску.
L>Судя по обрывкам сведений, почерпнутым мною из статей, это чуть ли не главная фишка Java.
Garbage Collection — это фишка не только Java.
Но, как всегда, имеется две стороны медали — приложения с автоматической GC имеют более длительный отклик на события.
Поэтому, для задач с малым временем отклика и высокой производительностью — по-прежнему актуален C++.
L>Спасибо за совет, только я пока недостаточно крут для таких серьезных технологий.
На самом деле, в C# и .NET нету ничего сложного. Это проще, нежели тот же C++ (никакой крутости не надо).
Как бонус — синтаксис похожий на все си-подобные языки.
L>Как мне кажется, Python на первых порах попроще будет.
Дело в том, что Python (ИМХО) как язык программирования, всё же узкоспециализирован.
Он хорош для тех, кто свободно владеет понятиями высшей математики.
Тогда, разработка концептуальной (математической) системы проводится на Python, а реализация — часто на C/C++.
Также на Python нередко реализуются серверные приложения, так как в нём кроссплатформенность — пряио из коробки.
L>А мне, наоборот, нравится простой синтаксис Python.
Синтаксис любого языка — это дело привычки. Со временем, привыкните к синтаксису C#.
Тем более, что в Visual Studio работать на C# — просто удовольствие.
Более того, к синтаксису привыкаешь быстрее, чем сам осознаешь этот факт