SlideShare a Scribd company logo
1 of 35
«Назадъ въ будущее!»
Денис Щетинин
dennis.schetinin@gmail.com
и другие мысли о подготовке
программистов в ВУЗах
Обзор доклада
• Признаки застойных явлений
Их много
• Кто виноватъ?
Образование — одна из основных причин
• Что дѣлать?
Без рецептов!
ПРИЗНАКИ
ЗАСТОЛЬЙНЫХ
ЯВЛЕНИЙ
Объективно: достижения
• В языках программирования?
• В инструментах разработки (IDE)?
• В технологиях?
• В методологиях?
• В алгоритмах?
• В результатах?
• В подходах?
• В целях?
Новая БОЛЬШАЯ «вещь» в XXIв.?
Языки программирования: 50-е
• FORTRAN
• ALGOL
• COBOL
• LISP
Итого: 4 (4)
Языки программирования: 60-е
• APL
• Snobol
• Simula-67
• Basic
• Logo
Итого: 5 (4)
Языки программирования: 70-е
• С
• Smalltalk-72
• Smalltalk
• Forth
• Prolog
• ML
• Scheme
• SQL
• Pascal
• Bourne shell
Итого: 10 (9)
Языки программирования: 80-е
• C++
• Ada
• CommonLisp
• Objective C
• MATLAB
• Mathematica
• Eiffel
• Erlang
• Perl
• Tcl
• Oberon
• Self
Итого: 12(1)
Языки программирования: 90-е
• Haskell
• Python
• Ruby
• Java
• JavaScript
• PHP
• …
Итого: 6+ (0)
Языки программирования: XXI в.
• C#
• Groovy
• Scala
• F#
• Windows Powershell
• Clojure
• Dart
• Go
• Swift
• NewSpeak
Итого: 10 (0)
Языки программирования: итоги
• 50-е: 4 (4)
• 60-е: 5 (4)
• 70-е: 10(9)
• 80-е: 12(1)
• 90-е: 6+(0)
• XXI: 10(0)
Языки программирования: этапы
• Первые попытки (50-e)
• Первые успехи (60-e)
– Lisp, APL, Simula-67, Logo
• Основы (70-e)
– C, Smalltalk-72, Smalltalk, Prolog, Forth, Scheme, ML
• Подражание основам и прагматизация (80-e)
• Подражание подражанию и сверх-
прагматизация (90-e)
• Коммерциализация подражания подражанию
• …???
Инструменты разработки
• IDE
– Отладчик
– Инспектор
– Браузер
– Workspace
– «Рефакторинги»
– Управление версиями
– …???
• Live Programming
Объективно: достижения
• В языках?
• В инструментах разработки (IDE)?
• В технологиях?
• В методологиях?
• В алгоритмах?
• В результатах?
• В подходах?
• В целях?
Новая БОЛЬШАЯ «вещь» в XXIв.?
А зачем развитие?
• большой
• сложный
• дорогой
• дефективный
• ненадежный
• изолированный
• невыразительный
• ужасный 
Программный код слишком
Субъективно
Как живется программисту?
Виды программистов
Индустриальный Пост-индустриальный
Масштабируемость карьеры
Дантист
• Сколько клиентов,
столько и денег
• Стабильность
• Равенство
• Тиражирование
Писатель
• Победитель получает
почти все
• Случай
• Неравенство
• Творчество
Программист?
А зачем развитие?
Потребление?
• Тиражирование
известных решений
• Конвейерное
программирование
Творчество!
• Инновации
ПРИ ЧЕМ ТУТ
ОБРАЗОВАНИЕ?
Коммерциализация
Цель — деньги
Отрицательная обратная связь:
– Нужно заработать!
– Сделать быстрее!
– Сделать хуже
– Сложнее продать и развивать
– …
Смысл образования?
Подготовить специалиста!
— чтобы он мог себя подороже продать
ВУЗы не нужны!
• Ни (нужных) знаний, ни денег, ни работы
• Базовые знания и сразу работать — только
практика
• Общие знания не влияют на профессионализм
• Наставник на месте: как работать лучше
• Сам должен выбирать, что нужно, а что нет
• Доучиться — небольшая проблема
Никакая реформа образования не поможет
Программисты
Индустриальные
• Code Monkey
• «Быдлокодер»
ВУЗы не нужны!
Всех в ПТУ
Пост-индустриальное
…???
БЕЗ РЕЦЕПТОВ!
Образование
Формирование
• ума
• характера
• физических способностей
ЛИЧНОСТИ
Подготовка к будущему
Чему учили изобретателей 50-х — 70-х?
The best way to predict the future is to invent it
Что должен дать ВУЗ?
• Развитие творческих способностей
• Культура
• Научное мышление
• Постиндустриальный бизнес
Творчество
• Практика — творческие способности
• Экспериментировать
• Исследовать, а не изучать
• Не (только) mainstream
• Не (слишком) специализироваться
• Междисциплинарные связи
Культура
• Кругозор
• История IT
• Обучение красоте
• Культура программирования
• Грамотность — умение поделиться своими
мыслями
Научное мышление
• Скептицизм
• Умение видеть когнитивные искажения
• Преодолеть отставание теории от практики
– «Новая» (динамическая?) математика
Постиндустриальный бизнес
• Изобретать, а не тиражировать
• Быть полезным
• Сочетание масштабируемости с
немасштабируемостью
Советы студентам
• Не спешите стать промышленными
программистами
• Исследуйте, не просто «изучайте»
• Ищите альтернативы «общеизвестному»
• Предпочитайте классику, а не моду
• Ищите главное
• ДУМАЙТЕ!
Советы преподавателям
• Не надо пытаться готовить «конченных
профессионалов»
• Не надо угадывать будущее
• История и культура
• Учитесь вместе со студентами
• ДУМАЙТЕ!
Советы бизнесу
• Не будьте жадными — это накладно
• Подготовка пост-индустриальных
разработчиков — стратегическое вложение

More Related Content

What's hot

Выбор темы проекта
Выбор темы проектаВыбор темы проекта
Выбор темы проектаilyahov
 
Практические аспекты разработки ПО #1
Практические аспекты разработки ПО #1Практические аспекты разработки ПО #1
Практические аспекты разработки ПО #1Denis Umnov
 
Павел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектов
Павел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектовПавел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектов
Павел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектовScrumTrek
 
Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5Denis Umnov
 
Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4Denis Umnov
 
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»DataArt
 
Яндекс-маркетинг
Яндекс-маркетингЯндекс-маркетинг
Яндекс-маркетингAlexei Fedotov
 
Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...
Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...
Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...ScrumTrek
 
Олег Щёголев, Semrush, Культурные особенности сотрудников из разных стран
Олег Щёголев, Semrush, Культурные особенности сотрудников из разных странОлег Щёголев, Semrush, Культурные особенности сотрудников из разных стран
Олег Щёголев, Semrush, Культурные особенности сотрудников из разных странSPECIA
 
Проект «эксперты»
Проект «эксперты»Проект «эксперты»
Проект «эксперты»Irinka Bilan
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Denis Umnov
 

What's hot (13)

Выбор темы проекта
Выбор темы проектаВыбор темы проекта
Выбор темы проекта
 
Практические аспекты разработки ПО #1
Практические аспекты разработки ПО #1Практические аспекты разработки ПО #1
Практические аспекты разработки ПО #1
 
Павел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектов
Павел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектовПавел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектов
Павел Рабинович, Елена Матвиюк. Agile в школе: от уроков до реальных проектов
 
Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #5
 
Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4Практические аспекты разработки ПО #4
Практические аспекты разработки ПО #4
 
Junior ignite camp-2019
Junior ignite camp-2019Junior ignite camp-2019
Junior ignite camp-2019
 
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
 
Яндекс-маркетинг
Яндекс-маркетингЯндекс-маркетинг
Яндекс-маркетинг
 
Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...
Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...
Магомед Яндиев, Данила Максишко. Как перестать разрабатывать то, что просят, ...
 
Олег Щёголев, Semrush, Культурные особенности сотрудников из разных стран
Олег Щёголев, Semrush, Культурные особенности сотрудников из разных странОлег Щёголев, Semrush, Культурные особенности сотрудников из разных стран
Олег Щёголев, Semrush, Культурные особенности сотрудников из разных стран
 
Kind n code (факультатив)
Kind n code (факультатив)Kind n code (факультатив)
Kind n code (факультатив)
 
Проект «эксперты»
Проект «эксперты»Проект «эксперты»
Проект «эксперты»
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2
 

Viewers also liked

Функциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповФункциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповOntico
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptFDConf
 
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'еHappyDev
 
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptТрансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptMax Klymyshyn
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)Ontico
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»DevDay
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncFalko Riemenschneider
 
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in ClojureFlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in Clojuredenyslebediev
 
"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18MoscowJS
 
Monte carlo simulation
Monte carlo simulationMonte carlo simulation
Monte carlo simulationAnurag Jaiswal
 

Viewers also liked (11)

Функциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповФункциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита Прокопов
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascript
 
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
 
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptТрансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.async
 
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in ClojureFlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
 
"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18
 
Monte carlo simulation
Monte carlo simulationMonte carlo simulation
Monte carlo simulation
 

Similar to Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах

Профессии в IT
Профессии в ITПрофессии в IT
Профессии в ITSam Faktorovich
 
Успеть за 60т секунд
Успеть за 60т секундУспеть за 60т секунд
Успеть за 60т секундYury Shilyaev
 
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...DevDay
 
Карьера UI/UX-дизайнера
Карьера UI/UX-дизайнераКарьера UI/UX-дизайнера
Карьера UI/UX-дизайнераEugen Savitsky
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковSQALab
 
Путь к мечте: профессия программист
Путь к мечте: профессия программистПуть к мечте: профессия программист
Путь к мечте: профессия программистSerghei Epifantsew
 
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряорганизация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряit-people
 
О трудностях языкового взаимодействия дизайнеров с иностранными заказчиками
О трудностях языкового взаимодействия дизайнеров с иностранными заказчикамиО трудностях языкового взаимодействия дизайнеров с иностранными заказчиками
О трудностях языкового взаимодействия дизайнеров с иностранными заказчиками#ТЫЖДИЗАЙНЕР
 
Работать программистом — это вам не только код писать!
Работать программистом — это вам не только код писать!Работать программистом — это вам не только код писать!
Работать программистом — это вам не только код писать!CUSTIS
 
Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...
Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...
Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...Lviv Startup Club
 
я выбираю профессию в It
я выбираю профессию в Itя выбираю профессию в It
я выбираю профессию в Itmalahova-helen
 
Ничего лишнего: как вычистить свой продукт от лишних фич!
Ничего лишнего: как вычистить свой продукт от лишних фич!Ничего лишнего: как вычистить свой продукт от лишних фич!
Ничего лишнего: как вычистить свой продукт от лишних фич!Magneta AI
 
Кому вы нужны?
Кому вы нужны?Кому вы нужны?
Кому вы нужны?Ilya Ovcharenko
 
Semantic IDE - Интерактивный самоучитель по разработке ПО
Semantic IDE - Интерактивный самоучитель по разработке ПОSemantic IDE - Интерактивный самоучитель по разработке ПО
Semantic IDE - Интерактивный самоучитель по разработке ПОdagrachev
 
Дизайн образовательных программ - по мотивам курса БВШД
Дизайн образовательных программ - по мотивам курса БВШДДизайн образовательных программ - по мотивам курса БВШД
Дизайн образовательных программ - по мотивам курса БВШДMaxim Arzumanyan
 
Технопарк_Управление Web-проектом_Первое занятие
Технопарк_Управление Web-проектом_Первое занятиеТехнопарк_Управление Web-проектом_Первое занятие
Технопарк_Управление Web-проектом_Первое занятиеАртём Шихарев
 

Similar to Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах (20)

Профессии в IT
Профессии в ITПрофессии в IT
Профессии в IT
 
Успеть за 60т секунд
Успеть за 60т секундУспеть за 60т секунд
Успеть за 60т секунд
 
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
 
Карьера UI/UX-дизайнера
Карьера UI/UX-дизайнераКарьера UI/UX-дизайнера
Карьера UI/UX-дизайнера
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиков
 
Путь к мечте: профессия программист
Путь к мечте: профессия программистПуть к мечте: профессия программист
Путь к мечте: профессия программист
 
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряорганизация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
 
О трудностях языкового взаимодействия дизайнеров с иностранными заказчиками
О трудностях языкового взаимодействия дизайнеров с иностранными заказчикамиО трудностях языкового взаимодействия дизайнеров с иностранными заказчиками
О трудностях языкового взаимодействия дизайнеров с иностранными заказчиками
 
Работать программистом — это вам не только код писать!
Работать программистом — это вам не только код писать!Работать программистом — это вам не только код писать!
Работать программистом — это вам не только код писать!
 
Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...
Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...
Lviv Freelance Forum - Вікторія Придатко "Найм в стартапи і продуктові компан...
 
я выбираю профессию в It
я выбираю профессию в Itя выбираю профессию в It
я выбираю профессию в It
 
Инфраструктура для hardware проектов в России: Дмитрий Кирсанов для Feedback ...
Инфраструктура для hardware проектов в России: Дмитрий Кирсанов для Feedback ...Инфраструктура для hardware проектов в России: Дмитрий Кирсанов для Feedback ...
Инфраструктура для hardware проектов в России: Дмитрий Кирсанов для Feedback ...
 
Репетиторский бренд код
Репетиторский бренд кодРепетиторский бренд код
Репетиторский бренд код
 
Ничего лишнего: как вычистить свой продукт от лишних фич!
Ничего лишнего: как вычистить свой продукт от лишних фич!Ничего лишнего: как вычистить свой продукт от лишних фич!
Ничего лишнего: как вычистить свой продукт от лишних фич!
 
Startup Hiring
Startup Hiring Startup Hiring
Startup Hiring
 
Кому вы нужны?
Кому вы нужны?Кому вы нужны?
Кому вы нужны?
 
Semantic IDE - Интерактивный самоучитель по разработке ПО
Semantic IDE - Интерактивный самоучитель по разработке ПОSemantic IDE - Интерактивный самоучитель по разработке ПО
Semantic IDE - Интерактивный самоучитель по разработке ПО
 
Дизайн образовательных программ - по мотивам курса БВШД
Дизайн образовательных программ - по мотивам курса БВШДДизайн образовательных программ - по мотивам курса БВШД
Дизайн образовательных программ - по мотивам курса БВШД
 
Технопарк_Управление Web-проектом_Первое занятие
Технопарк_Управление Web-проектом_Первое занятиеТехнопарк_Управление Web-проектом_Первое занятие
Технопарк_Управление Web-проектом_Первое занятие
 

Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах

Editor's Notes

  1. Я только о программировании!!!
  2. Alan Kay: For a Scientific American article 20 years ago (середина 80-х), I came up with a facetious sunspot theory, just noting that there’s a major language or two every 101⁄2 years, and in between those periods are what you might call hybrid languages. These could be looked at as either an improvement on the old thing or almost a new thing. I chronicled Fortran as an improvement on an old thing or almost a new thing, and Algol and Lisp were the new thing. Then there was Simula, which the designers thought of as an extension of Algol. It was basically a preprocessor to Algol the way C++ was a preprocessor for C. It was a great concept and I was lucky enough to see it as almost a new thing. Smalltalk and Prolog happened in the early 1970s. The predecessor of Prolog was a wonderful thing that Carl Hewitt did in the late 1960s called Planner.
  3. In the late 1960s, Jean Sammet was able to track down and chronicle about 3,000 programming languages that were extant then.
  4. Языки-химеры, мозаизм, эклектика —> синкретизм СЛОЖНОСТЬ!
  5. Континуации, сопрограммы в Ruby, Python vs. Smalltallk
  6. Сопрограммы в C#. Simula vs. Simula-67
  7. Если в Java еще можно попытаться найти что-то новое, то после Java только пережевывание уже давно (и часто не раз) пережеванных (и испорченных) идей
  8. Хочу не только и не столько доказать, что развития нет совсем. Это, конечно, спорно. Проблема в том, что если развитие и есть, то это пережевывание старых идей. Причем пережевывание в данном случае не улучшает их! Любой язык — попытка заново изобрести Lisp или Smalltalk. Количество библиотек для одних и тех же задач На фоне все нарастающего «прогресса» в других областях Может быть некуда развиваться? Есть! Следующий Smalltalk!
  9. TDD — за 20 лет инструментов не появилось! Bret Victor - Inventing on Principle [https://www.youtube.com/watch?v=PUv66718DII] Видео про Smalltalk Alan Kay про Sketchpad и Ivan Sutherland-а
  10. Операционные системы? Unix… Windows, Linux, MacOS… iOS? Пользовательский интерфейс? Окна Xerox PARC …touch screen? Morphic! Человеко-машинное взаимодействие? Sketchpad, Dynabook…  Web — не развивается! Активные гиперссылки, «живая» Wikipedia Методологии? TDD и Agile. Хьюз «Структурное программирование»: нисходящее ПРОГРАММИРОВАНИЕ
  11. Серебряной пули по-прежнему нет! Пирамиды и небоскребы.
  12. Хотелось бы взять лучшее из обоих вариантов, а худшее не брать 
  13. Alan Kay: Perhaps it was commercialization in the 1980s that killed off the next expected new thing. Our plan and our hope was that the next generation of kids would come along and do something better than Smalltalk around 1984 or so. (…) One could actually argue—as I sometimes do—that the success of commercial personal computing and operating systems has actually led to a considerable retrogression in many, many respects. Деньги — цель, а не средство Жажда наживы Фромм «Иметь или быть?» Потребление, а не творчество В 60-е — 70-е компьютер был ОЧЕНЬ дорогим => большая прибыль с каждого + требования по качеству => можно и нужно вложиться Сейчас: доступность и популярность, но с культом потребления Массовость убила возможность синтеза бизнеса и творчества! Почему продукция Apple дороже? Не все определяется деньгами «напрямую», «непосредственно»! Импортозамещение 
  14. «Берёшь, и делаешь, делаешь, делаешь» Ты либо программист, либо нет — от рождения! Даже какой нибудь МИТ или Стендфорд это тупое просырание времени, денег, сил и талантов, несмотря на их потрясающие учебные программы. Большинство программистов занимаются тем что пишут код сохранения форм в базу и всё, никакой вышки им особо и не нужно. Ну может ещё края кнопки скруглить. Еще не знаешь, кем хочешь быть Зачем тратить 5 лет? Зачем нужны лекции, экзамены? Проверки преподавателем —> min Давайте будем всё таки реалистами – вышка на практике чаще всего не нужна.
  15. Знания? Только инструмент Компьютер — инструмент, помогающий развивать личность: получать доступ к знаниям, исследовать, проверять гипотезы, моделировать… Программист
  16. … а не для зарабатывания денег Время учебы в университете — время пробовать все необычное, нестандартное Не принимать все на веру — в программировании пока ничего не ясно! С начальных курсов рассказывать про альтернативы Специализация — только в конкретных задачах, настолько, насколько необходимо Программирование — всегда на стыке нескольких дисциплин. В какой-то мере философия.
  17. … а не для зарабатывания денег Научное мышление: критическое, скептическое, без преждевременных обобщений и других когнитивных искажений (предвзятость подтверждения — враг номер один при отладке) индукция и дедукция в правильном порядке анализ и синтез
  18. Скептици́зм (от др.-греч. σκεπτικός — рассматривающий, исследующий) Научное мышление: критическое, скептическое, без преждевременных обобщений и других когнитивных искажений (предвзятость подтверждения — враг номер один при отладке) индукция и дедукция в правильном порядке анализ и синтез Отставание теории от практики
  19. … а не для зарабатывания денег Научное мышление: критическое, скептическое, без преждевременных обобщений и других когнитивных искажений (предвзятость подтверждения — враг номер один при отладке) индукция и дедукция в правильном порядке анализ и синтез
  20. …пока нет семьи, ответственности — можно не работать на деньги
  21. … Все равно не успеете: ни «угадать» нужные технологии, ни передать эти знания студентам за время обучения! … Лучше вырастить тех, кто это будущее создаст