Как технарю из России стать программером в США за 150К

ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Про делегаты? ;-)
Что именно? Я признал что они являются некоторыми аналогами указателей на функции..и?
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Как технарю из России стать программером в США за 150К

Post by fruit6 »

как насчет открыть отдельную тему в вопросах IT? базар про 150K был гораздо более увлекателен
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote: Мне просто стало интерестно как ФИЗИЧЕСКИ возможно сделать то что вы описали в Windows. По-моему это просто невозможно.
Ну так может вы напишите в чем именно заключаются ваши сомнения?
In vino Veritas!
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Ну так может вы напишите в чем именно заключаются ваши сомнения?
Элементарно. Как user space приложение может расчитать возможность попадания какого то участа памяти в cache процессора при том что есть диспетчер задач который не подвластен ему.
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

fruit6 wrote:как насчет открыть отдельную тему в вопросах IT? базар про 150K был гораздо более увлекателен
Ну так скажите че нить по теме (150k). :wink:
Как по-вашему, достойны C#-повцы получать столько же сколько и C++-совцы. :-)
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote:
crypto5 wrote:Ну так может вы напишите в чем именно заключаются ваши сомнения?
Элементарно. Как user space приложение может расчитать возможность попадания какого то участа памяти в cache процессора при том что есть диспетчер задач который не подвластен ему.
Оно может рядом мер существенно повысить эту вероятность, например генерить меньше memory barrier инструкций.
In vino Veritas!
Zombie416
Уже с Приветом
Posts: 8881
Joined: 17 Jun 2003 04:41

Re: Как технарю из России стать программером в США за 150К

Post by Zombie416 »

ddv wrote:Но место то они все равно в памяти расходуют...
Они место на диске расходуют, в основном. Причем мало места (bytecode сильно компактнее чем x86). В памяти оказывается уже откомпилированный код конкретного метода, причем только тот который (часто)используется, и JIT может его тасовать как угодно. Последствия для производительности могут быть любые, как в плюс, так и в минус.

Это ровно тоже самая концепция как garbage collection, которая "сама" борется с heap fragmentation. С последствиями как в плюс, так и в минус.
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

Zombie416 wrote:Они место на диске расходуют, в основном. Причем мало места (bytecode сильно компактнее чем x86). В памяти оказывается уже откомпилированный код конкретного метода, причем только тот который (часто)используется, и JIT может его тасовать как угодно. Последствия для производительности могут быть любые, как в плюс, так и в минус.
Похоже что многие java программисты и вправду уверенны, что VM обладает экстрасенсорными и паронормальными возможностями,т.к. может "учитывать" не используя память , реализовывать RTTI механизмы не загружая информацию о классах в память, угадывать место расположение виртуальных методов после выкидывания ненужных вместе с информацией о полной структуре класса...и т.п.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote:
crypto5 wrote:Про делегаты? ;-)
Что именно? Я признал что они являются некоторыми аналогами указателей на функции..и?
Это было потом, вначале вы категорично утверждали что масив указателей на функции в с# реализовать нельзя.
In vino Veritas!
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Это было потом, вначале вы категорично утверждали что масив указателей на функции в с# реализовать нельзя.
Ну тогда ваша очередь признавать что в java нет супер пупер memory manager'а который невозможно реализовать на C++...(хотя если бы он и был в VM то был бы реализован именно на С++ :-) ).
Кроме того я все равно был прав - "масив указателей на функции в с# реализовать нельзя", можно только массив делегатов, а это не тоже самое...близко, но не тоже.
Last edited by ddv on 11 Feb 2011 22:29, edited 1 time in total.
zzhou
Уже с Приветом
Posts: 567
Joined: 06 Dec 2009 20:50
Location: Kiev, UA -> Cupertino, CA

Re: Как технарю из России стать программером в США за 150К

Post by zzhou »

Brazen wrote:
zzhou wrote:Hibernate - очень элегантное и удобное решений, которое преотлично работает в массе больших проектов и отлично экономит силы разработчиков.
То есть вы не спорите с тем, что это внешняя библиотека, к тому же еще и от стороннего разработчика?
О. Началось приписывание слов. Узнаю общение на форуме.

Где я сказал что Hibernate - стандартная библиотека? Мне начали рассказывать про внешние библиотеки для XML и БД для C++ - я и привёл Hibernate - как пример того, что делают на Яве. Кстати, на C++ его вообще нетривиально реализовать - он полагается на reflection и генерацию байткода на лету.
zzhou
Уже с Приветом
Posts: 567
Joined: 06 Dec 2009 20:50
Location: Kiev, UA -> Cupertino, CA

Re: Как технарю из России стать программером в США за 150К

Post by zzhou »

nightmare2 wrote:Как по-вашему, достойны C#-повцы получать столько же сколько и C++-совцы. :-)
С++ разработчикам за работу можно вообще не платить - им достаточно своего чувства превосходства от теоретической возможности написать велосипед, который давно реализован в Java VM и работает там с кодом написаном студентом из Индии.
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

zzhou wrote:
nightmare2 wrote:Как по-вашему, достойны C#-повцы получать столько же сколько и C++-совцы. :-)
С++ разработчикам за работу можно вообще не платить - им достаточно своего чувства превосходства от теоретической возможности написать велосипед, который давно реализован в Java VM и работает там с кодом написаном студентом из Индии.
:D
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote:
crypto5 wrote:Это было потом, вначале вы категорично утверждали что масив указателей на функции в с# реализовать нельзя.
Ну тогда ваша очередь признавать что в java нет супер пупер memory manager'а который невозможно реализовать на C++...(хотя если бы он и был в VM то был бы реализован именно на С++ :-) ).
Не признаю :radio%:
Кроме того я все равно был прав - "масив указателей на функции в с# реализовать нельзя", можно только массив делегатов, а это не тоже самое...близко, но не тоже.
Конечно не то, делегаты ведь намного лучше, т.к. они type safe, не понимаю чем вы так гордитесь!
In vino Veritas!
Zombie416
Уже с Приветом
Posts: 8881
Joined: 17 Jun 2003 04:41

Re: Как технарю из России стать программером в США за 150К

Post by Zombie416 »

ddv wrote:Похоже что многие java программисты и вправду уверенны, что VM обладает экстрасенсорными и паронормальными возможностями,т.к. может "учитывать" не используя память , реализовывать RTTI механизмы не загружая информацию о классах в память, угадывать место расположение виртуальных методов после выкидывания ненужных вместе с информацией о полной структуре класса...и т.п.
Мне трудно сказать в чем уверены Java программисты, есть большое количество разных JVM, но информации в сети предостаточно. Java HotSpot была интересной штукой еще 10 лет назад, и стала работать с тех пор гораздо быстрее http://java.sun.com/products/hotspot/do ... Id=1082375

В .NET угадывать виртуальные методы не нужно, они явно обозначаются программистом. Как и легко определить неиспользуемые private методы, что позволяют многие средства даже без компиляции вообще (C# / Java синтаксис гораздо моложе и проще чем C++). И да, информация о типах, ака metadata, содержится в исполняемом модуле отдельно от кода классов. И да, .NET в подавляющем большинстве случаев компилирует по методам (если иначе не указано хинтами), и при a=false

Code: Select all

 if (a) b();
код b() будет жить на диске долго, и никогда не будет сконвертирован в машинный код.

Что до производительности, есть вполне очевидная вещь, что если есть два динамически собираемых модуля A и B, в одном из которых есть нечто вроде

Code: Select all

namespace A { class X { public: static int Y(int z) { return z+5; }} }
Если модуль B откомпилирован, то A::X::Y(10) будет занимать кучу времени. В то время как в случае если A и B managed, вызов скорее всего будет inline.

Вот что заметно, так это что отдельные C++ - only программисты почему-то относятся к этому языку как к священной корове, не допуская что компиляторы бывают и у других языков. А если это C++ Windows-only программисты, то и самая мысль что программа может распространяться не в виде жестко откомпилированных в машинный код модулей, а требовать доводки на месте кажется кощунственной. Хотя при этом принимают чуть меньшую степень такой доводки, ака динамическую сборку, как должное. Чудеса, да и только. Но проходит со временем :)
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Не признаю :radio%:
Ну тогда требую ссылку на оригинал...Нет ссылки - нет разговора.
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

Zombie416 wrote: В .NET угадывать виртуальные методы не нужно, они явно обозначаются программистом.
Вы на самом деле такой или только претворяетесь? Я писал что по вашему нужно угадывать РАСПОЛОЖЕНИЕ виртуального метода!!! Вы хоть слышали про таблицу виртуальных методов? Если вы выкинете такой метод в рантайме, то у вас ничего не сойдется и вы не найдете нужный метод на нужном месте.
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

Zombie416 wrote:. И да, информация о типах, ака metadata, содержится в исполняемом модуле отдельно от кода классов.
Вот вот...только во время исполнения она содержится и в ПАМЯТИ...и занимает МЕСТО независимо от того используется или нет.
zzhou
Уже с Приветом
Posts: 567
Joined: 06 Dec 2009 20:50
Location: Kiev, UA -> Cupertino, CA

Re: Как технарю из России стать программером в США за 150К

Post by zzhou »

ddv wrote:
Zombie416 wrote: В .NET угадывать виртуальные методы не нужно, они явно обозначаются программистом.
Вы на самом деле такой или только претворяетесь? Я писал что по вашему нужно угадывать РАСПОЛОЖЕНИЕ виртуального метода!!! Вы хоть слышали про таблицу виртуальных методов? Если вы выкинете такой метод в рантайме, то у вас ничего не сойдется и вы не найдете нужный метод на нужном месте.
А кто собирается его выбрасывать? Вы приписали Явистам несколько заведомо завирательных заявлений и теперь требуете эти заявления подтверждать. Это, несомненно, очень оригинальный и смелый способ ведения дискуссии.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote:
crypto5 wrote:Не признаю :radio%:
Ну тогда требую ссылку на оригинал...Нет ссылки - нет разговора.
Я совсем ничего не понял, вы написали какую то ерунду, потом попросили зачем то меня эту ерунду "признать", а теперь еще требуете каких то документальных доказательств? Я потерялся если чесно.
In vino Veritas!
zzhou
Уже с Приветом
Posts: 567
Joined: 06 Dec 2009 20:50
Location: Kiev, UA -> Cupertino, CA

Re: Как технарю из России стать программером в США за 150К

Post by zzhou »

ddv wrote:
Zombie416 wrote:. И да, информация о типах, ака metadata, содержится в исполняемом модуле отдельно от кода классов.
Вот вот...только во время исполнения она содержится и в ПАМЯТИ...и занимает МЕСТО независимо от того используется или нет.
1. А никто (по крайней мере - я) не утверждает что Ява использует меньше памяти. Мы больше про быстродействие кода говорим.
2. Типовая утечка памяти в C++ приложении заберёт больше памяти чем все загруженые но бесполезные классы в приложении на Яве(на всякий случай сообщу - в память грузятся только классы, которые реально используются)
3. Подозреваю, С++ программа тоже содержит мусор в exeшнике - и его иногда грузит в память.
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote: Я совсем ничего не понял, вы написали какую то ерунду, потом попросили зачем то меня эту ерунду "признать", а теперь еще требуете каких то документальных доказательств? Я потерялся если чесно.
НУ так я вам напомню..вы писали
crypto5 wrote: Проблема только в том что такие менеджеры обычно абстрагированы от системы многопоточности, и не могут эфективно разбивать кучу на области для потоков, а в джаве все с этим хорошо.
...
Я в этом не шибко разбираюсь, но к.м.к. таким образом стараются закешировать куски кучи в кеше процессора, на котором сейчас пускается поток, а если не разбивать на такие области, то каждый поход в память должен преодолевать memory barrier
я вас попросил
ddv wrote:У вас есть ссылка но оригинал где описывается данный memory manager?
после чего вы попытались перевести стрелки и уйти от ответа
crypto5 wrote: У меня нет доки под рукой, но следует заметить что у вас большая часть вашей аргументации состоит из утверждений, которые нужно так же детально изучать, что бы понять их применимость к данной дискуссии.
Более того, вы начали со мной спорить что на С++ написать такой memory manager нельзя, а в ответ на мое высказывание что можно потребовали предоставить пример такого...только вот какого вы сами не смогли сказать.
Так что или найдите ссылку на "ХОРОШИЙ java memory manager" который "можут эфективно разбивать кучу на области для потоков" или признайте что вы ошиблись
Last edited by ddv on 12 Feb 2011 00:45, edited 2 times in total.
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

zzhou wrote:1. А никто (по крайней мере - я) не утверждает что Ява использует меньше памяти. Мы больше про быстродействие кода говорим.
Не вы,а Zombie416 спорил со мной:
Zombie416 wrote:Они место на диске расходуют, в основном. Причем мало места (bytecode сильно компактнее чем x86). В памяти оказывается уже откомпилированный код конкретного метода, причем только тот который (часто)используется, и JIT может его тасовать как угодно.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote: Так что или найдите ссылку на "ХОРОШИЙ java memory manager" который "можут эфективно разбивать кучу на области для потоков".
Вы там выше просили нечто другое. А кучу разбивают на подкучи для тредов все известные мне менеджеры памяти для джава, и на эту тему можно погуглить по запросам: "local thread heap java" & "local thread area java".
In vino Veritas!
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Вы там выше просили нечто другое.
Нечто другое это что???? все посты выше...если я не это просил, то что???

Return to “Работа и Карьера в IT”