powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / О применимость языков
25 сообщений из 296, страница 5 из 12
О применимость языков
    #39039417
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravНу так опишите на Яве функции для реализации RAII, например.
Ну ладно еще разок.
Пусть в java нет указателей ..., работы с битами ...
А в алгоритме эти операции должны присутствовать.
Как быть?
Достаточно перед описанием алгоритма привести набор функций который будет использоваться в алгоритме, а
на чем он был или будет реализован это уже "третий вопрос" ...
...
Рейтинг: 0 / 0
О применимость языков
    #39039418
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012petravНу так опишите на Яве функции для реализации RAII, например.
Ну ладно еще разок.
Пусть в java нет указателей ..., работы с битами ...
А в алгоритме эти операции должны присутствовать.
Как быть?
Достаточно перед описанием алгоритма привести набор функций который будет использоваться в алгоритме, а
на чем он был или будет реализован это уже "третий вопрос" ...
Что?! RAII — это не набор битов, это даже не прямой доступ к памяти.
...
Рейтинг: 0 / 0
О применимость языков
    #39039420
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravПожалуйста! Не надо банальностями сыпать, опишите, запрограммируйте!
О чем у нас речь.
Об описании алгоритмов или их реализации?
Если не ошибаюсь "стержневая" мысль topic об ограниченности языков как средства описания алгоритмов
/но не реализации/...
У вас все время идет упор на реализацию алгоритмов ...
Это как бы совсем другая плоскость обсуждения ...
...
Рейтинг: 0 / 0
О применимость языков
    #39039423
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav Что?! RAII — это не набор битов, это даже не прямой доступ к памяти.
М-да - "я пас".
...
Рейтинг: 0 / 0
О применимость языков
    #39039425
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012petravПожалуйста! Не надо банальностями сыпать, опишите, запрограммируйте!
О чем у нас речь.
Об описании алгоритмов или их реализации?
Если не ошибаюсь "стержневая" мысль topic об ограниченности языков как средства описания алгоритмов
/но не реализации/...
У вас все время идет упор на реализацию алгоритмов ...
Это как бы совсем другая плоскость обсуждения ...
Ну так опишите RAII в синтаксисе Явы. Хотя бы опишите. Можете написать прототипы функций и пример алгоритма в 5-6-ть строчек.
...
Рейтинг: 0 / 0
О применимость языков
    #39039430
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravКстати, поясните плиз что такое EQUIVALENCE в Фортране.
http://docs.oracle.com/cd/E19957-01/805-4939/6j4m0vn9b/index.html
...
Рейтинг: 0 / 0
О применимость языков
    #39039431
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
О применимость языков
    #39039432
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravЭто мой аргумент, что что бы описывать системные алгоритмы на Яве вам придется писать на JVM
для описания алгоритмов JVM не нужна.
Требуется описать распределение памяти?
byte[] memory= new byte[poolSize];
и вперёд - списки, битовые карты и т д
...
Рейтинг: 0 / 0
О применимость языков
    #39039433
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги. Кто из вас считает что т.н. Resource Acquisition Is Initialization (RAII) является
принципиально нереализуемой сущностью в НЕ-С/C++ языках.
...
Рейтинг: 0 / 0
О применимость языков
    #39039435
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилpetravЭто мой аргумент, что что бы описывать системные алгоритмы на Яве вам придется писать на JVM
для описания алгоритмов JVM не нужна.
Требуется описать распределение памяти?
byte[] memory= new byte[poolSize];
и вперёд - списки, битовые карты и т д
Окей.

А теперь размести в этом массиве полноценный Ява-объект, так что бы в этом массиве расположение объекта начиналось с 10-го, например, байта. Уточнение: никаких предположений о типах полей данных этого объекта делать не надо. Управление объектом по указателю должно быть полноценным (обычный синтаксис, вызов конструктора и т.д.).

Так же для этого объекта нужно вызвать деструктор в тот момент когда нам будет нужно.
...
Рейтинг: 0 / 0
О применимость языков
    #39039436
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зимарглpetrav,

РТФМ http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html
Это уже всё многократно обсуждалось. Это аналог using в C#. Полноценным RAII это не является ни там, ни там. Google it: "C# RAII", "Java RAII".
...
Рейтинг: 0 / 0
О применимость языков
    #39039438
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravА теперь размести в этом массиве полноценный Ява-объектэто не требуется - описываем алгоритмы распределения памяти.
и никакие Java объекты там размещать не требуется.

Неужели не доходит, что описание алгоритма не равно конкретной реализации?
...
Рейтинг: 0 / 0
О применимость языков
    #39039439
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКоллеги. Кто из вас считает что т.н. Resource Acquisition Is Initialization (RAII) является
принципиально нереализуемой сущностью в НЕ-С/C++ языках.
RAII даже в С не реализуется.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
void foo()
{
    int *p = malloc(100);

    // ...

    if ( myFunc() )
    {
        return; // Opps, memory leak, no RAII.
    }

    // ...

    free(p);
}



Но могу быть другие языки с поддержкой RAII.
...
Рейтинг: 0 / 0
О применимость языков
    #39039440
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилpetravА теперь размести в этом массиве полноценный Ява-объектэто не требуется - описываем алгоритмы распределения памяти.
и никакие Java объекты там размещать не требуется.

Неужели не доходит, что описание алгоритма не равно конкретной реализации?
А если мне по алгоритму нужно там разместить объект? Например описываю логику pool memory с разнородными объектами? Ну так можно описывать алгоритмы вообще без ООП (даже без эмуляции как на С).

Я про то и говорю, что в ограниченных языках ты многое не то, что реализовать не сможешь, даже описать не сможешь по человечески. Ты уже от ООП отказываешься. Машина Тьюринга вообще универсальна. =)
...
Рейтинг: 0 / 0
О применимость языков
    #39039442
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravТы уже от ООП отказываешься
есть масса мест , где ООП неуместно (ядро ОС в частности)

petravМашина Тьюринга вообще универсальна. =)
алгоритмы сортировки, поиска, распределения памяти, планирования процессов - вряд ли осмыслено в терминах машины Тьюринга
...
Рейтинг: 0 / 0
О применимость языков
    #39039443
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav, слушай дружище. Ну вот на сях написаны ядра операционок, DBMS, игры и некислая
туча прошивок для сетевого оборудования. Может этот т.н. RAII является "птичьим молоком"
и вобщем-то не нужен? Я вместо доказательства или опровержения нужности или необходимости
этой замечательной идеомы ссылаюсь на знакомую нам всем практику. Дэннис Ричи (царство
ему небесное) тоже видимо был обречён кодить свои Юниксы без RAII в рамках изестных
нам limitations.
...
Рейтинг: 0 / 0
О применимость языков
    #39039447
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилpetravТы уже от ООП отказываешься
есть масса мест , где ООП неуместно (ядро ОС в частности)
Ну ты и пойми, что описывать алгоритмы ядра ОС (даже просто описывать) на Яве еще более неуместно и никто этого не делает.

ИзопропилpetravМашина Тьюринга вообще универсальна. =)
алгоритмы сортировки, поиска, распределения памяти, планирования процессов - вряд ли осмыслено в терминах машины Тьюринга
Ну почему. Сколько там команд в машине Тьюринга? 5-6-10? Пишем макросы, постепенно доходим до ассемблера 0086 процессора, там уже С можно запустить, потом С++, потом реализация Явы. =) Попутно реализовываем на С/С++ все системные алгоритмы, оптимизирующие алгоритмы системные. А там уже и Винду можно запускать. =)
...
Рейтинг: 0 / 0
О применимость языков
    #39039448
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravНу почему. Сколько там команд в машине Тьюринга? 5-6-10? Пишем макросы, постепенно доходим до ассемблера 0086 процессора, там уже С можно запустить, потом С++, потом реализация Явы. =) Попутно реализовываем на С/С++ все системные алгоритмы, оптимизирующие алгоритмы системные. А там уже и Винду можно запускать. =)
я как нибудь Pascal и Java обойдусь. для описания.

а на чём кодировать - вопрос отдельный
...
Рейтинг: 0 / 0
О применимость языков
    #39039449
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravНу почему. Сколько там команд в машине Тьюринга? 5-6-10? Пишем макросы, постепенно доходим до ассемблера 0086 процессора, там уже С можно запустить, потом С++, потом реализация Явы. =) Попутно реализовываем на С/С++ все системные алгоритмы, оптимизирующие алгоритмы системные. А там уже и Винду можно запускать. =)
google.ru => ограниченности языков как средства описания алгоритмов

Вот например интересная статья
РАЗРАБОТКА ГРАФИЧЕСКОГО ФОРМАЛИЗМА ДЛЯ ОПИСАНИЯ АЛГОРИТМОВ В ПРОЦЕСС-ОРИЕНТИРОВАННОМ СТИЛЕ http://www.nsu.ru/xmlui/bitstream/handle/nsu/553/04.pdf
...
Рейтинг: 0 / 0
О применимость языков
    #39039450
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav Сколько там команд в машине Тьюринга? 5-6-10? Ты даже этого не знаешь?
Эх ты, тролль недоучка...
...
Рейтинг: 0 / 0
О применимость языков
    #39039453
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonpetrav, слушай дружище. Ну вот на сях написаны ядра операционок, DBMS, игры и некислая
туча прошивок для сетевого оборудования. Может этот т.н. RAII является "птичьим молоком"
и вобщем-то не нужен? Я вместо доказательства или опровержения нужности или необходимости
этой замечательной идеомы ссылаюсь на знакомую нам всем практику. Дэннис Ричи (царство
ему небесное) тоже видимо был обречён кодить свои Юниксы без RAII в рамках изестных
нам limitations.
Жить можно и без RAII, но он кардинально повышает качество кода на С++. Ричи писал на С без RAII, да.

Если отказываться, тогда придется в С++ отказаться от исключений. Либо не отказываться, но тогда код на С++ станет оооочень сложно писать — почти невозможно. Каждый вызов функции придется обрамлять try/catch, вручную следить за инициализированными локальными переменными (с захватом ресурсов). И много другое.

Можно и от деструкторов отказаться. Ведь RAII — это прямое следствие детерминированного вызова деструкторов.

Можно поступить как в Яве: отказаться от полноценного RAII и добавить сборщик мусора. Но тогда придется отказаться от производительности С++.
...
Рейтинг: 0 / 0
О применимость языков
    #39039455
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyClass *p = new MyClass();

какой такой RAII ?
...
Рейтинг: 0 / 0
О применимость языков
    #39039456
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlpetrav Сколько там команд в машине Тьюринга? 5-6-10? Ты даже этого не знаешь?
Эх ты, тролль недоучка...
А ты всё еще хамишь?

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

Так что извини.
...
Рейтинг: 0 / 0
О применимость языков
    #39039458
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилMyClass *p = new MyClass();

какой такой RAII ?
Такой:

Код: plaintext
1.
2.
std::unique_ptr<MyClass> p( new MyClass() );
p->myMethod();
...
Рейтинг: 0 / 0
О применимость языков
    #39039459
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravА теперь размести в этом массиве полноценный Ява-объект, так что бы в этом массиве расположение объекта начиналось с 10-го, например, байта. Уточнение: никаких предположений о типах полей данных этого объекта делать не надо. Управление объектом по указателю должно быть полноценным (обычный синтаксис, вызов конструктора и т.д.).

Так же для этого объекта нужно вызвать деструктор в тот момент когда нам будет нужно.
Чел я в ответ на твои посты раз 5 берусь что-то писать. Потом откладываю. Потом снова начинаю писать.
Вобщем мы как-то слишком ходим по кругу. Давай для начала еще немного прояснений.
Прояснение первое. В Java объекты аллоцируются по адресам кратным некому числу. Это
зависит от модели памяти. Обычно чем крупнее Xmx тем больше гранула.
Поэтому располагать объект с "10-го" байта нет возможности. Нет возможности фиксировать
АДРЕСА в принципе. JMM предполагает некую ротацию объектов. Это разумная плата за
плюшки от JMM. И к этому пришли путём эволюции. Тоесть путём переосмысления
всего исторического наследия информационной эпохи начиная от LISP-моделей.
Модель памяти которая использует GC будет использоваться всё больше и
больше. Это вопрос времени. Новое время диктует нам свои условия.
Больше КПД разработки. Больше управляемости.

Второе проясннение . Идя тебе навстречу. И решая некоторые задачи
алгоритмизации я могу выделить отдельную область памяти как вектор байт
(new byte[...]) и рассматривать ее как область для сериализации объектов.
Строя подобные "слои" персистентности я получаю в некую ПСЕВДО-адресную
арифметику. Разумеется мне придётся реализовывать некий менеджмент
по учоту свободной памяти. Но в ПРИНЦИПЕ это решаемо. Я уж не знаю
для каких тебе задач это нужно но это в Java РЕШАЕМО.

Фраза "никаких предположений о типах полей данных этого объекта делать не надо" - требует
пояснений или уточнений. Лучше в качестве примера.
...
Рейтинг: 0 / 0
25 сообщений из 296, страница 5 из 12
Форумы / Программирование [игнор отключен] [закрыт для гостей] / О применимость языков
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]