RSS

Комментарии

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

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

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

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

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

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

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

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

Немаловажным аспектом снижения риска (если это пользовательское приложение) нужно начинать с опроса собственно пользователей, которые принимают решения на основании данного приложении. Пользователи могут использовать информацию, получаемую из приложения по совершенно неочевидному и непредсказуемому алгоритму. Алгоритму, «исторически сложившемуся», сложившемуся в том числе благодаря изначальным изъянам в приложении, которые вы почините, тем самым поломав работу системы
Линус Торвальдс (создатель Linux) уже увлекался написанием оскорбительных комментариев к чужому коду, но в итоге пожалел об этом.
Не глубоко. Слишком обобщенно. Вне всяких контекстов. Не хватает примеров.
Ну на пальцах основные отличия для новичка, который не знает, что «потрогать» первым.

1. Vue не требует вообще никакой инфраструктуры, его можно воткнуть в существующий сайт с вордпрессом на шаред php хостинге, особенно если вы в курсе, что ослик сдох. Для реакта и ангуляра надо где-то поднимать ноду, npm/yarn, webpack/parcel, а потом два дня разбираться, чем babel/core отличается от babel/core и почему на первом create-app не заводится. Ну то есть какой-нибудь бандлер потом, перед выпуском в прод, настроить придётся, но это будет потом, и для vue достаточно будет parcel с нулевой конфигурацией.

2. Vue не требует изучать новые языки, работая на чистом HTML и JS. Гипотетически реакт тоже так может, но по факту 99% примеров и готовых react компонентов используют JSX и ~50% — Typescript. Это всё заметно увеличивает порог входа.

3. Vue не настаивает на функциональной парадигме, его вполне устраивает ООП. Если вас пугают выражения типа

let b = f => g => h => x => f(g(x))(h(x))

в реакте будет сложновато. При этом, если вам нравятся god object-ы на 100500 полей и методов, которые отвечают за всё, включая состояния кнопок, то vuex (аналог redux/flux/...) вполне себе есть, берите и пользуйтесь.

4. Следствие п. 3 — двусторонние биндинги. Они просто работают. Вам не надо, как в 90-ых, писать handleChange/handleKeyUp/… для каждого html элемента, а потом городить UNSAFE_ComponentWillRecieveProps и делать прочие приседания в скафандре. В результате наличию этой и других мелких сладких плюшек (например, стандартного роутера из коробки) кода на vue получается стабильно раза в 2-3 меньше, чем в таком же проекте на реакте, а пишется он быстрее.

При всём при этом реакт, конечно, дико распиарен.
Что, React Hooks прям отменяет и lifecycle, и JSX, и HOC? Создатели сами пишут, что внедрять рекомендуется неспешно, основная парадигма программирования на React не меняется. И, естественно, нужно поддерживать тонны старого кода на классах. Кроме того, можно продолжать писать новый код на тех же классах.
На свалку, ага, facepalmjpg
Спасибо, полезная информация, пригодиться многим
Это очень большая тема. И в одном абзаце не напишешь пожалуй. Там, как и везде наверное, огромное количество нюансов, ограничений и прочих тонкостей.
Если очень обобщённо и упрощённо, то платить нужно за хранение данных и за чтение данных (во время запросов). На самом деле там ещё куча всего, за что нужно платить (и куча всего бесплатно), но эти две вещи на поверхности.
cloud.google.com/bigquery/pricing
Если говорить о хранении данных (тупо, глупо и в лоб), то
cloud.google.com/bigquery/pricing
и
cloud.google.com/storage/pricing
И, взяв первый же вариант (US Multi Region), то хранение будет стоить (в месяц)
BigQuery — $0.020 per GB
Standard Storage — $0.026 per GB
То есть BigQuery как бы дешевле…
Запросы — $5.00 per TB прочитанных данных

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

На тему скорости — если интерактивный запрос выполняется дольше 30 — 40 секунд (независимо от объёма данных), то я бы остановил его и стал бы думать, а что я собственно делаю (не так).

Что касается того, что можно покупать заранее (в BigQuery) — то это слоты (для запросов) — cloud.google.com/bigquery/docs/slots — но это для больших потребителей (сам никогда не использовал, но наверное кто-то использует).

И ещё нужно помнить про ограничения — cloud.google.com/bigquery/quotas

Если у вас более конкретные вопросы — напишите в googlecloud-community.slack #bigquery channel. Я ежедневно его просматриваю, и, если могу помочь, то отвечаю.
Изучая React вы теоретически(!) быстрее найдёте себе работу (больше спрос) чем изучая Vue.

А вообще и тот и другой в этом году резко «меняют шкуру»:

React -> React 16.8 with Hooks — уже не React, а что-то другое.
Vue -> Vue 3 — уже не Vue, а что-то другое.

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

Всё что писали про React и Vue в прошлом году, можно выкинуть на свалку истории. На свалку.
Я не понимаю какая разница между react.js и vue, пожалуйста, поясните ;)
А можно поподробней, как работает BigQuery? Я думаю всем будет полезно. Я точно знаю про Redshift, Azure DW и Snowflake.
Реакт, мне кажется, это такой популярный первопроходец в мире SPA. Наверное, он заслуженно популярен. Вот Редакс конечно вызывает вопросы в своей популярности. Наверно в момент его появления не было достойных альтернатив
В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте
Мои личные наблюдения подтверждают тренд на снижение доли React на рынке. В первую очередь за счет увеличения доли Vue, к тому же растут и другие фреймворки вроде Aurelia, Svelte. Существенного изменения ждать не стоит, скорее всего React продолжит, постепенно замедляясь, терять долю рынка.

О библиотеке или фреймворке, который обойдёт React в будущем

Это вполне возможно, однако рынок разработки фронтенд-приложений ещё довольно непредсказуем, я бы не стал загадывать.

О Redux и других инструментах управления состоянием

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

О целесообразности изучения

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

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

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

Ещё хочу акцентировать внимание на усилении тенденции использования TypeScript. Она есть как на фронтенде, так и на бэкенде, чему лично я рад. Таким образом, стоит уделить внимание изучению фреймворков именно в связке с TypeScript.

Об эксперте

Алексей Резвов, организатор разработки программного обеспечения.
Ключевые тезисы

— React — это JavaScript-библиотека для работы с пользовательскими интерфейсами;

— к важным особенностям библиотеки относятся декларативность, универсальность, компонентный подход, использование Virtual DOM и JSX;

— в 2020 году React — самый популярный инструмент среди библиотек и фреймворков для работы с UI;

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

— эксперты рекомендуют изучать React, так как знание этой библиотеки повышает шансы на успешное трудоустройство.
По-моему мнению, в IT, а тем более в такой динамичной развивающейся его части, как технологии для веба и всё, что с ним связано, «обозримым будущим» можно называть период времени максимум в 2-3 года. React дает действительно неплохое видение, как нужно делать интерфейсы и веб в целом (с учетом всей той экосистемы, которая образовалась вокруг него). И то, что он предлагает, в достаточной степени гибко, производительно и совместимо с браузерами. Да есть интересные вещи типа Polymer Project, да и много чего ещё, что может давать какие-то плюсы, например, в производительность, но это требует каких-то дополнительных усилий, чтобы понять, как это правильно готовить. Такой же крутой экосистемы, как у React, именно с точки зрения порога вхождения, гибкости, производительности на горизонте «обозримого будущего» пока не видно, по-моему.

О библиотеке или фреймворке, который обойдёт React в будущем

Честно говоря, для меня это не является провокационным вопросом :-) Сами создатели React считают его библиотекой, и я склонен с ними согласиться. Да, React с легкостью можно назвать MV-фреймворком, который берет на себя довольно большую часть ответственности за архитектуру вашего приложения. Но степень этого охвата в то же время не такая всеобъемлющая, как у Angular, Vue, Ext — они в своей официальной документации дают вам полное видение того, как должна выглядеть ваша архитектура, и вполне обоснованно называют себя фреймворками. С другой стороны, вокруг React образовалась существенная экосистема, которая в большинстве случаев говорит вам, как нужно делать React-приложение. И вот если взять React + экосистема, то можно увидеть уже кучку фреймворков. Вы сами можете сделать еще один фреймворк на React, если вам это нужно.

О новых возможностях

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

О Redux и других инструментах управления состоянием

По-моему, этих конкурентов уже и так полно, вы не находите? Да, все они — некая вариация на тему Flux(читай MVC)-подобных архитектур c однонаправленным потоком данных, но их действительно много. Redux, MobX, Cerebral, xstate, и я думаю, это даже не половина всего, что есть в современной экосистеме. Да, Redux наиболее популярен, наверное, но совсем не значит, что он общепринят и безальтернативен на данный момент. Если же имеется в виду что-то принципиально новое, то я даже не знаю, скорее всего ничего лучше вариаций на тему MVC всё-равно не придумаешь, особенно если в качестве View у тебя «реакт головного мозга».

О целесообразности изучения

Однозначно стоит. Но нужно понимать, что самое важное — не знать все тонкости React, а понимать принципы, на которых он построен, что лежит в основе его архитектуры. Также не стоит забывать про базовые знания касательно JS и веба в целом. То есть если вы научились в хуки на React, но не понимаете, зачем в JS нужны прототипы, что такое замыкание, не представляете same origin policy и для чего оно нужно — это повод задуматься и изучить вопрос.
Такой же крутой экосистемы, как сейчас у DST, на горизонте не видно, за этим будущее

Заявка на услуги DST

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

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон