Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Dowcip programistyczny
Forum PHP.pl > Inne > Hydepark
l0co
Dowcip poniżej:

Kod
      function test($a) {
       if ($a == 'hello')
         echo 'Hello, too!';
      }
      test(0);

Output: 'Hello, too!'.
Co zresztą potwierdza moje mniemanie o PHP jako języku do zabawy. Co o tym myślicie?
Kicok
przed porównaniem 'hello' jest konwertowane do integera:
  1. <?php
  2.  
  3. echo intval( 'hello' );
  4. echo '<br /><br />';
  5.  
  6.  
  7. // - - -
  8. function test1( $a )
  9. {
  10. if( $a == 'hello' ) {
  11. echo 'Hello too!<br />';
  12. }
  13. }
  14.  
  15. function test2( $a )
  16. {
  17. if( $a === 'hello' ) {
  18. echo 'Hello too!<br />';
  19. }
  20. }
  21.  
  22. test1( 0 );
  23. test2( 0 );
  24.  
  25. ?>
GrayHat
troche nie ten dzial winksmiley.jpg
w php nie takie czary tez wychodza winksmiley.jpg
qqrq
Taa, brak ścisłej kontroli typów tyle samo pomaga co przeszkadza... Tu bardziej lubię C.
nospor
Cytat
Co o tym myślicie?
Ja mysle, ze nie znasz php i ten temat jest wynikiem Twojej nie wiedzy.
Cytat
Dowcip programistyczny
Twoj dowcip jest jak lokata....

ps: przenosze
l0co
A ja myślę, że nie zrozumiałeś intencji mojej wypowiedzi. Znam PHP i nie tylko, wiem też czemu tak się dzieje (Kicok - mimo to, dzięki za objaśnienie). Miałem na myśli coś innego - jak trudne do wykrycia są takie błędy gdy się operuje w większym systemie, i jak wiele problemów można napotkać przy implementacji w języku bez wsparcia kompilatora. W jaki sposób ustrzec się przed tym zwłaszcza, gdy pracuje nad kodem więcej osób? Myślałem raczej że w tym kierunku potoczy się dyskusja...

PS - Lokata? - Tego nie zrozumiałem
nospor
Cytat
A ja myślę, że nie zrozumiałeś intencji mojej wypowiedzi.
Patrzac po postach to nie tylko ja nie zrozumialem winksmiley.jpg

Cytat
jak trudne do wykrycia są takie błędy gdy się operuje w większym systemie
kwestia wiedzy programisty. Ja operuje na "wiekszych" systemach i jakos nie mam problemow z tego typu przypadkami.

Cytat
W jaki sposób ustrzec się przed tym zwłaszcza, gdy pracuje nad kodem więcej osób
No coz, trzeba co jakis czas sprawdzac tych "mniej doswiadczonych" kolegow.

Cytat
PS - Lokata? - Tego nie zrozumiałem
Widze ze z telewizją jestes na bakier smile.gif No nic, Twoja strata winksmiley.jpg (ja TV tez czesta nie oglądam, ale ta reklama tak czesto sie pojawia ze trudną ja przegapic)
Cysiaczek
@l0co - bedę wredny, bo właśnie mnie zdenerwowałes. Ok - znaj sobie nawet 10 języków, w których takich błędów nie ma. Potem usiądzi napisz w nich jakiś system webowy. Połowa serwisów internetowych e-commerce jak rozumiem jest napisana dla zabawy?
Nie ma złych języków - są tylko kiepscy programiści.

@nospor - kolega po prostu uważa, że php to "fąfel", a inne języki to charty snitch.gif

Pozdrawiam.
l0co
@nospor - faktycznie patrząc po moim poście nie widać takich intencji. Telewizję ostatnio oglądałem bodajże na gwiazdkę z rodziną, a chyba wtedy tej reklamy jeszcze nie było - muszę się podedukować smile.gif A tak przy okazji - "większe" - co to znaczy? Jak duże i czy chodzi Ci o przemiał liczby rekordów/użytkowników czy o złożoność architektoniczną systemu?

Wredny Cysiaczku winksmiley.jpg - nie widzę świata tak czarno-biało jak sądzisz. Znam kilka języków, ale na pewno nie 10, wiem także jakie problemy należy rozważyć podczas wyboru technologii do budowanej platformy, a nie jestem fanatycznym wyznawcą żadnej z nich. Jeśli chcesz to możemy podyskutować sobie na ten temat. Jeśli chodzi o PHP - to nie sądzę, że większość systemów e-commerce jest napisana dla zabawy. Sądzę, że projektanci wybrali rozsądnych kompromis jeśli chodzi o koszty, dostępność programistów i czas realizacji w stosunku do zakładanej skali przedsięwzięcia. Myślę także, że czynnik skali jest tu bardzo istotny i rozłożywszy sobie na osi projekty od najmniejszego do największego gdzieś tam PHP się po prostu przestaje opłacać. Także między innymi w związku z takimi "annoyancami" jakie znajduję i które mnie osobiście śmieszą (jak w przykładzie). I nie ostrz mi zębów pisząc o kiepskich programistach - PHP to technologia w której istnieje chyba największa liczba kiepskich programistów na świecie (nie ubliżając tym dobrym) oraz najgorszy stosunek wartościowych do kiepskich (promile?). A zazwyczaj ci dobrzy to i tak są ludzie którzy programują w czymś innym, a PHP po prostu przy okazji łyknęli jako kolejna platforma do zrobienia "czegoś tam".
nospor
Cytat
A tak przy okazji - "większe" - co to znaczy
No znaczy tyle samo co ty uwazasz uzywajać tego slowa przedemna smile.gif

Cytat
Jak duże i czy chodzi Ci o przemiał liczby rekordów/użytkowników czy o złożoność architektoniczną systemu?
Yyyy, chyba nie myslisz ze mialem na mysli to pierwsze? Czyli ty myslisz ze jakbym napisal taki skrypt:
  1. <?php
  2. $sql = 'select * from tabela';
  3. $res = mysql_query($sql);
  4. while ($row = mysql_fetch_array($res)) echo $row['nazwa'];
  5. ?>

a rekordow w tabeli mialbym milion to mialbym prawo pisac ze napisalem "wiekszy" system? No bez zartow.

Cytat
PHP to technologia w której istnieje chyba największa liczba kiepskich programistów na świecie
Zgadza sie, ale to tylko dlatego ze php jest bardzo latwo dostępny i jest masa hostingow na php. Niestety inne jezyki webowe nie mogą sie tym pochwalic. A skoro php jest dostepny dla kazdego to i dla tych "kiepskich". Normalka. Ale to nie powod by pisac ze php jest kiepski bo mozesz napisac tak i tak i bedzie cie to bawilo. Mnie np. w javie bawi (czytaj wnerwia) pare rzeczych, ale na tej podstawie nie wysuwam wniosku ze java jest do czterech liter.
l0co
Większe - oczywiście chodziło mi o złożoność architektoniczną. Chociaż "większe" może też się odnosić do skali użytkowania - przy przeskalowaniu aplikacji na kilka serwerów mógłbym pokusić się już o określenie "większe". Chociaż zależy jest co ta aplikacja ma robić - jak strzela selectami z tabelki to bym się zastanowił smile.gif

Cytat
Zgadza sie, ale to tylko dlatego ze php jest bardzo latwo dostępny i jest masa hostingow na php. Niestety inne jezyki webowe nie mogą sie tym pochwalic. A skoro php jest dostepny dla kazdego to i dla tych "kiepskich".


Co tu dużo gadać, zgadzam się. To jest właśnie siła a zarazem słabość tego języka. Siła - bo każdy może coś tu sklecić, słabość - bo jakość tych "skleceń" zazwyczaj pozostawia wiele do życzenia.

Cytat
Ale to nie powod by pisac ze php jest kiepski bo mozesz napisac tak i tak i bedzie cie to bawilo.


Kiepski nie napisałem. Raczej zabawny. Gdyby był kiepski to bym w nim pewnie nie pisał, a gdyby był dobry to pewnie bym pisał wszystko. Chociaz... przechodziłem fascynację różnymi językami programowania i teraz myślę tak: najpierw zastanów się co chcesz zrobić, a później dobierz najlepsze narzędzie do tego. Istnieje cała wielka klasa problemów do których najlepszym rozwiązaniem jest PHP - dlatego go wybieram.

Cytat
Mnie np. w javie bawi (czytaj wnerwia) pare rzeczy


Jestem zaciekawiony - proszę o przykłady. To właśnie miał być "dowcip programistyczny" więc niech będzie zabawnie smile.gif Jestem przekonany że każdy język ma swoje wady, java też - bez dwóch zdań
mike
Pierwsze z brzegu. Widziałeś kiedyś GroupLayout w Java? Chore.
Wstaw w jedno miejsce inny komponent w układzie horyzontalnym a inny w wertykalnym a wyskoczy Ci taki błąd, że nic nie będziesz wiedział.

Każdy język w złych rękach jest śmieszny i zdolny do wytworzenia żenującego kodu.


P.S.
Przenoszę na Hydepark
l0co
Cytat
Pierwsze z brzegu. Widziałeś kiedyś GroupLayout w Java? Chore

To nie Java, tylko Swing. Zastosowanie, a nie język.
Jabol
Cytat(qqrq @ 31.08.2007, 13:46:36 ) *
Tu bardziej lubię C.
A ja lubie C za to, że ten język tylko na pozór ma typy, a tak naprawdę to to też ściema..

Zabawna rzecz w PHP? Tyle mogę wymieć od razu.
    - <?php, ?> i krewniacy
    - === oraz ==
    - $ w nazwach zmiennych
    - $$nazwa zmiennej (nie wiem czy to jeszcze działa)
    - PDO, największa ściema jaką ostatnio widziałem (po co mi unikalny interfejs jak i tak musze przygotować natywne SQL).
DawidF
Zabawna jest ta rozmowa...

"O przewadze Świąt Wielkiej Nocy nad Świętami Bożego Narodzenia"...

Oprócz powagi, wypowiedzi na forum.php.pl potrafią człowieka odprężyć... winksmiley.jpg

A może spróbujcie inaczej: powiedzcie, czy istnieje język (skryptowy, czy jakikolwiek inny używany przez programistów), który jest doskonały, lub przynajmniej - bliski ideałowi?questionmark.gif?
Jabol
Cytat(DawidF @ 31.08.2007, 20:34:17 ) *
czy jakikolwiek inny używany przez programistów), który jest doskonały, lub przynajmniej - bliski ideałowi?questionmark.gif?

TAK aaevil.gif
Kod
++++++++++[->+>+>+>+>+>+>+>+>+<<<<<<<<<]>[->>>>+>+>+>+>+<<<<<<<<]>[->>>+>+>+>+>+<<<<<<<]>[->>>+>+>+>+<<<<<<]>>++>+++++++>>+>->
,+[->+<<<<<<.>>>>>]<<<.>>.<.<<<<.>>>>>>>[-[-<+>]<[-<<<<<.>>>>>>+<]<<<<<.>..<<.>>>>>>>]<<<<..>.<<<<.
Speedy
Cytat(Jabol @ 31.08.2007, 21:07:18 ) *
TAK aaevil.gif
Kod
++++++++++[->+>+>+>+>+>+>+>+>+<<<<<<<<<]>[->>>>+>+>+>+>+<<<<<<<<]>[->>>+>+>+>+>+<<<<<<<]>[->>>+>+>+>+<<<<<<]>>++>+++++++>>+>->
,+[->+<<<<<<.>>>>>]<<<.>>.<.<<<<.>>>>>>>[-[-<+>]<[-<<<<<.>>>>>>+<]<<<<<.>..<<.>>>>>>>]<<<<..>.<<<<.


Są jeszcze inne, którym do ideału jeszcze trochę brakuje biggrin.gif

Kod
HQ9+


Kod
[Enter Romeo]
[Enter Juliet and Romeo]
[Exit Juliet]
[Exeunt Juliet and Romeo]
[Exeunt]
SHiP
@l0co - jedyne co jest śmieszne w tym kodzie to, że pominąłes jeden znak równości lub (string) przed nazwą zmiennej w warunku ;P
l0co
Nie ma języków idealnych i nie ma sensu przekrzykiwać się "co jest lepsze". Takich tematów już na pewno na tym forum było na pęczki.

Moje filozoficzne pytanie na tym etapie jest zatem takie: nie znajdziemy "idealnego" rozwiązania wszystkich problemów. Spróbujmy oszacować zatem zakres możliwości języka skryptowego PHP - w kontekście mozliwości realizacji funkcjonalności biznesowych. Jak uważacie, w którym momencie kończy się sensowność użytkowania PHP? Może nie kończy się nigdy? Moim zdaniem - jednak tak.

Patrząc na problem algorytmicznie: z czasem, kiedy złożoność systemu zwiększa się, rośnie także stosunek czasu który trzeba poświęcić na maintenance kodu do czasu w którym możemy prowadzić swobodny development systemu. Swobodny development nie oznacza tylko dodawanie coraz to nowych funkcji, często oznacza to także zdolność systemu do przystosowania go do specyficznych wymagań dla danego wdrożenia, a zatem ogólną przydatność systemu dla klienta. Moim zdaniem w projektach PHP w pewnym momencie, znacznie szybciej niż dla projektów Javowych, czas poświecony na maintenance zaczyna dominować - co więcej, zaczyna rosnąć bardzo stromo, przez co bezwładność systemu bardzo szybko dochodzi do nieakceptowalnego poziomu X.

Z drugiej strony, jeśli chodzi o Javę - tutaj trudno jest zacząć i zrobić coś mniejszego. Koszt wytworzenia mniejszego systemu w Javie jest nieporównywalnie wiekszy niż systemu w PHP (czas wykonywania, stawki programistów itd.). Jednak w pewnym momencie, blisko poziomu X, okazuje się, że wyimaginowane zyski które zyskalismy wybierając PHP gwałtownie maleją. Wreszcie - okazuje się, że ostatecznie koszty wytworzenia systemu są o wiele większe, a pozorny krótkofalowy zysk, zamienia się w długofalową stratę.

Moje pytanie to: gdzie znajduje się poziom X? Jak dobrze wybrać technologię do projektu i zbalansować korzyści i straty wynikające z wyboru danej technologii? Jakie są Wasze doświadczenia w tej materii? Czy ktoś tutaj zastanawiał się nad tymi aspektami, czy jesteście zapatrzeni w "jedynie słuszny" język, jakim jest ten w którym tworzycie?
dyktek
@l0co fakt to niezaprzeczalny nazwałeś php językiem do zabawy i tu już wstępnie naraziłeś się na śmieszność smile.gif
sztosz
Ale to właśnie powinna być zabawa smile.gif Dla mnie PHP kiedyś było językiem do zabawy w programowanie, a potem zobaczyłem Pythona i ten dopiero zaczął mnie bawić. "C" to dla nigdy nie była zabawa. PHP przestawało się robić zabawne właśnie wtedy gdy pojawiają się kwiatki jak w pierwszym poście. To rzeczywiście jest "problem" z językiem. Ale czy to problem? W silnikach 4 suwowych tylko 1 suw jest efektywny, w silnikach wankla każdy jest efektywny, ale czy to znaczy że 4 suwowe są złe? Nie, zwyczajnie mniej produktywne i wsio.
l0co
No coż, programowanie dla mnie to niezła zabawa, jakby nie patrzeć smile.gif
Nievinny
Cytat(DawidF @ 31.08.2007, 20:34:17 ) *
czy istnieje język (skryptowy, czy jakikolwiek inny używany przez programistów), który jest doskonały, lub przynajmniej - bliski ideałowi?questionmark.gif?

OK, jest coś bardzo bliskie ideałowi smile.gif

Cytat
mov ax, (2 shl 3)
mov ss,ax
mov ds,ax
xor edx,edx
mov fs,dx
mov es,ax
mov gs,dx
mov esp,0x000A0000


A ideał?
Cytat
0001110100100100100100000100100100100100001100
TomASS
Programowanie powinno być czyste, łatwe, przyjemne, czasami troszkę śmieszne - co to przeszkadza, że jakiś język programowania jest śmieszny!?!? Niech sobie będzie. Mnie np. nie bardzo razi, gdy ktoś nazywa PHP, że jest śmieszne, łatwe, dla mięczaków itp... nie mam zamiaru nikogo przekonywać aby zmienił zdanie - pytam się - po co? smile.gif

Dużo języków programowania powstało "dla zabawy" - ba nawet Windows, Linux był na początku zabawą, chyba każdy z nas zaczynał przygodę z programowaniem "dla zabawy" smile.gif


Swoją drogą, to rzeczywiście kolega w pierwszym poście przesadził tongue.gif W każdej książce o PHP na początku piszą takie rzeczy smile.gif

Dla wyluzowania polecam przeczytać to i to - jak myślicie po co powstało takie coś? smile.gif
Jabol
Cytat(TomASS @ 1.09.2007, 09:20:04 ) *
Dużo języków programowania powstało "dla zabawy" - ba nawet Windows, Linux był na początku zabawą, chyba każdy z nas zaczynał przygodę z programowaniem "dla zabawy" smile.gif
Swoją drogą, to rzeczywiście kolega w pierwszym poście przesadził tongue.gif W każdej książce o PHP na początku piszą takie rzeczy smile.gif
Akurat nie Windows, ten od razu był pisany na jakąś umowę. Czytałęm o tym kiedyś coś..
l0co
Cytat
Swoją drogą, to rzeczywiście kolega w pierwszym poście przesadził tongue.gif W każdej książce o PHP na początku piszą takie rzeczy smile.gif

To pewnie dlatego że nie przeczytałem nigdy żadnej książki do PHP smile.gif A tak poważnie - już wiem dlaczego mi się wydaje to śmieszne i komu się to może wydawać śmieszne - po prostu komuś kto programuje w C/C++/Java i po prostu taka konstrukcja poprzez referencję do tych języków jest co najmniej dziwna. Jak ktoś pisze głównie w PHP - to pewnie go to nie rozśmieszy, bo to po prostu normalka.
Cytat
Dla wyluzowania polecam przeczytać to i to - jak myślicie po co powstało takie coś?

Wyluzowałem, przeczytałem. Przypomina trochę łażenie po maszynie Turinga. Po co powstało - żeby być śmieszne of course winksmiley.jpg
TomASS
Cytat
Przypomina trochę łażenie po maszynie Turinga.

Tak jak łażenie po górach przypomina łażenie po nadmorskiej plaży tongue.gif

No akurat maszyna Touringa nie była konstruowana aby była śmieszna, tylko aby rozwiązywała problemy algorytmiczne.... gdyby była śmieszna, to zapewne Touring by się nie powiesił...
DeyV
Co by nie powiedzieć - zaprezentowana na wstępie konstrukcja naprawdę sprawia śmieszna wrażenie.
Nawet dla doświadczonego programisty PHP pytanie, czy string zostanie skonwertowany do 0 czy 1 może przyprawić o blink.gif

Oczywiście - jak już ktoś wcześniej wspomniał - różnego rodzaju "kwiatki" występują w różnych językach.
I konieczne jest to, by być na nie przygotowanym, bo niektóre błędy jest $@#$ trudno wykryć.

Dlatego np. ciągle jestem zdziwiony tym, jak małą popularnością cieszą się w świecie PHP testy PHPUnit lub inne tego typu narzędzia. Co prawda ciągle brakuje nam jakiegoś edytora, który by nas pod tym względem wpierał tak, jak programistów Javy ich środowiska, które potrafią takie testy generować OnLive, ale to i tak nie tłumaczy braku zainteresowania.

Czasem odnoszę wrażenie, że to testów trzeba przekonywać ludzi tak samo, jak kiedyś przekonywało się świat, że należy programować obiektowo.
Do tej pory pamiętam boje o to, czy warto używać obiektów i C++ zamiast C, nie mówiąc już o programowaniu obiektowym w PHP.

A teraz jakoś to nikogo nie dziwi (uff - 5 lat krucjaty zaowocował winksmiley.jpg )

Czy to samo czeka nas w tematyce testów kodu? A może są inne rozwiązania pozwalające na sprawne wykrywanie takich dziur w kodzie?
Jabol
Cytat(DeyV @ 1.09.2007, 13:15:33 ) *
Czasem odnoszę wrażenie, że to testów trzeba przekonywać ludzi tak samo, jak kiedyś przekonywało się świat, że należy programować obiektowo.
Do tej pory pamiętam boje o to, czy warto używać obiektów i C++ zamiast C, nie mówiąc już o programowaniu obiektowym w PHP.

A teraz jakoś to nikogo nie dziwi (uff - 5 lat krucjaty zaowocował winksmiley.jpg )
No jak się okazuje nie aż tak, bo C wciąż jest niesamowicie popularne. I nigdy się nie zgodzę, że 100% zastąpialne! Poza tym C++ śmierdzi tongue.gif (ale PHP + OO > PHP - OO). Oczywiście trzeba umieć rozróżnić kiedy użyć C, a kiedy C++, ale z Twoich słów DeyV wynika, że nie trzeba, tylko zawsze walić w C++ (albo w gacie tongue.gif)...
Zresztą dobry kod strukturalny jest niegorszy od obiektowego (źródła Pythona!). Ostatnio poznałem Jave i doceniłem obiektowość, ale wciąż nie uważam, że jest lekiem na wszystkie zło...

Btw. Brainfuck ma w sobie sporo z maszyny turinga.
l0co
Cytat
Czy to samo czeka nas w tematyce testów kodu? A może są inne rozwiązania pozwalające na sprawne wykrywanie takich dziur w kodzie?


Chyba nie ma. To prawda - dobrze napisane a przede wszystkim pisane od początku systemu testy to jedyny sposób aby zapanować nad wszystkim, zwłaszcza jeśli nie wspiera cię kompilator. Czas poświęcony na tworzenie ich zwraca się później w 1000%. Ale pisania testów - tego powinno się uczyć na równi z programowaniem. Widzieliście jakiś manual do programowania w jakimś języku gdzie uczy się takich nawyków od początku?
Turgon
l0co: Nigdy nie pisałem testów i czuje się z tym bardzo dobrze.
Jabol
Cytat(l0co @ 1.09.2007, 17:22:55 ) *
Widzieliście jakiś manual do programowania w jakimś języku gdzie uczy się takich nawyków od początku?

W Javie jest to w pewien sposób naturalne... I np. NetBeans ma wbudowane pomoce do tworzenia testów...

@Turgon: człowiek uczy się przez całe życie. Radzę Ci dobrze, zanim nauczysz się czegokolwiek nowego, jakiegoś frameworka, biblioteki, poczytaj o Unit Testing.
Turgon
Jabol: Wiem, co to są testy. Ale ich nie używam. Jest mi z tym dobrze.
Zbłąkany
@Jabol: wybacz Turgonowi, on zawsze był inny i batem go nie przekonasz do testowania winksmiley.jpg
DeyV
Turgon - a nam żal Twoich ewentualnych współpracowników, osób zmuszonych do rozbudowy lub korekt w jakimś większym systemie, z rozbudowanym systemem zależności między klasami.

Ewentualnie - życzę szybkiego klikania, tak by po jakiejś drobnej zmianie w kodzie zawsze móc sprawdzić, czy każdy element systemu nadal chodzi smile.gif

I choć sam nie jestem święty, i nie każdy kod testuję (niektórych elementów po prostu nie da się przetestować przy pomocy Unit T, lub też ja nie potrafię w danych sytuacjach ich napisać).

Właśnie o NetBeans i innych tego typu środowiskach wspominałem, i naprawdę żałuję że nie ma (nie odkryłem) jeszcze narzędzia tego typu do Eclipse...

Cytat
winksmiley.jpg )
No jak się okazuje nie aż tak, bo C wciąż jest niesamowicie popularne. I nigdy się nie zgodzę, że 100% zastąpialne!

Trafne spostrzeżenie. Jednak nie chodziło mi o to, by podważać zalety C, tylko by pokazać, że teraz nikt już nie podważa tego, że programowanie obiektowe jest niezastąpione (z wyjątkiem konkretnych specyficznych sytuacji) Kiedyś uważano dokładnie odwrotnie winksmiley.jpg
l0co
Cytat
Wiem, co to są testy. Ale ich nie używam. Jest mi z tym dobrze.


Mi też byłoby dobrze gdybym tego nie musiał robić, kto lubi pisać testy? I nie wątpię że Tobie jest. Przynajmniej jak piszesz - wątpię natomiast w to czy innym jest dobrze z Twoim kodem a także w to czy Tobie samemu jest z nim dobrze po upłynieciu pewnego czasu. Po Twoich wypowiedziach wątpię w ogóle w to czy Twój kod mógłbym w jakikolwiek sposób wykorzystać biznesowo - bo chyba na tym nam wszystkim zależy? Chyba płyniesz na razie tak samo jak ja jak miałem 15 lat, ja przynajmniej już z tego wyrosłem.
Jabol
Też nie pisałem testów. Aż pewnego dnia pewna skompilowana aplikacja mi nie działała. I okazało się, że szybciej i łatwiej będzie jeszcze w tym momencie napisać UnitTesty do każdej klasy będącej częścią programu niż śledzenie błędu ręcznie. To mnie przekonało.
nasty
Dodam tylko ze testy są świetną metoda na dokumentacje kodu. Nie wiesz co robi pewna klasa ? wystarczy zobaczyć jej testy i już wiadomo o co chodzi, z czym jest powiązana, gdzie wykorzystywana i jak powinny wyglądać dane wejściowe i wyjściowe.
Jabol
Cytat(nasty @ 3.09.2007, 01:02:16 ) *
Dodam tylko ze testy są świetną metoda na dokumentacje kodu. Nie wiesz co robi pewna klasa ? wystarczy zobaczyć jej testy i już wiadomo o co chodzi, z czym jest powiązana, gdzie wykorzystywana i jak powinny wyglądać dane wejściowe i wyjściowe.

Dokładnie. A w szczególności przy bibliotekach. Nie wiesz jak używać biblioteki, która z tych 50 klas jest naprawdę istotna? Zajrzyj do testów?

A tak wracając z OT, to kolejną rzeczą przy której mam polewkę z PHP to require/include. Przecież to epoka kamienia łupanego. A autoload czy jak to się tam nazywa to średniowiecze..
mike
~Jabol a co sugerujesz w zamian?
import jak w Java?

Jaka będzie różnica? Żadna.
Jabol
@mike: dokładnie, import. To *jest* różnica! Czemu? Bo nie musisz się głowić gdzie na dysku są Twoje pliki, wszystko automatycznie. I operujesz w pewnej abstrakcji, niezależnie od systemu plików. Rozumiem, że takie rozwiązanie można wykorzystywać w bashu, ale PHP to język o trochę chyba większych ambicjach. W Javie podstawową strukturą programu są klasy, a w PHP pliki, i taka jest różnica (nawet w PHP obiektowym, chyba, że ktoś zaimplementuje CLASSLOADER'a z Javy w funkcji autoload).
l0co
Cytat
To *jest* różnica!
Zgadzam się. Moim zdaniem sytuacja wygląda tak: * z autoload da się żyć całkiem znośnie, ja właściwie używam include tylko w jednej funkcji w całym systemie i się już o to nie martwie * problemy się zaczynają jak chcesz się zintegrować z jakimś softem co ma własny autoload * rzeczywisty problem PHP to dla mnie brak pakietów i możliwości logicznej organizacji klas - u mnie zazwyczaj kończy się to śmietniskiem (w połączeniu z chęcią wykorzystania możliwości autoload) albo próbami własnej implementacji pakietów; jeszcze nie znalazłem dobrego rozwiązania na to - propozycje?


Edit: A tak skoro już sobie rozmawiamy o językach to kolega mi podesłał takie coś.

Może to pozwoli mi przynajmniej częściowo odpowiedzieć na pytanie postawione na tej stronie:The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system.

Bo widzę, że rację miał mike (na PW), że skończy się to porównywaniem języków, bo nikogo nie zainteresował ten aspekt, który interesuje mnie:
Cytat
Spróbujmy oszacować zatem zakres możliwości języka skryptowego PHP - w kontekście mozliwości realizacji funkcjonalności biznesowych. Jak uważacie, w którym momencie kończy się sensowność użytkowania PHP? Może nie kończy się nigdy? ITD.
Jabol
Cytat(l0co @ 4.09.2007, 09:53:21 ) *
który interesuje mnie:
Tam gdzie kończy się parsowanie danych wejściowych i generowanie HTML'a, tam się wg mnie rola PHP kończy. Czyli innymi słowy mówiąc, PHP jest warstwą prezentacji. Web Tier, jakby to ktoś gdzieś tam powiedział...
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.