f.f.o. :: /add

Александр Фенстер

add@fenster.name fenster.name

Все записи

[755] 12 июня 2010; 0:45

Я впервые написал программу на «взрослом» языке программирования — Паскале — в восьмом классе (1995 год). До этого было только рисование в «Кенгурёнке» — тогдашнем аналоге Logo. Вероятно, будь у меня в то время компьютер дома — всё сложилось бы иначе, но всё произошло так, как произошло: граница чёткого понимания того, как работает ЭВМ, для меня до сих пор проходит где-то между компилируемыми языками высокого уровня и тем, во что они компилируются. Я только примерно представляю формат объектника и исполняемого файла и я ни разу в жизни не написал ни единой строчки кода ни на каком языке ассемблера (хотя читать листинги, конечно, приходилось по разным поводам достаточно). Я уже не говорю про устройство процессора (как там физически байтики бегают) — тёмный лес. Не то чтобы я не мог во всём этом разобраться — нет, просто не вижу в этом особого смысла.

Честно говоря, я по этому поводу ничуть не комплексую. Главное — осознавать, где для тебя заканчивается знакомое и начинается неизвестное и, в частности, уметь отказываться объяснять в подробностях студентам или кому-либо ещё то, что происходит где-то там, в глубине. Поводов сесть в лужу на занятии хватает всегда, лишние не нужны, поэтому фразу «настолько низкий уровень мне неинтересен» я произношу достаточно часто и совершенно её не стесняюсь.

К сожалению, мир развивается очень быстро. Чувствовать свою неполноценность от незнания команд x86 наизусть я перестал ещё на первых курсах, потому что из арсенала программистов внезапно пропала такая вещь, как ассемблерные вставки. С развитием веба на первый план вышли языки ещё более высокого уровня, что, само собой, подвинуло чуть вверх «границу понимания» у очередных начинающих. Сейчас от таких бывших начинающих всерьёз можно услышать предложения начинать обучение программированию с питона или руби (большую чушь, как мне кажется, сложно себе представить).

Я предполагаю, что через несколько лет в софтверные компании будут устраиваться программисты, которые будут считать, что работа со строками столь же проста, как работа с числами; что встроенные в язык регулярные выражения были всегда; что передавать данные от программы к программе, да и вообще хранить их нужно в формате XML; что для создания простой формочки, отсылающей данные на сервер, необходимо городить монстра с jQuery, ведь уже сейчас лишь малая часть «веб-программистов» понимает, что на самом деле делает браузер, и может самостоятельно «поговорить» с веб-сервером при помощи телнета. Год назад интёрн, делавший на каком-то там ASP веб-интерфейс к некоторой тулзе, задал мне вопрос, из которого явно следовало, что человек совершенно не понимает, как передаются данные между браузером и HTTP-сервером и какими способами можно сохранить данные между подключениями: язык и среда слишком хорошо скрывают такие низкоуровневые вещи.

Буду краток. Индустрия в опасности.

Нужно ли объяснять, почему я очень скептически отношусь к идее замены C на какой-либо другой язык на первом курсе?