Как стать автором
Обновить

Комментарии 37

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

Excel активно используют секретари, аналитики, HR'ы, бухгалтера, менеджеры и любые другие бойцы офисного фронта. Встроенный в MS Office Бейсик с одной стороны по силам практически всем, с другой — полноценный ЯП, прививающий те навыки, о которых говорится в статье.
Сейчас кстати многие дети, по крайней мере младшего школьного возраста, не видят причинно-следственных связей. То есть, решил, например, задачу, а аналогичную с другими числами уже не можем. Делают все «на отвяжись», лень нереальная, заинтересовать чем-то кроме компьютерных игрушек очень сложно. Потом и работники такие получаются. Причины сего непонятны.
В качестве языка для развития лучше выбирать язык со строгой типизацией (и указателями :) ). Pascal, С просто морально устарели, а так вполне добротные языки, да и не дают забывать, что память освобождать нужно. JavaScript же, по-моему, немного «дурной» для того, чтобы приводить мозги в порядок.
А можете, пожалуйста, обьяснить, почему дурной, по ставнению с ЯП строгой типизации?
Да и может быть не по сравнению, а просто…
Да постоянно на хабре публикуются статьи с разными хаками и неочевидными вещами на JavaScript, есть и откровенные баги, которые фичами стали. Как с этим можно голову в порядок приводить? Вот использую немного AngularJS — ну да, что-то тренирует, но мне кажется не то место.
Мы же ищем языки со строгими причинно-следственными связями, которые заставляют обращать внимания на мелочи. Как раз языки со строгой типизацией и без сборщиков мусора и дают это. Не описал переменную — ошибка, недопустимые типы — ошибка, не освободил память — баг, освободил память, а потом обратился — баг ну и т.д. Все это как раз тренирует скрупулезность, внимательность и понимание того, что мы делаем и зачем.
Спасибо, я Вас понял.
По-моему, это очень простые причинно-следственные связи. Вот когда ошибки нет, а программа не работает как ожидалось, вот тут и приходится разбираться в причинах такого поведения.
НЛО прилетело и опубликовало эту надпись здесь
Ну да, делов-то, ведь уже, аж, целых два года. Вполне может белыми Королевский гамбит гонять, а черными контратаку Маршалла со старушечкой. Если мне не изменяет память ни один из чемпионов мира(каждый из которых своего рода гений) не начал играть в столь юном возрасте.
НЛО прилетело и опубликовало эту надпись здесь
на программирование давно пора лицензии выдавать, ну, как водительские.

Диплом называется.
Если водительское хоть как-то характеризует человека (например, умеет хоть как-то ездить на легковом автомобиле), то диплом «инженера-программиста» вообще ни о чем не говорит.
Кажется, мы ездим по разным дорогам.
В разных странах
На рынке острый «голод» на программистов, поэтому введение лицензирования данного вида деятельности как минимум преждевременное )))
«Голод» на рынке еще и потому, что полно тех, кто умеет ставить джумлу и считают себя разработчиками.
Если таких не будет, то найти программиста «с лицензией» будет намного проще.
Голод не потому что сложно отфильтровать, а потому что спрос на них меньше предложения. Уменьшение количества «джумло-разработчиков» не увеличит количество разработчиков «с лицензией». Более того, введение подобного лицензирования уменьшит количество адекватных разработчиков на рынке, из-за того что некоторые не смогут или не захотят быстро такую лицензию получить — ладно если просто сдать экзамены надо будет, а если пройти пятилетнее обучение?
Не надо никакой язык программирования учить, это лишнее.
Для большинства людей достаточно освоить построение простейших блок-схем.

За что обожал и обожаю чудесную книгу «Энциклопедия профессора Фортрана»: она научила меня мыслить логически и понимать взаимосвязь между событиями.

Освоить можно любую технологию и любой язык, а вот научиться мыслить логически — намного сложнее.
Вас сейчас роскомнадзор забанит за публикацию материалов доводящих до самоубийства. Все эти люди, «секретари, аналитики, HR'ы, бухгалтера, менеджеры и» тп., и так нестабильные в психическом плане, а вы им еще VBA хотите подсунуть. IDE убогая (чего только стоит то, что только что набранное удаляется), сообщения об ошибках типа «VBA Syntax Error» даже в фале на 100 строк наводят такую тоску.
Предложенный JS намного лучше. Я бы лично посоветовал c#.
Ну, IDE, как Вы говорите, «убогая», но как раз и не надо чего-то чересчур продвинутого, потому что речь о людях о которых не являются программистами и не собираются ими быть. Излишняя навороченность среды программирования в данном случае только отвернёт их от изучения основ программирования.

JS, конечно, классный, но:
1)Общей массе людей, он, тем не менее, без надобности.
2)Слишком много исключений, хаков, нюансов, неочевидностей. Это язык для «ниндзь» программирования, а сейчас мы говорим, скорее о «крестьянах». Уж лучше тогда JQuery, разве что.

C# для массовой непрограммирующей аудитории будет как ещё один Delphi.
Мне кажется js хуже для начала тем, что требует так же понимания HTML и DOM модели, тогда как в VBA кинул кнопочку на формочку, два раза щёлкнул — и пиши себе говнокодец)
Типа того.

Напоминаю, что речь идёт о том, чему обучать широкие офисные массы, задача — приобщать их к основам алгоритмизации, которой уже стыдно не владеть тем, кто работает с компьютером и гаджетами. Прототипирование, замыкания, парадигмы — это уже другой уровень, который нет смысла навязывать всем.
А мне так кажется, что тут перепутана причина со следствием: это не мозги у программистов устроены так из-за того что они умеют программировать, а не наоборот. Например: «у меня нет офигенных идей и потому я не пишу романы» — верно, а «я не пишу романов и от этого у меня нет офигенных идей» — нет.
И да и нет.
Да — человек ничего не понимающий в программировании с большой вероятностью не будет писать программы.
Нет — положительную обратную обратную связь опыта и обучения никто не отменял. Больше практики -> лучше работают мозги. И на мой взгляд доводы за Нет перевешивают.
У меня довольно обширный опыт обучения разных людей двум умениям: основы съёмки в полевых условиях на ходу из некачественной техники, и обращение с компьютерами. Подтверждаю, после приобретения знаний о том, как на самом деле строятся алгоритмы и как на самом деле люди видят ваши съёмки, в головах у обучаемых происходил вооружённый переворот тараканов (в более качественную сторону).
Некоторое время назад пришёл к такому же заключению, но с совершенно другой стороны: программирование (в широком смысле) всё больше входит в жизнь общества, и чем лучше это общество понимает принципы алгоритмизации и автоматизации, тем проще становится жизнь. Например, большинство женщин в городах умеют программировать свою стиральную машину. Большинство из нас периодически конфигурирует будильник. Телефоны становятся умнее, автомобили становятся умнее, даже бытовые приборы становятся умнее. Но чтобы всем этим пользоваться, нужно уметь задавать алгоритм — что-то вроде «сделай это, потом это, затем повторяй вот это пока не случится вот это». И чем раньше не-технари научатся таким простым вещам, тем быстрее всем (и в первую очередь этим самым не-технарям) станет лучше.

Правда стиралку я до сих пор так и не научился программировать.
Увы, но многие производители устройств сознательно лишают пользователей доступа к указанию последовательности действий, оставляя разве что возможность выбора «захадкоженных» последовательностей, максимум изменяя какие-то параметры типа какую мелодию проиграть в будильнике. А хочешь чтобы телефон отправил смску «Доброе утро, милая» в 7 утра по будильнику — осваивай разработку полноценных приложений (причем на ПК, а не на девайсе) или, в лучшем случае, ищи такое приложение в маркете, где опять шаг влево — шаг вправо…
Напоминает рассказы олдовых преподов родом из 60х, про ценность программирования на бумажке. IDE вообще-то и нужна чтобы думать только и исключительно о логике работы программы, а не ломать голову, где же ты забыл фигурную скобочку закрыть. А при программировании на VBA и JS примерно так и получается.

По своему опыту скажу так — те, кто хотят научиться программировать, идут учиться на программистов. Всех остальных (типа лингвистов и экономистов) можно, конечно, пытаться учить. Если сильно постараться, то их даже можно обучить делать последовательность действий, но никакого понимания и осознания при этом не наступает. В общем, это скорее дрессировка, нежели обучение.
Мне кажется, имелось ввиду, что человек должен уметь выражать свой логический алгоритм неким (псевдо-)кодом — если смог, значит голова работает правильным образом, нет — значит надо дальше прокачивать мозг. Забытые скобки в этом случае вообще не важны.
Все таки хорошо, что в школе мы не «учились программировать», а больше изучали алгоритмы: рисовали блок-схемы, анализировали их. И лишь затем уже переносили все на спектрумовский бейсик.
Полный вариант этой шутки звучит так:

В мире есть 10 категорий людей: те, кто не знает про двоичную систему счисления, те, кто знает про двоичную систему счисления, и те, кто не ожидал столкнуться с троичной системой счисления.
Мне больше нравится такой вариант:
image
Я тоже против Javascript для обучения программированию (Java для этого подходит гораздо лучше). С другой стороны, кажется мы стали забывать, что Javascript создан для того чтобы посчитать c = a + b, и только. Написания маленьких функций, типа посчитать среднее арифметическое, получить НОД и НОК этого языка хватит. Не надо углубляться в прототипную модель языка с извращённым наследованием и магией this.
Double suicide.
Чем же Java подходит лучше?
Не надо углубляться в прототипную модель языка с извращённым наследованием
Наследование также прототипное, так что это не извращение, а последовательность в проектировании языка.
и магией this.
Но там ведь нет никакой магии.
Оба эти аспекта — и обострённое чувство причинно-следственных связей, и внимание к мелочам — чертовски полезная штука. Во всех отраслях жизни. От общения с людьми (когда мы можем на несколько шагов просчитать последствия наших действий, если наша картина мира — адекватна, а логика — безупречна). До умения быстро понимать принципы работы сложных устройств.
Не соглашусь. В общении с людьми эти качества сильно мешают, если люди ими не обладают.

Неплохо про это написано во второй части одной забавной статьи (первая и третья части, кому интересно):
Собственно, точность и занудность – это просто две стороны главной стороны личности программиста, которую я называю fidelity to reality – верность реальности. Не «правде», не «истине», а именно «реальности». Не тому, что написано на развевающемся знамени, а тому «как на самом деле». И опять же, это не университетский курс, это свойство личности. Не врожденное, благоприобретенное, но тем не менее свойство личности, которое будет видно и во всех остальных областях вашей деятельности. Во всех областях вашей ЖИЗНИ. И это будет мешать. Серьезно будет. Ваш единственный шанс вписаться в организации вроде Коммунистической Партии Советского Союза (а также менеджерской структуры любой американской корпорации) – это воспринять реальность как еще один восхитительный компьютер, который надо запрограммировать. Но добравшись до этого состояния вы, скорее всего, потеряны для программирования, поскольку программирование человеческих сообществ после программирования компьютеров – это как гоночный автомобиль или самолет после механической колымаги от Тойоты или General Motors. Количество адреналина и серотонина просто несравнимое. К слову, а макроэкономика (в рамках стран и мира), если вы не обращаетесь с ней как профессиональные экономисты (дойная корова, способ развести лохов в правительстве на вашу липовую модель), а как программист («как это на самом деле?») – это как космический корабль из StarWars, StarTrek или там Babylon 5.
Ха, так и знал, что каменты превратятся в рекомендации какой язык изучать. Но дело не в языке, а в логике. Может на эту тему прочитать хорошие книги?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий