Я бы добавил, часто мной встречаемый миф, о том, что языки программирования - это всё-равно, что иностранные языки, выучил слова и синтаксические конструкции, и всё, ты можешь писать программы.
Всё-таки, машина думает, ни как человек, и трудности состоят не в запоминании самого языка программирования(с этим всё как-раз очень легко, ибо слов и конструкций крайне мало, по сравнению с человеческими языками, максимум несколько десятков), а в том, чтобы понять, как описанный этим языком аппарат работает. С пониманием этого нужно натренироваться интерпретировать решаемые задачи в собственно язык.
Языки программирования долгое время пытались приблизить именно к человеческому стилю мышления. И сейчас, надо сказать, они к нему уже весьма близки. Гораздо ближе, чем тридцать лет назад.
На мой взгляд, когда среда разработки программ научится сама разжёвывать до необходимого уровня алгоритм действий заданный по-человечески со всем "само-собой разумеещимся", то программисты уже нафиг будут не нужны. Как не нужный бесполезный посредник.
Вспомнился пародийный фантастический фильм, где у одного члена экипажа звездолёта была всего лишь одна функция - повторять фразы, сказанные корабельным ИИ. :)
А так, да согласен, программирование становится более естественным и интуитивным для человека. Можно взять в пример тот же SQL, оно хоть и не программирование, строго говоря, но близко к тому и являет собой в реализации совершенно понятные для неискушённых людей конструкции.
Очень хорошо всё написано, но я бы добавил насчёт 2-го пункта. Если бы заказчик был способен до последней запятой описать то, что ему нужно, и как оно должно делаться, то ему было бы проще освоить программирование и написать всё самому вместо того, чтобы тратить деньги на программистов. Ибо, конечное, предельно точное ТЗ на программу, это и есть сама программа =) Поэтому, программист - не столько мастер языка и знаток библиотек, сколько переводчик с языка желаемого в язык возможного, он охлаждает газообразные идеи до состояния твёрдого кода.
Согласно Фредерику Бруксу (да и моим личным ощущениям) само программирование занимает менее четверти времени работы. Остальное отладка и т.д. Так что "предельно точное ТЗ на программу, это и есть сама программа " не будет работать, или будет работать через раз, или не работать на некоторых устройствах, в некоторые дни недели и т.д. Поэтому, программист - это именно мастер языка и знаток библиотек. А "переводчик с языка желаемого в язык возможного" -- проектировщик программного обеспечения
Программист, не знающий математики, может писать программы. Но хорошими они не будут. Хотя бы потому, что второй пункт как бы намекает: программист должен знать отрасль, для которой программирует - а науки, используемые в этих отраслях, оперируют математикой.
Язык действительно подбирается под каждую задачу. Но с рядом ограничений.
Позвольте поинтересоваться, чем будет плоха программа спеца, который не знает математику, когда задача ставится самая типичная распространённая, вроде сбацать простенькую базу, с формочками ввода и выводом в виде документов?
И что, программисты знают реляционную теорию? Попросите кого-нибудь дать академическое определение легендарной 3-й нормальной формы или формы Кодда-Бойса, много интересного узнаете. Тем не менее, базы делаются, и программы работают.
Мифы - это "почини мне комп, тыжепрограммист" или "почисти мне вирусы, тыжепрограммист" или "удали мне прыщи в фотошопе, тыжеблятьпрограммистанехуйсобачий".
Нет, "перенеси нам компьютерные столы в новый кабинет, тыжпрограммист".
Разработай нам дизайн, тыжпрограммист.
Самое обидное, с другой стороны - это что-то вроде "сделай нам систему делопроизводства, тыжпрограммист". Потому что вроде бы да, это как раз по специальности. Но подразумевается же "сделай нам рыночного уровня систему за зарплату и к концу недели".
Comments 337
Я бы добавил, часто мной встречаемый миф, о том, что языки программирования - это всё-равно, что иностранные языки, выучил слова и синтаксические конструкции, и всё, ты можешь писать программы.
Всё-таки, машина думает, ни как человек, и трудности состоят не в запоминании самого языка программирования(с этим всё как-раз очень легко, ибо слов и конструкций крайне мало, по сравнению с человеческими языками, максимум несколько десятков), а в том, чтобы понять, как описанный этим языком аппарат работает. С пониманием этого нужно натренироваться интерпретировать решаемые задачи в собственно язык.
Reply
Reply
Вспомнился пародийный фантастический фильм, где у одного члена экипажа звездолёта была всего лишь одна функция - повторять фразы, сказанные корабельным ИИ. :)
А так, да согласен, программирование становится более естественным и интуитивным для человека. Можно взять в пример тот же SQL, оно хоть и не программирование, строго говоря, но близко к тому и являет собой в реализации совершенно понятные для неискушённых людей конструкции.
Reply
>Можно взять в пример тот же SQL, оно хоть и не программирование, строго говоря
А почему Вы считаете, что SQL - "не программирование"?
С уважением.
Reply
Reply
Так что "предельно точное ТЗ на программу, это и есть сама программа " не будет работать, или будет работать через раз, или не работать на некоторых устройствах, в некоторые дни недели и т.д.
Поэтому, программист - это именно мастер языка и знаток библиотек.
А "переводчик с языка желаемого в язык возможного" -- проектировщик программного обеспечения
Reply
Reply
(The comment has been removed)
(The comment has been removed)
Reply
Язык действительно подбирается под каждую задачу. Но с рядом ограничений.
Reply
Reply
Впрочем, работа с базой данных - уже требует хотя бы минимального понимания баз данных. А это - уже математика.
Reply
Reply
Мифы - это "почини мне комп, тыжепрограммист" или "почисти мне вирусы, тыжепрограммист" или "удали мне прыщи в фотошопе, тыжеблятьпрограммистанехуйсобачий".
Reply
Reply
Разработай нам дизайн, тыжпрограммист.
Самое обидное, с другой стороны - это что-то вроде "сделай нам систему делопроизводства, тыжпрограммист". Потому что вроде бы да, это как раз по специальности. Но подразумевается же "сделай нам рыночного уровня систему за зарплату и к концу недели".
Reply
Leave a comment