Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 14:40   #141
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а вы знаете сборку мусора только по таймеру?
сборка мусора через ведение счетчика ссылок, ссылка уменьшается едва переменная выйдет за блок(или будет заполнена другим значением), едва счетчик будет == 0, как тут же будет уничтожен объект
А вот и нет. Объект обычно удаляется не сразу после обнуления количества ссылок, т.к. при сложных расчётах удаление из памяти сложного объекта может привести к задержкам. Обычно сборку мусора провоцирует ошибка нехватки памяти, или же она проводится планово во время слабой загрузки процессора.

Правда, как мне сейчас кажется, конструкция let ... in ... тоже не гарантирует этого. В любом случае, в языке ОБЯЗАНА присутствовать возможность указать компилятору, что объект должен быть уничтожен сразу после окончания использования

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
кстатии тогда вылетит вся функция а не блок. либо же писать try-catch блок.
Вообще-то такой блок кода (let ... in ...) сам ловит исключения при создании объекта, и нет необходимости в дополнительном блоке try. Более того, он выполняет код освобождения ресурса даже при возникновении исключения внутри блока кода

Цитата:
Сообщение от Utkin Посмотреть сообщение
Не совсем. Во-первых, применительно не только ООП. Во-вторых, деструктор тоже будет недоступен программисту. В-третьих, можно дать возможость программеру писать обе функции, но разрешать выполнять только одну, начальную. И потом я не предполагаю явную иницилизацию переменной. Отличия есть и существенные. Примерно также как объявление переменных в Дельфи и С#.
Совсем. RAII как раз провоцирует не использовать деструкторы/финализаторы вручную.
anyx вне форума Ответить с цитированием
Старый 10.12.2011, 15:43   #142
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
А вот и нет. Объект обычно удаляется не сразу после обнуления количества ссылок, т.к. при сложных расчётах удаление из памяти сложного объекта может привести к задержкам. Обычно сборку мусора провоцирует ошибка нехватки памяти, или же она проводится планово во время слабой загрузки процессора.
это в Java/dotNET, почему я обязан делать так же?
почему вы представляете себе сборку мусора только по какому-то событию?(вроде не хватки памяти или таймер)
Цитата:
Вообще-то такой блок кода (let ... in ...) сам ловит исключения при создании объекта, и нет необходимости в дополнительном блоке try. Более того, он выполняет код освобождения ресурса даже при возникновении исключения внутри блока кода
я не вас цитировал вообще-то.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.12.2011, 16:00   #143
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
это в Java/dotNET, почему я обязан делать так же?
Потому что, наверное, у разработчиков этих VM были какие-то основания так сделать. Нужно узнать причины такого решения, т.к. у этих разработчиков опыта больше, чем у вас

Естественно, нужно учитывать чужой опыт, но окончательные решения принимать после объективной оценки

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
почему вы представляете себе сборку мусора только по какому-то событию?(вроде не хватки памяти или таймер)
Не я так представляю, так делается в .NET/Java - популярных, коммерческих продуктах, разработанных крупными компаниями

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
я не вас цитировал вообще-то.
И что? Это вроде бы форум, а не приватный чат
anyx вне форума Ответить с цитированием
Старый 10.12.2011, 16:12   #144
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Потому что, наверное, у разработчиков этих VM были какие-то основания так сделать. Нужно узнать причины такого решения, т.к. у этих разработчиков опыта больше, чем у вас
может и были, но я с пользовательской стороны видел недостатки этого(Java на телефоне, на компе памяти в разы больше+виртуальная память), когда на телефона тока что не хватало памяти, а потом вдруг хватает.
да и тем более сборка хз когда меня не устраивает.

PS: у меня тема про сборщик была.
Цитата:
И что? Это вроде бы форум, а не приватный чат
просто я цитировал одно(про блок вместо "вашего" let/in), а вы снова гоните нить разговора к let/in

Цитата:
Не я так представляю, так делается в .NET/Java - популярных, коммерческих продуктах, разработанных крупными компаниями
вы уж извините меня за мое преступление, но я не делаю из крупных компаний идолов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.12.2011, 16:24   #145
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

Весь топик не читал, только начало и конец, так и не понял, когда работа завершена? где и на каких условиях её можно пробовать?
Оформление комментариев:
' - Программный код VBScript, VB, VBA
// - Программный код JavaScript, PHP, CSS
# - Программный код Perl
/*Это многострочный
комментарий в стиле C++, PHP*/
<!--Это многострочный
комментарий в HTML-->
Что у Вас, ради бога не изобретайте ещё что то своё
Равно "=", не равно "<>" или что то изобретать будете? как в других ЯП изобрели?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 10.12.2011, 16:24   #146
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

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

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
PS: у меня тема про сборщик была.просто я цитировал одно(про блок вместо "вашего" let/in), а вы снова гоните нить разговора к let/in
Да блин! Я же уже говорил (читайте мои сообщения, я же предлагаю вам адекватные идеи), это то же самое. Разница в способе записи, но суть одна.

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Что у Вас, ради бога не изобретайте ещё что то своё
Равно "=", не равно "<>" или что то изобретать будете? как в других ЯП изобрели?
Понимаете ли, нужно ориентироваться не на другие языки, т.к. они зачастую несут ненужный груз из прошлого века, а на удобство для программиста, читабельность кода, безопасность. А выучить синтаксис - это пяти минут дела

Последний раз редактировалось anyx; 10.12.2011 в 16:32.
anyx вне форума Ответить с цитированием
Старый 10.12.2011, 16:39   #147
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Наверное это значит, что они что-то делают правильно?
Windows тоже прибыль приносить, но разве она идеальна?
Цитата:
Да блин! Я же уже говорил (читайте мои сообщения, я же предлагаю вам адекватные идеи), это то же самое. Разница в способе записи, но суть одна.
вот именно что блин, я именно про тот кусок который я тогда процитировал, а не про способ записи.
ваше предложение я уже давно понял.
Цитата:
Весь топик не читал, только начало и конец, так и не понял, когда работа завершена? где и на каких условиях её можно пробовать?
я где-то писал что сейчас я работаю потому времени не так много у меня(+личная жизнь еще), проект в разработке в свободное время.
Цитата:
Что у Вас, ради бога не изобретайте ещё что то своё
// и /* */, я думаю это понятно даже по заголовку(правда там уже более шарп умесен но тем не менее)
Цитата:
Равно "=", не равно "<>" или что то изобретать будете? как в других ЯП изобрели?
гляньте шарп и плюсы, == не очень привычно, но тем не менее на практике мне это больше нравится(особенно когда while пишется очень просто за счет этого)

вообще из мыслей это разделить компилятор на back-end и front-end, что поидее даст гибкость.(можно будет разные ЯП подключить и так же разные платформы как цель)

PS: насчет изобретения, изобретаться будет, но все это будет четко обдумываться.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.12.2011, 16:51   #148
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

честно говоря глянуть интересно и это
>времени не так много у меня(+личная жизнь еще), проект в разработке в свободное время
понятно, но всё каковы примерные сроки?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 10.12.2011, 17:01   #149
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Windows тоже прибыль приносить, но разве она идеальна?
Я тоже педант, тоже если делаю что-то для себя, и сроки не поджимают, стараюсь сделать как можно лучше.

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
== не очень привычно, но тем не менее на практике мне это больше нравится(особенно когда while пишется очень просто за счет этого)
Вот тут позвольте заметить, что присваивание в выражениях - мощный источник ошибок, а уж код-то как запутывает! Я бы не стал такое в язык добавлять, а лучше бы продумал стандартную библиотеку и конструкции языка так, чтобы всё меньшим кол-вом кода делалось.

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вообще из мыслей это разделить компилятор на back-end и front-end, что поидее даст гибкость.(можно будет разные ЯП подключить и так же разные платформы как цель)
Повторюсь. Почитайте об LLVM - это и кросс-платформенный ассемблер, и виртуальная машина, а по скорости код сравним с gcc.

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
PS: насчет изобретения, изобретаться будет, но все это будет четко обдумываться.
Это правильно

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
честно говоря глянуть интересно и это
>времени не так много у меня(+личная жизнь еще), проект в разработке в свободное время
понятно, но всё каковы примерные сроки?
Вы же следите за нашим обсуждением, видите, какие решения принимаются.

А время... Это же личный проект, которым занимается один человек (+ мы тут помогаем)))))). Вот Nils Weller свой компилятор Си nwcc уже восемь лет пишет (в свободное время), а там пока даже оптимизатора нет.

Последний раз редактировалось anyx; 10.12.2011 в 17:06.
anyx вне форума Ответить с цитированием
Старый 10.12.2011, 17:09   #150
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
понятно, но всё каковы примерные сроки?
я не могу их даже прикинуть.
иногда сажусь на час за это, а иногда вообще не сажусь.

+ сейчас хочу доделать один проектик(программа похожая на Nero PhotoSnap(именно редактор а не просмотровщик)
Цитата:
Повторюсь. Почитайте об LLVM - это и кросс-платформенный ассемблер, и виртуальная машина, а по скорости код сравним с gcc.
да читал я.
Цитата:
Я бы не стал такое в язык добавлять, а лучше бы продумал стандартную библиотеку и конструкции языка так, чтобы всё меньшим кол-вом кода делалось.
Цитата:
А выучить синтаксис - это пяти минут дела
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 10.12.2011 в 17:12.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли подобный текст перевести на человеческий язык? alexxx777 Помощь студентам 0 24.05.2010 19:56
Как создать вид подобный SolidWorks. KemanSR Общие вопросы C/C++ 6 04.05.2010 21:30
Добавить модуль в phpnuke-подобный движок Able2Know Фриланс 3 23.04.2010 16:29
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55