Re[9]: откуда такая нелюбовь к нативному коду?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.01.12 06:38
Оценка: -1
Здравствуйте, Eugeny__, Вы писали:

E__>Здравствуйте, Ikemefula, Вы писали:



I>>Я с этого и начинал. "Нативный код дискредетировал себя проблемами со стабильностью и безопасностью. Единственное на чем он сейчас держится это низкоуровневый контроль ресурсов.

I>>"

E__>Еще в случаях, когда ресурсы ограничены. Если у тебя девайс с 64К оперативы(а таковых еще дочерта, на наш век хватит), то ни о каких жабошарпах речи нет.


Это очень маленький процент проектов в наше время. Думаю менее 0,001%. Так что абсолютно нет смысла его тут рассматривать.
Re[5]: откуда такая нелюбовь к нативному коду?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.01.12 06:41
Оценка:
Здравствуйте, alexey_ma, Вы писали:

_>Здравствуйте, alzt, Вы писали:


A>>Вот представь, что ты хочешь написать что-то для ARMа, а твой SuperNativeCSharp умеет генерировать код только для x86, причём у него даже есть некие проблемы с 64 разрядными приложениями. Те, кто развивают этот язык говорят, что лет через 7 может добавят поддержку ещё какой-нибудь платформы.

_>Вот что мне нравится в подобного рода дискуссиях так это предложения представить какой-то там гипотетический случай. А нафига? Не сомневаюсь что есть случаи когда управляемый код рулит. Однако у меня есть в наличии реальнейшие задачи где в обозримом будущем нейтив непобедим как чак норрис. В основном это работа со сторонними аппликациями в целях интеграции и автоматизации, хуки, перехваты api (причем не только системных) и т.п. Есть клиент с программой на QT, написаной и поддерживаемой какими-то там индусами. Нужно пошерудить в ее гуе на предмет получения информации и автоматизации. Мне хук на джаве писать что-ли?

Хук можно написать на .NET. Вернее создать либу на C++\CLI, сделать в ней хук (или взять готовую), а из нее вызывать C#.

Кстати может лучше не гуй ковырять, а хранимые данные?
Re[11]: откуда такая нелюбовь к нативному коду?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.01.12 06:48
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, Mamut, Вы писали:


MM>>>Ты считаешь это хорошо? Ты считаешь, что непонимание одной из базовых концепций не то что программирования,

M>>Каким боком указатели относятся к базовым концепциям программирования?
MM>Послушай, ты же прекрасно понимаешь, что я имею ввиду. Давай возьмем хотя-бы C# — уж самый что ни на есть managed язык. Ну и? Даже в нем требуется понимание указателей. Ну, или ссылок, в этой терминологии я всегда плаваю. Человек должен уметь отличать Value type от Reference type, а это уже требует понимание сути указателя: есть адрес, а есть значение по этому адресу.

Ссылка, и значение по ссылке. В отличие от указателей не может быть ссылок на ссылки, арифметики ссылок итп. То что ссылка == адрес в документации ничего не фигурирует. Это оставляет возможность проводить многие оптимизации, например размещение объектов в стеке. Если понимать ссылку как адрес в управляемой куче, то это во многом ограничивает CLR.

Видишь, ты зная указатели не понимаешь ссылки в .NET.
Re[13]: откуда такая нелюбовь к нативному коду?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.01.12 06:49
Оценка:
Здравствуйте, Banned by IT, Вы писали:

M>>Понимание работы VM .NET'а может много в плане понимания работы компьютера и его оперативной памяти

BBI>Аха. Сколько дотнетчиков понимают как реально внутри устроена VM и как она работает? 1% или ещё меньше?

M>>Ну или с указателями, но без участия С++ и его понимания указателей.

BBI>Расскажи нам лучше на чём написана VM дотнета.

Открою тайну. В.NET нету VM. Весь .NET код компилируется в native перед исполнением.
Re[12]: откуда такая нелюбовь к нативному коду?
От: MxMsk Португалия  
Дата: 24.01.12 07:21
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

G>Видишь, ты зная указатели не понимаешь ссылки в .NET.

Ой спасибо. Мне недавно еще посоветовали почитать книгу по WPF, мол, я в нем мало что понимаю. Посоветуй и ты мне книжку, которая учит приемам демагогии.
Re[13]: откуда такая нелюбовь к нативному коду?
От: Mamut Швеция http://dmitriid.com
Дата: 24.01.12 07:46
Оценка:
MM>>> Давай возьмем хотя-бы C# — уж самый что ни на есть managed язык. Ну и? Даже в нем требуется понимание указателей. Ну, или ссылок, в этой терминологии я всегда плаваю. Человек должен уметь отличать Value type от Reference type, а это уже требует понимание сути указателя: есть адрес, а есть значение по этому адресу.
M>>Эти понятия немного отличаются от указателей/ссылок в С++, не находишь? Настолько, что ты сам плаваешь в понятиях указатель/ссылка
MM>Ikemefula написал
Автор: Ikemefula
Дата: 22.01.12
про указатели в общем смысле, никакого уточнения о специфике С++ сказано не было Если он имеет ввиду какие-то особенности, то стоит уточнить


ТОгда забываем слово указатели и говорим об архитектуре компьютера.

M>>>>Отстой получается из программистов, которые не знают реально базовых концепций программирования.

MM>>>Вот это как раз не столь критично, потому что для большинства алгоритмов код давно уже написан.
M>>Угу. Вот и получим в итоге говнопрограммистов, которые только и умеют делать, что копипастить/дергать чужой код без понимания, как он работает. Не говоря уже о том, что любая программа — это набор алгоритмов. Скажешь, для всех программ уже есть готовый код? Тогда чем мы занимаемся?
MM>Скажу, что это не отменяет проблему непонимания указателей.

При чем тут указатели?


dmitriid.comGitHubLinkedIn
Re[13]: откуда такая нелюбовь к нативному коду?
От: Mamut Швеция http://dmitriid.com
Дата: 24.01.12 07:49
Оценка: :)
M>>Оперативная память — да. Работа с ней — нет.
BBI>Драсте.

Здрасте

M>>Понимание работы VM .NET'а может много в плане понимания работы компьютера и его оперативной памяти

BBI>Аха. Сколько дотнетчиков понимают как реально внутри устроена VM и как она работает? 1% или ещё меньше?

Столько же, сколько и С++'ников действительно понимающих, как работает CRT и указатели в С++

M>> безо всяких указателей вообще.

BBI>Да ты шо. Т.е. в .NET runtime нет ни единой переменной, в которой бы хранился адрес чего либо?
BBI>Просто фантастика. Пешы ищё!

Ну, если ты собираешься додумывать до меня то, что я не говорил, то, пожалуй, можно разговор прекращать.

M>>Ну или с указателями, но без участия С++ и его понимания указателей.

BBI>Расскажи нам лучше на чём написана VM дотнета.

Какое отношение этот вопрос имеет к необходимости знать указатели? Никакого.


dmitriid.comGitHubLinkedIn
Re[13]: откуда такая нелюбовь к нативному коду?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.01.12 08:37
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, gandjustas, Вы писали:


G>>Видишь, ты зная указатели не понимаешь ссылки в .NET.

MM>Ой спасибо. Мне недавно еще посоветовали почитать книгу по WPF, мол, я в нем мало что понимаю. Посоветуй и ты мне книжку, которая учит приемам демагогии.

Правда глаза режет?
Re[6]: откуда такая нелюбовь к нативному коду?
От: alexey_ma Израиль  
Дата: 24.01.12 09:44
Оценка:
Здравствуйте, gandjustas, Вы писали:

A>>>Вот представь, что ты хочешь написать что-то для ARMа, а твой SuperNativeCSharp умеет генерировать код только для x86, причём у него даже есть некие проблемы с 64 разрядными приложениями. Те, кто развивают этот язык говорят, что лет через 7 может добавят поддержку ещё какой-нибудь платформы.

_>>Вот что мне нравится в подобного рода дискуссиях так это предложения представить какой-то там гипотетический случай. А нафига? Не сомневаюсь что есть случаи когда управляемый код рулит. Однако у меня есть в наличии реальнейшие задачи где в обозримом будущем нейтив непобедим как чак норрис. В основном это работа со сторонними аппликациями в целях интеграции и автоматизации, хуки, перехваты api (причем не только системных) и т.п. Есть клиент с программой на QT, написаной и поддерживаемой какими-то там индусами. Нужно пошерудить в ее гуе на предмет получения информации и автоматизации. Мне хук на джаве писать что-ли?

G>Хук можно написать на .NET. Вернее создать либу на C++\CLI, сделать в ней хук (или взять готовую), а из нее вызывать C#.

Можно конечно, но зачем? Нафига тянуть с собой все дллки нета если сама таргет-аппликация их не использует? Тем более в случае с QT, тут хук должен быть qt-длл. Есть у нас нетовые хуки и джавовые, они используються там где это необходимо.
G>Кстати может лучше не гуй ковырять, а хранимые данные?
Конечно лучше, но во первых практически никогда этого не разрешают, а в вторых иногда бывает нужно автоматизировать гуй или вмешаться во взаимодействие ползователя с гуем, контролировать ввод до того как он сохранился и т.п. Кроме того есть чисто политические моменты, опыт показывает что любой доступ к данным помимо гуя требует согласования с отделом IT клиента на слишком ранних стадиях проекта. Для IT лишний гемор не нужен у них и так все работает и новые приблуды им не нужны, поэтому часто бывает что преждевременный контакт с IT губит проект на корню. Проще через бизнес все сделать, показать бизнес-менеджерам возможность добавить необходимую им бизнес функциональность всего-лишь установив на десктопе маленькую программу.
Re[13]: откуда такая нелюбовь к нативному коду?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.01.12 10:06
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>А я знаю. Зато я не знаю ни одного серьезного проекта на .NET, который бы по срокам не пролетел минимум в два раза. На нем же так просто и быстро разрабатывать!


I>>Думаешь на С++ лучше ?


L>Думаешь? Я знаю. У нас сроки всегда выдерживаются.


У нас тоже

L>>>P.S. А эа выделенное в приличном обществе можно и канделябром огрести.

I>>Это ж ты решил записать в профнепригодных людей, которые ошибки с указателями делают. Канделябр найдёшь или выслать ?
L>Много чести. Ниасилившие указатели прекрасно справляются со стрельбой по собственным ногам даже в управлямых языках.

Это мягко говоря далеко от истины.
Re[3]: откуда такая нелюбовь к нативному коду?
От: jazzer Россия Skype: enerjazzer
Дата: 24.01.12 10:09
Оценка: 1 (1) +2
Здравствуйте, Eugeny__, Вы писали:

E__>Здравствуйте, maykie, Вы писали:



M>>В нативных Segmentation fault получить. Заметно проще, учитывая наличие почти во всех них Null Pointer'а. Есть исключения вроде Eiffel если не ошибаюсь, но они нафиг никому не нужны. В явах NPE получить тоже не проблема, но там хотя бы красивая трассировка стека будет вместо всяких "память не может быть read"


E__>В явах/шарпах еще, что очень важно, при почти любой ошибке максимум свалится текущий поток, а не все приложение. Если потоки практически независимы(а это именно так в подавляющем большинстве веб-приложений), то другие треды просто не заметят падения собрата. В тех же плюсах непойманное исключение в любом потоке ложит весь сервер.


Поэтому элементарное try-catch(...) в главной функции потока нормальные программеры ставят, не задумываясь, и горя не знают
А уж если нормальный С++ использовать (типа буста или C++11), то там вообще проблем нет, так как функция потока передается в виде boost/std::function, и ее вызов можно автоматом обернуть в try-catch(...) прозрачно для программера.
Это даже не говоря о том, что в С++11 предусмотрен механизм корректной передачи исключения из дочернего потока в родительский поток.

Причем обрати внимание, в С++ благодаря RAII рухнувший по исключению поток сразу же автоматически освободит все захваченные ресурсы (включая, например, локи мьютексов, открытые файлы/сокеты/соединения и т.п.).
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[10]: откуда такая нелюбовь к нативному коду?
От: alexey_ma Израиль  
Дата: 24.01.12 10:42
Оценка: :)
Здравствуйте, Ikemefula, Вы писали:

I>Эдак все С++ программисты станут профнепригодными. Не знаю ни одного серьезного проекта где бы не было ошибок с указателями.

Вы мягко говоря преувеличиваете. Широко известные, нативные и довольно обьемные программы, как то известные браузеры, оффис и т.п уже давным давно не валяться из за "ошибок с указателями". А баги они везде бывают, и нетовые программы тоже вылетают по ексцепшинам и бывает что память и них течет, это просто менее заметно ввиду малого распостранения подобных программ на десктопе.
Re[14]: откуда такая нелюбовь к нативному коду?
От: landerhigh Пират  
Дата: 24.01.12 10:53
Оценка:
Здравствуйте, monax, Вы писали:

M>Здравствуйте, landerhigh, Вы писали:


L>>Много чести. Ниасилившие указатели прекрасно справляются со стрельбой по собственным ногам даже в управлямых языках.


M>Указатели, вроде как, осилил, проблем никогда не было. Но вот за несколько лет программирования на скриптовых языках под веб мне ни разу указатели не помогли.


Скриптовые языки и веб, где скоп живет считанные миллисекунды есть весьма отдельный случай. Но и там стрельба по ногам встречается чаще, чем хотелось бы.
www.blinnov.com
Re[14]: откуда такая нелюбовь к нативному коду?
От: landerhigh Пират  
Дата: 24.01.12 10:57
Оценка:
Здравствуйте, Ikemefula, Вы писали:


I>>>Думаешь на С++ лучше ?


L>>Думаешь? Я знаю. У нас сроки всегда выдерживаются.


I>У нас тоже


Поздравляю.

L>>Много чести. Ниасилившие указатели прекрасно справляются со стрельбой по собственным ногам даже в управлямых языках.


I>Это мягко говоря далеко от истины.


Выборка, наверное, нерепрезентативная.
www.blinnov.com
Re[11]: откуда такая нелюбовь к нативному коду?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.01.12 11:13
Оценка: :)
Здравствуйте, alexey_ma, Вы писали:

_>Здравствуйте, Ikemefula, Вы писали:


I>>Эдак все С++ программисты станут профнепригодными. Не знаю ни одного серьезного проекта где бы не было ошибок с указателями.

_>Вы мягко говоря преувеличиваете. Широко известные, нативные и довольно обьемные программы, как то известные браузеры, оффис и т.п уже давным давно не валяться из за "ошибок с указателями".

Понадобились многие годы что бы пофиксить Но вообще — валятся. Смотри дыры в безопасности где всякие срывы стека.

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


В с++ коде есть такой класс багов, как баги с указателями. В менеджет его нет. В остальном все одинаково.
Re[12]: откуда такая нелюбовь к нативному коду?
От: alexey_ma Израиль  
Дата: 24.01.12 11:32
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Понадобились многие годы что бы пофиксить Но вообще — валятся. Смотри дыры в безопасности где всякие срывы стека.

Ну так а говорите "не видел". И не только про браузеры речь, на десктопе хватает нативного достаточно стабильного софта.
>>А баги они везде бывают, и нетовые программы тоже вылетают по ексцепшинам и бывает что память и них течет, это просто менее заметно ввиду малого распостранения подобных программ на десктопе.

I>В с++ коде есть такой класс багов, как баги с указателями. В менеджет его нет. В остальном все одинаково.

Дык про то и речь. У плюсов свои проблемы, у менеджа свои. Менеджет программ на десктопах пока очень мало.
Re[13]: откуда такая нелюбовь к нативному коду?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.01.12 11:37
Оценка: :)
Здравствуйте, alexey_ma, Вы писали:

I>>Понадобились многие годы что бы пофиксить Но вообще — валятся. Смотри дыры в безопасности где всякие срывы стека.

_>Ну так а говорите "не видел". И не только про браузеры речь, на десктопе хватает нативного достаточно стабильного софта.

Хватает. Сколько времени было затрачено на фиксы багов с указателями ?
Re[15]: откуда такая нелюбовь к нативному коду?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.01.12 11:46
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>Много чести. Ниасилившие указатели прекрасно справляются со стрельбой по собственным ногам даже в управлямых языках.

M>>Указатели, вроде как, осилил, проблем никогда не было. Но вот за несколько лет программирования на скриптовых языках под веб мне ни разу указатели не помогли.
L>Скриптовые языки и веб, где скоп живет считанные миллисекунды есть весьма отдельный случай. Но и там стрельба по ногам встречается чаще, чем хотелось бы.

Такая стрельба это норма у свежемигрировавших сиплюсников
Re[14]: откуда такая нелюбовь к нативному коду?
От: alexey_ma Израиль  
Дата: 24.01.12 11:50
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Хватает. Сколько времени было затрачено на фиксы багов с указателями ?

Ну слава богу хоть удалось разглядеть серьезные нативные стабильные проекты "Сколько времени" это важно? Полагаю что это время не определялось только фиксом багов именно с указателями. Тот кто оные программы делал мог себе позволить столько времени сколько нужно, и пока не видно особой тенденции на менеджет переписывать(разве что VS2010).
Re[14]: откуда такая нелюбовь к нативному коду?
От: Banned by IT  
Дата: 24.01.12 12:46
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Открою тайну. В.NET нету VM. Весь .NET код компилируется в native перед исполнением.

Это ты Мамуту тайны открывай.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.