Заблуждения программистов.
![Сообщение Сообщение](./styles/prosilver/imageset/icon_post_target.gif)
Наверное, многие уже это читали, но на то он и байан
Заблуждения относительно времени. Все перечисленные ниже утверждения ошибочны. Взято тут:
Заблуждения относительно человеческих имён. Все перечисленные ниже утверждения ошибочны. Взято тут:
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Заблуждения относительно времени. Все перечисленные ниже утверждения ошибочны. Взято тут:
1. В сутках всегда 24 часа.
2. В месяце всегда 30 или 31 день.
3. В годах по 365 дней.
4. В феврале всегда 28 дней.
5. Любой 24-часовой период начинается и заканчивается в тот же день (неделю, месяц).
6. Неделя всегда начинается и заканчивается в тот же месяц.
7. Неделя (месяц) всегда начинается и заканчивается в тот же год.
8. Машина, на которой работает программа, всегда будет в часовом поясе GMT.
9. Ладно, это неправда. Но, по крайней мере, часовой пояс не будет меняться.
10. Ну, уж точно часовой пояс не будет меняться, когда программа будет в коммерческой эксплуатации.
11. Системные часы всегда установлены на точное местное время.
12. Системные часы всегда будут установлены на время, которое не сильно отличается от точного местного времени.
13. Если системные часы идут неверно, то они хотя бы всегда будут отличаться на одинаковое количество секунд.
14. Часы на сервере и клиенте всегда показывают одинаковое время.
15. Часы на сервере и клиенте всегда показывают примерно одинаковое время.
16. Ладно, но время на сервере и время на клиенте никогда не будет отличаться на десятилетия.
17. Если часы на сервере и клиенте рассинхронизированы, они по крайней мере всегда рассинхронизированы на постоянное количество секунд.
18. Часы на сервере и клиенте идут в одинаковом часовом поясе.
19. Системные часы никогда не показывают время, которое принадлежит далёкому прошлому или далёкому будущему.
20. У времени нет начала и конца.
21. Одна минута на системных часах имеет в точности такую же продолжительность, как одна минута на любых других часах.
22. Ладно, но продолжительность одной минуты на системных часах будет близка к продолжительности одной минуты на большинстве других часов.
23. Хорошо, но продолжительность одной минуты на системных часах никогда не будет больше, чем час.
24. Да вы шутите.
25. Минимальной единицей времени является одна секунда.
26. Ладно, одна миллисекунда.
27. Никогда не возникнет необходимость переставить системные часы на какое-то значение, отличное от точного местного времени.
28. Ладно, для тестирования может понадобиться переставить системные часы на другое значение, но в коммерческой эксплуатации это никогда не понадобится.
29. Метки времени (time stamps) всегда будут в понятном формате вроде 1339972628 или 133997262837.
30. Метки времени всегда будут в одинаковом формате.
31. У меток времени всегда будет одинаковая степень точности.
32. Метку времени достаточной точности можно считать уникальной.
33. Метка времени показывает время, когда событие действительно произошло.
34. Человекочитаемые даты можно передать в универсальном, всем понятном формате вроде 05/07/11.
Заблуждения относительно человеческих имён. Все перечисленные ниже утверждения ошибочны. Взято тут:
1. People have exactly one canonical full name.
2. People have exactly one full name which they go by.
3. People have, at this point in time, exactly one canonical full name.
4. People have, at this point in time, one full name which they go by.
5. People have exactly N names, for any value of N.
6. People’s names fit within a certain defined amount of space.
7. People’s names do not change.
8. People’s names change, but only at a certain enumerated set of events.
9. People’s names are written in ASCII.
10. People’s names are written in any single character set.
11. People’s names are all mapped in Unicode code points.
12. People’s names are case sensitive.
13. People’s names are case insensitive.
14. People’s names sometimes have prefixes or suffixes, but you can safely ignore those.
15. People’s names do not contain numbers.
16. People’s names are not written in ALL CAPS.
17. People’s names are not written in all lower case letters.
18. People’s names have an order to them. Picking any ordering scheme will automatically result in consistent ordering among all systems, as long as both use the same ordering scheme for the same name.
19. People’s first names and last names are, by necessity, different.
20. People have last names, family names, or anything else which is shared by folks recognized as their relatives.
21. People’s names are globally unique.
22. People’s names are almost globally unique.
23. Alright alright but surely people’s names are diverse enough such that no million people share the same name.
24. My system will never have to deal with names from China.
25. Or Japan.
26. Or Korea.
27. Or Ireland, the United Kingdom, the United States, Spain, Mexico, Brazil, Peru, Russia, Sweden, Botswana, South Africa, Trinidad, Haiti, France, or the Klingon Empire, all of which have “weird” naming schemes in common use.
28. That Klingon Empire thing was a joke, right?
29. Confound your cultural relativism! People in my society, at least, agree on one commonly accepted standard for names.
30. There exists an algorithm which transforms names and can be reversed losslessly. (Yes, yes, you can do it if your algorithm returns the input. You get a gold star.)
31. I can safely assume that this dictionary of bad words contains no people’s names in it.
32. People’s names are assigned at birth.
33. OK, maybe not at birth, but at least pretty close to birth.
34. Alright, alright, within a year or so of birth.
35. Five years?
36. You’re kidding me, right?
37. Two different systems containing data about the same person will use the same name for that person.
38. Two different data entry operators, given a person’s name, will by necessity enter bitwise equivalent strings on any single system, if the system is well-designed.
39. People whose names break my system are weird outliers. They should have had solid, acceptable names, like 田中太郎.
40. People have names.