love5an: (Default)
[personal profile] love5an
Сейчас я опишу одну из главных причин по которым я недолюблюваю Ъ ф.п, и люблю CL.


Понимаете, рассуждая о развитии IT-индустрии, можно провести аналогию с классической промышленностью.

В истории классической промышленности были периоды когда всё делали единично и ручками. Я мог бы сравнить такие периоды с ранним развитием IT. Со временами расцвета UNIX или DOS. С языками вроде Си.

Потом были периоды рабовладельческого строя и раннего капитализма, когда любую задачу закидывали необходимым количеством человеков. Я бы сказал, что сейчас в IT-индустрии как раз такой подобный период, со всеми этими Java и PHP.

Но в итоге, во всех развитых странах промышленность пришла к автоматизации. И производит продукты лучше, быстрее и качественнее, чем когда-либо.

И IT-индустрию ждет когда-нибудь то же самое, то есть массовая автоматизация, программы которые пишут программы(понимаете, к чему я клоню, да?), и это неминуемо.

Я смотрю на языки функционального программирования, вроде хаскеля, как на, ну не знаю, алмазные лопаты. Выглядят красиво, конечно, прочностью обладают неслабой, но что они могут сделать против таких детищ автоматизированной промышленности, как отбойные молотки и экскаваторы?

Я не вижу, как ф.п. может помочь с если уж не уменьшением, то хотя бы со сдерживанием растущей сложности софта. Я вижу ф.п. как модный фетиш, и ничего более, и поэтому время от времени на него наезжаю, т.к. бессмысленные фетиши меня раздражают, т.к. бессмысленные фетиши это может быть круто в дизайне шмоток, например, но не в инженерии.

Кстати, скоро напишу на хабр статью о макросах и метапрограммировании в лиспе, как только продумаю её.

Date: 2011-11-01 07:52 pm (UTC)
From: [identity profile] thesz.livejournal.com
Вот Джоэль Спольски считает, что настоящего программиста от просто программиста отличает умение и понимание работы с указателями.

Может и с рекурсией то же самое?

Date: 2011-11-01 08:29 pm (UTC)
From: [identity profile] 9zloy.livejournal.com
Я бы рискнул предположить что да. Если человек не может написать функцию для подсчета факториала через рекурсию - то это крайне плохо.

Date: 2011-11-01 08:46 pm (UTC)
From: [identity profile] thesz.livejournal.com
Замечательно. Я рад, что мне удалось перевести плоскость дискуссии из "человек лучше воспринимает" в наличие или отсутствие конкретных способностей у конкретного человека.

Далее я выдвину тезис, что практически любые способности тренируются. Вы согласны?

Date: 2011-11-01 08:48 pm (UTC)
From: [identity profile] 9zloy.livejournal.com
Насчет любых, я бы не стал утверждать :) Но научить понимать рекурсию, думаю, можно любого. Ее сложность не связана с чем-то трасцендентным, просто мозги по дефолту не заточены ее воспринимать.

Date: 2011-11-01 10:13 pm (UTC)
From: [identity profile] thesz.livejournal.com
О, тренируемость человека поразительна.

И насчёт "мозгов по дефолту" я тоже не согласен.

Всего 30% из тех, кому нравится программирование (выбирают эту стезю), способны программировать.

http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html

Мозги "по дефолту" "не заточены" под программирование вообще. Так что не стоит так уж выделять рекурсию.

Date: 2011-11-02 11:00 am (UTC)
From: [identity profile] 9zloy.livejournal.com
>Всего 30% из тех, кому нравится программирование (выбирают эту стезю), способны программировать.

Это похоже на такие высказывания.
"30% из художников способны рисовать" или "30% из писателей способны писать".
Давайте уж определимся с терминологией. Что значит "программировать"?

Вот с чем я согласен, так это с тем, что только ~20% программистов умеют программировать классно. 80% могут программировать, но только посредственно.

Заточены ли мозги под математику? Или под физику?

Date: 2011-11-02 11:21 am (UTC)
From: [identity profile] thesz.livejournal.com
>Давайте уж определимся с терминологией. Что значит "программировать"?

Там по ссылке есть "определение". Можно взять "способны справиться с тестами по курсу программирования на 4 и выше".

Или вы не читали пост по ссылке и статью по ссылке из поста?

Если не читали, я, пожалуй, устраню себя из дискуссии.

Date: 2011-11-02 12:31 pm (UTC)
From: [identity profile] 9zloy.livejournal.com
Какое отношение студенты имеют к профессиональным программистам? Понятно, что не все из них станут программистами. Научить программировать на каком-то уровне можно любого. Как и научить рисовать или играть на пианино. Другой вопрос, как это будет получаться? Если нет слуха, видно будет не очень получаться. Но как-то будет.

Date: 2011-11-01 10:44 pm (UTC)
From: [identity profile] tomcatkins.livejournal.com
А скобки в лиспе не это ли самое и делают - представляют рекурсию в удобном мозгу виде?

К примеру, рекурсивное определение натурального числа (единица или единица плюс натуральное число) я так и представил себе - в виде единицы, инкрементально обрастающей скобками и новыми единицами.

Типа скормил вывод вводу, ушел спать. Десять негритят пошли купаться в море.

Date: 2011-11-02 08:16 am (UTC)
From: [identity profile] 9zloy.livejournal.com
Вполне возможно. По крайней мере в Scheme как-то рекурсию проще понимать, чем в Java

Profile

love5an: (Default)
Dmitry Ignatiev

June 2020

S M T W T F S
 123456
78910 111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 20th, 2025 12:11 pm
Powered by Dreamwidth Studios