Comments 18
Забавно было прочитать вступление и попытаться наложить его на личный опыт... моё первое знакомство с компьютером произошло где-то в 84-м, это были ПК, купленные после олимпиады-80 у финской компании Noptel для тренировки стрелковой сборной СССР, но по факту, 90% времени на них играли в компьютерные игры (нет, для тренировок они тоже использовались, но периферия была достаточно капризной, и кажется, рабочих комплектов периферии всегда было сильно меньше, чем рабочих ПК). И да, в них были 3.5" дисководы на 720КБ. Не могу вспомнить семейство тех компьютеров - помню только, что это были достаточно компактные "всё-в-одном" (клавиатура+системный блок+блок питания), подключаемые "тюльпаном" к цветному монитору, а игры имели расширение ".GM" (видимо, для удобства - по сути, это были лаунчеры, кажется, на Бэйсике, т.к. иногда вываливалось "Syntax error. Unexpected "," at line 10", или что-то подобное, что иногда более-менее успешно лечилось слепым тыканьем по телу лаунчера, без малейшего понимания не то, что синтаксиса языка, на котором он был написан, но даже без знания английского, только имея представление о "латинском алфавите")... да... задорные были времена... ну, а 1С, ещё когда она занимала 2 дискеты 1.44МБ, я уже помогал устанавливать на возмездной основе, попутно получая на УПК квалификацию "оператор-программист ЭВМ"...
А что за периферия была?
За давностью могу напутать, да и вместо "Ноптелей" довольно скоро (в начале 90-х, если склероз не изменяет) "Скаты" пришли, но типичный набор - излучатель на ствол (то ли под ствол, то ли в дуло - не помню), рамка с датчиками вокруг мишени и контроллер, подключаемый к ПК. Для хранения данных тренировок использовалось забавное устройство - электронный накопитель на пару десятков мегабайт, хранящий всё не на "флэш-памяти", а в "обычной оперативке", для чего он был оснащён стандартным аккумулятором, которые сейчас можно повсеместно встретить в ИБП (что-то типа 12В/7Ач). Что именно там сбоило, я по малолетству не знал, но сбоило часто...
Это ваше "программист должен" как-то сильно напоминает "настоящий мужчина должен", и так и сводит все к извечному "ты-ж-программист". А так ли оно на самом деле? И что значит каждый из тезисов в отдельности? Потому исключительно последний пункт и важен, но и с ним не все так гладко - "не должен".
Настоящий программист должен писать востребованный код. Остальное вторично.
Мда, лично у меня самое яркое впечатление это вступительное слово преподавателя в школе на уроке программирования: " В этой машине собраны все недостатки как существующих, так и будущих машин, справитесь с ней, справитесь и с любой другой". Это был ламповый "Урал-1" в 1973 году. С тех пор прошло уже пятьдесят лет, но до сих пор справляюсь!
И да, мне пришлось (и приходится) использовать математику, физику, бухгалтерию и финансы, фантазию и практичность, без этого хорошую программу не написать!
Долгое время программисты были «операторами ЭВМ» в том смысле, что в паре человек-машина главным был умный железный компьютер, а человек его обслуживал.
Компьютер был главным, потому что стоил как чугунный мост. Компьютерное время было сильно дороже времени человеческого.
А вот насчет умный... я бы не согласился. Умными были человеки, способные раскурить, какая лампа у компьютера глючит. Которые на бумажке дебажили, прежде чем запихнуть в компьютер свои перфокарты.
— Вась, ты же программист?
— Да.
— Установи мне винду.
К чему я вспомнил этот анекдот? Да к тому, что если коллеги копаются в “DevOps, Kubernetes, микросервисах и максимально мощном железе”, то они скорее всего не программисты.
Долгое время программисты были «операторами ЭВМ»
Долгое время программисты были программистами, а операторами ЭВМ были операторы ЭВМ (зачастую ничего в программировании не понимающие). Программисты физического доступа к ЭВМ вообще не имели. Моё практическое программирование начиналось с того, что мы — программисты — писали (ручкой!) код на специальных бланках, потом их несли в отдел подготовки данных, где девушки прожигали годы своей жизни на пробивание дырок в наших перфокартах (переводили человеко-читаемый код с упомянутых бланков в машиночитаемый код на холлеритовых картонках), мы тащили эти свои колоды уже к операторам ЭВМ, передавая их через амбразуру в гермозону, где и находились собственно ЭВМ. Они объединяли эти колоды в ещё более толстые колоды для пакетного “прогона”, а по окончании возвращали нам распечатки либо результатов исполнения, либо нашего кода с диагностикой, из которой в очередной раз можно было понять, как важно отчётливо прорисовывать на бланке “точку с запятой”, чтобы девочка в отделе подготовки данных не проковыряла тебе “двоеточие” или “запятую”. У девочек, кстати, была очень жёсткая установка в должностной инструкции — даже если она уже давно знает язык, и видит явную синтаксическую ошибку в коде, она всё равно не имеет права её исправить.
В последнее время появилась интересная формула: «Программирование сейчас должно стать для всех таким же базовым навыком, как знание английского языка».
В последнее время появилось очень много тех, кто литерально воспринял старейшее, более 40 лет, метафорическое (метафорическое!!!) высказывание академика Андрея Ершова, сделанное им ещё то ли в 80-м, то ли 81-м году. «Программирование — вторая грамотность». Да, если воспринимать это литерально, то получится “интересная формула” про базовые навыки и английский язык. Только вот метафоры обычно не подразумевают литерального прочтения. Во-первых, тот же Ершов весьма отчётливо пояснял: «Даже обучение, то есть приобретение знаний или, скорее, способности что-то сделать – это программирование», что совсем не о том программировании, которое про Haskell или Delphi. Во-вторых, один из соратников Ершова (не помню, к сожалению, кто именно) говорил «Если хотите получать пользу от компьютеров, не становясь профессиональными программистами — не программируйте!»
У девочек, кстати, была очень жёсткая установка в должностной инструкции — даже если она уже давно знает язык, и видит явную синтаксическую ошибку в коде, она всё равно не имеет права её исправить.
Логично было бы дополнить какой-никакой обратной связью, типа предупреждающей записи на распечатке получившихся результатов.
Есть, кстати, некоторая аналогия из мира фармацевтики. По советским правилам оформления рецептов, в случае, если доза лекарства превышает максимально допустимую, в рецепте надо было прописать цифры прописью (например, "двести мг" вместо "200 мг") и подчеркнуть написанное, иначе сотрудник аптеки (который, вполне возможно, по уровню знаний стоял гораздо ниже выписавшего лекарство врача) не принимал рецепт. Такая своеобразная "контрольная сумма".
+1 за Haskell =)
Эдакий упрощённый Scratch для взрослых.
Хм. Если честно, то я не понимаю для кого вообще Scratch. У меня сын в конце первого класса начал Python изучать, примерно через год увидел Scratch и сказал, что всё понятно, но неудобно.
И в итоге непонятно для кого этот Scratch: если ребёнок знает латинские буквы, числа и арифметические действия, то Python уже можно и даже лучше, чем Scratch, а если не знает, то и Scratch слишком рано и сложно.
Proger sapiens