Pamięć podręczna

Subskrybuj RSS A A A
6 października 2003
Jakub Chabik

Gdyby ktoś zapytał, jakie dzisiaj są najbardziej palące problemy inżynierii oprogramowania, ktoś podałby wyszukiwanie pełnotekstowe w wielkich zbiorach danych, programowanie współbieżne albo wydajne rozwiązywanie problemu komiwojażera.

Gdyby ktoś zapytał, jakie dzisiaj są najbardziej palące problemy inżynierii oprogramowania, ktoś podałby wyszukiwanie pełnotekstowe w wielkich zbiorach danych, programowanie współbieżne albo wydajne rozwiązywanie problemu komiwojażera.

Myślę, że bardzo istotnym problemem, którego informatyka nadal nie rozwiązywała, jest problem daty.Nie chodzi o żadną konkretną datę, np. 1 stycznia 2000 r., ale generalnie, o zapis daty w systemach informatycznych. Największym kłopotem, tradycyjnie, jest format zapisu. O ile nietrudno domyślić się, co znaczy 21.03.1999, to już odszyfrowanie daty 02.03.01 bez znajomości kontekstu nie jest możliwe. Rzadko kiedy ten kontekst jest znany, a ustawienia regionalne (locale) wprowadzają więcej zamieszania niż porządku, gdyż najczęściej inne są w systemie operacyjnym, inne w środowisku użytkownika, a jeszcze inne w bazie danych.

Arytmetyka dat to kompletna katastrofa. Widziałem typy danych, w których dodanie 30 dni do 21 grudnia dawało w wyniku 20 dzień trzynastego miesiąca w roku. Widziałem typy danych, w których obliczenie liczby dni między 1 stycznia roku 1900 a 1 stycznia roku 2000 trwało minutę. Visual Basic, zapisujący datę i czas na liczbie zmiennoprzecinkowej, jest bodaj najgorszym przykładem, bo nie sposób operować datami bez wiedzy o ich wewnętrznej reprezentacji.

Ewidentnie niedoróbki pokrywane są nadmiarem "inteligencji". Przykładem jest Excel, który komórkę z zapisanym 3/4 natychmiast przerobi na format daty i uzna, że jest to 4 czerwca 2003, choć w Europie nikt w ten sposób nie zapisałby daty.

Mam bardzo osobisty powód, żeby domagać się rozwiązania problemu daty. W lutym 2001 r. gościłem w Kalifornii. Po "oficjalnej" części wizyty wypożyczyłem samochód w Los Angeles, by przejechać słynną Highway 1 do San Francisco. W miejscowości Capitola zatrzymałem się na nocleg w motelu. Przy rejestrowaniu się podałem pani kartę kredytową, ona zaś przeciągnęła ją przez maszynę i mechanicznie oddała mi. Wtedy maszyna wydała kilka nieprzyjemnych dźwięków i napisała, żeby natychmiast przeciąć kartę i dzwonić po policję. Recepcjonistka popatrzyła na mnie jak na ściganego kryminalistę, ale na szczęście trzymałem już kartę w ręku. Bezwiednie sięgnąłem do wewnętrznej kieszeni kurtki, by wyciągnąć paszport. Dopiero potem zdałem sobie sprawę, że ten ruch mógł kosztować mnie życie, gdyby recepcjonistka była bardziej nerwowa i miała pod ręką broń. Przez około 15 minut spokojnie dowodziłem, że ja to ja, a karta jest OK. Chyba dobrze to zrobiłem, bo pani spisała numer karty oraz moje dane, poradziła mi don't worry i wysłała mnie do najbliższego baru, żebym spokojnie zjadł kolację. Jeszcze widzę ten obrazek: siedzę sam przy stole, jem hamburgera monstrualnych rozmiarów i zastanawiam się, czy i gdzie będę jadł następny posiłek. Gotówki miałem w sam raz na jedzenie, spanie albo samochód - ale nie na choćby dwie z tych rzeczy. No i stale istniała możliwość, że tę noc spędzę na koszt kalifornijskiego podatnika w lokalnym areszcie.

Tajemnica wyjaśniła się, gdy wróciłem z posiłku. Otóż data ważności na pasku magnetycznym była zapisana w postaci 01.10.2001 - co oznaczało, w myśl europejskich standardów, 1 października 2001. Terminal w Capitola Inn odczytał to jako 10 stycznia 2001 i karta została uznana za nieważną. Na szczęście wystarczył jeden telefon do firmy MasterCard - no i oczywiście recepcjonistka o silnych nerwach.

Tak czy owak, mamy coraz szybsze komputery i coraz więcej informacji w Internecie, ale problem daty pozostaje nie rozwiązany.

Oceń artykuł

średnio: 0 liczba ocen: 0

Komentarze (0)

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88