LINUX.ORG.RU

Как выбрать язык программирования?

 


1

3

Передо мной встал вопрос выбора языка. В уч. заведении мы изучали Python и C, а дома я писал на Java со Spring и мобильные приложения. Также пробовал C++ и Android-разработку на Kotlin — так прошли мой второй и почти третий курс. В уч. заведении нам говорили выбрать язык на котором будем писать диплом и курсовые работы, но при этом дают базовые знания по нескольким. Лабораторные и курсовые можно писать на чём угодно — я каждый раз писал на разных. Препод сказал что если я не выберу один из то он просто перестанет проверять мои работы. Одногруппники в большинстве выбрали Python, но у меня как-то к нему не цепляет и не срастается ничего. Я не прошу выбрать за меня я понимаю что никто за меня не выберет но за против ну или на путь какой-то натолкнете.



Последнее исправление: archpeak (всего исправлений: 1)

В уч. заведении мы изучали Python и C

Одногруппники в большинстве выбрали Python, но у меня как-то к нему не цепляет и не срастается ничего

А C?

P.S. Не Пушкин.

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)

Как выбрать язык программирования?

«выбирать питон/цепепе/жабу/лисп/хаскель/что угодно» - полнейший идиоизм. Такой же точно идиотизм как пытаться выбрать при обучении работе с деревом «что мне выбрать - рубанок/рашпиль/циркулярку/шлифмашинку или лучше всё-же шуруповёрт?»

Учиться надо программировать, а не какому-то конкретному языку. А язык выбирается под конкретную задачу.

Stanson ★★★★★
()

У тебя уже опыт работы с 6тью языками, зачем ты себя будешь ограничивать одним. Даже я в независимой, считай любительской разработке вынужден используя один два языка, нет нет да писать ещё на трёх четырёх, как минимум это нужно чтобы влезать внутрь используемых тобой инструментов. Слушать меня конечно дело такое себе, я не профессиональный разработчик, а просто кодер. Но если у тебя вопрос стоит так, то выбирай для себя любой, как любимый инструмент в рамках которого ты хочешь расти, но и не теряй намеренно навыки в других языках, так как вдруг придётся переключится, а я так понимаю ты хочешь стать наёмным рабочим, а там не ты выбирать будешь. Даже устроишь питонистом, мне кажется может возникнуть ситуация что отвалится C/C++ библиотека питонявая и чинить её будешь ты, так как будучи питонистом, ты наверное и С/С++ API биндингов питона должен знать, а следовательно и сами С/С++ хотя бы в рамках работы с этим API питона =)

Я глубоко сомневаюсь что существуют вакансии python программистов, где они пишут только на самом python.
Это может прокатит с каким-то COBOL но это специфика

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

Удачи и успехов в жизни.

LINUX-ORG-RU ★★★★★
()

Тут всё от темы диплома и специальности зависит. Если какой-то датасаентист, то питон, если статистика и анализ больше, чем датасаенс, то R (имеет место и в датасаенсе если опять таки надо анализировать статистику и исследовать данные, хотя при знании питона лишний раз в R ты не захочешь, только когда он действительно удобнее), я вообще учил шарп и кресты, а диплом делал на питоне, т.к. для моей задачи прогнозирования питон позволил написать диплом за месяц фактически. Если чисто кодом бы занимался, то код писался 1 неделю, 1 неделю делался отчёт, а 2 недели усиленно анализ данных/чтение статей и так далее, но у меня реально был месяц который я уже ничего не должен был делать (все работы сданы, пары закончены, к любой дисциплине я был полностью готов, на работу ходить тоже было не нужно). Ну и не забывай, что наработка материала у меня целый год шла, так что месяц это очень активная работа где я по сути ничего больше не делал, а только спал и писал диплом. На крестах такое тоже можно было сделать, но у меня на написание кода и отладку ушло бы месяца 3 против 1 недели. Так что выбирай язык под задачу.

ЗЫ

Если у тебя мобильная разработка то Java/Kotlin, на худой конец C#, он тоже имеет место быть, хотя очень специфичен и работу на нём в мобильной разработке не найдёшь, хотя мой тебе прогноз ты работу не найдёшь в любом случае, т.к. рынок труда айтишки перегрет очень сильно.

anonymous
()
Ответ на: комментарий от MOPKOBKA

А это скорее всего потому что у ТС-а код дикий выходит. Т.е. пишет он на всём, но очень плохо. Вот препод и хочет чтоб он хоть на одном ЯП умел что-то внятное писать. Потому как каша у него в голове и какие-то геттеры/сеттеры он тянет в сишку условную где они нафиг не сдались, но если очень хочется то можно городить огород с областью видимости переменных и функциях set и get для каждой из них (на самом деле имеет смысл только если нужно выполнять какие-то действия при установке/чтении переменных, как собственно и в ЯП которые заточены под геттеры сеттеры, т.к. изначальная задумка в их нужности провалилась и вообще я считаю её глупой в том смысле что от того как записывать смысл не меняется если не вешать доп логику, вроде всяких проверок или логирования), а в шарп условный тянет указатели и логику на них. Как бы можно и иногда нужно, но ключевое слово когда вот прям совсем нужно.

anonymous
()
Ответ на: комментарий от archpeak

так не бывает.

даже грузчику приходится переучиваться, а ты пошел в ИТ, где просто за время твоего обучения, ФГОСы по которым ты поступал, успели устареть

anonymous
()

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

Выбирай 1С.

(с твоим преподом я уже договорился)

rupert ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Даже устроишь питонистом, мне кажется может возникнуть ситуация что отвалится C/C++ библиотека питонявая и чинить её будешь ты

А если от веса virtualenv сломается стол на работе, то придется еще и осваивать столярное дело?

Это может прокатит (незнание сторонних технологий) с каким-то COBOL но это специфика

Тут как раз полностью наоборот, для COBOL нужно знать специфику мейнфрейма, и как минимум адовый JCL, с которого пошел упоротый синтаксис dd.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от MOPKOBKA

А если от веса virtualenv сломается стол на работе, то придется еще и осваивать столярное дело?

Ну мне, дома, да =) А так, спорить не буду. У меня опыта в конторах нет. Если везде разраб на языке X пишет только на нём, а при любом затыке в стороне складывает ручки в кучки, ну в принципе не плохо что так. Разделение обязанностей, все дела. Но в вакансиях (которые неизбежно попадаются на глаза) практически всегда сходу просят целый набор языков и ещё стопку в «будет плюсом».

Тут как раз полностью наоборот, для COBOL нужно знать специфику мейнфрейма, и как минимум адовый JCL, с которого пошел упоротый синтаксис dd.

Ну вот и обратная ситуация, так что как получится.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от LINUX-ORG-RU

Году в 13 пых-пыхеры в норм энтерпрайз конторе лезли в сорцы Nginx после того как резко просела производительность после апдейта и фиксили там баги, отправляя патчи в мейнстрим. Правда сейчас ни один из той команды в РФ IT не остался. Пара человек айтишку покинуло навсегда, один помер, а остальные сменили место жительства. Так что может сейчас и не лезут, а говорят что у меня лапки и всё такое, потому как им тогда платили от 3 штук баксов на брата чистыми, а сейчас я не уверен что тут пых-пыхер получает 250 штук после вычета налогов. До - возможно у сеньоров, но и то не факт.

anonymous
()

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

А местных не слушай, а то пойдёшь щас кобол учить :)

Zhbert ★★★★★
()
Ответ на: комментарий от oxo

Так язык и не должен цеплять.

Должен. Чтобы чего-то добиться, ты должен любить то, что делаешь. А лучше вообще гореть этим. Особенно поначалу, во время обучения.

А вот лет через 10-20 можно уже стать уставшим от ИТ циничным сеньором, готовым сляпать что угодно на чём угодно, потому что не всё ли равно?

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

ugoday ★★★★★
()
Ответ на: комментарий от archpeak

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

В чем твоя задача? Сдать преподу работу. Так? У этой задачи есть определенные требования. Вот и выполняй их. Выбери любой язык, что тебе проще и на нем сдавай. Все. Привыкай, что у заказчика есть требования, а оценивать их адекватность не надо.

И выбирая «язык на будущее», зацикливаясь на нем, ты резко ограничиваешь себя в выборе направленности. У каждого языка есть своя ниша. Но сейчас ты не специалист. Ты не углубляешься в особенности своей специальности, а пытаешься стать программистом, верно? Тебе нужны алгоритмы - как забить гвоздь, а не знания особенности вот этого конкретного молотка.

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

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

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от Zhbert

Я на волне хейта на него по поводу ядра заглянул и залип. Какая то иррациональная тяга прям. Не знаю что так в нем зацепило даже. А точнее - зацепил каждый его нюанс, все в нем прекрасно. Синтаксис, управление памятью, подходы, требования. Хотя вижу и недостатки, куда без них.

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

Теперь вот есть раст и есть все остальные языки. Хотя работать приходится на луа…

LightDiver ★★★★★
()

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

Я так понимаю, весь вопрос сводится к этой части. Преподавателю просто неудобно, вот и всё. Выбери что угодно, как он и просит.

Он не говорит: «выбери язык один раз на всю жизнь».

на путь какой-то натолкнете.

Если планируешь работать программистом, выбери для себя область. Посмотри на http://roadmap.sh. Выбор существенно сузится. Потом посмотри ещё вакансии на http://career.habr.ru, чтобы убедиться, что выбор соответствует рынку.

Не думаю, что выбор языка должен быть обязательно на всю жизнь. Скорее на первые пять лет работы. А там уже сам разберёшься какие технологии тебе нужны.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 1)
Ответ на: комментарий от kaldeon

Я тут только не понимаю препода - ему то какая разница что проверять? Странное требование какое то.

Ну я бы понял, если бы общее требование было ко всем: питон. Унификация. Но требование к одному студенту - это что то странное действительно.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от Stanson

Учиться надо программировать, а не какому-то конкретному языку. А язык выбирается под конкретную задачу.

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

2ТС: Я в своё время плюсы выбрал, так на них и пишу 20+ лет. Хотя были перерывы и на C# и на SQL. А питон, полезно, но не как основной язык(питонисты закидают говном чувствую), а как дополнительное средство чего-то по быстрому набросать или наскриптовать.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от Loki13

у монтипайтона есть одна особенность…
ИИшки именно на нем сносно пишут.
С точки зрения «сдать лабу» - это плюс :)
Но когда ТС закончит, то с таким подходом не сможет тягаться с ИИшкой и останется без работы :)

anonymous
()
Ответ на: комментарий от anonymous

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

LightDiver ★★★★★
()

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

rumgot ★★★★★
()