Сколько языков программирования нужно знать программисту

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

А в каком порядке, если расположить их по степени сложности и родства:

Первый раз вижу эту пасту про плюсы. Обычно про питон встречал. Однозначно лайк)

Если ебёшься с мужиками просто потому что это модно, учи его

Если жеманный педик, учи его

Если матёрый пидорас, учи его

А обычные что учить должны?

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

Ассемблер , чисто на изичах выучишь .

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

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

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

Ну я с Си начал изучать, птом перешел к С++
Ну еще с Питона думаю можно начать. Не очень сложный язык.

С -> с++/с# ->java script
Это про родство.

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

С++ это в анрил.
С# — это в юнити.

Питон/джава — это скриптовые языки и самые простые.

Здесь имеется ввиду JavaScript

Ну тут компилируемые (с\с++) и интерпретируемые языки вперемешку.
В идеале лучше начинать с компилируемого, так будет понимание что там виртуальная машина интерпретируемых языков берет на себя, и как оно и что под капотом реально делается с памятью.
Но в жизни, лучше начать с того же Python, он намного дружелюбнее и утонуть в долине отчаяния меньше шансов.

p.s.
А еще по Пайтону очень много учебных материалов именно под начинающих.

Источник

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

Антон Жуков, автор курса «Профессия Go-разработчик» в Skillbox — о том, почему программисты не останавливаются на одном языке разработки, как их изучение влияет на принимаемые решения и при чём тут когнитивные искажения бразильских аборигенов.

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

Языки программирования мало чем отличаются от обычных разговорных языков: тот же набор ключевых слов, символов, а также правила порядка их употребления. Основная работа программиста — не написание кода, а разработка алгоритмов. Язык лишь средство выражения алгоритма в понятной для машины форме. Знание нескольких языков расширяет угол зрения для оценки задач.

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

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

Когда программист решает задачу, то он мыслит инструментами, которые этот язык программирования способен дать. Американский предприниматель Пол Грэм отметил, что специалист с низкой квалификацией не в состоянии осознать этого из-за своей низкой квалификации. Уже в отношении разработки он наблюдает зависимость программиста от языка, которым тот пользуется. Разработчики любят «свои» языки поскольку привыкли думать на них, а языки, в свою очередь, лексикой диктуют программистам, как они должны думать о программах. Это образует парадокс, который невозможно разорвать без изучения нового языка.

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

  • Python был создан на досуге — нужен был расширяемый скриптовый язык. Сегодня он стабильно возглавляет чарты популярности и является универсальным языком: от разработки обычных сайтов до ML.
  • PHP создавался не как язык программирования, а как препроцессор текста. В 1995 его использовали для быстрого создания своей странички в сети. Сегодня на нём работает Facebook, Yahoo и, например, Wikipedia.
  • JavaScript разработали для дизайнеров и программистов с низкой квалификацией, что «оживить» веб-сайты, сделав их динамическими. Сейчас это один из самых востребованных языков, без него невозможно представить современный интернет.
  • Golang, созданный в Google, должен был стать простой и высокоэффективной альтерантивой тяжеловесным языкам. Спустя 11 лет между словами «Go», «эффективность» и «простота» можно ставить знаки равенства.

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

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

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

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

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

Таким образом, способность постоянно учиться, совершенствоваться и расширять свою сферу знаний — основной фактор, определяющий успех специалиста. Чем автономнее программист, тем он ценнее. И тем он автономнее, чем больше языков знает.

Источник

Сколько языков программирования может знать разработчик?

Прочитал недавно стать, и там автор выразил мнение, что программист может нормально разбираться в 1, максимум 2 языках программирования. И если человек пишет, что он знает языков больше, то он смешивает понятия «знать» язык и «знать» синтаксис.

Оценить 1 комментарий

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

Это все вместе — весьма большой багаж знаний, поэтому изучить за жизнь больше 1-3 языков на таком уровне сложно.

Если же чисто сами языки, без всего остального — да хоть по языку в месяц можно подучить.

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

Не считая вспомогательные SQL и HTML, CSS, которые я тоже знаю.

А с синтаксисом знаком примерно еще с 5-ю.

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

Похоже, что автор статьи — школота.
Для Вас: нужно чётко различать:
1. Знания архитектуры приложения (зависимости объектов, ООП и прочее).
2. Знания алгоритмов, применительно к конкретной задаче (формулы, псевдо-код).
3. Знания алгоритмического языка программирования. (синтаксис, переменные, функции)

Для Вашей задачи — нужно начинать с нужного пункта (в зависимости от задачи):
Хотите разработку архитектуры проекта — с п.1 (архитектор)
Хотите расширение функционала — с п.2 (программист)
Хотите простой кодинг по детализированному ТЗ — с п.3 (разработчик/кодер)

Главные правила:
1. Чем выше уровень манипулирования структурами, тем дороже такая должность и тем большим количеством языков может владеть этот человек, даже не зная их синтаксиса и видя впервые.
2. Если человек не архитектор и говорит, что знает хорошо 2 алгоритмических языка — скорее всего, он лукавит. (Архитектор — может знать до 3-4 алг. языков.)

Вы преувеличивайте значение знания синтаксиса.
Это от пары часов до пары дней учится.
Всего лишь.

Использую в работе 3 языка. Да, я их действительно знаю.

petermzg

Это мнение конкретного автора выраженное из его собственных жизненных принципов и лени.
Как можно нормально не разбираться во множестве языков, если десятками лет приходиться на них писать?

Для примера web разработка ранее требовала знания более 2х языков. (Javascript для фронт и другой для бекенда, Сейчас конечно можно Javascript + Node.js).

Rou1997

Абсолютно сколько угодно, вот сложно как раз вызубрить синтаксис и прочую «сырую» информацию и постоянно держать ее в верхний слоях памяти не опираясь на Гугл и т.п., а понять принципы — не проблема, мозг очень хорошо хранит такую информацию, ведь она отлично сжимается с потерей тонкостей которые при необходимости вспоминаются или воспроизводятся на практике, из документации и т.п. Если у вас не хватает объема мозга — то просто для хранения «сырой» информации «подключайте» цифровые носители, которые хорошо для этого подходят, от заметок в Блокноте до серверов того же Гугла, — и будет вам счастье.

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

Источник

Читайте также:  Чем программирование отличается от структурного программирования
Оцените статью