|
|
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravНу так опишите на Яве функции для реализации RAII, например. Ну ладно еще разок. Пусть в java нет указателей ..., работы с битами ... А в алгоритме эти операции должны присутствовать. Как быть? Достаточно перед описанием алгоритма привести набор функций который будет использоваться в алгоритме, а на чем он был или будет реализован это уже "третий вопрос" ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 21:49 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Владимир2012petravНу так опишите на Яве функции для реализации RAII, например. Ну ладно еще разок. Пусть в java нет указателей ..., работы с битами ... А в алгоритме эти операции должны присутствовать. Как быть? Достаточно перед описанием алгоритма привести набор функций который будет использоваться в алгоритме, а на чем он был или будет реализован это уже "третий вопрос" ... Что?! RAII — это не набор битов, это даже не прямой доступ к памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 21:55 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravПожалуйста! Не надо банальностями сыпать, опишите, запрограммируйте! О чем у нас речь. Об описании алгоритмов или их реализации? Если не ошибаюсь "стержневая" мысль topic об ограниченности языков как средства описания алгоритмов /но не реализации/... У вас все время идет упор на реализацию алгоритмов ... Это как бы совсем другая плоскость обсуждения ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 22:00 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav Что?! RAII — это не набор битов, это даже не прямой доступ к памяти. М-да - "я пас". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 22:02 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Владимир2012petravПожалуйста! Не надо банальностями сыпать, опишите, запрограммируйте! О чем у нас речь. Об описании алгоритмов или их реализации? Если не ошибаюсь "стержневая" мысль topic об ограниченности языков как средства описания алгоритмов /но не реализации/... У вас все время идет упор на реализацию алгоритмов ... Это как бы совсем другая плоскость обсуждения ... Ну так опишите RAII в синтаксисе Явы. Хотя бы опишите. Можете написать прототипы функций и пример алгоритма в 5-6-ть строчек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 22:07 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravКстати, поясните плиз что такое EQUIVALENCE в Фортране. http://docs.oracle.com/cd/E19957-01/805-4939/6j4m0vn9b/index.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 22:32 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravЭто мой аргумент, что что бы описывать системные алгоритмы на Яве вам придется писать на JVM для описания алгоритмов JVM не нужна. Требуется описать распределение памяти? byte[] memory= new byte[poolSize]; и вперёд - списки, битовые карты и т д ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 22:38 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Коллеги. Кто из вас считает что т.н. Resource Acquisition Is Initialization (RAII) является принципиально нереализуемой сущностью в НЕ-С/C++ языках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 22:49 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ИзопропилpetravЭто мой аргумент, что что бы описывать системные алгоритмы на Яве вам придется писать на JVM для описания алгоритмов JVM не нужна. Требуется описать распределение памяти? byte[] memory= new byte[poolSize]; и вперёд - списки, битовые карты и т д Окей. А теперь размести в этом массиве полноценный Ява-объект, так что бы в этом массиве расположение объекта начиналось с 10-го, например, байта. Уточнение: никаких предположений о типах полей данных этого объекта делать не надо. Управление объектом по указателю должно быть полноценным (обычный синтаксис, вызов конструктора и т.д.). Так же для этого объекта нужно вызвать деструктор в тот момент когда нам будет нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 22:56 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Зимарглpetrav, РТФМ http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html Это уже всё многократно обсуждалось. Это аналог using в C#. Полноценным RAII это не является ни там, ни там. Google it: "C# RAII", "Java RAII". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:00 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravА теперь размести в этом массиве полноценный Ява-объектэто не требуется - описываем алгоритмы распределения памяти. и никакие Java объекты там размещать не требуется. Неужели не доходит, что описание алгоритма не равно конкретной реализации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:02 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonКоллеги. Кто из вас считает что т.н. Resource Acquisition Is Initialization (RAII) является принципиально нереализуемой сущностью в НЕ-С/C++ языках. RAII даже в С не реализуется. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Но могу быть другие языки с поддержкой RAII. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:04 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ИзопропилpetravА теперь размести в этом массиве полноценный Ява-объектэто не требуется - описываем алгоритмы распределения памяти. и никакие Java объекты там размещать не требуется. Неужели не доходит, что описание алгоритма не равно конкретной реализации? А если мне по алгоритму нужно там разместить объект? Например описываю логику pool memory с разнородными объектами? Ну так можно описывать алгоритмы вообще без ООП (даже без эмуляции как на С). Я про то и говорю, что в ограниченных языках ты многое не то, что реализовать не сможешь, даже описать не сможешь по человечески. Ты уже от ООП отказываешься. Машина Тьюринга вообще универсальна. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:11 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravТы уже от ООП отказываешься есть масса мест , где ООП неуместно (ядро ОС в частности) petravМашина Тьюринга вообще универсальна. =) алгоритмы сортировки, поиска, распределения памяти, планирования процессов - вряд ли осмыслено в терминах машины Тьюринга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:21 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav, слушай дружище. Ну вот на сях написаны ядра операционок, DBMS, игры и некислая туча прошивок для сетевого оборудования. Может этот т.н. RAII является "птичьим молоком" и вобщем-то не нужен? Я вместо доказательства или опровержения нужности или необходимости этой замечательной идеомы ссылаюсь на знакомую нам всем практику. Дэннис Ричи (царство ему небесное) тоже видимо был обречён кодить свои Юниксы без RAII в рамках изестных нам limitations. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:27 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ИзопропилpetravТы уже от ООП отказываешься есть масса мест , где ООП неуместно (ядро ОС в частности) Ну ты и пойми, что описывать алгоритмы ядра ОС (даже просто описывать) на Яве еще более неуместно и никто этого не делает. ИзопропилpetravМашина Тьюринга вообще универсальна. =) алгоритмы сортировки, поиска, распределения памяти, планирования процессов - вряд ли осмыслено в терминах машины Тьюринга Ну почему. Сколько там команд в машине Тьюринга? 5-6-10? Пишем макросы, постепенно доходим до ассемблера 0086 процессора, там уже С можно запустить, потом С++, потом реализация Явы. =) Попутно реализовываем на С/С++ все системные алгоритмы, оптимизирующие алгоритмы системные. А там уже и Винду можно запускать. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:32 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravНу почему. Сколько там команд в машине Тьюринга? 5-6-10? Пишем макросы, постепенно доходим до ассемблера 0086 процессора, там уже С можно запустить, потом С++, потом реализация Явы. =) Попутно реализовываем на С/С++ все системные алгоритмы, оптимизирующие алгоритмы системные. А там уже и Винду можно запускать. =) я как нибудь Pascal и Java обойдусь. для описания. а на чём кодировать - вопрос отдельный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:35 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravНу почему. Сколько там команд в машине Тьюринга? 5-6-10? Пишем макросы, постепенно доходим до ассемблера 0086 процессора, там уже С можно запустить, потом С++, потом реализация Явы. =) Попутно реализовываем на С/С++ все системные алгоритмы, оптимизирующие алгоритмы системные. А там уже и Винду можно запускать. =) google.ru => ограниченности языков как средства описания алгоритмов Вот например интересная статья РАЗРАБОТКА ГРАФИЧЕСКОГО ФОРМАЛИЗМА ДЛЯ ОПИСАНИЯ АЛГОРИТМОВ В ПРОЦЕСС-ОРИЕНТИРОВАННОМ СТИЛЕ http://www.nsu.ru/xmlui/bitstream/handle/nsu/553/04.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:39 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav Сколько там команд в машине Тьюринга? 5-6-10? Ты даже этого не знаешь? Эх ты, тролль недоучка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:44 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonpetrav, слушай дружище. Ну вот на сях написаны ядра операционок, DBMS, игры и некислая туча прошивок для сетевого оборудования. Может этот т.н. RAII является "птичьим молоком" и вобщем-то не нужен? Я вместо доказательства или опровержения нужности или необходимости этой замечательной идеомы ссылаюсь на знакомую нам всем практику. Дэннис Ричи (царство ему небесное) тоже видимо был обречён кодить свои Юниксы без RAII в рамках изестных нам limitations. Жить можно и без RAII, но он кардинально повышает качество кода на С++. Ричи писал на С без RAII, да. Если отказываться, тогда придется в С++ отказаться от исключений. Либо не отказываться, но тогда код на С++ станет оооочень сложно писать — почти невозможно. Каждый вызов функции придется обрамлять try/catch, вручную следить за инициализированными локальными переменными (с захватом ресурсов). И много другое. Можно и от деструкторов отказаться. Ведь RAII — это прямое следствие детерминированного вызова деструкторов. Можно поступить как в Яве: отказаться от полноценного RAII и добавить сборщик мусора. Но тогда придется отказаться от производительности С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:46 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
MyClass *p = new MyClass(); какой такой RAII ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:50 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
White Owlpetrav Сколько там команд в машине Тьюринга? 5-6-10? Ты даже этого не знаешь? Эх ты, тролль недоучка... А ты всё еще хамишь? Я эту машину изучал в школе. Лет 20-ть назад. Помню, что бесконечная лента с ячейками чисел, тележка двигается вправо и влево, считывает, записывает, обменивает данные. Как реализовываются условные действия - не помню. Так что извини. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:50 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ИзопропилMyClass *p = new MyClass(); какой такой RAII ? Такой: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:52 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravА теперь размести в этом массиве полноценный Ява-объект, так что бы в этом массиве расположение объекта начиналось с 10-го, например, байта. Уточнение: никаких предположений о типах полей данных этого объекта делать не надо. Управление объектом по указателю должно быть полноценным (обычный синтаксис, вызов конструктора и т.д.). Так же для этого объекта нужно вызвать деструктор в тот момент когда нам будет нужно. Чел я в ответ на твои посты раз 5 берусь что-то писать. Потом откладываю. Потом снова начинаю писать. Вобщем мы как-то слишком ходим по кругу. Давай для начала еще немного прояснений. Прояснение первое. В Java объекты аллоцируются по адресам кратным некому числу. Это зависит от модели памяти. Обычно чем крупнее Xmx тем больше гранула. Поэтому располагать объект с "10-го" байта нет возможности. Нет возможности фиксировать АДРЕСА в принципе. JMM предполагает некую ротацию объектов. Это разумная плата за плюшки от JMM. И к этому пришли путём эволюции. Тоесть путём переосмысления всего исторического наследия информационной эпохи начиная от LISP-моделей. Модель памяти которая использует GC будет использоваться всё больше и больше. Это вопрос времени. Новое время диктует нам свои условия. Больше КПД разработки. Больше управляемости. Второе проясннение . Идя тебе навстречу. И решая некоторые задачи алгоритмизации я могу выделить отдельную область памяти как вектор байт (new byte[...]) и рассматривать ее как область для сериализации объектов. Строя подобные "слои" персистентности я получаю в некую ПСЕВДО-адресную арифметику. Разумеется мне придётся реализовывать некий менеджмент по учоту свободной памяти. Но в ПРИНЦИПЕ это решаемо. Я уж не знаю для каких тебе задач это нужно но это в Java РЕШАЕМО. Фраза "никаких предположений о типах полей данных этого объекта делать не надо" - требует пояснений или уточнений. Лучше в качестве примера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 23:53 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39039450&tid=1340912]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 427ms |

| 0 / 0 |
