![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сейчас я опишу одну из главных причин по которым я недолюблюваю Ъ ф.п, и люблю CL.
Понимаете, рассуждая о развитии IT-индустрии, можно провести аналогию с классической промышленностью.
В истории классической промышленности были периоды когда всё делали единично и ручками. Я мог бы сравнить такие периоды с ранним развитием IT. Со временами расцвета UNIX или DOS. С языками вроде Си.
Потом были периоды рабовладельческого строя и раннего капитализма, когда любую задачу закидывали необходимым количеством человеков. Я бы сказал, что сейчас в IT-индустрии как раз такой подобный период, со всеми этими Java и PHP.
Но в итоге, во всех развитых странах промышленность пришла к автоматизации. И производит продукты лучше, быстрее и качественнее, чем когда-либо.
И IT-индустрию ждет когда-нибудь то же самое, то есть массовая автоматизация, программы которые пишут программы(понимаете, к чему я клоню, да?), и это неминуемо.
Я смотрю на языки функционального программирования, вроде хаскеля, как на, ну не знаю, алмазные лопаты. Выглядят красиво, конечно, прочностью обладают неслабой, но что они могут сделать против таких детищ автоматизированной промышленности, как отбойные молотки и экскаваторы?
Я не вижу, как ф.п. может помочь с если уж не уменьшением, то хотя бы со сдерживанием растущей сложности софта. Я вижу ф.п. как модный фетиш, и ничего более, и поэтому время от времени на него наезжаю, т.к. бессмысленные фетиши меня раздражают, т.к. бессмысленные фетиши это может быть круто в дизайне шмоток, например, но не в инженерии.
Кстати, скоро напишу на хабр статью о макросах и метапрограммировании в лиспе, как только продумаю её.
Понимаете, рассуждая о развитии IT-индустрии, можно провести аналогию с классической промышленностью.
В истории классической промышленности были периоды когда всё делали единично и ручками. Я мог бы сравнить такие периоды с ранним развитием IT. Со временами расцвета UNIX или DOS. С языками вроде Си.
Потом были периоды рабовладельческого строя и раннего капитализма, когда любую задачу закидывали необходимым количеством человеков. Я бы сказал, что сейчас в IT-индустрии как раз такой подобный период, со всеми этими Java и PHP.
Но в итоге, во всех развитых странах промышленность пришла к автоматизации. И производит продукты лучше, быстрее и качественнее, чем когда-либо.
И IT-индустрию ждет когда-нибудь то же самое, то есть массовая автоматизация, программы которые пишут программы(понимаете, к чему я клоню, да?), и это неминуемо.
Я смотрю на языки функционального программирования, вроде хаскеля, как на, ну не знаю, алмазные лопаты. Выглядят красиво, конечно, прочностью обладают неслабой, но что они могут сделать против таких детищ автоматизированной промышленности, как отбойные молотки и экскаваторы?
Я не вижу, как ф.п. может помочь с если уж не уменьшением, то хотя бы со сдерживанием растущей сложности софта. Я вижу ф.п. как модный фетиш, и ничего более, и поэтому время от времени на него наезжаю, т.к. бессмысленные фетиши меня раздражают, т.к. бессмысленные фетиши это может быть круто в дизайне шмоток, например, но не в инженерии.
Кстати, скоро напишу на хабр статью о макросах и метапрограммировании в лиспе, как только продумаю её.
no subject
Date: 2011-11-01 12:39 pm (UTC)no subject
Date: 2011-11-01 01:06 pm (UTC)Но является ли написание кода R&D? Нет, это как раз ближе именно к строительству. Я в основном как раз об этом и говорю.
Это дело автоматизированно на текущий момент, очень и очень слабо. Хотя и имеются некоторые подвижки(Да, компиляторы ЯВУ это инструмент автоматизации. Или, например, современные IDE - рефакторинг, автодополнение, статический анализ и т.п. Кстати там вот выше сказали что хаскель вносит некоторую автоматизацию в разработку, по сравнению с java - может быть, но всё это нивелируется мощными инструментами, доступными java-разработчикам).
Но это все мелочи, по сравнению с тем, как автоматизированы современные конвейеры.
У меня один из основных источников вдохновения, в плане будущего проекта, и вообще будущей области деятельности в целом, это DMS Software Reengineering Toolkit
http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html
Вот, см. например видео с Google Tech Talk о ней, и вообще о компании, которая ее производит:
http://www.youtube.com/watch?v=C-_dw9iEzhA
no subject
Date: 2011-11-01 02:06 pm (UTC)Вот же беда-то. Основной проблемой в строительстве является экспертиза перед строительством и даже перед контрактом. Сейсмическая обстановка, экология, погодные условия, почвы, воды, грунты, коммуникации, инфраструктура и тп.
А вот после этого уже идёт строительство. Которое видно хорошо и издалека и в котором нет особых проблем. Как построение GUI поверх библиотеки.
Экспертизу же не видно. Но именно она очень близка к R&D. И что интересно, она каждый раз новая, как и программный продукт.
PS
Я могу сравнивать скорость разработки на Java и Haskell. Как-нибудь расскажу.
Вкратце, автоматизированные средства рефакторинга не помогают.
no subject
Date: 2011-11-01 04:26 pm (UTC)Было бы интересно, наверное.
no subject
Date: 2011-11-01 07:38 pm (UTC)Работа программиста - эта работа мозгом, а не руками.
no subject
Date: 2011-11-01 07:50 pm (UTC)Не могу не присоединиться. Сам пользуюсь nc/vc/Far/mc с начала карьеры, как заметил, что среды типа TurboC не ускоряют мою работу.