Вопросы
Snowfall

Насчет актуальности Python-а для новичка

Сап Два...ДТФ. Насколько актуален язык пайтон для новичка. Я только начал изучение программирования, и частенько слышу что пайтон легчайший ( лично для меня, по сравнению с другими, это и вправду так) ЯП, но не менее часто слышу, что так же найти работу пайтон разработчиком, новичку не удастся и иди лучше учи Java,Js, C#,C++ и т.д. Как считаете, стоит ли дальше изучать пайтон, или лучше переключиться на что то другое.

{ "author_name": "Snowfall", "author_type": "self", "tags": [], "comments": 79, "likes": 0, "favorites": 58, "is_advertisement": false, "subsite_label": "ask", "id": 128044, "is_wide": true, "is_ugc": true, "date": "Thu, 23 Apr 2020 09:11:01 +0300", "is_special": false }
0
79 комментариев
Популярные
По порядку
Написать комментарий...
Судебный нос

Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.  

46

Хммм, где то я это уже видел-_-

20

В каждой статье о питоне?)

6

Ты копирует свои/ чужие комменты?

1

Это паста кажись

0
Отвратительный жар

Это паста. Но паста правдивая.

0

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

16

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

17

Просто человек сам не знает чего хочет, выбираешь область в которой хочешь себя попробовать, ГУГЛИШЬ ЯП которые используются в этой сфере, идёшь и узнаешь про каждый ЯП хотя бы немножко, а потом если что-то уж совсем не понятно, можно и на ДТФ залететь у работяг спросить совета, а то получается хочу того, не знаю чего

7

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

1
Простой Петя

Зачем знать программирование чтобы понимать где используется язык?

–3

Потому что на поверхности далеко не все так очевидно.

1

Как я понял для фронтэнда как минимум спрашивают - JS,HTML,CSS,SQl. И я примерно понял для чего каждый из них нужен . А вот насчет бэка я нихера не понял. Ведь именно там просят знать Python а также Java,Js, еще и HTML, CSS и прочее. Разве Python  и Java это не языки которые делают одно и тоже? 
И еще, а в программировании есть ли варианты устроиться на работу зная только Python (или другой один язык)и дальше параллельно учиться остальным. Или не стоит себя кормить иллюзиями и распланировать учебу нескольких языков на год впреред? ред.

0

HTML, CSS, SQL — вообще не языки программирования. Но ты их так или иначе выучишь, особенно SQL. JS надо знать, если собираешься сайты делать, там без него никуда. Ну разве что ты вот вообще не будешь фронтэндом заниматься, но это сильно вряд ли. Так или иначе, JS учат все, кто занимается вэбом.

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

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

11
Бессмысленный Кирилл

HTML, CSS, SQL — вообще не языки программирования.

Строго говоря, HTML и CSS - декларативные тьюринг-неполные интерпретируемые языки программирования.
SQL - да, это язык запросов. Но современные расширения ко многим СУБД могут предполагать и исполнение кода в базах и запросах.

0

Строго говоря, HTML язык разметки, а CSS вообще не язык в своём изначальном виде (calc() можно не считать).

0
Бессмысленный Кирилл

То есть, вы не понимаете, что такое "декларативные тьюринг-неполные интерпретируемые языки программирования". Могли бы просто это написать.

0

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

6

Короче. Если интересует веб разработка, то для фронта это: HTML, CSS, JS и один из  фреймворков (React/Vue/Angular). Для бэка: nodejs (express) и mongodb.
Такой стек называется MERN (mongo, express, react, node).

Для начала выбираешь что-то одно фронт или бэк и копаешь в этом направлении. ред.

0

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

0

Хотите много потных, но в чем-то бесполезных задач, чтобы набить руку?
https://codeforces.com/ ред.

1

Тот стак что я скинул, требует JS и для бэк энда =)

0

Машинное обучение, RPA, компьютерное зрение - там чаще всего используется Python. У нас на нём, помимо этого, написаны разные скрипты по генерации тестовых данных, сборке билдов.

0
Бессмысленный Кирилл

Параллельно к ЛЮБОМУ языку программирования, тебе надо будет подучить базовую инфу по реляционным БД (SQL), основы HTML, понимание CSS. Просто для эффективного исполльзования языка.

А уже потом пожно подучить JS для более глубокого понимания работы фронта, например.

0
Боковой корабль

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

15
Отвратительный жар

Пока что лучший ответ.
Только пока учишь питон под веб, не трогай Qt и Django. Ну, если ты именно питон учить хочешь, а не фреймворки.

2
Боковой корабль

А я бы посоветовал попробовать сделать на ваниле, а потом на фреймворке. Чтобы понять, для чего они вообще нужны =) 
Когда я только начинал, я не понимал концепцию фреймворков.
Типа всякие Спринги и прочие Гибернэйты (если не путаю. Давно это было).

0

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

0
Боковой корабль

Есть такое. В ваниле надо обязательно разбираться.
У меня как раз была говенная ситуация - на моей первой работе я был фуллстаком. 
Дали задание написать сервис с веб интерфейсов на Vue. 
JS я не знал вообще. Так как сроки были очень короткими, пришлось писать, не вникая в ванилу.
В итоге я научился делать всякое на Vue, но когда дело доходило до кода - там такие были велосипеды и костыли, что пипец. 
Не зная сам язык - писать что то вменяемое не выйдет. 

0

Рано или поздно тебе придётся выучить их все, начинай с любого.

9

Слышал там как у анимешников, если меньше 200   ̶т̶а̶й̶т̶л̶о̶в̶  языков знаешь, то с тобой никто даже разговаривать не будет

2

Комментарий удален по просьбе пользователя

4
Соответствующий торшер

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

3

Знание любого языка программирования никогда лишним не будет. Так что лучше поизучать

3

Классные лекции по Питону, для начинающих от Тимофея Хирьянова ред.

3

тоже его советую всегда

0
Бессмысленный Кирилл

Тебе говорят чушь. Вакансий пайтона полно, а после его изучения сможешь просто переключиться и изучить и другие языки, не впадая в говнокод, как если бы начал изучать программирование с JS и не делая всё по ЭНТЕРПРАЙЗ-гайдам, как после Java. Очень гибкий, универсальный удобный язык.

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

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

3

Если тебе похрену, что изучать, ибо не знаешь, чем хочешь заниматься, то изучай си шарп. Для новичка и понять твое/не твое - прекрасный старт. 

0

lisp. Для новичка и понять твое/не твое - прекрасный старт. ^D

5
Оптимальный нос

prolog, чтоб не запутаться ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*

* - как же меня эта хуйня в лиспе выбешивала.

А еще препод у нас упоротый был и заставлял почти все циклы писать рекурсиями, что делало лисповый код практически нечитабельным

1
Отвратительный жар

Преподы вообще не в курсе, как пишут для реальных задач лол.

1
Оптимальный нос

Ну, я ни на лиспе, ни на прологе, ни на хаскелле не пишу, так что плевать. Но крови препод нормально попил

0
Отвратительный жар

Ну, я ни на лиспе, ни на прологе, ни на хаскелле не пишу,

Резонно

0
Оптимальный нос

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

0

Ты чудовище.

0

я думаю без понимания ООП в C# лучше не соваться. 

0
Бессмысленный Кирилл

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

0

Ну мы тут вроде как даём советы человеку чуть ли не вчера начавшему изучать программирование.
Помните как Вас учили? Хелло ворлд, переменные-типы, арифметические операции, логические, if, циклы, функции.
С этого уровня уже можно начинать ООП - классы, параметры, методы, инкапсуляция, полиморфизм, наследование, ...
И тут Вы заявляете что без понимания ООП лучше не соваться. Но как вы объясните полиморфизм человеку который находится только вначале этого пути?

0
Бессмысленный Кирилл

А почему вы предлагаете сразу херачить полиморфизм? Неплохо бы чётко пройти по всем понятиям. Для начала понять, что можно выделить в классы, какие им задать поля и методы. Как на основе класса создать объект. Потом перейти к наследованию. И уже где-то там далеко перейти к полиморфизму.

Что было непонятного во фразе "основ ООП"? Зато человек сразу поймёт, почему можно после строки поставить точечку и написать, что делать с этой строкой. Это называется метод. А строка это тоже объект. Без понимания этого происходящее может выглядеть блекбоксом, что явно не идёт на пользу обучению.

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

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

А без всего этого будет вечный "бейсик-стайл" из-за изначально заложенных неверных представлений об архитектуре происходящего. ред.

0

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

0
Бессмысленный Кирилл

Тогда уж так:
1) Типы данных
2) Операторы
3) Последовательное выполнение
4) Ветвление
5) Цикл

Собственно, базис готов. И вот тут уже неплохо бы получить основы ООП и ФП, так как те же рекурсии - особая разновидность цикла, тот же ввод-вывод часто делается методами, а данные представляют из себя объекты. ред.

0

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

1

А что обыно требуют знать вместе с питоном. К примеру для JS просят как минимум знать HTML,CSS,SQl. Как минимум. Они просто чаще всего там появлялись. Но это фронт, а питон используются обычно в бэке. И какая связка нужна к нему. Те же?

0

Ну а как вообще не знать HTML, CSS, SQL при разработке приложений? Какой бы ЯП не использовался, c этими вещами придётся иметь дело.

4
Отвратительный жар

Самый стандартный набор для питон джуна - Python, SQL, Django, Celery, RabbitMQ/Redis.
Общие вещи - Docker, Git. 
Могут спросить - HTML, CSS, базовое знание JS, k8, gevent, tornado, Flask, aiohttp/asyncio(крайне рекомендую к внимательному изучению)

3

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

0
Отвратительный жар

Ну и я не совсем в сфере веба. Джанго в работе не использую. Я занимаюсь автоматизацией внутренних процессов.

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

1
Отвратительный жар

Год. Учил в свободное от работы время.

0

В случае с вакансиями для новичков обычно спрашивают на уровне базового понимания "что такое html/css", базовое представление об sql (хотя бы простые запросы) и реляционных бд, знаком ли с популярными фреймворками (не знаком? - ну и не проблема, научим). Конкретная связка может варьироваться от кампании/вакансии, но работа с бд и/или вебом есть почти всегда, чем только при этом не занимаются на одном и том же языке на самом деле. Если нет срочной и конкретной цели "пойти работать в место X заниматься Y", то в начале я бы не слишком запаривался и учил базу языка, алгоритмы, sql, почитал бы об основных парадигмах программирования и т.п. ред.

2
Разный завод

SQL к фронту отношения не имеет, это серверная часть.

1
Отвратительный жар

Сообщение удалено ред.

0

ЩЕ НЕ ВМЕРЛА УКРАИНИ

–5

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

1

Если речь идет о том, чтобы научиться программировать, то Python, КМК, не лучший выбор. Я очень люблю его, но первым языком лучше выбирать что-то со статической типизацией. Из перечисленных языков лучше всего наверное с C++ начинать. Хотя это такой совет в вакууме, потому что непонятно чем Вы собираетесь заниматься дальше.
В большей степени Вам нужно не конкретный язык изучать, а учиться программировать. 
https://www.youtube.com/user/tkhirianov - советую канал преподователя МФТИ. У него есть видео курсов лекций по алгоритмам и структурам данных, причем в разные года он читает этот курс на базе разных языков, есть и Python и C++
Еще можете на яндекс.практикум проийти бесплатный курс  ред.

1
Бессмысленный Кирилл

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

0

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

0
Бессмысленный Кирилл

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

0

Забавно, у меня первым тоже был паскаль)))

0
Бессмысленный Кирилл

PROGRAM HOMEWORK1;

А вообще, мне часто не хватает в других языках цикла с постусловием (repeat <code> until <bool>)

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

0
Верный дебаркадер

Сап Два

Блин, меня щас так тригернуло и такие флешбеки с 2007 словил

0

Прямо даже не знаю, куда этот питон у нее заполз...

0

Для начала: лучше учить программирование, а не синтаксис. Python-разработчика не существует, есть разные области, где применяется язык, но не всегда нужен только ЯП. И Python - это только одна технология, на которой базируются другие.У фронтендера, например, список просто огромный, одним js не обойтись.

0
Отвратительный жар

Да, но без жабаскрипта во фронте делать нечего.

0

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

0

Я начинал с автоматизацию на Java, не зашла. Потом был проект с python, дико понравился язык. Сейчас проект с JS автомтизацией, и мега убогим фреймворком TestCafe. Делаю для себя вывод, что питон для меня выглядит милее всех. Это если по автоматизации, как для девелопмента не могу сказать, не работал.

0

Любое что угодно учи, джуны везде пригодятся, годных курсов тонны.

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

0

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

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

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

Python отлично подходит именно для общего обучения, а дальше делай выбор.

0
Заработный утюг

Судя по требованиям на вакансии тебе нужно фуллстак выучить, проработать 3 года и иметь гитхаб с 50 проектами 

0
Заработный утюг

А вообще путон + нейросети = обеспеченное будущее. действуй.

0
Читать все 79 комментариев
{"hash":"43f98b2b","params":{"id":"dtfru","service":1,"title":"\u041f\u0440\u044f\u043c\u043e\u0439 \u044d\u0444\u0438\u0440","isLegacy":false}}