[Программирование, Фриланс] Какой язык программирования выбрать
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В этой статье я хочу поговорить о распространенном вопросе – какой язык программирования выбрать. Не так давно я столкнулся с ситуацией, когда программист не сумел решить относительно простую задачу из-за того, что сделал неправильный выбор. Я буду рассматривать этот вопрос с точки зрения не технических параметров языка, а постараюсь объяснить свою точку зрения с экономической точки зрения и своего опыта.
Ниже я привожу скрины переписки, но для лучшего понимания кратко обрисую ситуацию. Мы дорабатывали Zoho, стояла задача загрузки файла в формате xml. Казалось бы, задача типовая и не самая сложная. Но программист не смог с этим справиться. Сейчас многие подумали, что он просто новичок в профессии. Но это не так. Человеку 37 лет, в программировании он больше 18 лет, оканчивал ВУЗ и работает по специальности. И даже насколько опытный специалист столкнулся с проблемой, которая на самом деле, заключается в правильном выборе языка программирования.
Проблематика
Практика показывают, что с проблемой правильного выбора языка программирования сталкиваются практически все на том или ином этапе работы. В приведенном мной примере мы нашли решение, выбрали php + ZOHO Deluge. Задача была реализована.
Но если сложности возникают у опытных специалистов, что делать новичкам в программировании? Как определиться, какой язык программирования изучать в первую очередь? Удобно, если это решение принимает кто-то вместо вас, например, в ВУЗе или на первой работе по специальности. Но чаще всего оказывается, что ВУЗ дает знания, несколько оторванные от актуальных потребностей сегодняшнего дня. Кроме того, в программирование нередко приходят люди без профильного образования. Им еще сложнее понять, с чего начинать и какие языки учить. Об этом и поговорим.
Как выбирал я: личный опыт
О том, как я пришел в свою профессию, я уже несколько раз писал. Потому, если кому-то интересна моя биография с точки зрения построения карьеры, вы можете почитать статьи «Бизнес-консультант в малом и среднем-бизнесе. Кто это и зачем он нужен?» и «Будучи фрилансером».
Если кратко, то в программирование я пришел уже после армии, и начал его изучать самостоятельно. Сначала я решил изучить 1С, в то время я думал, что это какой-то отдельный язык программирования, а востребованность 1С-специалистов была высокая.
С 1С у меня получалось плохо, я понял что я делаю что то не так и тогда я решил попробовать изучить основы. Помню купил толстенную книгу Си++. Ее я выбрал потому что в ней все обучение было построено на примерах. В частности первых главы были посвящены тому как заставить двигаться фигурку робота. Это был толстый бумажный учебник по этому языку программирования, прочитал я более четверти книги. И, в принципе, к этому моменту сумел разобраться с циклами, классами, инкапсуляцией и многими другими нюансами. После этого я вернулся к языку 1С и сумел с ним разобраться сравнительно легко.
Мои личные выводы:
Во-первых, я понял, что не все языки нужно изучать сразу.
Во-вторых, выяснил для себя, что язык 1С нельзя назвать полноценным языком программирования. Он полностью подчинен служебной среде и является чисто утилитарным инструментом обслуживания классов на платформе 1С. Без 1С он не имеет смысла.
В-третьих, последующая практика показала, что я пошел по правильному пути. В первую очередь, нужно учить языки, которые используются максимально широко и не привязаны жестко к определенным программным продуктам. Это правильно и с точки зрения последующего трудоустройства, и для лучшего понимания сути работы программиста.
Например, на PHP мы можем написать собственный класс, язык 1С нам этого не позволяет. У нас есть готовые классы, мы на их основе создаем объекты, и далее с ними работаем.
Чтобы не повторять мои ошибки, нужно четко понимать, что именно вы собрались учить. Разницу между языком и фреймворком, а также их соотношение я уже описывал в статье «Иерархия КИС для разработки сайта».
Итак, можно сказать, что мой первый язык программирования был Си++.
Тем не менее, я все же стал 1С-программистом и некоторое время работал с 1С. Но очень скоро столкнулся с потребностью изучить работу с сайтами. Это было в период бурного развития Рунета, все создавали себе сайты, подобные задачи были очень востребованы. В результате мне пришлось заняться изучением PHP.
Еще один важный вывод:
Язык программирования нужен для решения определенных задач, и стоит учить тот, который поможет решать востребованные на рынке задачи.
Прошло время, я сменил сферу деятельности и стал бизнес-консультантом. И уже в этой роли за годы работы накопил очень большой опыт сотрудничества с программистами. Я составлял для них технические задания, тестировал и принимал работу, выступал посредником между программистом и заказчиком.Иногда мне приходилось программировать самому, просто в силу того что некоторые вещи проще исправить самому, ведь иногда решение задачи занимает меньше времени чем прохождение цепочки заказчик — консультант — программист — консультант — заказчик. Основываясь уже на опыте руководителя, я сделал вывод, что проблема выбора языка программирования массовая, и даже опытные программисты постоянно принимают решения, какой из языков следует изучить. С ситуациями из примера, приведенного выше, я сталкивался много раз. Потому я и решил обобщить личный опыт программирования и взаимодействия с другими программистами в роли заказчика.
Как выбирают программисты
Перед тем, как выбирать язык программирования, нужно четко понимать, зачем вы вообще собираетесь программировать. Результат вашей работы – это всегда реализация определенных идей. Обратите внимание, что вы не придумываете, а реализуете, т.е. программирование – это не творческая профессия.
Сейчас многие программисты уже приготовились спорить, не так ли? На самом деле, подумайте сами. Вы не творите с нуля и по вдохновению. Вы реализуете поставленные перед вами задачи. Т.е. это не творчество в чистом виде. И без задач нет программирования.
Конечно, вы можете сами придумать и поставить себе задачу. Но в этом случае вы уже работаете не просто с языком программирования, и не только программируете. Вы работаете на более высоком уровне – с идеями и реализацией этих идей.
Получается, что задачи – первостепенны. Язык программирования выбирают под них. Потому первое, что нужно понять для себя, какие задачи вы хотите выполнять.
Язык программирования это инструмент. Это не нечто священное, сакральное и известное только если вы пройдете голыми пятками по углям. Это инструмент, и как любой инструмент его необходимо подбирать под задачу.
Так, если вас интересует создание сайтов, то и для программирования вам понадобятся веб-языки: PHP, Python, Java и тому подобные. Если вас интересуют учетные системы, то вам понадобятся C Sharp, Java, 1С и т.д.
Почему программисты постоянно выбирают язык
Сфера IT постоянно развивается. Появляются новые проекты, которые требуют новых подходов и решений, в результате появляются новые языки, а существующие развиваются, иногда видоизменяясь настолько, что образуют новый язык, относящийся к определенному семейству.
При этом важно понимать, что один язык программирования, даже самый, казалось бы, универсальный, может решать только определенный круг задач. Потому под конкретную задачу всегда стараются выбирать наиболее подходящий инструмент. Чем больше языков знает программист, тем проще ему искать работу с достойной оплатой. Потому программирование – это профессия, в которой учиться нужно всегда. И каждый программист в течение карьеры регулярно сталкивается с выбором, какой язык программирования изучать для реализации новых задач.
Советы и рекомендации
Для начала обучения я рекомендую выбирать языки программирования, которые не привязаны к какой-то определенной платформе. Так вы сможете горизонтально охватить гораздо больше задач.
Например, если вы изучаете 1С или Zoho Deluge, вы сможете выполнять только те задачи, которые реализуются в рамках платформы, под которую эти языки создавались. И больше вы ничего не сможете. Соответственно, вы сможете работать только в очень узкой сфере.
Кроме того, при таком выборе языков, конкуренция между исполнителями также будет гораздо выше. Если посмотреть, например, на язык PHP, который не привязан к какой-либо платформе, здесь есть очень большое количество различных задач и также большое число исполнителей, готовых их выполнить.
На языке Zoho Deluge пишут намного меньше, это узкая ниша, потому и задач в ней намного меньше. А чем меньше задач, тем выше конкуренция. Более того, заказчики будут отдавать предпочтение программистам с опытом, для которых Zoho Deluge – еще один язык из перечня тех, которые они знают и применяют не первый год. Если для вас этот язык будет первым и единственным, скорей всего, реальные задачи вам просто никто не будет заказывать.
Язык 1С также востребован ограниченно. Специалистов в этой нише на сегодняшний день очень много, а число задач не увеличивается. Продукты семейства 1С используются только в России и ближайшем зарубежье, и даже здесь нет заметного роста потребностей, скорее, наоборот. То есть на примере 1С мы можем видеть простую закономерность экономика слабеет, малого бизнеса все меньше, меньше задач которые необходимо решать, меньше задач на 1с.
Чем шире используется язык программирования, тем больше задач на нем требуется выполнить. Потому если вы выберете язык программирования, не привязанный ни к какой платформе, конкуренция при поиске задач для вас будет ниже. На том же PHP можно писать сайты, интеграции, платформы, приложения и т.д. Широкий перечень вариантов применения гарантирует, что и задач на нем будет много.
Если вы попали на работу в какую-то крупную коммерческую, научную или государственную компанию, то выбирать язык программирования вам не придется. Руководитель сам будет ставить задачу и определять, на каком языке вы ее будете реализовывать. Потому новичкам в профессии я рекомендую по возможности устроиться в крупную компанию, где за вас сделают выбор и помогут научиться на практике.
Самостоятельно учиться намного сложнее, но нет ничего невозможного. После того, как вы выбрали язык программирования, изучили его возможности, остается одно, искать под него задачи. Но это уже совсем другая история.
===========
Источник:
habr.com
===========
Похожие новости:
- [JavaScript, Node.JS, Программирование, Разработка веб-сайтов] Руководство по Express.js. Часть 3 (перевод)
- [Java, Программирование] Что нового в Java 15? (перевод)
- [.NET, C#, ООП, Программирование] Творческое использование методов расширения в C# (перевод)
- [Программирование, Управление персоналом] Полюбите программиста
- [JavaScript, ReactJS, Программирование] Почему я разочаровался в хуках (перевод)
- [Python, Программирование] Напишем и поймем Decision Tree на Python с нуля! Часть 2. Основы Python, необходимые для генерации Decision Tree (перевод)
- [C++, Программирование] Антипаттерн “константа размера массива” (перевод)
- [Дизайн мобильных приложений, Программирование, Разработка мобильных приложений, Разработка под iOS] Российские пасхалки в мобильных приложениях. Какие они?
- [Разработка веб-сайтов, Программирование, Разработка мобильных приложений] Как захватить новую страну за 3 недели
- [Системное администрирование, Программирование, DevOps] Какой язык программирования быстрее работает, проще изучается, легче пишется и вообще всех прекрасней на свете?
Теги для поиска: #_programmirovanie (Программирование), #_frilans (Фриланс), #_jazyki_programmirovanija (языки программирования), #_programmirovanie (
Программирование
), #_frilans (
Фриланс
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:51
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В этой статье я хочу поговорить о распространенном вопросе – какой язык программирования выбрать. Не так давно я столкнулся с ситуацией, когда программист не сумел решить относительно простую задачу из-за того, что сделал неправильный выбор. Я буду рассматривать этот вопрос с точки зрения не технических параметров языка, а постараюсь объяснить свою точку зрения с экономической точки зрения и своего опыта. Ниже я привожу скрины переписки, но для лучшего понимания кратко обрисую ситуацию. Мы дорабатывали Zoho, стояла задача загрузки файла в формате xml. Казалось бы, задача типовая и не самая сложная. Но программист не смог с этим справиться. Сейчас многие подумали, что он просто новичок в профессии. Но это не так. Человеку 37 лет, в программировании он больше 18 лет, оканчивал ВУЗ и работает по специальности. И даже насколько опытный специалист столкнулся с проблемой, которая на самом деле, заключается в правильном выборе языка программирования. Проблематика Практика показывают, что с проблемой правильного выбора языка программирования сталкиваются практически все на том или ином этапе работы. В приведенном мной примере мы нашли решение, выбрали php + ZOHO Deluge. Задача была реализована. Но если сложности возникают у опытных специалистов, что делать новичкам в программировании? Как определиться, какой язык программирования изучать в первую очередь? Удобно, если это решение принимает кто-то вместо вас, например, в ВУЗе или на первой работе по специальности. Но чаще всего оказывается, что ВУЗ дает знания, несколько оторванные от актуальных потребностей сегодняшнего дня. Кроме того, в программирование нередко приходят люди без профильного образования. Им еще сложнее понять, с чего начинать и какие языки учить. Об этом и поговорим. Как выбирал я: личный опыт О том, как я пришел в свою профессию, я уже несколько раз писал. Потому, если кому-то интересна моя биография с точки зрения построения карьеры, вы можете почитать статьи «Бизнес-консультант в малом и среднем-бизнесе. Кто это и зачем он нужен?» и «Будучи фрилансером». Если кратко, то в программирование я пришел уже после армии, и начал его изучать самостоятельно. Сначала я решил изучить 1С, в то время я думал, что это какой-то отдельный язык программирования, а востребованность 1С-специалистов была высокая. С 1С у меня получалось плохо, я понял что я делаю что то не так и тогда я решил попробовать изучить основы. Помню купил толстенную книгу Си++. Ее я выбрал потому что в ней все обучение было построено на примерах. В частности первых главы были посвящены тому как заставить двигаться фигурку робота. Это был толстый бумажный учебник по этому языку программирования, прочитал я более четверти книги. И, в принципе, к этому моменту сумел разобраться с циклами, классами, инкапсуляцией и многими другими нюансами. После этого я вернулся к языку 1С и сумел с ним разобраться сравнительно легко. Мои личные выводы: Во-первых, я понял, что не все языки нужно изучать сразу. Во-вторых, выяснил для себя, что язык 1С нельзя назвать полноценным языком программирования. Он полностью подчинен служебной среде и является чисто утилитарным инструментом обслуживания классов на платформе 1С. Без 1С он не имеет смысла. В-третьих, последующая практика показала, что я пошел по правильному пути. В первую очередь, нужно учить языки, которые используются максимально широко и не привязаны жестко к определенным программным продуктам. Это правильно и с точки зрения последующего трудоустройства, и для лучшего понимания сути работы программиста. Например, на PHP мы можем написать собственный класс, язык 1С нам этого не позволяет. У нас есть готовые классы, мы на их основе создаем объекты, и далее с ними работаем. Чтобы не повторять мои ошибки, нужно четко понимать, что именно вы собрались учить. Разницу между языком и фреймворком, а также их соотношение я уже описывал в статье «Иерархия КИС для разработки сайта». Итак, можно сказать, что мой первый язык программирования был Си++. Тем не менее, я все же стал 1С-программистом и некоторое время работал с 1С. Но очень скоро столкнулся с потребностью изучить работу с сайтами. Это было в период бурного развития Рунета, все создавали себе сайты, подобные задачи были очень востребованы. В результате мне пришлось заняться изучением PHP. Еще один важный вывод: Язык программирования нужен для решения определенных задач, и стоит учить тот, который поможет решать востребованные на рынке задачи. Прошло время, я сменил сферу деятельности и стал бизнес-консультантом. И уже в этой роли за годы работы накопил очень большой опыт сотрудничества с программистами. Я составлял для них технические задания, тестировал и принимал работу, выступал посредником между программистом и заказчиком.Иногда мне приходилось программировать самому, просто в силу того что некоторые вещи проще исправить самому, ведь иногда решение задачи занимает меньше времени чем прохождение цепочки заказчик — консультант — программист — консультант — заказчик. Основываясь уже на опыте руководителя, я сделал вывод, что проблема выбора языка программирования массовая, и даже опытные программисты постоянно принимают решения, какой из языков следует изучить. С ситуациями из примера, приведенного выше, я сталкивался много раз. Потому я и решил обобщить личный опыт программирования и взаимодействия с другими программистами в роли заказчика. Как выбирают программисты Перед тем, как выбирать язык программирования, нужно четко понимать, зачем вы вообще собираетесь программировать. Результат вашей работы – это всегда реализация определенных идей. Обратите внимание, что вы не придумываете, а реализуете, т.е. программирование – это не творческая профессия. Сейчас многие программисты уже приготовились спорить, не так ли? На самом деле, подумайте сами. Вы не творите с нуля и по вдохновению. Вы реализуете поставленные перед вами задачи. Т.е. это не творчество в чистом виде. И без задач нет программирования. Конечно, вы можете сами придумать и поставить себе задачу. Но в этом случае вы уже работаете не просто с языком программирования, и не только программируете. Вы работаете на более высоком уровне – с идеями и реализацией этих идей. Получается, что задачи – первостепенны. Язык программирования выбирают под них. Потому первое, что нужно понять для себя, какие задачи вы хотите выполнять. Язык программирования это инструмент. Это не нечто священное, сакральное и известное только если вы пройдете голыми пятками по углям. Это инструмент, и как любой инструмент его необходимо подбирать под задачу.
Почему программисты постоянно выбирают язык Сфера IT постоянно развивается. Появляются новые проекты, которые требуют новых подходов и решений, в результате появляются новые языки, а существующие развиваются, иногда видоизменяясь настолько, что образуют новый язык, относящийся к определенному семейству. При этом важно понимать, что один язык программирования, даже самый, казалось бы, универсальный, может решать только определенный круг задач. Потому под конкретную задачу всегда стараются выбирать наиболее подходящий инструмент. Чем больше языков знает программист, тем проще ему искать работу с достойной оплатой. Потому программирование – это профессия, в которой учиться нужно всегда. И каждый программист в течение карьеры регулярно сталкивается с выбором, какой язык программирования изучать для реализации новых задач. Советы и рекомендации Для начала обучения я рекомендую выбирать языки программирования, которые не привязаны к какой-то определенной платформе. Так вы сможете горизонтально охватить гораздо больше задач. Например, если вы изучаете 1С или Zoho Deluge, вы сможете выполнять только те задачи, которые реализуются в рамках платформы, под которую эти языки создавались. И больше вы ничего не сможете. Соответственно, вы сможете работать только в очень узкой сфере. Кроме того, при таком выборе языков, конкуренция между исполнителями также будет гораздо выше. Если посмотреть, например, на язык PHP, который не привязан к какой-либо платформе, здесь есть очень большое количество различных задач и также большое число исполнителей, готовых их выполнить. На языке Zoho Deluge пишут намного меньше, это узкая ниша, потому и задач в ней намного меньше. А чем меньше задач, тем выше конкуренция. Более того, заказчики будут отдавать предпочтение программистам с опытом, для которых Zoho Deluge – еще один язык из перечня тех, которые они знают и применяют не первый год. Если для вас этот язык будет первым и единственным, скорей всего, реальные задачи вам просто никто не будет заказывать. Язык 1С также востребован ограниченно. Специалистов в этой нише на сегодняшний день очень много, а число задач не увеличивается. Продукты семейства 1С используются только в России и ближайшем зарубежье, и даже здесь нет заметного роста потребностей, скорее, наоборот. То есть на примере 1С мы можем видеть простую закономерность экономика слабеет, малого бизнеса все меньше, меньше задач которые необходимо решать, меньше задач на 1с. Чем шире используется язык программирования, тем больше задач на нем требуется выполнить. Потому если вы выберете язык программирования, не привязанный ни к какой платформе, конкуренция при поиске задач для вас будет ниже. На том же PHP можно писать сайты, интеграции, платформы, приложения и т.д. Широкий перечень вариантов применения гарантирует, что и задач на нем будет много. Если вы попали на работу в какую-то крупную коммерческую, научную или государственную компанию, то выбирать язык программирования вам не придется. Руководитель сам будет ставить задачу и определять, на каком языке вы ее будете реализовывать. Потому новичкам в профессии я рекомендую по возможности устроиться в крупную компанию, где за вас сделают выбор и помогут научиться на практике. Самостоятельно учиться намного сложнее, но нет ничего невозможного. После того, как вы выбрали язык программирования, изучили его возможности, остается одно, искать под него задачи. Но это уже совсем другая история. =========== Источник: habr.com =========== Похожие новости:
Программирование ), #_frilans ( Фриланс ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:51
Часовой пояс: UTC + 5