Открытое письмо всем университетам

В 2014 году CACM опубликовал рассказ о том, что Python сейчас является самым популярным языком вводного обучения в ведущих университетах США.

Этот ответ Quora перечисляет:

  • Университет Депола в Чикаго: C ++, Java, Jess, Python
  • Университет Ватерлоо: Схема (CS), C (Другие)
  • Карлов университет в Праге: Паскаль / C #
  • MIT: Python, Java (гражданские и экологические науки)
  • Технологический университет Чалмерса в Швеции: Haskell
  • Швейцарско-немецкий университет в Серпонге, Индонезия: C ++ (ИТ), Python (инженерия)
  • Йоркский университет: Scheme, Ada, C
  • Университет Атенео де Манила: Java (CS), C (компьютерная инженерия), Pascal
  • CMU: C, Python
  • TUM в Мюнхене: Java, OCaml
  • Университет Обафеми Аволово, Иле-Ифе, Нигерия: FORTRAN (больше не преподается), Java, Python
  • Состояние NC: Java
  • Приватный университет Санта-Крус-де-ла-Сьерра: C
  • Венский технологический университет: Java
  • Штат Айова: Java
  • Математический институт Ченнаи: Haskell
  • Имперский колледж Лондона: Haskell
  • KTH в Стокгольме: Java, Python, C, Scheme
  • Гарвардский университет: C
  • FCUP в Португалии: C, Haskell и Assembly
  • Университет Юты: Java, C ++
  • Иранский университет науки и технологий (IUST): C ++
  • Технологический университет Шарифа: Java
  • Национальный университет Сингапура: C
  • Стэнфордский университет: Java
  • Мичиганский университет: C ++ и Matlab (инженеры)
  • Государственный университет Луизианы: Ява

Судя по этому неофициальному опросу, очевидно, что Java - самый популярный вводный язык, на котором преподают.

Мой вопрос: Где находится Smalltalk? Smalltalk - идеальный язык обучения, особенно для объектно-ориентированного программирования, наиболее часто используемой парадигмы в ИТ-индустрии. Он практически не имеет синтаксиса, что делает язык в высшей степени простым для изучения. Smalltalk - это воплощение простоты. Его чистота и последовательность, а также отсутствие отвлекающих языковых деталей позволяют студенту сосредоточиться на самом важном: решении проблем программирования и развитии навыков программирования. Выбор языка даже не должен входить в состав уравнения для новичков.

Более того, Smalltalk был разработан как учебный язык для обучения программированию детей. Это было частью заявления о миссии Алана Кея, Адель Голдберг и Дэна Ингаллса из Xerox PARC в 1970-х годах. Такие языки, как Python и Java, C и C ++, никогда не создавались как языки обучения. Это все основные промышленные языки. Все они несут большой объем промышленного багажа. Они излишне усложняют обучение программированию.

Похоже, университеты занимают более профессиональную позицию, когда дело доходит до обучения программированию своих первокурсников. Научите их промышленному языку, чтобы они сразу же стали более востребованными для работодателей. Неважно, если это менее оптимальный способ обучить их основам программирования. Иначе зачем выбирать Python и Java ???

Такое профессиональное отношение не имеет особого смысла. Дело в том, что как только вы научитесь программировать, освоение второго языка, такого как Python или Java, не составит большого труда. Smalltalk и Python имеют много общего в отношении ООП, структур управления, структур данных и типов данных. Более того, большинство знакомых мне программистов - полиглоты, так что плохого в том, что Smalltalk в вашем языковом трепе?

По крайней мере, в течение десятилетий у Массачусетского технологического института была правильная идея: научить первокурсников Scheme (и SICP). Увы, даже это уже не так.

Привет, университеты, что испортило ваше академическое мышление? Почему вы не преподаете программирование своим ученикам наилучшим образом?

Smalltalk не только является идеальным языком обучения, но и указывает на будущее программирования, как красноречиво сказал Брет Виктор:

Smalltalk - это будущее программирования по следующим причинам:

  1. Разработка программного обеспечения с использованием файлов и папок абсолютно допотопна. Smalltalk делает все во вселенной объектов; исходный код организован пространственно, а не длинными стопками, хранящимися в текстовых файлах.
  2. Правильно выполненное живое кодирование и отладка - это огромный и беспрецедентный стимул для повышения производительности.
  3. Сохранение состояния выполнения чрезвычайно удобно для поддержания непрерывности и, следовательно, высокой скорости разработки.

Разве университеты не должны быть дальновидными? Разве университеты не должны пытаться продвигать современное состояние? Smalltalk показывает, как современная разработка программного обеспечения может быть намного лучше, проще и продуктивнее, чем это было традиционно в последние 50 лет.

Сегодняшние университеты подводят нас. Они обрекают нас на мир с низкой производительностью и большим стрессом при создании программного обеспечения.

Отправьте эту статью во все университеты, с которыми у вас есть контактное лицо. Спасибо.