Автор Тема: Зачем сборщик мусора?  (Прочитано 17382 раз)

DIzer

  • Гость
Re: Зачем сборщик мусора?
« Ответ #15 : Февраль 06, 2012, 09:30:20 am »
Паскаль надо давать на следующем этапе сразу после Фортрана/Си... Тогда он смотрится просто здорово!.. Вообще Паскаль - самый успешный проект Н. Вирта. Самым красивым, я бы назвал Модула2, а самым бесперспективным Оберон/Оберон2... IMHO, разумеется. И GC - это частный пример тотальной неудачи.
Чем Си с точки зрения низкоуровневого программирования принципиально лучше Модулы-2 и в чем безперспективность Оберон/Оберон2?
Как минимум тем, что на нем написана система.... есть тонны литературы (в которых описываются нюансы программирования в терминах Си и сопутствующих моделей) и высококлассных специалистов.

DIzer

  • Гость
Re: Зачем сборщик мусора?
« Ответ #16 : Февраль 06, 2012, 09:31:44 am »
Сборщик мусора можно было бы заменить каким-нибудь анализатором кода, который бы облегчал программисту правильно организовать этот процесс.
А что должен делать такой анализатор?

alexus

  • Гость
Re: Зачем сборщик мусора?
« Ответ #17 : Февраль 06, 2012, 09:44:25 am »
Как минимум тем, что на нем написана система.... есть тонны литературы (в которых описываются нюансы программирования в терминах Си и сопутствующих моделей) и высококлассных специалистов.
Первый раз вижу, чтобы высококлассных специалистов тоннами мерили... Хотя почему бы и нет?.. А нет... есть одно возражение. Если мерить тоннами, то американские программисты могут индусов... перевесить. Мой знакомый, переехавший в Штаты, как-то прислал фото с работы. В зале примерно 15-20 рабочих мест, и возле каждого по два стула, но не потому что там фанаты экстремального программирования, просто на одном стуле эти программисты не помещаются. Зрительно их средний вес ~150 кг. Сколь же индусов надо набрать, чтобы их перевесить...  ;D

DIzer

  • Гость
Re: Зачем сборщик мусора?
« Ответ #18 : Февраль 06, 2012, 09:46:47 am »
Как минимум тем, что на нем написана система.... есть тонны литературы (в которых описываются нюансы программирования в терминах Си и сопутствующих моделей) и высококлассных специалистов.
Первый раз вижу, чтобы высококлассных специалистов тоннами мерили... Хотя почему бы и нет?.. А нет... есть одно возражение. Если мерить тоннами, то американские программисты могут индусов... перевесить. Мой знакомый, переехавший в Штаты, как-то прислал фото с работы. В зале примерно 15-20 рабочих мест, и возле каждого по два стула, но не потому что там фанаты экстремального программирования, просто на одном стуле эти программисты не помещаются. Зрительно их средний вес ~150 кг. Сколь же индусов надо набрать, чтобы их перевесить...  ;D
    :)Ну это гипербола добавьте слово множество перед высококлассных :) :) если у вас есть проблемы с адекватным восприятием таких вещей (но признаюсь , я просто не вычитал сообщение)
« Последнее редактирование: Февраль 06, 2012, 09:50:48 am от DIzer »

DIzer

  • Гость
Re: Зачем сборщик мусора?
« Ответ #19 : Февраль 06, 2012, 09:48:35 am »

Паскаль надо давать на следующем этапе сразу после Фортрана/Си... Тогда он смотрится просто здорово!.. Вообще Паскаль - самый успешный проект Н. Вирта. Самым красивым, я бы назвал Модула2, а самым бесперспективным Оберон/Оберон2... IMHO, разумеется. И GC - это частный пример тотальной неудачи.
Это из серии - разум предполагает , РЕАЛЬНОСТЬ - НЕ располагает.

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Зачем сборщик мусора?
« Ответ #20 : Февраль 06, 2012, 09:49:26 am »
А что должен делать такой анализатор?
Возможно, генерировать код, давать подсказки, по типу визарда.

alexus

  • Гость
Re: Зачем сборщик мусора?
« Ответ #21 : Февраль 06, 2012, 09:50:44 am »
:)Ну это гипербола добавьте слово множество перед высококлассных :) :) если у вас есть проблемы с восприятием
;)

DIzer

  • Гость
Re: Зачем сборщик мусора?
« Ответ #22 : Февраль 06, 2012, 09:52:18 am »
А что должен делать такой анализатор?
Возможно, генерировать код, давать подсказки, по типу визарда.
Какой код - мы говорим о создании, уничтожении ДИНАМИЧЕСКИХ переменных.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Зачем сборщик мусора?
« Ответ #23 : Февраль 06, 2012, 09:58:34 am »
Мой знакомый, переехавший в Штаты, как-то прислал фото с работы. В зале примерно 15-20 рабочих мест, и возле каждого по два стула, но не потому что там фанаты экстремального программирования, просто на одном стуле эти программисты не помещаются. Зрительно их средний вес ~150 кг.
Они сами в этом виноваты. После развала Союза у американцев резко вырос средний вес -- они просто потолстели.
Нефига было разваливать Союз... ;D
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Зачем сборщик мусора?
« Ответ #24 : Февраль 06, 2012, 10:00:47 am »
А что должен делать такой анализатор?
Возможно, генерировать код, давать подсказки, по типу визарда.
Какой код - мы говорим о создании, уничтожении ДИНАМИЧЕСКИХ переменных.
Он должен выдавать динамическую карту памяти.
А для таких целей анализаторы уже есть -- профайлеры...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

DIzer

  • Гость
Re: Зачем сборщик мусора?
« Ответ #25 : Февраль 06, 2012, 10:10:29 am »
А что должен делать такой анализатор?
Возможно, генерировать код, давать подсказки, по типу визарда.
Какой код - мы говорим о создании, уничтожении ДИНАМИЧЕСКИХ переменных.
Он должен выдавать динамическую карту памяти.
А для таких целей анализаторы уже есть -- профайлеры...
и логгеры - позволяющие делать "слепок"  значений  интересующих  нас переменных  в нужное время (точнее, в нужном месте) и записывать их в журнал (и помогать анализировать его) - но они являются ВНЕШНИМИ по отношению к ЯП и принципиально не снимают проблему КОНТРОЛЯ  о которой я говорил ранее.
« Последнее редактирование: Февраль 06, 2012, 10:16:57 am от DIzer »

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Зачем сборщик мусора?
« Ответ #26 : Февраль 06, 2012, 10:17:34 am »
А как высококлассные специалисты собираются бороться с фрагментацией памяти?

DIzer

  • Гость
Re: Зачем сборщик мусора?
« Ответ #27 : Февраль 06, 2012, 10:19:58 am »
А как высококлассные специалисты собираются бороться с фрагментацией памяти?
  :) :) :) Путем создания своих менеджеров памяти, вестимо  ;)

alexus

  • Гость
Re: Зачем сборщик мусора?
« Ответ #28 : Февраль 06, 2012, 11:16:01 am »
А как высококлассные специалисты собираются бороться с фрагментацией памяти?
У меня такой проблемы не возникало. Разнородные данные закачиваются из БД, каждый тип в свою область памяти, там и живут, пока нужны. Когда не нужны, все выбрасываются. Чтобы каждому типу хватило памяти, на этапе проектирования программы формируются карта распределения памяти.
С данными каждого типа работают, как с массивом (хотя количество данных меняется в широких пределах, но назвать этот массив динамическим язык не поворачивается). То есть, под массив отводится максимально нужное количество виртуальной памяти, но физически память выделяется в процессе закачки данных.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Зачем сборщик мусора?
« Ответ #29 : Февраль 06, 2012, 11:25:56 am »
А как высококлассные специалисты собираются бороться с фрагментацией памяти?
Также как обычно. Например в MacOS (классике, а не в OS X) система умела компактифицировать память. То есть бороться с фрагментацией. При этом никаких сборщиков мусора не было.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"