вот вам и совместимость
Oct. 11th, 2007 08:31 pm(эта запись будет понятна только программистам)
В общем, вот как оно будет. Прилетят к нам пришельцы, довольно скоро, ну и как водится будут с нам воевать. Пришельцы-то будут не так чтобы намного круче нас. Более развитая, конечно, технология, но не на сотни лет вперед ушли, на десятки. Мы поднатужимся, всей планетой объединимся, изо всех сил будем стараться их догонять - да еще к тому же нас больше, и у нас преимущество своего поля.
Так что война будет почти на равных. Долгая, кровопролитная, тяжелая. И в конце концов... они нас победят.
И в самый последний момент, представьте себе, что вот они уже готовы нажать кнопку, которая нас всех уничтожит, ну или там превратит в безмозглых рабов, в общем последний момент перед их окончательной победой, и мы их спрашиваем: скажите, говорим, а что мы не так делали? Ну вот мы старались очень, и даже казалось пару раз, что сможем отбиться, но в конце концов вы победили. У нас были шансы вообще?
И тогда инопланетяне посмотрят на нас, прищурятся хитро и скажут:
"А помните, когда вы на 64-битные компьютеры перешли, а int 32-битным оставили?"
В общем, вот как оно будет. Прилетят к нам пришельцы, довольно скоро, ну и как водится будут с нам воевать. Пришельцы-то будут не так чтобы намного круче нас. Более развитая, конечно, технология, но не на сотни лет вперед ушли, на десятки. Мы поднатужимся, всей планетой объединимся, изо всех сил будем стараться их догонять - да еще к тому же нас больше, и у нас преимущество своего поля.
Так что война будет почти на равных. Долгая, кровопролитная, тяжелая. И в конце концов... они нас победят.
И в самый последний момент, представьте себе, что вот они уже готовы нажать кнопку, которая нас всех уничтожит, ну или там превратит в безмозглых рабов, в общем последний момент перед их окончательной победой, и мы их спрашиваем: скажите, говорим, а что мы не так делали? Ну вот мы старались очень, и даже казалось пару раз, что сможем отбиться, но в конце концов вы победили. У нас были шансы вообще?
И тогда инопланетяне посмотрят на нас, прищурятся хитро и скажут:
"А помните, когда вы на 64-битные компьютеры перешли, а int 32-битным оставили?"
no subject
Date: 2007-10-11 06:43 pm (UTC)no subject
Date: 2007-10-13 06:13 pm (UTC)no subject
Date: 2007-10-11 06:45 pm (UTC)no subject
Date: 2007-10-11 06:51 pm (UTC)no subject
Date: 2007-10-11 06:52 pm (UTC)no subject
Date: 2007-10-11 07:07 pm (UTC)no subject
Date: 2007-10-11 07:24 pm (UTC)no subject
Date: 2007-10-11 08:29 pm (UTC)no subject
Date: 2007-10-12 08:35 am (UTC)no subject
Date: 2007-10-12 09:09 pm (UTC)Есть типы для вычислений, а есть для представления данных в бинарном виде с сохранением разрядности.
no subject
Date: 2007-10-11 09:13 pm (UTC)no subject
Date: 2007-10-11 06:58 pm (UTC)no subject
Date: 2007-10-11 08:23 pm (UTC)no subject
Date: 2007-10-11 07:07 pm (UTC)no subject
Date: 2007-10-11 07:31 pm (UTC)А что, в 64-битном GCC, sizeof(int) - тоже равен 4?
no subject
Date: 2007-10-11 07:33 pm (UTC)no subject
Date: 2007-10-11 07:41 pm (UTC)Если про С или плюсы говорить, то это ужасно плохо из-за pointer arithmetic, в которой получается нечто весьма странное, когда с одной стороны вокруг инты, а с другой -- пойнтеры всё-таки 64битные.
А в жаве или шарпе как-то довольно пофиг. Вот программист захотел сделать массив интов, точно зная, что они 32битные, потому что в стандарте так написано, ну и отлично, значит, ему больше не нужно пока. Иные программисты аж массивы шортов или вообще байтов делают, и ничего.
Стандартную библиотеку можно будет когда-нибудь переписать на лонги и совместимость замечательно сохранится, однако там, где нужно, будет всё хорошо. И интовые константы по дефолту считать лонгами. И тайп инференс очень уместно прокинет изменения дальше, там где он есть, конечно.
no subject
Date: 2007-10-11 08:48 pm (UTC)no subject
Date: 2007-10-12 05:53 am (UTC)?
ISO/IEC 9899:1999 6.3.2.3.6.
no subject
Date: 2007-10-12 05:57 am (UTC)no subject
Date: 2007-10-12 09:09 am (UTC)4 A pointer can be explicitly converted to any integral type large enough to hold it. The mapping function is
implementationdefined
[Note: it is intended to be unsurprising to those who know the addressing structure
of the underlying machine. ]
5 A value of integral type or enumeration type can be explicitly converted to a pointer.60) A pointer converted
to an integer of sufficient size (if any such exists on the implementation) and back to the same pointer type
will have its original value; mappings between pointers and integers are otherwise implementationdefined.
Особенно примечание понравилось -- "to be unsurprising" :)
no subject
Date: 2007-10-11 07:58 pm (UTC)Так и живем.
no subject
Date: 2007-10-11 08:37 pm (UTC)no subject
Date: 2007-10-11 08:10 pm (UTC)"А помните, когда вы на 64-битные компьютеры перешли, вы ещё long 32-битным оставили?"
И вот тут уже не будет нам прощенья. Разверзнутся инопланетные трансглюкаторы и громы с молниями поглотят нерадивое человечество.
no subject
Date: 2007-10-11 08:54 pm (UTC)no subject
Date: 2007-10-11 09:28 pm (UTC)no subject
Date: 2007-10-13 05:48 pm (UTC)no subject
Date: 2007-10-11 09:01 pm (UTC)no subject
Date: 2007-10-12 10:44 pm (UTC)... Оловянный пацифистик ...
no subject
Date: 2007-10-11 11:57 pm (UTC)no subject
Date: 2007-10-16 06:16 pm (UTC)no subject
Date: 2007-10-16 09:51 pm (UTC)Если бездумно сделать все intы 64битными, памяти слишком много зря будет расходоваться. Сплошные нули...
no subject
Date: 2007-10-12 12:08 am (UTC)no subject
Date: 2007-10-12 01:15 am (UTC)no subject
Date: 2007-10-12 04:18 am (UTC)Мудаков, которые писали
for (int i = strlen(s); ...или указатель на int кастили, конечно, жалко, но ведь мудак он всё равно найдёт способ как убиться, какой длины ты ему int ни приделывай. Так что войну с пришельцами мы и так и так проиграем :(no subject
Date: 2007-10-12 06:02 am (UTC)Софт для боевых роботов следует писать на ассемблере)
no subject
Date: 2007-10-12 06:33 am (UTC)no subject
Date: 2007-10-12 07:22 am (UTC)И сразу сдаваться.
no subject
Date: 2007-10-20 11:11 am (UTC)no subject
Date: 2007-10-12 09:03 am (UTC)no subject
Date: 2007-10-13 03:07 pm (UTC)no subject
Date: 2007-10-13 06:15 pm (UTC)Потому что пора понимать, что нефиг держать один int на все случаи жизни...
... и вообще думать на всяких там сях.
no subject
Date: 2007-10-18 08:35 am (UTC)в догонку
Date: 2007-10-18 08:43 am (UTC)+---------------------------------------+
| UNIX_TIMESTAMP('2037-12-31 23:59:59') |
+---------------------------------------+
| 2145909599 |
+---------------------------------------+
1 row in set (0.00 sec)
mysql> select UNIX_TIMESTAMP('2038-01-01 00:00:00');
+---------------------------------------+
| UNIX_TIMESTAMP('2038-01-01 00:00:00') |
+---------------------------------------+
| 0 |
+---------------------------------------+
1 row in set (0.00 sec)
а ведь 107-й год на дворе!
no subject
Date: 2007-10-21 03:16 pm (UTC)