Archive Page 2
Ten post jest wyrazem mojej dzisiejszej frustracji - zmarnowaniem 4h czasu aby dowiedzieć się, że to nie moja wina, że coś nie działa.
Bardzo lubię język PHP za miłą skłądnię, względnie duże możliwości, możliwość programowania tak jak ja chcę a nie jak autor wymusił, szybkie tworzenie aplikacji, dużo gotowych bibliotek, no i przez Symfony.
Ale są też bardzo istotne powody dla których PHP uważam za strasznie niepoważny język:
- Jest to jedyny język skryptowy jaki znam, który dość łatwo jestem w stanie doprowadzić do segfault błędnie napisanym kodem - po to się programuje w językach skryptowych aby móc łatwo wyłapywać błędy i aby błędy programisty były wstępnie obsłużone przez sam interpreter. Przykład: napisałem nieskończoną rekurencję, oczywiście wystąpił błąd przepełnienia stosu, ale nie jestem w stanie zrozumieć czemu tego język skryptowy nie obsłużył! Efekt był taki, że interpreter zaliczył wywrotkę napisem Segmentation fault
- Debugowanie skryptów to tragedia. Wiem, jest XDebug, używam XDebug, ale gdy na prawdę jest mi potrzebny pojawiają się kłopoty - np. powyższe segfaulty. Już w końcu nie wiem czy to wina Ubuntu(wątpliwe, bo ze źródeł kompilując miałem te same efekty), czy może sam XDebug jest dziurawy(też wątpliwe bo się długo stabilizował) - znowu moim zdaniem winowajcą jest samo PHP.
- Nazewnicto i brak faktycznych namespace - ok, to ma się pojawić w PHP6, chyba też zostanie przeniesione do PHP5. Nie wiem jak to jest możliwe, że język taki jak PHP, używany przez wiele lat przy wielkich projektach wielkich firm, dopiero teraz doczekał się takiej funkcjonalności. Polecam zajrzeć do Zend Framework jeżeli ktoś nie wie o co mam pretensje do PHP, nazwy klas są po prostu cudowne…
- Brak obsługi języków azjatyckich! Jasne, nie każdy tego potrzebuje… ale tu chodzi o ogólną obsługę utf(conajmniej)8 w standardzie.
<?php $resp = 'jakiś azjatycki strumień znaków pobrany z socketa'; echo strlen($resp); // dostajemy 12871 //pora zrobić konwersję z BIG5 na utf-8 $s2 = iconv('BIG5','utf8',$resp);echo strlen($s2); // dostajemy 2667 ?>Przy pierwszym wystąpieniu jakiegoś takiego dziwnego znaczka zwraca długość ciągu. Nie wiem teraz czy to znowu wina iconv, jeżeli tak, to czemy domyślnie w PHP nie ma mbstring(które akurat działa dobrze), a może to problem ze strlen lub czymś jeszcze innym. Dodam, że jeżeli nie wykonam konwersji to jakieś inne funkcje mają problemy. PHP sobie zwyczajnie nie radzi z utf-8, w wersji 6 ma to być zrobione porządnie - czemu tak późno?
To chyba nie wszystkie zarzuty pod adresem PHP jakie mam, ale te, które były dla mnie dotkliwie odczuwalne w ostatnich dniach.
W dniu wczorajszym, a właściwie dzisiejszej nocy miałem niebywałą przyjemność nauki języka OCCAM. Pewien problem stanowiło to, że nie przeczytaliśmy dokumentacji a postanowiliśmy programować, ale efekt jest całkiem udany. Pozdrowienia dla Kuby!:D
Ciekawsze rzeczy w tym języku:
- Procedury domyslnie nie mogą być rekurencyjne - trzeba to specjalnie zdefiniować
- Istotna jest ilość wcięć dla poprawnego działania
- Dziwne zachowanie instrukcji IF, jeżeli nie ma ELSE a się wydarzy dostajemy błąd.
- Język jest sam z siebie wielowątkowy, projektowany tak aby działał na wielu maszynach równocześnie. Poszczególne procesy komunikują się poprzez kanały - jedna procedura czeka na wejście z kanały, inna procedura wysyła do kanału. Procedury mogą pracować niezależnie.
- Operacje matematyczne wymagają nawiasów. Nie zadziała instrukcja 1+2+3, trzeba ją zapisać jako ((1+2)+3)
- Język ma jeszcze kilka ciekawych cech, o których w tej chwili nie pamiętam.
Słyszałem opinię, że np. Erlang jest lepszy, ma przyjemniejszą szkładnię etc. - patrząc na Wikipedię mam inne zdanie:)
Więcej:
http://pl.wikipedia.org/wiki/Occam
http://pl.wikipedia.org/wiki/Erlang
Na zachęte by zainteresować się programowaniem rozprosznonym polecam: http://pl.wikipedia.org/wiki/PVM
W ramach zaliczenia kursu trzeba było zaimplementować sortowanie w OCCAM - oto i one jako zachęta aby spróbować OCCAM(pierwsza wersja działająca na jednej maszynie):
Postaram się co jakiś czas napisać jakiś argument za tym, że warto używać Linuksa a szczególnie warto gdy jest się programistą. Argumenty będę pisał tylko wtedy gdy jakaś konkretna funkcja bardzo mi się spodoba/przyda.
Dzisiaj: tunelowanie ssh i KIOSlave
Aktualnie pracuję nad pewnym projektem. Dużo zmian wykonuję bezpośrednio na serwerze, aby testy odbywały się w środowisku maksymalnie podobnym do środowiska produkcyjnego(w tej konkretnej sytuacji to ten sam serwer). Serwer ten jednak z powodów bezpieczeństwa ma mocno ograniczony dostęp ze świata. Jedyne co udostępnia to dostęp przez ssh z konkretnych adresów IP. Ja mam dynamiczny adres IP, więc były z tym problemy - trzeba było otworzyć dostęp dla większej puli IP a i tak nie zawsze miałem jak się dostać (np. na uczelni) zacząłem więc używać serwera pośredniczącego, ze stałym IP. Kopiowanie plików najpierw na 1 serwer później na drugi było co najmniej męczące. I tu z pomocą przyszedł mi Linux(nie wykluczam, że pod Windows też da się tak zrobić, właściwie jestem tego pewien) i KDE:
ssh -L 9999:docelowy.host.pl:22 posrednik.host.pl cat -
następnie:
kate sftp://ja@localhost:9999/plik.php
I w ten magiczny sposób mogę modyfikować pliki bezpośrednio na innym serwerze.
Tytuł tego posta powinien właściwie być “Dlaczego używam KDE #1″. Właśnie dla tego.
Do wszystkich informacji warto podejść krytycznie..
0 Comments Published January 29th, 2008 in Uncategorized… szczególnie gdy są to informacje z Mediów.
Swego czasu bardzo głośna była sprawa pewnego piekarza, który zbankrutował ponieważ Urząd Skarbowy kazał mu zapłacić podatek od rozdanego pieczywa. Sprawa od samego początku wydawała mi się niepewna i bardziej byłem skłonny tym razem przyznać rację Urzędowi.
Uważam, że się nie pomyliłem, szczególnie gdy dzisiaj trafiłem na wersję drugiej strony. Urząd Skarbowy przedstawił swoją wersję wydarzeń - moim zdaniem miał absolutną rację by od pana Gronowskiego rządać pieniędzy. Przykre jest to, że Urząd tym razem został niesłusznie nazwany krwiopijcą, chociaż tak na prawdę można to powiedzieć o właścicielu piekarni - chleba wcale nie rozdawał(a przynajmniej w takiej skali jak twierdził), a zasłaniał się biednymi ludźmi przed zapłatą należnego podatku. A do tego media mu pomagały oszukiwać.
Szczegóły: http://www.mf.gov.pl/dokument.php?const=7&id=64609&dzial=618
Przyznać muszę, że było to dla mnie nie małą niespodzianką gdy zobaczyłem dzisiaj ten tytuł w ogłoszeniach.
Faktem jest, że jest to już pewne i na pewno miało miejsce:
http://trolltech.com/28012008/28012008
Zobaczymy jaki efekt będzie to miało dla całej społeczności, do samego Qt i linuksa wśród telefonów.
Nokia tworzy swoją platformę Maemo, z tego co się orientuję jest to platforma jedynie do tabletów internetowych a nie do telefonów. Trolltech ma już gotową platformę smartphone, która w ostatnich dniach się znacznie rozrastała - dodawane zostały np. zdalny upgrade etc. Jeżeli klienci oczekują rozwiązań Open Source w swoich komórkach, to i Nokia musi dołączyć do spełnienia ich potrzeb. Na rynku istnieje już kilka rozwiązań np. OpenMoko, Android więc walka między nimi może wyjść wszystkim na dobre.
Matisyahu Jerusalem (Out Of Darkness Comes Light)
1 Comment Published January 21st, 2008 in Moja muzykaW końcu.
http://www.kde.org/announcements/4.0/
Sam KDE używam od kilku dni - Kubuntu się postarało:) Jednak daleki jestem od zadowolenie - całość się po prostu gryzie z KDE3 i wysypuje(oczywiście Plasma). Chciałem użyć KDM4 jednak się nie udało - nie startują sesje. Mam nadzieję, że najbliższe tygodnie przyniosą jakieś pozytywne zmiany.
Złe odczucia dodatkowo potęguje fakt, że po ostatnich manewrach ze sterownikami straciłem stabilność systemu. Co jakiś czas serwer X po prostu się wyłącza - nigdzie w logach nie znalazłem informacji czemu. Najbardziej dotkliwe jest natomiast to, że również DBUS przestał działać uruchamiać się za pierwszym razem, ale to raczej naprawię jak tylko znajdę czas, czyli nie tak szybko:)
Bóg mówi do Adama:
- Adam, daj żebro
- Nie dam!
- No Adam, daj..
- Nie dam.
- No proszę, Adam daj…
- Nie dam, mam jakieś złe przeczucie…
Wszystkiego najlepszego!
IE8, czy zapowiada się rewolucja, a może wreszcie normalność?
1 Comment Published December 20th, 2007 in UncategorizedDalej mam podejrzenia, że to tylko fotomontaż. Grafika z Konquerora połączona z zakładkami IE:), poczekamy zobaczymy.
Najbardziej ciekawi mnie jak Microsoft rozwiąże kwestię już istniejących strony a przede wszystkim kwestię swoich klientów korporacyjnych. Podejrzewam, że zgodność będzie włączana atrybutem w HTML etc. a domyslnie dalej będzie niezgodny z czymkolwiek.
Search BlogAbout |
Z mojego czytnika RSS |
|||