Автор языка программирования Eiffel, Бертранд Мейер, опубликовал слайды своей презентации “How you will be programming in 10 years” с конференции ACM Symposium On Applied Computing. Позволю себе процитировать один из слайдов. Итак, каким же будет программирование через 10 лет (стр.9):
1. We will still be using O-O languages
2. Professional programming will be far more rigorous
3. Verification will be integrated in the development process
4. Every program will have a Web interface
5. Concurrency will be ubiquitous
6. More reliance on objective assessment
7. Software engineering: not just process but technology
Или, в моем приблизительном переводе:
1. Мы все еще будем использовать объектно-ориентированные языки.
2. Профессиональное программирование будет намного более суровым.
3. Верификация будет частью процесса разработки.
4. Каждая программа будет иметь Web-интерфейс.
5. Конкурентное программирование будет повсюду.
6. Большую роль будут играть объективные оценки.
7. Разработка программ будет не просто процессом, а технологией.
Тут нужно пояснить, что Мейер разделяет нынешнее программирование на три категории:
- от случая к случаю (casual): разработка простых веб-сайтов, Excel-евских документов и пр.;
- профессиональное: Ынтерпрайзные системы, моделирование, системы мягкого реального времени и пр.;
- критически важное: системы управления транспортом, системы жизнеобеспечения, системы жесткого реального времени и пр.
Так что, похоже, слова Мейера не касаются большого числа PHP и Ruby-On-Rails программистов, создающих Web-сайты за 3-4 дня. Вот какими он видит профессиональных программистов в будущем (все та же стр.9):
- Higher level of qualification (более высокий уровень квалификации)
- Apply verification techniques routinely (применяют верификацию программ в повседневной практике)
- Not mathematics PhDs (не имеют ученых степеней в математике)
Ну и в продолжение недавних дебатов о роли и месте IDE – слайд, который демонстрирует, во что превратиться разработка по мнению Мейера. Не сложно заметить, что специализированная IDE занимает в ней центральное место (тогда как разработчик в прямом смысле слова находится в стороне):
На мой взгляд, очень грамотное и правильное видение. Относительно перевода п.2: думаю, что rigorous обозначает не суровость, а строгость (в математическом смысле, то есть имеется в виду доказательство корректности).
ОтветитьУдалитьВереифакация все-таки гораздо более простая для функциональщины, так что это должно уводить от ОО.
ОтветитьУдалитьНу и по седьмому пункту по моему это обещают с шестидесятых годов как минимум :)
2Quaker:
ОтветитьУдалить>На мой взгляд, очень грамотное и правильное видение.
Я сомневаюсь. Если бы Мейер мог предугадывать пожелания большинства разработчиков, его Eiffel был бы другим и более популярным сейчас.
>что rigorous обозначает не суровость, а строгость (в математическом смысле, то есть имеется в виду доказательство корректности).
Я хотел дать определение в более широком смысле -- мол будут более сложные проекты, более сложные инструменты, более сжатые сроки. Короче, дальше будет только хуже.
>Ну и по седьмому пункту по моему это обещают с шестидесятых годов как минимум :)
ОтветитьУдалитьЯ не так давно видел интересное проявление технологичности: путем пре-коммит хуков в svn-е в одном из проектов запретили коммиты, если в описании коммита не указан точный номер тикета из Jira, в рамках работы над которым выполняется коммит.
Т.е. уже полная технологичность -- твои действия полностью контролируются на всех этапах.
Я сомневаюсь. Если бы Мейер мог предугадывать пожелания большинства разработчиков, его Eiffel был бы другим и более популярным сейчас.
ОтветитьУдалитьНе думаю, что верификация программ - это то, что нужно большинству разработчиков. Особенно PHP и Ruby-On-Rails программистам, создающих Web-сайты за 3-4 дня.
>Не думаю, что верификация программ - это то, что нужно большинству разработчиков.
ОтветитьУдалитьВ том-то и дело. Большое количество разработчиков приходят в программирование через PHP и RoR. Постепенно они переходят к разработке все более сложных и ответственных систем. Какая в таких условиях верификация? Или Мейер расчитывает готовить профессиональных разработчиков в специальных учебных заведениях по собственной программе? ;)
Или Мейер расчитывает готовить профессиональных разработчиков в специальных учебных заведениях по собственной программе?
ОтветитьУдалитьНасчет профессиональных разработчиков не уверен, но в ETH Мейер читает вводный курс по программированию.
слайды:
http://se.inf.ethz.ch/teaching/2009-H/eprog-0001/content_list_en.html
видео:
http://www.multimedia.ethz.ch/silva_ethz/ETH/id_sites/multimedia/multimedia/lectures/inf/2009_hs/252-0021-00L
Более того, есть и другие университеты, где используется Eiffel (слайд 99 из презентации).
Вот можно посмотреть видео "Teaching Programming: yerstaday and today" об основных принципах обучения, пропагандируемых Мейером:
ОтветитьУдалитьhttp://www.multimedia.ethz.ch/episode_play/?doi=10.3930/ETHZ/AV-c6bb6e32-2cc1-490d-a4a0-c2d66ca8c22f&autostart=false
А по поводу популярности - слишком маленькое у этого языка сообщество, поэтому и не удается его хорошо пропиарить.
То, что Мейер ведет курсы (и может быть очень хорошие курсы) я знаю. Но проблема в другом -- его слова вообще о программистах. Т.е. о большинстве программистов, о том самом миллионе мух. Так вот я думаю, что как раз большинству программистов никакая верификация и через 10 лет не нужна будет. Даже если они будут разрабатывать какой-нибудь банковский софт (процессинг) или софт для медицины (вроде хранилищ информации о пациентах). Поэтому если бы слова Мейера касались, скажем, Eiffel или Ada-разработчиков, то я бы к ним более серьезно отнесся.
ОтветитьУдалить