Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

В какой степени программисты — лингвисты?

ТехнологииПрограммирование+4
Иван Сергеев
  ·   · 5,4 K
Программист, преподаватель программирования...  · 17 янв 2021

Интересный вопрос, и я сам хотел бы знать на него интересный ответ.

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

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

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

Отсюда вытекают такие понятия, как стиль кодирования, выразительность языка программирования, чистый/грязный код и т.д.

«Код, который писал миддл, может понять только другой миддл. Код, который писал сеньор, может понять даже джуниор» (Миддл — программист средней квалификации, сеньор — высокой квалификации, джуниор — начинающий программист, стажёр.)

Так что программирование — это лингвистическая деятельность на столько же, на сколько и инженерная.

Вообще, я выделяю три уровня владения программированием:

  1. Новичок подбирает конструкции языка программирования, которые в сумме дадут работающую программу. Что-то написать, лишь бы работало (и преподаватель принял ).
  2. Программист записывает решение задачи на языке программирования.
  3. Программист выбирает/разрабатывает язык программирования, наиболее выразительный для данной задачи.
программист  · 22 авг 2016
Программисты, которые создают новые языки программирования и трансляторы к ним - возможно, в какой-то степени. По крайней мере, здесь в полный рост используются такие лингвистические концепции, как формальные языки, формальные... Читать далее
2 эксперта согласны
Дополню другим читателям, что Хомский был лингвистом и иерархию формальных грамматик создавал именно в контексте... Читать дальше
Тестировщица картошки фри  · 22 авг 2016
Возможно, мое мнение в корне неверное, не претендуюна истину в последней инстанции. Программисты(которые пишут программы для компьютеров), можно сказать, переводят с человеческого языка на компьютерный. Конечно, компилятор... Читать далее
1 эксперт согласен
Я бы использовал другой глагол. Не «переводит», а «выражает». Программист выражает на языке программирования... Читать дальше
По образованию Автоматизатор производств. По...  · 22 авг 2016
Давайте сначала разберем что такое лингвист(с википедии): Лингви́ст (языкове́д) — учёный, специалист по лингвистике (языкознанию, языковедению). Профессиональные лингвисты работают в вузах и исследовательских институтах, а... Читать далее
1 эксперт согласен
Пока да, лингвисты занимаются изучением естественных языков. На мой взгляд, лингвистика и филология формальных... Читать дальше
Студентка ТФ РГУ Нефти и газа им. Губкина, бывший...  · 22 авг 2016
Следует понимать, что программист программисту рознь, например, есть разработчики программного обеспечения и разработчики языков программирования. Разработчики пользуются готовыми языками программирования, следуют уже... Читать далее
1 эксперт не согласен
Программирование — столь же языковая деятельность, сколько и инженерная.
Первый
Первоклассный программист - первоклассный лингвист, никакой программист - никакой лингвист, как Леван например... ))) Ну Леван напишите программу не понимая и не зная английского язка.... ах да книжки по паскалю есть на русском... Читать далее
Программист  · 22 авг 2016
В никакой. Язык программирования называется языком только потому, что так захотели. Заучит красиво, да и аналогия понятна. В программировании "язык" учить не нужно. Используются обыкновенные английские слова. Вам нужно научится... Читать далее

Ага, первый уровень постижения программирования (см. мой ответ). У Вас впереди ещё два. Всё впереди, дерзайте!