Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Narzekania i obawy
Forum PHP.pl > Inne > Hydepark
Cysiaczek
Witam. Postanowiłem podzilić się z Wami kilkoma obawami i jednocześnie dać upust frustracji.

Przeglądałem niedawno zawartość katalogu /specyfikacje_i_manuale. Niby nic wielkiego, wszak należy to robić często pracując nad jakimś projektem. Robiłem to jednak z troszkę innego powodu - porównywałem. Porównywałem jego zawartośc z zawartością katalogu sprzed blisko pięciu lat i nie mogłem wyjść z podziwu nad ogromem wiedzy, którą kiedyś przecież musiałem przetrawić. Cóż takiego mnie sprowokowało do pisania? Ano. Wspomniane pięć lat temu posiadałem w owym katalogu takie rzeczy: 'HTML Tutorial' Pawła Wimmera, php manual + kursy (głównie PHP3), kilka kursów JavaScript. W zasadzie niewiele. Oczywiście byłem wówczas początkującym Webma(j)sterem, a programistą prawie żadnym. Tych kilkanaście plików wystarczało zupełnie do stworzenia dynamicznych stron www, z których do dziś jestem dumny, choć zakończyły już swój żywot w sieci.

Dzisiaj, przeglądając wspomniany katalog ulegam wrażeniu, że coś tu nie gra. Kiedy zbieram się do pisania nawet prostej aplikacji webowej, wiekszość czasu zajmuje mi przegląd dostępnych technologii, które w danym programie można spróbować wykorzystać. Samo w sobie nie jest to złe, ale powoduje spory zamęt. Wszystkie za i przeciw muszą być przecież rozważone np. użycie jednej technologii implikuje użycie innej, która ni w ząb nie pasuje do całości, albo jest przysłowiowym wyciąganiem armaty na wróbla. Dotyczy to również rozszerzeń php, czy gotowych pakietów kodu tzw. "ponownego użycia". Wszystko to byłoby do zniesienia, gdyby nie brak jednolitych standardów aplikacji. Prawie każdy programista tworząc aplikację decyduje się na konsekwentne używanie pewnych technologi. W światku php'owców (nie tylko) najczęściej wybiera się którąś z baz SQL, a dane prezentuje w (X)HTML z technologiami towarzyszącymi. Proste prawda? To teraz napiszcie program, który będzie działał na każdym serwerze, bedzie posiadał implementacje typu 'na wszelki wypadek gdyby czegoś na serwerze nie było', był możliwy do obsłużenia przez wszystkie przeglądarki www i jeszcze umożliwiał dalszą prostą rozbudowę o dodatkowe moduły (cóż - to chyba standard). Żeby było weselej, proponuję przedstawić problematyczny kod na forum i poprosić o wskazanie słabych stron, ewentualnych problemów. Gwarantuję, że w wielu przypadkach znajdzie się 'życzliwy', który stwierdzi, że "wogóle napisz to to inaczej, bo sie nie trzyma standardów". W takim razie zapytuję: Co "trzyma się" standardów, skoro nie ma żadnych ustalonych (poza standardami kodowania)? Wszystkie dotychczasowe próby standaryzacji aplikacji webowych kapitulują w obliczu nowych technologi i mnogości konfiguracji serwerów dla których są przeznaczone. Oczywiście głupie byłoby twierdzenie, że nic się nie robi w kierunku poprawienia tej sytuacji, lecz proces ten następuje bardzo wolno i osobiście upragnionego końca nie widzę.

Nie chcę bynajmniej jednego "właściwgo" standardu (taki próbuje wylansować Microsoft), a raczej pragnę zrzec się odrobiny wolności w projektowaniu, aby przy każdym projekcie nie rozpoczynać zabawy od określania, co wogóle będzie wykonalne, a z czego muszę zrezygnować, bo inaczej pogubię się na poziomie implementacji. Pisząc kod klas zaczynam zwykle od słówka 'abstract'. Nie muszę chyba tłumaczyć, że biorę w ten sposób pod uwagę różne ewentualne implementacje. Szkoda tylko, że coraz cząście łapię się na tym, że nawet proste klasy ujmuję w szerszy kontekst, bo znajduję gdzieś alternatywę i chcę ją uwzględnić "na wszelki wypadek". Czy ktoś może mi powiedzieć kiedy mam przestać myśleć typami, a w końcu coś zakodować? Jest taka zasada: "Nie będziesz tego potrzebował". Problem w tym, że jakoś ciężko mi ją z czystym sumieniem stosować. Inna zasada: "Da sie to zrobić inaczej" - jest obecnie moją najwiekszą zmorą i nie daje spać. Na koniec konkluzja. Można to wszystko ogarnąć, wypracować własne standardy. Nie pytam zatem o przyszłość obecnych aktywnych programistów aplikacji webowych, ale o przyszłość osób, które dopiero teraz wchodzą w ten skomplikowany światek i są przerażone ilością wiedzy, którą muszą wchłonąć. Pytam, ile czasu zajmie im filtrowanie informacji, czy się nie zniechęcą i na koniec - czy ich wiedza i umiejętności będą stały na odpowiednio wysokim poziomie. Pytam dlatego, że mimo kilkuletniego doświadczenia miewam problemy, które wydają się czasami dziecinne i budzą śmiech bardziej doświadczonych programistów lub tych, którzy nie są szczególnie doświadczeni, ale akurat ten konkretny kawałek wiedzy opanowali przede mną.

Pozdrawiam.
athabus
IMHO problem leży w innej kwestii. Po prostu do niedawna strony internetowe i pochodne (cms, aplikacje itp) - czyli generalnie wszystko co związane z siecią było proste - 1 -2 technologie i do dzieła. W życiu jednak tak nie ma - np. żeby zostać inżynierem i projektować dajmy na to mosty też trzeba swoje "odpękać" - nie wystarczy umieć rysować - musisz opanować materiałoznawstwo i jakieś tam inne rzeczy o których pewnie nawet przeciętny zjadacz chleba nie ma pojęca.
Obecnie stwierdziłbym raczej, że branża webprogrammowania wchodzi w fazę normalności - żeby zostać ekspertem - ba nawet początkującym trzeba trochę czasu, zaangażowania i inteligencji.
IMO to jest dobry znak - ci którzy zaczynali gdy istniał html powinni się cieszyć, że mieli to stopniowo wprowadzane - nowi mają pecha - zanim zrobią coś godnego uwagi muszą ze 2 lata spędzić na nauce:D
Ja sam kiedyś (gdy wchodziło dopiero css) zajmowałem się www - niedawno musiałem wrócić do tej "branży" i też przeżyłem lekki szok -> obiektowe php, układy strony za pomocą css, ajax, bazy danych z "bajerami". Wszystko to sprawi, że ostatecznie projektowanie serwisów stało się trudną sztuką i mi się to podoba, bo szczerze mówiąc robienie stron kiedyś mnie nudziło - teraz już tak nie jest:D

Będąc szczerym, projektowanie aplikacji webowy jest i tak prostrze niż progamowanie zwykłych aplikacji więc spodziewam się, że w najbliższym czasie dojdzie jeszcze parę "smaczków".
spenalzo
O byciu profesjonalista nie świadczy ilość poznanych technologii. Bycie profesjonalistą to umiejętnośc takiego zaprojektowania aplikacji, aby byla prosta i logiczna w obsludze, a zarazem wydajna i bezpieczna, no i oczywście spełniała założenia.
I uważam, że czepianie sie kogoś tego, że używa np. PHP4 zamias 5, albo pisze stronki w zwyklym HTML4 w ukladzie tabelkowym zamiast superhiper wypasionych wartst jest troche nie na miejscu - ważny jest efekt końcowy i spełnianie ząłożeń, natomiast użyte technologie są raczej drugoplanowe. Taka mała analogia: czy jak kupujesz auto interesuje cie w jaki sposob byly spawane elementy karoserii i jakie sruby uzyte, czy bardziej jesteś zainteresowany jak to auto działa?

Fakt, że teraz tworzeniem www zajmuje sie raczej juz tylko hobbystycznie, ale swoje strony nadal robie w tabelkach, w zwyklym HTMLu. I wszystko gra pod wszystkimi przeglądarkami, nic sie nie rozjeżdza i jest OK...
ActivePlayer
no ale np htmlowe tabelki więcej 'palą' niz nowa divova bryka z fajnym lakierem (css). oczywiscie trzeba wybrac zloty srodek
athabus
Widzisz ja uważam, że czepianie się nie ma sensu... Ale są pewne technologie, które opanować trzeba, żeby robić coś profesjonalnie.
Na przykład używanie tabelek uważam za niezgodne ze standardami. Jest kilka ważnych argumentów które przemawiają za css
- strona na css lepiej się indeksuje
- strona na css jest bardziej dostępna dla niewidomych
- strona na css jest zgodna ze standardami - treść oddzielona od prezentacji
Można powiedzieć, że strona i na tabelkach i na css wygąda tak samo - ale różnice są i to spore - spytaj chociażby niewidomego.

Jeśli chodzi więc o analogię do samochodu - to nie ma dla mnie znaczenia jak ktoś samochód wykonał tak długo jak nie wiem jakie to ma znaczenie dla mnie jako użytkownika. Pewnie jest różnica między różnymi typami spawów bo na przykład jeden będzie szybciej korodował od drugiego. Dopóki o tym nie wiem, nie zwracam na to uwagi, ale nie znaczy, że to nie ma znaczenia biggrin.gif

Do czego zmierzam - do tego, że takie rzeczy jak używana technologia mają znaczenie - oczywiście bez przesady. Ktoś kto dobrze zna php4 zrobi lepszą stronę od tego kto zna słabo php5. Ale generalnie im więcej technologii opanujesz tym bardziej świadomie wybierasz co jest w danej sytacji lepsze. Tak jest w każdym zawodzie - nie tylko w programowaniu.
Na pewno nie należy śmiać się z osób, które danych technologii nie znają, bądź znają je pobierznie - ja na przykład słabo znam php - ale trzeba sobie powiedzieć prawdę, że jeśli coś się chce w danym zawodzie osiągnąć, to dobrze znać jak najwięcej technologii i znać je dobrze - to oczywiście tylko taka moja opinia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.