Итак, сначала вводные тезисы:
- Intel и Microsoft давно и прочно дружат против простых юзеров.
- Архитектура x86 сдохла и воняет. Достаточно посмотреть на AMD и Transmeta.
- Закон Мура куда-то пошел погулять, процессоры стали расти «вширь» (в SMP).
- OpenSource Software достаточно перекомпилировать под другую архитектуру.
- Юзерам пофиг OS, им нужны прикладные программы.
- Грядёт новое поколение «студентов», пишущих на .Net (с подачи MS, есс-но).
- Mono и dotGNU следуют за Microsoft и не могут навязывать своих правил.
- Вычислительные мощности всегда есть куда применить.
- Полный парк десктопного ПО обновляется за несколько лет.
Связка «язык программирования -> промежуточный язык -> бинарный код VM -> нативный (отJIT'еный) код» становится чертовски хороша, когда отдельные компоненты можно заменять. Java сдохнет, потому что проще и удобнее компилировать приложения на Java не в байт-код JVM, а в CIL. Что, кстати, и делается. IronPython позволяет писать на старом добром Питоне, который работает со скоростью аналогичной программы на C. И это на любой архитектуре. Круто и удобно.
Как всегда, Microsoft вовсю промывает голову студентам. Не буду говорить, насколько это плохо, когда в образовании используются пропиетарные решения. Всё это фигня по сравнению с тем, что через несколько лет практически весь RAD будет вестись на .Net (и важность Mono здесь сложно преуменьшить). Помните эпоху Delphi? Причина, всего лишь — что тогда в ВУЗах учили Паскаль.
А теперь самое время вспомнить, что старым софтом никто не пользуется. Нет, серьёзно — у кого на винте остался RAR 1.40 или ARJ? Пользователи скачивают новые версии, переходят с софтины на софтину в поисках идеала, и старый софт остаётся только у тех, кто не может его сменить на что-то другое (по причине отсутствия сети, «лишних» ресурсов, умения установки софта, или наличия религиозных запретов).
В то же время Intel уже не может продолжить «гонку мегагерцев». Особенно — со старой архитектурой, на которой работает такое чёртово количество старых виндовых приложений, собранных «под x86». Не раз говорилось, что, возможно, .Net со всеми странностями нужен Microsoft'у именно для того, чтобы через несколько лет можно было безболезненно перейти на какой-нибудь Itanium. Да хоть на G5, суть не изменится. Все приложения — всего лишь бинарный код для VM, который удобно перефигачить под нужный нам процессор.
А вот теперь — маленький прикол. Кто знает о существовании ПЛИС или умеет программить на VHDL? Кто знает, что 300 тыс. вентилей — это нормально, а 1 млн. вентилей на кристалл — это круто? А частоты в 50-150 MHz, на которых работают те камушки, иначе как смехотворной и назвать нельзя… пока не увидишь, как на этой смехотворной частоте работает аппаратный MPEG encoder.
Так вот. А теперь мой прогноз на тему dark future. 2009 год, средний пользовательский десктоп, в основном, состоит из .Net'овских приложений. Intel анонсирует «железку» из какого-то старого Xeon'а с сопроцессором на борту. В роли сопроцессора выступает FPGA на 64M вентилей, работающий с внутренней тактовой частотой 850 MHz. Все спецификации закрыты на сто замков и триста лицензионных соглашений. В то же время Microsoft анонсирует CIL-to-VHDL конвертор/оптимизатор. Любое «числодробительное» приложение может выполняться (в зависимости от настроек, приоритетов и т.д.) на этом самом сопроцессоре. Закон Мура реабилитирован. Геймеры в восторге. Mono в жопе. Фил Циммерман предлагает переходить на 64-Кбитные ключи. Традиционные компиляторы, такие как gcc, окончательно становятся «прошлым веком».
Думаю, развивать мысль на тему CIL-to-VHDL можно дальше и без моего участия.
Не то, чтобы сама эта идея была такой уж плохой. Скорее, я «за» обеими руками. Только, чур, пусть это делает не Microsoft с Intel'ом, а кто-то другой.