The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Почему администрирование серверов ключевых открытых проектов..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Почему администрирование серверов ключевых открытых проектов..." +/
Сообщение от Aleksey Salowemail (ok), 10-Янв-10, 18:14 
>Алексей, я все же считаю, что вы не совсем правы.

В интеренете всегка кто-то не прав :)

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

Это утопия и такого никогда не будет. Дешевле сделать горловину у мясорубки достаточно высокой чтобы рука не доставала до шнека (он же так называется?) чем учить каждого не совать руки.

>Т.е. получается, что авторы
>языка считают, что все программисты обязательно "наломают дров" независимо от их
>уровня?

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

>Кардинально конечно это.. запретить фичу какую-то, вместо того чтобы научиться
>правильно ей пользоваться )) Насчет примера с манипуляцией поинтерами - я
>в свободное время пишу шутер от первого лица на опен сорс
>движке (движок сам использует OpenGL и написан на голом С++). Дак
>вот там часто приходится оперировать объектами через указатели.. Ну не копировать
>же их в самом деле? Они зачастую огромные быывают (текстуры, модели,
>например). Тем более в самом API движка это поощряется, и не
>надо писать что это значит движок плохой - движок отличный, автор
>профессор из Массачусетса.

Ещё раз. В managed языках указатели никуда не делись, просто у вас отобрали адресную арифметику и взамен дали безопасные типы. Был char*, стал string, был T[], стал vector<T> или List<T> или T[], был void*/char* - стал byte[]. Вам нужно передать указатель, так передаёте соотв. ссылочный тип (object). Необходимо передавать значение - передаёте сущности соотв. типа (struct). Просто в случае interop-а компилятор с помощью ваших подсказок догадается как корректно передать соотв. тип дальше и что с ним делать.

>Насчет .NET, на офф-топике и для офф-топика не пишу

не нравится .net, возьмите жаву или питон или что-то другое где есть автоматическое управление памятью.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Почему администрирование серверов ключевых открытых проектов..., opennews, 09-Янв-10, 01:26  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру