?

Log in

No account? Create an account

Previous Entry | Next Entry

Данный пост возник из моих экзерсисов за последние несколько дней.
Окончательно поняв, что моя судьба и судьба страны, в которой я живу, уже не просто расходятся, а прямо-таки разбегаются, я решил провести ревизию своих знаний и умений, пригодных к использования ЗА пределами России и стран бывшего СССР. Обнаружив, что за пределами бывшего СССР(а) слова "программист 1С" вызывают в лучшем случае недоумение, а в худшем -- гомерический хохот, я понял что срочно надо переквалифицироваться. В управдомы я не хочу, решил попробовать себя в каких-нить объектных языках широкого профиля. Поставил себе SQL-сервер, ВижуалСтудию  и начал решать некую задачку (вполне себе реальную, ну не "Привет, мир" же писать программисту с 15-летним стажем).

И вот тут я натолкнулся на некую свою внутреннюю  проблемку. Я НЕ МОГУ принять СТИЛЬ программирования на Си шарп. Не ПОНЯТЬ, а именно ПРИНЯТЬ. И "виной" этому то, что у меня были ОЧЕНЬ ХОРОШИЕ учителя программирования. Вот только учили они не тому, что нужно сейчас. Когда я начинал учится программированию, в мире было только ОДИН подход  к тому, что такое программирование и как должна быть устроена ХОРОШАЯ программа. Этот подход предельно четко и лаконично выразил великий Никлаус Вирт в своей книге-манифесте "Алгоритмы+структуры данных=программы". Сейчас этот  подход называют ДЕКЛАРАТИВНЫМ программированием. Вот этот подход и вложен, да что там вложен -- буквально ВБИТ в мои мозги. Основательно вбит -- со всем талантом  моих преподавателей.

Но с тех пор прошло чуть более тридцати лет. Для информационных технологий вообще и для программирования в частности -- это все равно, что несколько столетий. Декларативное программирование потихоньку отползло куда-то на задворки мировой программистской культуры и осталось там для каких-то крайне специальных целей (что-то вроде ручной ковки или гончарного круга в век точного литья и станков с ЧПУ). На смену ему пришло программирование ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ, в котором основным понятием стали не ДАННЫЕ, а КЛАССЫ и  ОБЪЕКТЫ. Объекты, у которых есть СВОЙСТВА и к которым  могут применяться МЕТОДЫ. И  вот это самое объектное программирование я так до сих пор и не могу принять. Я его ВЫУЧИЛ, я в нём работаю, но внутренне я его НЕ ПРИНЯЛ.  Я  его постоянно "корёжу" под привычное мне декларативное программирование и постоянно, сам того не замечая, пытаюсь относится к объектам как к особому типу данных... Хотя если меня попросить прочитать на эту тему лекцию -- я очень хорошо расскажу, почему объект -- это не данные, точнее, не просто данные. ЗНАНИЯ-то у меня есть...

И вот в связи со всем этим у меня в голове крутится крамольная мысль -- а может было бы лучше, если бы мои преподаватели программирования были чуть-чуть ПОХУЖЕ? Может быть не надо ВБИВАТЬ в головы учеников умения и навыки профессиональной работы НАСТОЛЬКО хорошо? Ведь ничто не вечно под луной -- особенно в 21-ом веке. Сейчас на смену объектно-ориентированному программированию приходит программирование функциональное. И что будут делать те нынешние студенты-старшекурсники и выпускники ВУЗ(ов), которые великолепно усвоили объектно-ориентированный подход и пишут прекрасно работающие программки на том же  Си шарпе (или обджектив Си, неважно...) через 15-20 лет, когда на задворки  мировой программистской культуры отползут уже объектные языки и  понадобится умение не просто писать на каком-нить Haskell-е, а ДУМАТЬ соответствующим образом. Сейчас общим местом стала фраза про то, что знания быстро устаревают и потому их ценность резко снижается. Я больше скажу -- ценность знаний, а особенно связанных с ними умений и навыков может не просто падать до нуля, а быть  ОТРИЦАТЕЛЬНОЙ величиной...

И что с этим делать, я не не знаю... Думать надо.
promo torin_kr december 5, 2015 19:43 26
Buy for 200 tokens
Этот пост -- заказной. Меня его попросила написать одна моя хорошая знакомая, с которой мы знакомы такое количество лет. что аж страшно становится. Как говорит в таких случаях мой младший брат -- "Да ну нафиг. Столько и не живут". Живут... к сожалению. Ладно, это было лирическое…

Comments

( 6 comments — Leave a comment )
svolik
Dec. 18th, 2013 10:05 pm (UTC)
А нахрена тебе плохо делать то что ты не умеешь, вместо того что умеешь хорошо? Плюнь на с# и пиши на с\с++. Они процедурные и востребованные. И, к слову, писать под линух - намного меньший головняк, просто за счет того что сама система устроена логичнее. А "плюсы" имеют еще и объектную составляющую, что делает переход к ней(если он так уж тебе нужен) куда как плавнее.

Относительно же "великолепных объектно ориентированных" не обольщайся. 90% пишут на самом деле процедурно на объектных языках, потому что тупо не осиливают этот уровень абстракции. Тех же кто врубается в функциональное - еще меньше, потому что для этого надо не выучить определение, а _понимать_ суть рекурсии, а это совсем не каждому дано.
torin_kr
Dec. 19th, 2013 04:05 am (UTC)
"Плюнь на с# и пиши на с\с++"-- да я бы и плюнул, но "там, на Западе" всем нужны спецы под ОБЪЕКТНЫЕ языки... нет, "плюсы" тоже востребованы, но НАМНОГО меньше.

"90% пишут на самом деле процедурно на объектных языках" -- вот и я к сожалению один из них...

Ну а функциональные -- это пока БУДУЩЕЕ. Ты видел хоть одну ВАКАНСИЮ -- нужен программист на Хаскелл"? Я -- нет.

svolik
Dec. 19th, 2013 10:56 am (UTC)
Мамы всякие нужны и на западе тоже. На западе сейчас есть нехилая проблема с поддержкой уже имеющихся решений, потому что объектных индусов - валом, а код на С поддержать уже некому... Я конечно понимаю, что устроиться к примеру в ubuntu или nowell для тебя мелковато, но что уж есть :)

"Ты видел хоть одну ВАКАНСИЮ"
Ты давненько не был в гугле...
http://www.linux.org.ru/forum/job/5889826
http://hh.ru/vacancy/5328920
http://hh.ru/vacancy/7163017
torin_kr
Dec. 19th, 2013 11:24 am (UTC)
"устроиться к примеру в ubuntu или nowell для тебя мелковато" -- я вообще-то в Гугель хотел... :=)))

Забавно... И правда есть. Интересно, на какой тип задач нужны прогеры на хаскелл?
hope_of_victory
Jan. 13th, 2014 12:39 pm (UTC)
мне, как гуманитарию, с этим больше повезло. хотя, может дело в том, что я никогда не зацикливалась на конкретных фактах, а делала из них выводы. и запоминала эти выводы.
torin_kr
Jan. 13th, 2014 12:41 pm (UTC)
завидую...
( 6 comments — Leave a comment )

Latest Month

June 2019
S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      
Powered by LiveJournal.com
Designed by Akiko Kurono