OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 17 Август, 2018 12:10

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Пятница, 20 Апрель, 2018 13:57 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
> То, какие-то меры предосторожности, там выполняются.
Ну так и горячая замена в программных системах всегда проектируется с какими-то мерами предосторожности. Естественно это предположить. Как иначе? Возможно, у большинства людей возникает представление, что человек лезет hex editor-ом и байтики в памяти меняет. Конечно же, это не так, меры безопасности предусмотрены :) Лисп делали грамотные инженеры, он используется в достаточно серьёзных местах. Можно скопировать эти решения или развить их. И конечно же, риск всегда есть, несмотря на меры предосторожности. Например, безопаснее и проще ремонтировать мост, если по нему полностью закрыть движение. Но почему-то одну полосу на практике часто оставляют.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 14:05 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 696
Откуда: Казань
Я рад, что обсуждение идет в конструктивном русле.

Что мы имеем в итоге:
1) Русский язык в языке программирования.
2) Горячая замена кода.
Пока ничего революционного нет.

Как обогнать по скорости Си++?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 14:23 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
Никак. Ни JS, ни Python, ни Golang, ни Java, ни Kotlin не обогнали C++. Т.е. обязательность этой задачи не обоснована. Горячая замена - это революция в производительности труда, и её ещё ни в одном из этих языков нет, в том виде, в котором она есть в лиспе. Я вижу, я наткнулся на ещё один эшелон вашей обороны :) Польза есть, но революции нет, поэтому заниматься нет смысла. Для вас смысла нет, для меня есть. Думаю, можно расходиться :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 14:46 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 696
Откуда: Казань
Да, никто в общем то не обороняется. Нечего оборонять. К этому нужно подходить как к разговору философов ("В споре рождается истина" фраза приписывается Сократу).

Ок, если вкратце, то имеем:
1) Русский язык в языке программирования.
2) Горячая замена кода.
3) Скорость не важна.
4) Повышение производительности труда.

Про повышение производительности труда. За счет чего она достигается? Есть ли какие-нибудь исследования на этот счет, которые доказывают, что импользование Лиспа повышает производительность труда программиста в X раз?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 15:33 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
> 3) Скорость не важна.
У вас "не надо обогнать С++" превратилось в "скорость неважна". Я этого не говорил и не имел в виду.

> За счет чего она достигается? Есть ли какие-нибудь исследования на этот счет, которые доказывают, что импользование Лиспа повышает производительность труда программиста в X раз?

В этом и состоит новизна, что она выглядит непонятной. Если бы это было всем очевидно, то и не было бы предмета инновации - а была бы общая практика. На этом давайте и закончим. Никакая истина тут не родится, просто я потеряю время. Я вам сижу разжёвываю, привёл массу примеров, а вы мне пока ничем не помогли. В чём смысл мне этим заниматься? Анонсируйте, чем вы можете мне быть полезны. А пока я займусь своей работой, которая меня кормит. Яром - может быть, в другой раз, если будет время.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 15:35 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
И вообще, горячая замена стоит очень и очень дорого. Это реальное и мощное конкурентное преимущество. Мне вообще не слишком интересно объяснять это всем в интернете. Я не с большой охотой пишу об этом в интернете. Обычно отправляю презентацию в организации, которые потенциально могут мне помочь. Напишите мне письмо на эл. почту, пригласите меня на встречу и тогда поговорим более детально.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 15:42 

Зарегистрирован: Вторник, 27 Февраль, 2018 09:18
Сообщения: 53
budden писал(а):
И вообще, горячая замена стоит очень и очень дорого.

Раскройте мысль. Стоит в смысле сложности реализации этой фичи в языке? В смысле "программисту будет сложно использовать эту фичу"?

Вот канонический пример того, как (не)работает горячая замена в Erlang: https://levgem.livejournal.com/430319.html


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 15:58 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 696
Откуда: Казань
Владимир Ситников писал(а):
budden писал(а):
И вообще, горячая замена стоит очень и очень дорого.

Раскройте мысль. Стоит в смысле сложности реализации этой фичи в языке? В смысле "программисту будет сложно использовать эту фичу"?

Я думаю, что имеется в виду, что это очень большое конкурентное преимущество.

Вообще, архитектура Фон-Неймана позволяет программе модифицировать свой код. И раньше, когда ресурсы компьютера были очень ограничены, программисты писали программу так, что она могла модифицировать свой код или по крайней мере использовать пространство занятое кодом программы, которое уже отработало, под данные, которые требуется сохранить. Фраза про "спагетти код" примерно из тех же времен. Затем от такого подхода отказались. И обычно программе запрещается менять собственный код, для избежания больших проблем.

С другой стороны, динамическая загрузка, существует много где. Пример с *.dll в windows. Black Box также позволяет выгружать модули и загружать новые версии модулей. Я сам пользовался этой возможностью Black Box во время участия в конкурсе Яндекса. Где надо было сначала загрузить порядка 500 МБ данных о пробках в городе Москве, а затем на их основе предсказывать новые пробки. Чтобы не считывать эти данные каждый раз из файла, одни модули Black Box сначала загружали данные, а другой модуль, который анализировал данные можно было выгрузить и загрузить снова.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 16:17 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 696
Откуда: Казань
Владимир Ситников писал(а):
Вот канонический пример того, как (не)работает горячая замена в Erlang: https://levgem.livejournal.com/430319.html

В этой статье есть очень хорошая фраза:
Цитата:
Одна из важнейших проблем нашей индустрии — борьба со сложностью. Как сделать вещи попроще, оставив их удобными.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 16:57 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 696
Откуда: Казань
Навеяно Эрлангом, кстати, интересная проблема - это горячая замена кода в многопоточной или многопроцессной среде. Когда один и тот же код выполняется в нескольких потоках. И если этот код обновился, то при новых запусках, будет запущен новый код, но могли остаться еще потоки, которые продолжают выполнять старый код. Что произойдет, если они не обнаружат старый код?
Или как в Эрланге предполагается в рамках программы поддерживать версию и нового и старого кода. А если приложение очень долгоживущее, то таких версий может быть очень много, пусть будет 100. И как - эти разные версии все будут уживаться друг с другом?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Апрель, 2018 22:47 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 215
Цитата:
...и еще наши ARMv7...

"Наши"...
Даже 35-летней давности 1816ВМ3 (я не попутал?) с архитектурой PDP11 были более наши (;

Цитата:
Надо было там на мероприятии познакомиться с кем-то, потом внедриться на какое-то предприятие на должность связанную с ПО...

Первый отдел, ох, "любит" внедряющихся...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Апрель, 2018 00:22 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
А есть истинно "наши"-то? Что посоветуете из незасекреченного? Миландр сказал, что у них есть полностью свои 8-разрядные.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Апрель, 2018 06:52 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 468
Artyemov писал(а):
"Наши"...
Даже 35-летней давности 1816ВМ3 (я не попутал?) с архитектурой PDP11 были более наши (;
Такую микруху не помню.
Но. PDP-11 у нас были наши, хотя бы уже потому, что у DEC на тот период не было микропроцессора, они собирали микроэвм pdp-11 на рассыпухе. Так что внутри в это были именно что наша разработка, более того, был микропроцессор с конвейером на две команды, в современных терминах суперскаляр).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Апрель, 2018 20:15 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 215
budden писал(а):
А есть истинно "наши"-то? Что посоветуете из незасекреченного? Миландр сказал, что у них есть полностью свои 8-разрядные.

Архитектур и "живьём" несекретного, распространённого, "истинно нашего" - не знаю; подозреваю, что нет.
"Мульти-Клет" - вроде наше; насколько секретно - не в курсе, а то, что экзотика (в некоторых аспектах занятная), к гадалке не ходить.

ЯВУ для 8-биток делать? Не серьёзно.
Вирту за то, что в середине 80-х заложился на 32 разряда, а они были, ой, не дешёвые, как говорится, "респект и уважуха".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Апрель, 2018 23:56 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 215
Kemet писал(а):
Artyemov писал(а):
"Наши"...
Даже 35-летней давности 1816ВМ3 (я не попутал?) с архитектурой PDP11 были более наши (;
Такую микруху не помню.
Но. PDP-11 у нас были наши, хотя бы уже потому, что у DEC на тот период не было микропроцессора, они собирали микроэвм pdp-11 на рассыпухе. Так что внутри в это были именно что наша разработка, более того, был микропроцессор с конвейером на две команды, в современных терминах суперскаляр).

Всё правильно. Я ошибся: 1801ВМ3 или 1831ВМ1 надо было назвать. Степень сложности процов того времени позволяла в рамках архитектуры "пошаманить".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 22 Апрель, 2018 11:10 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 468
Artyemov писал(а):
...

Наши сделали одно-кристальную эвм вместо рассыпухи, ещё раз, это были наши микропроцессоры, они повторяли проверенную временем архитектуру на новом уровне, в отличии от современных "наших" микропроцессоров, в котором наше там в основном попил бабла ну и чуток работы по размещению готовых элементов.
Были, конечно и полные копии более поздних микропроцессоров, но это уже другая тема.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 22 Апрель, 2018 13:17 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
Так, господа, я решил закрыть свой проект и обращение тоже удалил. Всем спасибо за внимание. Если есть вопросы - сначала почитайте "программирование-по-русски.рф" - там есть изменения.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB