Здравствуйте, SkyDance, Вы писали:
SD>Это и есть простота.
SD>Надо научиться думать асинхронно. Понять и принять это. Осознать, что именно так и работает наш мир. Мы, существа, actors, — просто посылаем сообщения. Наш мозг так работает. Он посылает сообщения. И он не блокируется в ожидании ответа, как это делает анти-паттерн "call".
Я бы поспорил. Я думаю, нам для того и нужны хитроумные инструменты, потому что наши мозги по-другому думают, чем компьютеру было бы удобно.
Хороший инструмент, как мне кажется, должен предоставлять человеку простые, ясные, непротиворечивые абстракции, скрывая сложность реализации у себя под капотом. Причем тот факт, что все внутри на самом деле не такое, как кажется, должен быть тщательно запрятан и никогда наружу не вылазить (а если вылез — это ошибка реализации, а не такая милая особенность).
И да, это стоит потери производительности по сравнению с "голым железом". Мне, как человеку, прошедшему путь от самодельного компьютера на 8080 (и это был не Радио-86РК с интерпретатором бейсика, шестнадцетиричные коды которого публиковались в журнале) до того, что мы имеем сейчас, близка и понятна боль от потерянных на высокоуровневые абстракции тактов процессора и килобайтов памяти. Но тем не менее, если мы не готовы переступить через эту боль, то мы потеряем контроль над собственным софтварием, уж больно сложным он станет, не помещающимся в голове.
В общем, я считаю, что ты изнасиловал себя. Вероятно, ты достаточно талантлив, и в этом изнасиловании себя изрядно преуспел. Но это не отменяет факта изнасилования
Подход Go, с его идеей, "заводите поток на каждый чих, компилятор разберется" мне представляется более человечным. Эти ребята, конечно, врут, что потоки Go ничего не стоят. Между прочим, они уже один раз проделывали такой трюк, когда в 60-е — 70-е считалось, что настоящие операционные системы пишут на настоящем языке программирования, на ассемблере, а они написали свой UNIX на C и ходили, всем рассказывали, что ихний Сишный компилятор почти и не уступает ассемблеру — и тоже врали, он уступал по скорости раза в два, а по памяти даже и не знаю. Но результат нам известен, сейчас все операционные системы пишутся на Си.
Go, кстати, чертовски сложный под капотом, видно, что настоящий хакер старой школы писал. Но наружу эта сложность практически не вылазит.
SD>Учили бы асинхронному мышлению.
Этому в цирковом училище учат, на отделении акробатики
SD>Учили бы разбираться в сути вещей... все было бы иначе.
А этому — в ПТУ
SD>Ладно, можно на этом закругляться. Все равно общение слегка бессмысленное. Мир идет по кругу, или по спирали, если смотреть сбоку, но суть от того не меняется. Все в итоге суета сует. Буду честным — сделать можно какой угодно софт, на какой угодно платформе, на любом языке.
Ну ОК, разговор все равно состоялся приятный.
SD>Дело лишь в профессионализме тех, кто будет этим заниматься, и в свойствах полученной системы. У меня хватает примерно увидеть то, на что способны несколько талантливых людей. И увидеть то, как на место десятка нанимается сотня, с результатами куда более печальными.
Вот это — чертова проблема. Я отношусь к тем людям, которые впятером могут гору свернуть, а потом аккуратно поставить ее на место, а жить приходится в мире, рассчитанном на массовое трудоустройство альтернативно умственно одаренных людей.
SD>И мы несем это в софт. Он тоже рождается, взрослеет, стареет, умирает. Порой долго и мучительно, см. КОБОЛ, порой с феерверками. Иногда оставляет восхитительное послевкусие, см. common lisp — я до сих пор считаю модель разработки CL куда более удобной, чем то, что происходит в С++, жаве и многом еще. Благодаря одному чертовски важному свойству, тому, что я зову instant signal, — когда сигнал от сделанного изменения виден немедленно. Это holy grail of development productivity. И он достижим на Erlang'е. Сложнее, но также и на Java, PHP, Python, еще языкам. На С++, хм, нуу... не знаю, может, стар я стал, но до того медленны нынче компиляторы, что не то что signal, а даже build, и тот не instant.
Этого я просто не понял, объясни, что ты имел ввиду. Про instant signal, а не про КОБОЛ.