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"?.
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Czasy czasami - tego nie zatrzymamy, zresztą po co? A niech się wszystko rozwija jak chce.

Ale nie zgodzę się z Tobą, Adrian, w jednej kwestii: piszesz, że powstają miliony nowych technologii, i że trudno to ogarnąć...

Racja, trudno - jeśli nie wiemy, jak to działa. Bo jeśli się przyjrzeć niektórym rzeczom z bliska, to... nagle okazuje się, że klasy statyczne to nic innego jak moduły dobrze znane programowania proceduralnego, sygnatura metody to wypisz-wymaluj prototyp funkcji z C... Przykłady można by mnożyć bez końca - odnoszę czasem wrażenie, że w tych wszystkich "nowych" technologiach naprawdę nowe jest 20, może 30% - reszta to odgrzane, wczorajsze obiadki, którym marketingowcy nadali nowe nazwy, żeby dały się kolejny raz sprzedać.

Nie mówię, że jestem w stanie ogarnąć wszystko - nie mam łba jak koń i po prostu to mi się nie zmieści :) Ale tego tak naprawdę nowego to wcale nie jest tak dużo.

konto usunięte

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Adrian Olszewski:

Szkoda że mogę dać ci tylko jednego plusa...
Adrian Olszewski:
Ciekaw jestem, czy na studiach jeszcze uczą, co to są v_tables...

Niestety nie uczą ale ci co chcą wiedzieć co to jest to i tak sami zdobędą tą wiedzę.
Piotr Głudkowski:
Czasy czasami - tego nie zatrzymamy, zresztą po co? A niech się wszystko rozwija jak chce.

Ale nie zgodzę się z Tobą, Adrian, w jednej kwestii: piszesz, że powstają miliony nowych technologii, i że trudno to ogarnąć...

Racja, trudno - jeśli nie wiemy, jak to działa. Bo jeśli się przyjrzeć niektórym rzeczom z bliska, to... nagle okazuje się, że klasy statyczne to nic innego jak moduły dobrze znane programowania proceduralnego, sygnatura metody to wypisz-wymaluj prototyp funkcji z C... Przykłady można by mnożyć bez końca - odnoszę czasem wrażenie, że w tych wszystkich "nowych" technologiach naprawdę nowe jest 20, może 30% - reszta to odgrzane, wczorajsze obiadki, którym marketingowcy nadali nowe nazwy, żeby dały się kolejny raz sprzedać.

Nie mówię, że jestem w stanie ogarnąć wszystko - nie mam łba jak koń i po prostu to mi się nie zmieści :) Ale tego tak naprawdę nowego to wcale nie jest tak dużo.


Zgadzam się z tym co mówisz ale problem polega tu na tym że dzisiaj mało kogo interesuje że ty wiesz jak to działa oraz wiesz z czego jest to zbudowane, raczej nacisk jest na to czy potrafisz tego używać bądź czy znasz niedociągnięcia i kruczki frameworka XYZ, jeśli nie znasz i nie potrafisz komuś odpowiedzieć na Triva Questions (jak w testach rekrutacyjnych np) to nie jesteś traktowany poważnie i to mnie boli.

Mogę wiedzieć jak zbudować serwer www potem zbudować framework podobny do ASP.NET ale i tak jestem uważany za kiepskiego bo nie wiem jak się nazywa tag walidatora w ASP.NET, bądź też jaki jest cykl życia strony po wymieniając po nazwach eventów.

Edit: poprawki w cytowaniu.Bartosz Adamczewski edytował(a) ten post dnia 22.01.11 o godzinie 17:44
Jakub Szumiato

Jakub Szumiato Software
Implementations Team
Leader

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Moim zdaniem to policzek wymierzony w twarz przyszłych programistów www.

Oczywiście, każdy doświadczony programista ma swoją ścieżke postępowania i tego typu sytuacje nie wpłyną na jego postrzeganie sposobu programowania (o czym, między innymi, jest ten topic).

Co jednak zrobią młodzi programiści chcący zacząć programować? Skoro Microsoft promuje taki sposób pisania kodu, będą nim podążać. Będą pisać aplikacje, które będą nieskalowalne, ciężko zarządzalne, itp. itd.

Każdy kiedyś zaczynał, jednak część ludzi (szczególnie tych po słabych uczelniach) sięga do zasobów MS, żeby przygodę rozpocząć. Taka nauka jednak nie wydaje mi się dobrym początkiem w tej chwili.

Rozmowa o WIN32 i historii programowania, sluszności wyborów z tych czasów itp. wydaje mi się osobnym zupełnie tematem.

Jeśli MS chce "wessać" programistów PHP, to niech wyraźnie zaznaczy jaki jest target, bo podpisując się pod tego typu praktykami skazuje wiele młodych, niedoświadczonych osób na naukę niedobrych praktyk pisania kodu.

Moim zdaniem reputacja--;

Pozdrawiam,
[JS]
Borysław B.

Borysław B. Mgr inżynier
informatyki,
właściciel Matrix
Reliability

Temat: Microsoft WebMatrix - kwas czy nowy Access?

To jak mam być dobrym programistą? Żeby rozumieć jak wszystko działa, na każdym poziomie abstrakcji - musiałbym poświęcić na to mnóstwo czasu, którego zresztą za dużo nie mam. Jedyne co mogę, to dzielić się swoimi wątpliwościami z ludźmi z branży, którzy sobie pracują już kilka lat ciągle, narażając się przy tym na ostry komentarz - ale inaczej się nie da po prostu, bo tylko Ci co nic nie mówią nie mylą się nigdy w swych słowach. Wszystko fajnie, że jest czymś pięknym posiadać szczegółową wiedzę, ale trzeba jeszcze jakoś przeżyć i jeszcze żyć tak by być wolnym, radosnym i szczęśliwym. Muszę więc poświęcić szczegółową wiedzę o przerwaniach na rzecz mojej rodziny dajmy na to.

Oczekuje się ode mnie, że będę umiał rozwiązać określony problem i w międzyczasie zadecydować samodzielnie, jakich technologii i technik użyć. Za to się mnie ceni. I robię to. Używam tych technologii, które są nowoczesne i uznane. Czego chcieć więcej?

Wy zaczynaliście od asemblera, DOS-a, przerwań, C, WinAPI i tak dalej, 10, 15 lat wałkowania i harówy w różnych firmach. Ja zaczynałem trochę inaczej, od nowszych technologii, a stare znam tylko z teorii. Za 15 lat będę siedział na tym forum i dziwił się, jak ktoś może nie wiedzieć jak działały WinForms i co to było WPF, jak się programowało w Delphi, mało tego - będę mówił i wspominał z rozrzewnieniem, jaką długą drogę przebyłem w IT i myślał jakim fachowcem jestem, bo gadam z innymi fachowcami równymi mnie w swej fachowości.

Wtedy nieznajomość - powiedzmy czystego WinAPI - nie będzie ani niczym dziwnym, ani niczym hańbiącym. Wtedy bycie dobrym programistą nie będzie oznaczało tego, co dla Was - jak mniemam z Waszych wypowiedzi - oznacza teraz. Te Wasze kryteria dzięki którym macie przekonanie o swoim profesjonalizmie będą każdego śmieszyły. 20, 30 lat i czeka Was tylko ciepła emeryturka, a po pięciu latach na wygodnej emeryturze, gdy nie będziecie w branży - okażecie się szybko skamielinami, dinozaurami - a Wasza wiedza ekspercka nikomu okaże się nie potrzebna. Skończy się wtedy bycie profesjonalistą. Cieszcie się więc, póki możecie ;)Borysław Bobulski edytował(a) ten post dnia 23.01.11 o godzinie 03:01
Borysław B.

Borysław B. Mgr inżynier
informatyki,
właściciel Matrix
Reliability

Temat: Microsoft WebMatrix - kwas czy nowy Access?

BTW:
Image, imagelist i backgroundimage robią to samo, tyle że inaczej. Ale robią wciąż to samo - wyświetlają grafikę na przycisku, tyle że każde w inny sposób i w innym miejscu. Tak np. by było przejrzyściej, przy zachowaniu pełnej funkcjonalności.

ButtonImageType { Bitmap, ImageListItem, Both (ImageListItem + Bitmap stretch background)}
ImageAlign { Top Left, Center, Right, Middle Left, Center, Right, Bottom Left, Center, Right, Tile, Stretch}
ImageListData //rozwijane opcje
- ImageList
- ImageIndex
- ImageKey

i 3 pola w oknie Properties :) Łatwiej znaleźć i ogarnąć, bo wszystko jest lepiej uporządkowane, zgodnie z ideami OOP. Po rozwinięciu ImageListData jest w sumie 6 pól, czyli już nie 7 tak jak wcześniej ;) Oczywiście to już taka luźna dyskusja akademicka, ale podjąłem, bo ktoś miał wyraźnie na to ochotę ;)

Bo teraz pytanie, czy jest w porządku zmuszanie użytkownika, by wrzucił ikonkę w ImageList - jeśli chce zrobić taki dziwoląg jak przycisk o zdefiniowanym przez bitmapę wyglądzie i z ikonką obok napisu (co nie ma zbytnio sensu robić tego w ten sposób, lepiej już chyba jest po prostu użyć dla takich zabiegów estetycznych dwóch obiektów klasy Image i jednej Labelki). Czy ta rozbujała funkcjonalność graficzna w obiekcie klasy Button ma w ogóle jakiś sens? Kto z tego skorzysta?Borysław Bobulski edytował(a) ten post dnia 23.01.11 o godzinie 03:18

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Borysław Bobulski:
się, jak ktoś może nie wiedzieć jak działały WinForms i co
A wiesz, jak działają WinForms? Wiesz, jak "działa" okno Windows od strony WinApi? Co siedzi w tle za obiektowości WinForms? Jeśli wiesz, to OK.
Wtedy nieznajomość - powiedzmy czystego WinAPI - nie będzie ani niczym dziwnym, ani niczym hańbiącym. Wtedy bycie dobrym
Teraz też "nikt" na co dzień nie musi korzystać z WinAPI. Podejrzewam nawet, że niejeden programista a C++ bez klasy "string" i klas kolekcji miałby ciężkie życie :)
Chociaż np. ja miesiąc temu musiałem napisać program, który odpali się na "dziewiczej maszynie" z Windows XP i wykona pewne czynności wdrożeniowe (baza danych, rejestr) bez dostępu do .NETa. Co prawda po ładnych kilku latach niekorzystania z WinAPI było ciężko i boleśnie, ale to jak jazda na rowerze. Oczywiście za 10 lat już chyba nie będzie komputerów z XP w instytucjach państowych i problem stosowanie WinAPI odpadnie, a dotyczyć będzie tylko "egzotycznych sytuacji". Teraz na ogół jest dostępna Java albo .NET, QT, Python i inne platformy, więc OK, masz rację. Ale tu nie chodzi o programowanie WinAPI, tylko wypowiadanie się na jego temat podczas kiedy się go nie zna, bądź nie zna realiów, w jakich powstawał. Na tym właśnie polega ambaras, by uważać, gdy zajmuje się stanowisko sędziego w sprawie, co do której nie ma się istotnych informacji. Ja też nie mam np. pojęcia o mikrokontrolerach 8051, chociaż to te same czasy, ale nie wypowiadam się na jego temat negatywnie czy pozytywnie, bo po prostu brak mi wiedzy.
programistą nie będzie oznaczało tego, co dla Was - jak mniemam z Waszych wypowiedzi - oznacza teraz.

A co mniemasz? Bo na pewno nie chodzi o znajomość DOSa, przerwań i WinAPI samych dla siebie. Dobry programista to ktoś, kto rozumie mechanizmy, jakie rządzą tym, co robi, dzięki czemu robi to świadomie. Inaczej jest tylko składaczem klocków i "klepaczem kodu" (nie przeczę, że to wystarcza w wielu przypadkach, by zarobić na więcej, niż chleb z masłem). I teraz - jeśli do zrozumienia mechanizmu obiektowości potrzebne są wskaźniki, tablice, a timerów przerwania - to warto to wiedzieć, by móc ew. krytykować. A jeśli nie będziesz brać udziału w takiej dyskusji, to oczywiście, że Ci to niepotrzebne. Wiedzy masz mieć tyle, by skutecznie wykonać swoje zadanie. A to, czy rozwijasz się dodatkowo (nie tylko "wprzód", ale i "wstecz"), czy nie, to zupełnie osobna kwestia - Ty sam decydujesz, czy robisz tylko to, co masz do zrobienia, czy coś więcej.

Przy okazji polecam zapisanie się do grup:
http://www.goldenline.pl/forum/projektowanie-i-program...,
http://www.goldenline.pl/forum/uml/ i http://www.goldenline.pl/forum/wzorce-projektowe/. Nie są zbyt "żywe", ale czasem jest coś ciekawego.
śmieszyły. 20, 30 lat i czeka Was tylko ciepła emeryturka
Ciebie tylko dziesięć lat więcej, a to wbrew pozorom bardzo krótko. Nie wiem, w jakim celu to napisałeś.
pięciu latach na wygodnej emeryturze, gdy nie będziecie w branży - okażecie się szybko skamielinami, dinozaurami - a Wasza wiedza ekspercka nikomu okaże się nie potrzebna.
Wiedza ekspercka na temat konkretnej technologii - owszem. Już dzisiaj wiedza ekspercka n/t .NET 1.0 nie będzie wiele warta, nie mówiąc o wiedzy eksperckiej n/t MFC czy OWL Borlanda. Ale wiedza na temat pewnych mechanizmów ("jak to działa") jest ponadczasowa. A programiści często, w dalszym toku swej kariery, przechodzą "level wyżej" na projektantów oprogramowania, a tam wiedza "co i jak" już się przydaje.

Dlaczego mamy być dinozaurami, skoro rozmawiasz tutaj z ludźmi, którzy są średnio tylko 10 lat starsi i z powodzeniem stosują w pracy zawodowej te nowoczesne technologie? Ci najstarsi z tej grupy programowali (uczyli się, bądź zawodowo) proceduralnie, a teraz piszą obiektowo i wdrażają w życie "domain driven development" - kompletnie inne myślenie, "okienka" tekstowe pisali w TurboVision, a teraz piszą pod WPFa. Każdy z nas rozumie, że bycie programistą, to ciągły rozwój, a nie stagnacja. I albo się w tym siedzi, albo stopniowo odchodzi (ja np. odchodzę od programowania na rzecz projektowania i analizy, więc faktycznie, mogę być za parę lat ostro w tyle).

Dzisiejsza Twoja wiedza "produktowa" już za 5-10 lat okaże się przestarzała. Wiedza algorytmiczna i "jak to działa" - nawet za 50 lat nie.
się wtedy bycie profesjonalistą. Cieszcie się więc, póki możecie ;)
Zabrzmiało złowrogo :]Adrian Olszewski edytował(a) ten post dnia 23.01.11 o godzinie 13:38
Borysław B.

Borysław B. Mgr inżynier
informatyki,
właściciel Matrix
Reliability

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Prawdę mówiąc pisałem to wszystko wyobrażając siebie starego i na emeryturze - i sytuację, gdy pierwszy lepszy student będzie mnie zaginał, uważając się za lepszego ode mnie.

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Nie o zaginanie chodzi, Borysławie, you miss the point. Każdy z nas na tej grupie potencjalnie zagnie każdego innego w jakieś kwestii. I nie ma problemu, by "siedzący po uszy w nowościach" student zagiął profesora (czy początkujący programista architekta IT - bo ten pierwszy drąży głęboko nowości, a ten drugi już pracuje na innym poziomie abstrakcji) w zakresie detali. Ale raczej profesora "z powołania" (a nie tylko nadania) nie zagnie w pryncypiach. Może zarzucić profesora technicznymi terminami, ale jak przyjdzie do egzaminu i rozumienia zagadnienia, to profesor raczej "wyjdzie na swoje". Podobnie, jak architekt na etapie rozmowy kwalifikacyjnej, przy zadaniu "na rozumienie zagadnienia" bądź przy złożonym i odpowiedzialnym projekcie.

Nie o zaginanie więc chodzi, a tylko i wyłącznie o rozumienie zagadnienie, w zakresie którego krytykujemy, bądź... nadmiernie chwalimy ("tworzenie nowej religii", co często ma miejsce w IT u tzw. "fanboyów") :)

konto usunięte

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Borysław Bobulski:
To jak mam być dobrym programistą? Żeby rozumieć jak wszystko działa, na każdym poziomie abstrakcji - musiałbym poświęcić na to mnóstwo czasu, którego zresztą za dużo nie mam.



Obrazek


+


Obrazek


na dobry początek :-)Karim A. edytował(a) ten post dnia 23.01.11 o godzinie 19:39
Borysław B.

Borysław B. Mgr inżynier
informatyki,
właściciel Matrix
Reliability

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Już zacząłem czytać :)

konto usunięte

Temat: Microsoft WebMatrix - kwas czy nowy Access?

Borysław Bobulski:
Teraz WinForms, czyli kolejna martwa gałąź IT... A według niektórych "mocna technologia, zaprojektowana z głową i ceniona przez specjalistów". No, no... Mocne słowa.

Nie podoba mi się:
- Brak wsparcia ze strony Microsoftu. Microsoft woli nie pamiętać, jak kilka lat temu pieniądze różnych firm przeznaczono na implementacje nowych rozwiązań w WinForms - i one poszły w błoto, z chwilą jednego widzimisie Microsoftu? Co to za mocna technologia, która nie jest wspierana?

Microsoft Product Lifecycle deklaruje wsparcie dla WinForms do 2016 roku. Support dla VS2008 do 2018. Mialem kontakt z paroma firmami, ktore maja indywidualny support na 15 lat podpisany. IMO to bardzo dobry support!
- Dalej nie podoba mi się nadmiar w WinForms. O ile WPF jest niesamowicie oszczędne, to kontrolki WinForms są całkowitym przeciwieństwem WPF-owych. Dla przykładu - w trzech różnych miejscach w klasie jest umieszczona właściwie ta sama funkcjonalność - umożliwienie umieszczenie obrazka na przycisku: BackgroundImage, Image, ImageList. Teraz właściwości dla każdego z tych teł: BackgroundImageLayout, ImageAlign...

Po primo nie robia tego samego. Po drugie brzmi to jak narzekanie na glosne wskazowki zegarka w Rolls Royce ;)
- To co w Delphi przy użyciu kilku komend i komponentów można zrobić, zajmuje za pomocą WinForms kilka, a czasem kilkanaście stron kodu. To też kwestia narzędzi dostarczanych do Visual Studio. W Delphi np. pola XML-a mają tak jak pola bazodanowe swoje typy (zgodnie z XSLT) nawet podczas wyświetlania można poprzez klikanie na grida "przesortować" dane, a takich sztuczek w WinFormkach chyba się nie da się równie łatwo zrobić.

To w zasadzie tyle co do WinForms

Strasznie malo problemow jak na tak rozbudowana technologie! WinForms stoi mocno w duzych korporacjach.

Dolaczam sie do propozycji, zarzuc Stroustrupa, polecam tez Code Complete Steve McConnell'a. Ja tez zaczynalem od 4 i 8-bitowych asemblerow z ktorymi doszedlem do 32 bitow, napisalem kilka kompilatorow w zyciu i zgodze sie z przedmowcami, ze ta wiedza jest niezbedna, bo daje odpowiednia perspektywe programistyczna. Bez niej wszystko wydaje sie super proste i latwo bez niej pisac kontrowersyjne, bardzo powierzchownie zbudowane opinie.

Wszystko przed Toba :)

Następna dyskusja:

Wzorzec repozytorium - stos...




Wyślij zaproszenie do