Непредсказуемый shift.

Jan 17, 2013 09:34

    Имея более десятка лет промышленного опыта в C/C++, тем не менее, изредка встречаешь различные выкрутасы, в которые, если не видишь сам, поверить трудно. Я уже не говорю о логике или рационале, стоящем за ними.

К примеру, простой кусок кода:

unsigned int n = 1 << 32;    Что же будет в n? Я грешным делом думал, что 0. Оказалось, не всё ( Read more... )

software, computers, programming

Leave a comment

Comments 8

javax_slr January 17 2013, 07:58:39 UTC
я бы этот язык запретил

Reply

pesec January 17 2013, 14:16:32 UTC
Когда Java
1. научится укладывать объекты друг за другом, как массив целых чисел, например;
2. MyObject[N][M] и MyObject[M][N] будут занимать одинаковое чиско байт;
3. будет возможность расширять язык из стековой модели в регистровую, а ту -- до векторизированной модели,
Вот тогда я стану евангелистом Java-ы.

Reply

javax_slr January 17 2013, 14:19:11 UTC
Ты приводишь решения проблем, без самих проблем. Я могу спросить тебя зачем нужно твои 1,2,3 ?
И тогда уже скажу - да, джава решает эту проблему, но иначе или джава эту проблему не решает вообще

Reply

pesec January 17 2013, 16:04:34 UTC
1. для эффективного использования кеша данных процессора, без индирекшенов; я тебя уже спрашивал об этом (в контексте CSB+-tree)
3. архитектура современных компьютеров всё дальше и дальше отходит от стековой модели JVM, и Java в этом направлении не прогрессирует; в качестве аналогии, давайте поставим операционку 64-бита, а апликации будут только 32-х битные. Хочется пользоваться OpenCL/CUDA и в Java, или хотя бы идти по этому пути.

Reply


valeryz2001 January 18 2013, 20:41:59 UTC
на ia64 действительно будет 0. Весьма удивлен что какие-то машины работают иначе :)

Reply


Leave a comment

Up