Си. Преобразование из массива char в int.

 
1 2 3 4 5
+
-1
-
edit
 

digger

аксакал

Дело не в виртуальности машины,а в кривости ее реализации , происходящей от разрухи в головах дизайнеров.В Жабе нет типов unsigned - АФАИК тяжелое наследие Сановского процессора.Жаба - стековая машина , регистровые быстрее и жрут меньше памяти, правда уже есть Дальвик.В Жабе нет пойнтеров, несмотря на стремление обеспечить 100% машинно-независимые данные, это делает работу с вышеописанными данными неудобной.В Жабе нет деструкторов, уборщик мусора - типично академическая наркомания, это приводит к жручести памяти.Жаба намертво привязана к языку программирования и объектно-ориентированным заморочкам, хотя от них не требовалось ничего кроме чистой языково-независимой ВМ.У Жабы до сих пор нет нормального ИДЕ, Эклипс по сравнению с MSVC6 - кошмар.Я бы писал ВМ, ориентированную на язык С, как для программирования,так и для интерпретатора, под его операторы, регистровую машину с большим их количеством.У меня есть такое, для прикола за 3 дня написал ассемблер, машину и дизассемблер, распаковка UPX перевелась с С и заработала.
 3.6.83.6.8

AXT

инженер вольнодумец
★☆
digger> Дело не в виртуальности машины,а в кривости ее реализации , происходящей от разрухи в головах дизайнеров.

Машина, конечно, могла бы быть и получше, но не такая уж она и страшная.

digger> В Жабе нет типов unsigned - АФАИК тяжелое наследие Сановского процессора.

Это да, недостаток. Гослинг и компания тут перестарались с упрощением. (А причём тут процессор?)

digger> Жаба - стековая машина , регистровые быстрее и жрут меньше памяти, правда уже есть Дальвик.

Дальвик, лучше, конечно, но на момент разработки JVM ещё не было полного понимания, что многорегистровая машина даёт более компактный код, чем стековая. А то, что на управляющих задачах стековая лучше малорегистровой было всем известно ререз пример Форта.

digger> В Жабе нет пойнтеров, несмотря на стремление обеспечить 100% машинно-независимые данные,

Не "несмотря", а в том числе именно поэтому. Отказ от указателей — это и есть одна из частей машинно-независимого подхода.

digger> это делает работу с вышеописанными данными неудобной.

Это так кажется.

digger> В Жабе нет деструкторов,

Есть.

digger> уборщик мусора - типично академическая наркомания, это приводит к жручести памяти.

Сборщик мусора — это очень эффективное решение, сильно упрощающее код и, как правило, увеличивающее его быстродействие. Кстати, практически все крупные проекты, написанные на C, используют сборку мусора — иначе работу с памятью в проекте на миллион строк просто невозможно вести.
А "жручесть" — ну так память сейчас дешёвая.

digger> Жаба намертво привязана к языку программирования

Jpython возражает. И не он один.

digger> и объектно-ориентированным заморочкам,

:lol:

digger> хотя от них не требовалось ничего кроме чистой языково-независимой ВМ.

С какой радости? Машина делалась под конкретный язык. То, что она оказалась достаточно универсальной — только в плюс.

digger> У Жабы до сих пор нет нормального ИДЕ, Эклипс по сравнению с MSVC6 - кошмар.

Наоборот. Эклипс — одна из лучших IDE, хотя бы по причине нормальной поддержки рефакторинга. Хотел бы я посмотреть на extract to ... в MSVC :D:lol:

digger> Я бы писал ВМ, ориентированную на язык С,

Сама суть C в том, что ему не нужна виртуальная машина, это максимально приближенный к железу ЯВУ. ВМ под C — это вещь абсурдная, как бутерброд с маслом с двух сторон.
... так пускай наступает на нас холодным рассветом новый день ...  9.0.19.0.1
US Сергей-4030 #23.01.2012 20:39  @digger#23.01.2012 19:33
+
-
edit
 

Сергей-4030

исключающий третье
★★
админ. бан
digger> Дело не в виртуальности машины,а в кривости ее реализации , происходящей от разрухи в головах дизайнеров.В Жабе нет типов unsigned - АФАИК тяжелое наследие Сановского процессора.Жаба - стековая машина , регистровые быстрее и жрут меньше памяти, правда уже есть Дальвик.В Жабе нет пойнтеров, несмотря на стремление обеспечить 100% машинно-независимые данные, это делает работу с вышеописанными данными неудобной.

Точно... и в сумме получается код в среднем на 30% медленнее, чем на Си. Это кошмар! 30%! Невозможно себе представить такое расточительство!

digger>В Жабе нет деструкторов, уборщик мусора - типично академическая наркомания, это приводит к жручести памяти.

При этом большие проекты (действительно большие, не байтики перекинуть из порта в порт, а распределенные системы с кучей трансагентов) на Си не делаются, а делаются на Java (последнее время C#).

digger>Жаба намертво привязана к языку программирования и объектно-ориентированным заморочкам, хотя от них не требовалось ничего кроме чистой языково-независимой ВМ.У Жабы до сих пор нет нормального ИДЕ, Эклипс по сравнению с MSVC6 - кошмар.Я бы писал ВМ, ориентированную на язык С,

Диггер, у нас тут как-то была перетирка с другим "настоящим программистом". Он слил. Давайте, напишите вашу версию. У меня была готова дня через три. Напишите, проверим, насколько будет быстрее моей. Понятно, что если вы такой крутой, то и написать подобную игрушку вам ничего не стоит. Ибо язык у вас круче - великий Си. ИДЕ у вас МНОГО круче - великий MSVC6! Ну и сами вы, понятно, меня умнее, ибо только такой дебил, как я, будет пользоваться всякими отстойными Эклипсами. Я думаю, вы сможете написать часа за два. Давайте, покажите нам. Тем более, что вы можете пользоваться тем, что уже наработано. Согласитесь, вот это будет действительно крутое доказательство преимуществ Си. А то у вас какое-то блаблабла, неудобно даже.
 16.0.912.7516.0.912.75

digger

аксакал

AXT> Это да, недостаток. Гослинг и компания тут перестарались с упрощением. (А причём тут процессор?)

Кажется в какой-то версии Сана их не было.

AXT> Не "несмотря", а в том числе именно поэтому. Отказ от указателей — это и есть одна из частей машинно-независимого подхода.

Пойнтер никак не связан с машинной зависимостью, наоборот в машинно-независимой памяти расположение данных и соответственно оффсеты всегда одинаковы.

digger>> В Жабе нет деструкторов,
AXT> Есть.

= null - это рекомендация

AXT> А "жручесть" — ну так память сейчас дешёвая.

Жабу назвали так потому,что ее хотели запихнуть в кофейный автомат и подобные устройства.Там лишней памяти нет, и она туда в результате не полезла.

digger>> Жаба намертво привязана к языку программирования
AXT> Jpython возражает. И не он один.

Не знал ;(

AXT> Сама суть C в том, что ему не нужна виртуальная машина, это максимально приближенный к железу ЯВУ. ВМ под C — это вещь абсурдная, как бутерброд с маслом с двух сторон.

На С пишется интепретатор, если команды ориентированы на его операторы - легче писать и быстрее работает.
 3.6.83.6.8
IL digger #23.01.2012 20:56  @Сергей-4030#23.01.2012 20:39
+
-1
-
edit
 

digger

аксакал

Сергей-4030> Точно... и в сумме получается код в среднем на 30% медленнее, чем на Си. Это кошмар! 30%! Невозможно себе представить такое расточительство!

Это пропаганда жабофилов, только не некоторых специальных тестах.На самом деле - 2-10 раз, а в особенности жручесть по памяти - на порядок.

Сергей-4030> При этом большие проекты (действительно большие, не байтики перекинуть из порта в порт, а распределенные системы с кучей трансагентов) на Си не делаются, а делаются на Java (последнее время C#).

C++

Сергей-4030> Диггер, у нас тут как-то была перетирка с другим "настоящим программистом".

Что Вы собираетесь писать?
 3.6.83.6.8
US Сергей-4030 #23.01.2012 21:05  @digger#23.01.2012 20:56
+
-
edit
 

Сергей-4030

исключающий третье
★★
админ. бан
Сергей-4030>> Точно... и в сумме получается код в среднем на 30% медленнее, чем на Си. Это кошмар! 30%! Невозможно себе представить такое расточительство!
digger> Это пропаганда жабофилов, только не некоторых специальных тестах.На самом деле - 2-10 раз, а в особенности жручесть по памяти - на порядок.

Батюшки мои... :lol:

Сергей-4030>> При этом большие проекты (действительно большие, не байтики перекинуть из порта в порт, а распределенные системы с кучей трансагентов) на Си не делаются, а делаются на Java (последнее время C#).
digger> C++

Расскажите это Гуглу, для примера. Ну и всем банковским системам. Расскажите, в конце концов, нашим маккессоновским аналитикам. Всего-то больше тысячи stores, порядка нескольки тысяч обращений в минуту к application серверам. При том - Java.

Сергей-4030>> Диггер, у нас тут как-то была перетирка с другим "настоящим программистом".
digger> Что Вы собираетесь писать?

Почитайте здесь. Просто интерпретатор с мелкими нестандартностями (для того, чтоб готовое решение не уперли). "goto" присутствует.

При этом я это писать не собираюсь. Я уже написал. Дня за три, помнится. Тесты прошли нормально. А вот ваш духовный братец Реконструктор - слился. И вы сольетесь. Но вы, конечно, из другого теста, вы сделаете такую программу, что джавовский вариант просто в 2-10 раз побъет по производительности. При сохранении функциональности и надежности, естественно.
 16.0.912.7516.0.912.75
EE Татарин #23.01.2012 21:48  @Сергей-4030#23.01.2012 21:05
+
-
edit
 

Татарин

координатор
★★★★☆
Сергей-4030> вы, конечно, из другого теста, вы сделаете такую программу, что джавовский вариант просто в 2-10 раз побъет по производительности. При сохранении функциональности и надежности, естественно.
Я правильно понимаю, что предполагалось делать "без объектно-ориентированых заморок", на чистом С?
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  16.0.912.7516.0.912.75
US Сергей-4030 #23.01.2012 22:07  @Татарин#23.01.2012 21:48
+
+1
-
edit
 

Сергей-4030

исключающий третье
★★
админ. бан
Татарин> Я правильно понимаю, что предполагалось делать "без объектно-ориентированых заморок", на чистом С?

Вроде, таки речь шла о плюсах. Но чистый Си еще лучше, я так полагаю. Чистый Си еще более превзойдет и перекалькулирует Джаву.
 16.0.912.7516.0.912.75

GOGI

координатор
★★★★
Раз пошла такая пьянка...
Вопрос: Как внутри .Net программы гонять большие массивы - до десятков миллионов Doubleов? Пока просто используется массив и процедуры класса читают и пишут в него, из класса передается через свойство класса.
1  8.0.18.0.1
US Сергей-4030 #23.01.2012 22:20  @GOGI#23.01.2012 22:12
+
-
edit
 

Сергей-4030

исключающий третье
★★
админ. бан
GOGI> Раз пошла такая пьянка...
GOGI> Вопрос: Как внутри .Net программы гонять большие массивы - до десятков миллионов Doubleов? Пока просто используется массив и процедуры класса читают и пишут в него, из класса передается через свойство класса.

Я не спец в шарпе, но из общих соображений - имеем массив до, скажем, 100 MB. Да что делать, да ничего не делать. 100 MB нынче не то, чтоб прям дофига. Так и оставлять, массивом. Ты имеешь в виду - как передавать параметры? В Шарпе вроде по ссылке передается, что тебе и надо. Передавать в стеке весь массив будет архинеправильно.
 16.0.912.7516.0.912.75
+
-
edit
 

Balancer

администратор
★★★★★
digger>> Жаба намертво привязана к языку программирования
AXT> Jpython возражает. И не он один.

«У людей оранжевая кожа» — «Высоцкий возражает. И не он один» :)

Под JVM есть практически все современные языки или их родственники:


List of JVM languages - Wikipedia, the free encyclopedia


List of JVM languages
From Wikipedia, the free encyclopedia
Jump to: navigation,
search
This list of JVM Languages comprises computer programming languages that are used to produce software that runs on the Java Virtual Machine (JVM). Some of these languages are interpreted by a Java program, and some are compiled to Java bytecode and JITted during execution as regular Java programs to improve performance.
The JVM was initially designed to support only the Java programming language. However, as time passed, ever more languages were adapted or designed to run on the Java platform.

// Дальше —
en.wikipedia.org
 

(и это — понятно, не всё, скажем, там нет моего JBForth ;) )
 
+
-
edit
 

Balancer

администратор
★★★★★
digger> Это пропаганда жабофилов, только не некоторых специальных тестах.

На «некоторых специальных тестах» оно и так бывает: Я не верю своим глазам! Java быстрее, чем C++???

digger> На самом деле - 2-10 раз

Два раза — случается, бывает. 10 раз — это «некоторые специально подобранные тесты»:



Which programming languages are fastest? | Computer Language Benchmarks Game


Which of these programming language implementations have the fastest benchmark programs (x64 Ubuntu : Intel Q6600 one core).

// shootout.alioth.debian.org
 


Вот тут больше трёх раз никак не получается.

digger> а в особенности жручесть по памяти - на порядок.

Вот тут оно и почти на два порядка почти бывает в особо мелких случаях. Только оверхед в Java в основном фиксированный. И по мере роста сложности проекта объём затрачиваемой памяти на Java и Си++ начинает выравниваться. А уж если Си++ начинает всякие Boost'ы использовать…

digger> C++

Большой проект на Си++ — это ад. Популярность Си++ даже простому Си сильно уступает.
 
EE Татарин #23.01.2012 23:22  @GOGI#23.01.2012 22:12
+
-
edit
 

Татарин

координатор
★★★★☆
GOGI> Вопрос: Как внутри .Net программы гонять большие массивы - до десятков миллионов Doubleов?
Ключевой вопрос: зачем их "гонять"? Действительно ли нужно делать ещё один экземпляр этих данных?
Или просто есть функции, которым нужен доступ к этим данным?

GOGI> Пока просто используется массив и процедуры класса читают и пишут в него, из класса передается через свойство класса.
Ну и ОК.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  16.0.912.7516.0.912.75

Mishka

модератор
★★★
digger> Кажется в какой-то версии Сана их не было.

А на ассемблере они есть? И в чём разница между знаковыми и безнаковыми?

Про арифметику с дополнениями слышал? :)

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

Для 32-битных:

безнаковые
0x00000000->0x7FFFFFFF->0x80000000->0xFFFFFFFF
   ^                                  |
   |                                  V
   -----------<------------------------

знаковые
0x80000000->0xFFFFFFFF->0x00000000->0x7FFFFFFF
   ^                                  |
   |                                  V
   -----------<------------------------



Кольцо, как кольцо. А в результате, вроде, и отрицательные числа есть. :F Алгебра, она такая. ;) Циклические подстановки для операции увеличения на 1.

digger> Пойнтер никак не связан с машинной зависимостью, наоборот в машинно-независимой памяти расположение данных и соответственно оффсеты всегда одинаковы.

Связан. Бо не бывает абстрактных пойнтеров. А в независимом виде в Джаве ссылки на объекты. И ничего более, чтобы ты ручками грязными не лазил по ним.

digger> = null - это рекомендация

Блин, есть. Объекты уничтожаются. null тут не при делах. Просто ты вызвать деструкутор не можешь. По другому работает.

digger> Жабу назвали так потому,что ее хотели запихнуть в кофейный автомат и подобные устройства.Там лишней памяти нет, и она туда в результате не полезла.

Джаву так назавали потому, что программисты любят кофе. Но при этом вовсе не лезут в строение молекул кофе, а просто пьют и радуются. Вот методы приготовления разные (способы программирования), но зёрна обязательны (Джава).
 7.0.17.0.1

digger

аксакал

Mishka> А на ассемблере они есть? И в чём разница между знаковыми и безнаковыми?

Дык,если кто забыл, команды /* <> << >> работают по-разному.Можно обойтись,но неудобно, а особенно портировать код с С.Сам факт их отсутствия ,а также некоторые особенности языка свидетельствуют об извращенности мышления.Еще пример - в 1995 году сделать все числа low-endian,когда 90% мира работает на процессорах с big-endian.

Mishka> Джаву так назавали потому, что программисты любят кофе. Но при этом вовсе не лезут в строение молекул кофе, а просто пьют и радуются. Вот методы приготовления разные (способы программирования), но зёрна обязательны (Джава).

Я с ними кофе не пил,что я написал - из Википедии.

>Проект

Неинтересно, я уже писал интерпретатор с синтаксисом С для работы, правда стековый, С-шные программы компилирyются практически сразу.У нас была специфика,что функция бежит сначала в пкоде, а в следующей версии - компилируется.Регистровый ассмблер написал для прикола, потом хотел прикрутить его к LCC и написать JIT и забросил ввиду невостребованности на работе и необходимости проходить какую-то игру.

> C++

Я его, честно говоря, не люблю, чистый С лучше.


>Как внутри .Net программы гонять большие массивы - до десятков миллионов Doubleов?

Вообще-то математику пишут обычно на Фортране :).А разве в каком-нибудь языке есть проблема создать массив, если памяти хватает?
 3.6.83.6.8
US Сергей-4030 #24.01.2012 01:18  @digger#24.01.2012 01:14
+
-
edit
 

Сергей-4030

исключающий третье
★★
админ. бан
digger> Неинтересно, я уже писал...

И почему я не удивляюсь? :lol:
 16.0.912.7516.0.912.75

Mishka

модератор
★★★
digger> Дык,если кто забыл, команды /* > работают по-разному.Можно обойтись,но неудобно, а особенно портировать код с С.Сам факт их отсутствия ,а также некоторые особенности языка свидетельствуют об извращенности мышления.Еще пример - в 1995 году сделать все числа low-endian,когда 90% мира работает на процессорах с big-endian.

Может всё-таки комплиментарную арифметику подучить? :)

Скажем, сдвиг вправо работает одинаково. А вот влево — он не знаковый, он CF бит (в терминологии 8086) вносит. И не чистит.

LE/BE — ты наверное не работал на DEC-кой архитектуре. Ну и на других тоже. И не low, a little.

Откуда данные про 90%? Скажем, интеловские чипы были всегда LE. А такие были потому, что DEC такую архитектуру сделала. А сделал она такую потому, что из памяти из 16 разрядов выбрать младший байт можно по тому же адресу.

Кстати, PowerPC многих моделей могли переключать endianess на ходу (кроме 970). В MSR битиком поигрался и всё в порядке. Там ещё и странички памяти могли иметь разную endianess. PowerPC - Wikipedia, the free encyclopedia — читай Endian modes

digger> Я с ними кофе не пил,что я написал - из Википедии.

Там разные мнения. Были слухи, что кофейные предпочтения, а не просто аппарат.

digger> Вообще-то математику пишут обычно на Фортране :).А разве в каком-нибудь языке есть проблема создать массив, если памяти хватает?
Давно уже нет. :) Пишут на том, на чём удобнее. У Фортрана просто наследие было большое. Но те же библиотеки точной арифметики сделали и на Фортране, и на С, и на С++.
 7.0.17.0.1

tarasv

опытный

digger> В Жабе нет деструкторов, уборщик мусора - типично академическая наркомания, это приводит к жручести памяти.

CString и те изменения стандарта C++ от которых он идет это тоже академическая наркомания?

digger> Жаба намертво привязана к языку программирования и объектно-ориентированным заморочкам, хотя от них не требовалось ничего кроме чистой языково-независимой ВМ.

Надо будет посчитать сколько языков исполняющихся на jvm можно использовать в моей IDE, мне чтото кажется что их будет больше чем в visual studio.

digger> У Жабы до сих пор нет нормального ИДЕ, Эклипс по сравнению с MSVC6 - кошмар.

Как человек праралельно писавший проекты на C++ и Java могу сказать IDE для С++ чудовищно убоги по сравнению с современными java-скими (например с Эклипс, хотя его я и не люблю) и представляют собой текстовый редактор с grep и make и не более того. И MS в этом не виноват, язык такой, что хоть в лоб хоть полбу, статический анализ текста программы очень малорезультативен. Или вы о визивиг рисовалке диалоговых окошек в MSVC? Так на swing и иже с ним пишут достаточно мало, java на 90% используется на server-side.
 3.6.253.6.25
Это сообщение редактировалось 24.01.2012 в 05:32
PL GOGI #24.01.2012 05:59  @Татарин#23.01.2012 23:22
+
-
edit
 

GOGI

координатор
★★★★
Татарин> Или просто есть функции, которым нужен доступ к этим данным?
Просто функции, но в разных классах.
GOGI>> Пока просто используется массив и процедуры класса читают и пишут в него, из класса передается через свойство класса.
Татарин> Ну и ОК.
Так не ОК. Обращение к элементам такого массива ужасно медленное приходится его целиком копировать другой и потом уже с ним работать.
Возвращать массив функцией в классе не могу по идеологическим соображениям.
1  
EE Татарин #24.01.2012 06:04  @GOGI#24.01.2012 05:59
+
-
edit
 

Татарин

координатор
★★★★☆
GOGI> Так не ОК. Обращение к элементам такого массива ужасно медленное приходится его целиком копировать другой и потом уже с ним работать.
GOGI> Возвращать массив функцией в классе не могу по идеологическим соображениям.
Стоп. А зачем его целиком копировать в другой? Тебе для работы дейстительно нужна копия данных или ты можешь работать в одном и том же массиве?
Можешь кусок кода выдрать и показать?
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  16.0.912.7516.0.912.75

AXT

инженер вольнодумец
★☆
GOGI> Возвращать массив функцией в классе не могу по идеологическим соображениям.

Не понял. Делегаты запрещены, или что?
... так пускай наступает на нас холодным рассветом новый день ...  9.0.19.0.1
US Сергей-4030 #24.01.2012 06:06  @GOGI#24.01.2012 05:59
+
-
edit
 

Сергей-4030

исключающий третье
★★
админ. бан
Татарин>> Или просто есть функции, которым нужен доступ к этим данным?
GOGI> Просто функции, но в разных классах.
GOGI> GOGI>> Пока просто используется массив и процедуры класса читают и пишут в него, из класса передается через свойство класса.
Татарин>> Ну и ОК.
GOGI> Так не ОК. Обращение к элементам такого массива ужасно медленное приходится его целиком копировать другой и потом уже с ним работать.

Почему? Что-то не совсем понятно... ты выделяешь массив. Что значит "ужасно медленное" обращение? И почему если его скопировать в другой, то будет быстрее? Что поменялось?
 16.0.912.7516.0.912.75
EE Татарин #24.01.2012 06:10  @Mishka#24.01.2012 01:50
+
-
edit
 

Татарин

координатор
★★★★☆
Mishka> Давно уже нет. :) Пишут на том, на чём удобнее. У Фортрана просто наследие было большое. Но те же библиотеки точной арифметики сделали и на Фортране, и на С, и на С++.
Во-во. Плюс - появились инструменты типа того же Мапла, Математики, да ёлки, без стыда! - Маткада, :) для задач типа "на коленках прикинуть и визуализировать".
Написание быстрого перемножения пары больших тензоров на Фортране может затянуться более, чем на выходные. :)
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  16.0.912.7516.0.912.75

AXT

инженер вольнодумец
★☆
digger> Кажется в какой-то версии Сана их не было.

Ну, тут Мишка уже ответил. Было там всё.

digger> Пойнтер никак не связан с машинной зависимостью, наоборот в машинно-независимой памяти расположение данных и соответственно оффсеты всегда одинаковы.

В настоящем машинно-независимом случае "оффсетов" вообще нет. Физическая память не обязана быть линейно адресуемой (собственно, никогда и не была). Логическая — тем более. А уж трансляция из второй в первую :D Вполне возможно, что array[i] находится в кэше процессора, а array[i+1] — в датацентре на другой стороне шарика. Ну и зачем натягивать тут линейность?
Память — это просто набор адресуемых контейнеров для данных. Никто не обещал, что адреса обязаны быть целыми числами.

digger>> В Жабе нет деструкторов,
AXT>> Есть.
digger> = null - это рекомендация

В смысле? = null — это не деструкция. Это отказ от дальнейшего использования объекта. Деструкция происходит, когда объект больше не используется никем, и уничтожается сборщиком мусора. На прощание сборщик вызывает ему finalize(), это и есть жабский аналог деструктора.

digger> Там лишней памяти нет, и она туда в результате не полезла.

http://www.harbaum.org/till/nanovm/index.shtml

digger> На С пишется интепретатор, если команды ориентированы на его операторы - легче писать и быстрее работает.

Сановская Оракловская JVM, вообще-то, давно уже компилятор (и весьма сложный), а не интерпретатор.
... так пускай наступает на нас холодным рассветом новый день ...  9.0.19.0.1
Это сообщение редактировалось 24.01.2012 в 07:21
EE Татарин #24.01.2012 06:31  @digger#23.01.2012 19:33
+
-
edit
 

Татарин

координатор
★★★★☆
digger> Дело не в виртуальности машины,а в кривости ее реализации , происходящей от разрухи в головах дизайнеров. ... уборщик мусора - типично академическая наркомания, это приводит к жручести памяти. ... объектно-ориентированным заморочкам, хотя от них не требовалось ничего кроме чистой языково-независимой ВМ.
Без обид... просто выплыла-таки свободная ассоциация: у Адамса в "Автостопом по Галактике" упоминалась замечательная книга "Где Господь сбился с пути" (с продолжением серии далее - "Основные ошибки Господа Бога" и далее - "Да кто он вообще такой, этот ваш Господь Бог?!"). :)

Большинство больших проектов сейчас начинаются на языках со сборщиком мусора. Можно спорить с тем, насколько это правильно в каком-нить отвлечённом глобальном смысле. Но называть подход, который привёл к такой популярности "академической наркоманией" - категорически неверно. :)
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  16.0.912.7516.0.912.75
1 2 3 4 5

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru