Acg N. .
Temat: Microsoft WebMatrix - kwas czy nowy Access?
To nie o pokorę chodzi, moim zdaniem, tylko o czasy. Borysław jest akurat osobą, która ma w sobie wiele pokory wobec świata. Ale formułuje takie, a nie inne wnioski, bo zapewne nie "dotknął historii". Kiedyś nie było innej możliwości, jak uczyć się tego wszystkiego, czego wymagał "genialny projekt", bo po prostu nie było nic gotowego.Przykład. Pamiętam, że jako uczeń 3 klasy LO, chciałem napisać, "na informatykę", taki mega-wypasiony "Dziennik lekcyjny". Do dziś mam wydruk dokumentacji ze screenshotami. /Swoją drogą, to otwarłem usta, że jako nastolatek miałem o wiele lepsze pomysły, niż dzisiaj <załamka>, pełna kreatywność - bo tego wymagały narzędzia./ Program był pisany w Turbo C (czyste C), działał w trybie graficznym (BGI), z listą wyboru plików (z przewijaniem!), miał menu (a więc trzeba było pamiętać obszar spod menu, a tu był problem z pamięcią), wykorzystywał "strony graficzne", miał zabezpieczenie przed uczniami (specjalna dyskietka-nie-do-skopiowania), drukowanie "kartek z ocenami" i raportów, zapisywanie w plikach (o dość złożonym formacie) i kilkoma innych ficzerów, m.in. edytor notatek i kalkulator jako TSR (program rezydentny). Wszystko, najmniejszą pierdołę, trzeba było wyrzeźbić. Przekłuta w odpowiednim miejscu i "dziko sformatowana" (by disccopy nie dało rady) dyskietka to eksperymenty z BIOSem. Nawet bitmapę trzeba było linia po linii wyświetlać (do góry nogami, od prawej do lewej), bo nie było do tego nic gotowego. Potem drukowanie i pilnowanie portu drukarki (podłączona/online? gotowa? jest papier?). Godziny spędzone nad kombinowaniem, dlaczego pisanie po ekranie przerwaniem INT21h (DOSowe) nie działa w TSRze, tylko zawiesza komputer. Można tak wymieniać długo. Z biegiem czasu przejście na wskaźniki, a potem pierwsze, nieśmiałe eksperymenty z obiektami ("programowanie proceduralne z obiektami"). Musiałeś to przejść, czy chciałeś, czy nie. W MFC było o niebo lepiej, ale pewnie sam pamiętasz, że było trochę roboty, by np. z obiektu dokumentu dostać się do ramki i vice versa, czy pisania swoich DDX/DDV, czy ogarnąć mapę komunikatów. Aby zmienić kolor przycisku (nie było "propertów" do tego), trzeba było się także narzeźbić. Ale wtedy uczyłeś się myśleć komunikatami i po raz pierwszy doświadczałeś potrzeby pilnowania zasobów w WM_PAINT.
A dzisiaj - co musisz wiedzieć z tamtych rzeczy? Nic. Od razu skaczesz na "głęboką wodę", w głowie aż Ci huczy od pojęć "J2EE", "framerowk", "DDD", "TDD", "WPF", "IoC", "Fluent interface", "ORM", "NoSQL", "cloud computing", "MVC", "wzorzec projektowy", "UML", "BPMN" i tak dalej. TAMTA wiedza jest Ci już naprawdę "zbędna", bo ledwie możesz opanować dzisiejsze nowości. A skoro nie musisz się uczyć tamtego, to raczej niewielkie masz szanse, byś zmusił się powrotu do źródeł. Nawet nie będziesz mógł, bo gdzie poćwiczysz pisanie TSRa, by "poczuć" przerwania INT i IRQ? Gdzie poćwiczysz z obsługę karty graficznej, "głośniczka", RTC, UART (tego to już nawet nie ma w nowszych komputerach)? Małe masz szanse, że wrócisz do informatyki lat 80 i 90, gdzie musiałbyś skupić się na technicznych aspektach programowania, "dotknąć bebechów", by zrozumieć i odpowiedzieć sobie na pytanie "dlaczego tak?". I gdzie mają źródła niektóre dzisiejsze rozwiązania. Za kolejne 10 lat będzie z tym jeszcze gorzej. A ci, co będą się tym interesować, będą "geekami", "wannabe-guru" i "ekscentrykami", jak dzisiaj elektronicy techniki lampowej. Przykre, nieuchronne i męczące, gdy za 10 lat będziesz musiał komuś wyjaśnić, że "jak to, to kiedyś nie myślano obiektowo?" i "to naprawdę istnieje tylko jeden timer - sprzętowe przerwanie zegarowe"?.