Re[3]: Параллелизм
От: FDSC Россия consp11.github.io блог
Дата: 28.09.06 17:27
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Mamut, Вы писали:


M>>Ну и, мне кажется, будут облегчаться принципы и приемы разработки многопоточных приложений (возможно — в сторону чего-то, похожего на Эрланг).


VD>Эрэнгом мы займемся после интеграции Немерле в Студию. Точнее попробуем реализовать похожую на него идеологию параллелизма. Правда для гибридных языков наверно вместо процесса разумнее будет использовать идеологию активных объектов.


Простите, немого оффтопик. А что у него за за идеология параллелизма? (если есть нормальная ссылка, на русском или английском)

P.S. Если я правильно понимаю, идеология активных объектов подразумевает 1 поток на 1 объект. Это неудобно: фактически в этой идеологии перекрещиваются архитектура и совершенно технические особенности распараллеливания — это мешает. Лучше дать возможность определять зависимость по данным, может быть даже динамически. Т.е. что бы объекты сами определяли, что необходимо для выполнения их метода и автоматически ждали (и определяли) нужные события.
Re: какой язык ?
От: Андрей Коростелев Голландия http://www.korostelev.net/
Дата: 28.09.06 18:17
Оценка:
Здравствуйте, ValeraI, Вы писали:

VI>Не ради флейма, а ради выслушивания разных мнений

VI>Как Вы считаете, какой язык программирования будет самым востребованным через несколько лет?

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

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

Языковой инструментарий: новая жизнь языков предметной области, Мартин Фаулер

Впрочем, пока денежные монстры не уделят ЯОП должного внимания, рядовому программисту преждевременно дрожать за свое место.

На мой взгляд востребованность языков программирования через пару лет не потерпит каких-либо изменений. Однако сместится на требования, к этим языкам. Кроме DSL и метапропрограммирования, сейчас интерес представляет собой распараллеливание. Герб Саттер, например, активно работает для продвижения этих механизмов в стандарт С++. Вот тут можно посмотреть/послушать его лекцию на эту тему: The Free Lunch Is Over
-- Андрей
Re[5]: какой язык ?
От: Андрей Хропов Россия  
Дата: 28.09.06 19:54
Оценка:
Здравствуйте, ValeraI, Вы писали:

L>>P.S. А какой по-твоему самый восстребованый язык сейчас?

Java, конечно, что за вопрос.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: какой язык ?
От: Андрей Хропов Россия  
Дата: 28.09.06 19:54
Оценка:
Здравствуйте, ValeraI, Вы писали:

VI>Не ради флейма, а ради выслушивания разных мнений


VI>Как Вы считаете, какой язык программирования будет самым востребованным через несколько лет?

Гибридные функционально-ОО языки, с возможностями расширения (например, Nemerle,Scala).
Писал также здесь: Re[3]: Почему у Nemerle есть будущее :)
Автор: Андрей Хропов
Дата: 18.09.06

Ну и PHP (только на нем много не заработаешь).

Ну и я думаю Java никуда не денется, ибо на ней уже очень много написано.

VI>Как Вы считаете программисты знающие какой язык (языки) программирования будут самыми высокооплачевыеми через несколько лет?

От языка не зависит. Рядовые программисты вообще не высокооплачиваемые. Высокооплачиваемые — грамотные архитекторы, создатели алгоритмов
и специалисты в тех предметных областях, в которые идут активные инвестиции,(финансы, биотех) с навыками программирования.
Язык там уже второстепенную роль играет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: какой язык ?
От: bkat  
Дата: 28.09.06 21:23
Оценка: 34 (1) +3 :)
Здравствуйте, ValeraI, Вы писали:

VI>Не ради флейма, а ради выслушивания разных мнений


Ну конечно же не ради флейма

VI>Как Вы считаете, какой язык программирования будет самым востребованным через несколько лет?


Надеюсь такого не будет.
Re[4]: Параллелизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.09.06 22:50
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Простите, немого оффтопик. А что у него за за идеология параллелизма? (если есть нормальная ссылка, на русском или английском)


Поищи в Декларативном программировании.

FDS>P.S. Если я правильно понимаю, идеология активных объектов подразумевает 1 поток на 1 объект.


Не обязательно. Можно для каждого объекта создавать облегченный поток. Другими словами использовать кооперативный ражим. Эрланк вообще-то не ООЯ так что активный объект — это условно. Там это назвается не объектами, а процессами (хотя тут тоже будет путанница так как это виртуальные процессы и к процессам ОС они отношения не имеют). Между процессами обмен ведется только посредством сообщений. Память у каждого процесса иззалированная.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: какой язык ?
От: Дарней Россия  
Дата: 29.09.06 03:03
Оценка: +1
Здравствуйте, SergH, Вы писали:

SH>Вопрос примерно такой же оригинальный. А как оведут до ума голосовое управление и прочий искуственный интеллект, так и программировать на нём можно будет.


Ну тогда сразу появится SkyNet и устроит массовую охоту на людей. Так что надо не тратить зря время, и начинать изучать автомат Калашникова и взрывное дело прямо сейчас
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: какой язык ?
От: Кодёнок  
Дата: 29.09.06 04:00
Оценка:
Здравствуйте, ValeraI, Вы писали:

VI>Не ради флейма, а ради выслушивания разных мнений


VI>Как Вы считаете, какой язык программирования будет самым востребованным через несколько лет?

VI>Как Вы считаете программисты знающие какой язык (языки) программирования будут самыми высокооплачевыеми через несколько лет?

Думаю все-таки рано или поздно это станет Nemerle или его подобие (Microsoft же известна любовью для всего делать свою версию). Его несомненное достоинство в этом плане, это то что на нем можно писать традиционно — серии простых команд, как на C#, он не делает старые учебные программы бесполезными — можно взять книжку по Паскалю 90-х годов и словарь-памятку Pascal->Nemerle и изучать программирование как обычно, при этом в будущем будет огромный простор для развития в пределах этого же языка.
Re: какой язык ?
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.09.06 04:39
Оценка: +5 :))
Здравствуйте, ValeraI, Вы писали:
VI>Как Вы считаете, какой язык программирования будет самым востребованным через несколько лет?
Несколько разных.
VI>Как Вы считаете программисты знающие какой язык (языки) программирования будут самыми высокооплачевыеми через несколько лет?
Языки не будут высокооплачиваемыми. Высокооплачиваемыми бывают программисты. При этом стать высокооплачиваемым при знании какого-то одного языка шансов у программиста нет. Потому, что высокооплачиваемость определяется не столько знанием языка, сколько умением правильно понять задачу, достаточно точно оценить срок ее реализвции и реализовать с хорошим качеством. Как пишет Спольски, надо быть "smart and get things done".
К сожалению, одного этого недостаточно. Очень уж немногие компании/руководители берут на себя заботу о том, чтобы все "smart and get things done" программисты были высокооплачиваемыми. Так что нужно еще и умение себя продавать. Примерно как здесь.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: какой язык ?
От: Mirrorer  
Дата: 29.09.06 07:38
Оценка:
Здравствуйте, ValeraI, Вы писали:

L>>Ничего страшного, главное чтобы человек был хороший (с головой дружил), а все остальное придожится.


VI>Правильно приложится в том числе и правильный язык вот я о нём и спрашиваю


"Правильный язык" для решения какой задачи ?
... << RSDN@Home 1.1.4 PINK FLOYD — Shine On You Crazy Diamond (Part Two) >>
Re[3]: какой язык ?
От: Курилка Россия http://kirya.narod.ru/
Дата: 29.09.06 07:55
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Эрэнгом мы займемся после интеграции Немерле в Студию. Точнее попробуем реализовать похожую на него идеологию параллелизма. Правда для гибридных языков наверно вместо процесса разумнее будет использовать идеологию активных объектов.


В чём принципиальная разница? ООП-ориентация или как?
Re[4]: какой язык ?
От: Курилка Россия http://kirya.narod.ru/
Дата: 29.09.06 07:59
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, VladD2, Вы писали:


VD>>Эрэнгом мы займемся после интеграции Немерле в Студию. Точнее попробуем реализовать похожую на него идеологию параллелизма. Правда для гибридных языков наверно вместо процесса разумнее будет использовать идеологию активных объектов.

WH>Уже занялся... (Мне для местного IDL лексер и понадобился) Прототипчик сделаю на немерле, а потом буду портировать на С++ и жабу.

Для явовской машины уже есть реализация на Scala, о чём я писал тут.
Re[2]: какой язык ?
От: Курилка Россия http://kirya.narod.ru/
Дата: 29.09.06 08:03
Оценка: +5
Здравствуйте, Андрей Коростелев, Вы писали:

АК>Здравствуйте, ValeraI, Вы писали:


VI>>Не ради флейма, а ради выслушивания разных мнений

VI>>Как Вы считаете, какой язык программирования будет самым востребованным через несколько лет?

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


Знаешь, это очень напоминает лозунги когда начали делать языки 4-го уровня, тот же SQL или ABAP/4 у сапа — речь шла ну в точности об этом, что запросы и т.п. будут делать сами бухгалтера, а не программисты. Результат, думаю, ты знаешь
Re[3]: какой язык ?
От: gid_vvp  
Дата: 29.09.06 08:55
Оценка:
VD>Эрэнгом мы займемся после интеграции Немерле в Студию. Точнее попробуем реализовать похожую на него идеологию параллелизма. Правда для гибридных языков наверно вместо процесса разумнее будет использовать идеологию активных объектов.

оффтоп полный, но...

Я не давно реализовал шаблонную библиотеку на С++ которая позволяет любой объект превратить в живой. Имеется три сферы обитания:
1. Отдельный поток для каждого объекта класса.
2. Все объекты одного типа живут в общем потоке.
3. Все объекты живут в главном потоке приложения.

Скоро напишу комментарии человеческие в коде и выложу
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: какой язык ?
От: ValeraI Беларусь  
Дата: 29.09.06 10:44
Оценка:
VI>>Как Вы считаете программисты знающие какой язык (языки) программирования будут самыми высокооплачевыеми через несколько лет?
АХ>От языка не зависит. Рядовые программисты вообще не высокооплачиваемые. Высокооплачиваемые — грамотные архитекторы, создатели алгоритмов

Уточнение: меня интересуют относительные цифры
Re[4]: какой язык ?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.09.06 10:50
Оценка:
Здравствуйте, gid_vvp, Вы писали:

_>Я не давно реализовал шаблонную библиотеку на С++ которая позволяет любой объект превратить в живой. Имеется три сферы обитания:

_> 1. Отдельный поток для каждого объекта класса.
_> 2. Все объекты одного типа живут в общем потоке.
_> 3. Все объекты живут в главном потоке приложения.

_> Скоро напишу комментарии человеческие в коде и выложу


А мы уже
Автор: Евгений Охотников
Дата: 30.12.05


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: какой язык ?
От: gid_vvp  
Дата: 29.09.06 13:56
Оценка: 17 (1) :)
E>А мы уже
Автор: Евгений Охотников
Дата: 30.12.05


Вот так всегда... всё разворуют до нас

110 000 строк кода это конечно да...

у меня чуть по скромнее и задачи немного наверно не такие решаются.

2100 примерно

Моя библиотека позволяет любой класс сделать живым (активным) т.е. его объекты будут полностью жить в отведённой им облости обитания (отдельном потоке, общем потоке для одного типа объектов, общем потоке для нескольких типов объектов, в главном потоке приложения ) и все действия с ними в том числе создание и уничтожение будет происходить в их собственной среде обитания, причём с наружи этим живым объектом можно пользоваться точно так же как и его прототипом (объектом класса который был сделан живым с помощю бидлиотеки), за исключением того что функции члены можновызывать в двух (пока) режимах в синхронном и асинхронном. Т.е. при синхронном использовании он неотличим от своего прототипа, за исключеним того что все функции ваполняются в области где живёт данный объект.
Для того чтобы обычный класс превратить в живой нужно очень мало усилий:

это класс который мы хотим сделать живым
class A
{
public:

    A(int arg);
    A(int arg1, int arg2);
    
    int f1(std::string str);
    void f2(int arg);

}


а это он же но живой

class Active
{
public:

    Active(int arg)
        : m_Active(arg)
    {
    }
    
    Active(int arg1, int arg2)
        : m_Active(arg1, arg2)
    {
    }
    
    int f1(std::string str)
    {
        return m_Active.CallSync(&A::f1, str);//Cинхронный вызов
    }

    void f2(int arg)
    {
        m_Active.CallAsync(&A::f2, arg);//Асинхронный вызов
    }
    
private:
    AOTL::ActiveObjectProxy<A, AOTL::SharedThread<A, std::exception> > m_Active;// данный живой объект живёт в общем потоке
    //AOTL::ActiveObjectProxy<A> m_Active;// данный живой объект живёт в своём отдельном потоке
}


использование
A a(1);//конструктор выполняется прямо тут
Active aa(1);//конструктор выполняется в области обитания живого объекта

int i = a.f1("str");//выполняется прямо тут 
i = aa.f1("str");//выполняется в области обитания живого объекта, а сюда возвращается результат (этот поток ждёт пока не придёт результат)

a.f2(1);//выполняется прямо тут 
aa.f2(1);//выполняется асинхронно в области обитания живого объекта (этот поток не ждёт )
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: какой язык ?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.09.06 17:44
Оценка:
Здравствуйте, Курилка, Вы писали:

К>В чём принципиальная разница? ООП-ориентация или как?


В догмах. Точнее их отсуствии. Зачем изобретать дебильные вещи вроде словарей процесса (одна терминология чего стоит!), если можно просто позволить объявлять поля?

В Немерле нет догматов вроде "нельзя изменять перменные". Зато в нем есть классы и объекты. Так почему бы их не исползовать.

Данные можно передавать в виде вариантов и сериализуемых объектов. Синхронизацию обеспечить простой очередью. А легкие потоки организовать за самим. Будет ни хуже чем в Эрланге, но с полноценным компилтором и IDE. Кому хочется может писать чисто функциональные вещи не держа состояние в объекте. Кому не хочется может хранить состояние.

Конечно там много чего надо продумывать, и много проблем надо решать. Одна из главных пожалуй — это как отнимать управление у методов активного объекта? Ждать пока они завершат работу (чистый кооператив), или все же изобретать сложное переписывание кода а-ля продолжения (континюэшоны)? Но тем не менее все это решаемо.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: какой язык ?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.09.06 17:44
Оценка:
Здравствуйте, gid_vvp, Вы писали:

_>Я не давно реализовал шаблонную библиотеку на С++ которая позволяет любой объект превратить в живой. Имеется три сферы обитания:

_> 1. Отдельный поток для каждого объекта класса.
_> 2. Все объекты одного типа живут в общем потоке.
_> 3. Все объекты живут в главном потоке приложения.

Примерно об этом и идет речь, но ты не гарантируешь что из твоего объекта кто-то не заполучит прямой доступ к другим. А тут это гарантируется. Плюс у тебя наверняка не решена проблема отема управления у методов активных объектов и возобновления их исполнения с того же места.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: какой язык ?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.09.06 17:44
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

L>>>P.S. А какой по-твоему самый восстребованый язык сейчас?

АХ>Java, конечно, что за вопрос.

Не факт. Java-программистов сейчас переизбыток.

А вот хороший программист умеющий решать сложные задачи нужен всегда.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.