Piotr R. ...
Artur Świerc Programista PHP/Java
Temat: Po co to całe typowanie?
Łukasz Karpuć:
Artur Świerc:Łukasz Karpuć:
...i o 90% z nich się nie dowiesz pisząc w PHP. Twój wybór. Ale jak masz zapchane 2 miesiące wprzód, to nieźle..
Język to tylko narzędzie. Małe projekty mogą ograniczać.
Rozumiem, że napisałem nieprawdę a klepiąc dalej w samym PHP ma się szansę poznać choćby takie trywialne rzeczy jak wskaźniki czy wątki? Muszę się chyba doszkolić...
Znajomość wskaźników i wątków nie robi jeszcze z nikogo dobrego programisty.
Marek Sierbin:
Czy mógłbyś się w takim razie wypowiedzieć co do wiarygodności przedstawionego tutaj (http://reverseblade.blogspot.com/2009/02/c-versus-c-ve... testu? Nie uznawałem nigdy PHP za demona prędkości, ale te wyniki są dla mnie "zastanawiające"...Marek Sierbin edytował(a) ten post dnia 04.12.10 o godzinie 01:06
Trudno mi się odnieść do tego testu, szkoda że autor nie podaje faktycznego kodu.Artur Świerc edytował(a) ten post dnia 04.12.10 o godzinie 16:27
konto usunięte
Temat: Po co to całe typowanie?
Artur Świerc:
Łukasz Karpuć:
Artur Świerc:Łukasz Karpuć:
...i o 90% z nich się nie dowiesz pisząc w PHP. Twój wybór. Ale jak masz zapchane 2 miesiące wprzód, to nieźle..
Język to tylko narzędzie. Małe projekty mogą ograniczać.
Rozumiem, że napisałem nieprawdę a klepiąc dalej w samym PHP ma się szansę poznać choćby takie trywialne rzeczy jak wskaźniki czy wątki? Muszę się chyba doszkolić...
Znajomość wskaźników i wątków nie robi jeszcze z nikogo dobrego programisty.
Czy możesz wskazać, w którym miejscu napisałem to co tu sugerujesz?Łukasz Karpuć edytował(a) ten post dnia 04.12.10 o godzinie 16:43
konto usunięte
Temat: Po co to całe typowanie?
Piotr Rusoł:
Mam pomysł. Panie Arturze wyłączy Pan analizator statyczny (LINT), który jest aktualnie puszczany za nim uruchomi się kompilator i jest rozszerzeniem do standardu.
Zobaczy Pan, że konstrukcja:
A zmienna1;
B zmienna2;
zienna1 = zmienna2 jest jak najbardziej możliwa.
Przekazanie zmiennej o innym typie niż funkcja tego wymaga też stanie się możliwe.
Kompilator tego nie wychwyci, co więcej będzie chciał coś z tym zrobić.
Ale lint nie ma nic wspólnego z kompilatorem C. Lint jest narzędziem do statycznej analizy kodu w C. Tak jak PMD w Javie. Co on ma do rzeczy? Oczywiście, że kompilator to wychwyci (o ile nie mówimy o niejawnej konwersji typów, który faktycznie w C jest dość specyficzny, ale dokładnie opisany). Przecież to byłoby zupełnie bez sensu bo poniższy kod byłby jak najbardziej poprawny w powyższym przypadku:
int s[10];
char a[3];
a = s;
Ten kod jest semantycznie niepoprawny w C i jak najbardziej wykrywa to kompilator. Jeśli jakikolwiek kompilator kiedykolwiek to skompilował to był jakiś horrendalny błąd i trudno to nazwać C.
Artur
Artur Świerc Programista PHP/Java
Temat: Po co to całe typowanie?
Łukasz Karpuć:
Czy możesz wskazać, w którym miejscu napisałem to co tu sugerujesz?Łukasz Karpuć edytował(a) ten post dnia 04.12.10 o godzinie 16:43
Zarzuciłeś Konradowi, że po siedmiu latach klepania w PHP nie wie co to jest dwukierunkowa lista powiązana. Ja zaś napisałem, że język to tylko narzędzie, a ograniczać się można projektami. Dlaczego tak uważam? Bo z doświadczenia wiem, że w PHP można robić równie ambitne projekty co w Javie bez użycia np wątków, zawsze są jakieś zamienniki.
konto usunięte
Temat: Po co to całe typowanie?
Artur Świerc:
Łukasz Karpuć:
Czy możesz wskazać, w którym miejscu napisałem to co tu sugerujesz?Łukasz Karpuć edytował(a) ten post dnia 04.12.10 o godzinie 16:43
Zarzuciłeś Konradowi, że po siedmiu latach klepania w PHP nie wie co to jest dwukierunkowa lista powiązana. Ja zaś napisałem, że język to tylko narzędzie, a ograniczać się można projektami. Dlaczego tak uważam? Bo z doświadczenia wiem, że w PHP można robić równie ambitne projekty co w Javie bez użycia np wątków, zawsze są jakieś zamienniki.
1. Nie zarzucałem, tylko stwierdziłem, co Konrad potwierdził, a ja przepowiedziałem mu przyszłość, jeśli pozostanie w PHP.
2. Napisałem, że za pomocą PHP nie można poznać np. wątków i to prawda - stwierdziłeś, że się mylę.
3. W PHP można robić to samo co w Javie? Powodzenia...
4. Są zamienniki? Proszę, napisz mi jakie to w PHP mamy zamienniki javowych wątków, czyli co oferuje podobną funkcjonalność.
konto usunięte
Temat: Po co to całe typowanie?
Do autora wątku:Rzeczywiście rozmowa zbiegła na złe tory. Chcesz się czegoś naumieć? Zacznij od tego:
http://helion.pl/ksiazki/wzorce_projektowe_elementy_op...
albo poszukaj frazy: "wzorce projektowe". Możesz też odwiedzić stronę http://sourcemaking.com
Ponadto polecana jest książka "Czysty Kod" Roberta Martina.Łukasz Karpuć edytował(a) ten post dnia 04.12.10 o godzinie 19:13
Artur Świerc Programista PHP/Java
Temat: Po co to całe typowanie?
Łukasz Karpuć:Nie w PHP, a przy pisaniu rozszerzeń dla wordpresa. To wielka różnica.
Artur Świerc:
Łukasz Karpuć:
Czy możesz wskazać, w którym miejscu napisałem to co tu sugerujesz?Łukasz Karpuć edytował(a) ten post dnia 04.12.10 o godzinie 16:43
Zarzuciłeś Konradowi, że po siedmiu latach klepania w PHP nie wie co to jest dwukierunkowa lista powiązana. Ja zaś napisałem, że język to tylko narzędzie, a ograniczać się można projektami. Dlaczego tak uważam? Bo z doświadczenia wiem, że w PHP można robić równie ambitne projekty co w Javie bez użycia np wątków, zawsze są jakieś zamienniki.
1. Nie zarzucałem, tylko stwierdziłem, co Konrad potwierdził, a ja przepowiedziałem mu przyszłość, jeśli pozostanie w PHP.
2. Napisałem, że za pomocą PHP nie można poznać np. wątków i to prawda - stwierdziłeś, że się mylę.Nie czytasz uważnie - stwierdziłem że wątkami nie zrobisz z nikogo dobrego programisty. Język to tylko narzędzie. Samo trzymanie złotej wędki w ręce nie uczyni kogoś rybakiem.
3. W PHP można robić to samo co w Javie? Powodzenia...Bądźmy realistami, mam na myśli rozwiązania webowe. Chociaż nawet powstały jakieś mody w których możemy pisać soft na androida czy też tworzyć aplikacje okienkowe.
4. Są zamienniki? Proszę, napisz mi jakie to w PHP mamy zamienniki javowych wątków, czyli co oferuje podobną funkcjonalność.Zwykły linuxowy CRON.
konto usunięte
Temat: Po co to całe typowanie?
Artur Świerc:1. Nie zarzucałem, tylko stwierdziłem, co Konrad potwierdził, a ja przepowiedziałem mu przyszłość, jeśli pozostanie w PHP.Nie w PHP, a przy pisaniu rozszerzeń dla wordpresa. To wielka różnica.2. Napisałem, że za pomocą PHP nie można poznać np. wątków i to prawda - stwierdziłeś, że się mylę.Nie czytasz uważnie - stwierdziłem że wątkami nie zrobisz z nikogo dobrego programisty.
// EDIT: dobra, nie chce mi się tego ciągnąć.. nie napisałem nic co tam sobie wymyśliłeś i tyle.
4. Są zamienniki? Proszę, napisz mi jakie to w PHP mamy zamienniki javowych wątków, czyli co oferuje podobną funkcjonalność.Zwykły linuxowy CRON.
Cron ma być zamiennikiem wątków? Wielki Szkocie!Łukasz Karpuć edytował(a) ten post dnia 04.12.10 o godzinie 19:54
Jarosław Czub FullStack Developer
Temat: Po co to całe typowanie?
Artur Świerc:
Łukasz Karpuć:
4. Są zamienniki? Proszę, napisz mi jakie to w PHP mamy zamienniki javowych wątków, czyli co oferuje podobną funkcjonalność.Zwykły linuxowy CRON.
Zwykły cron i centralny zarządcza procesów, niekiedy udaje mi się na jednej maszynie odpalać po kilkaset procesów php :). Wiem lubię się pastwić nad serwerami. I mały kamyczek do wątków w javie. Największa wada wielowątkowości to taka ze jeżeli proces potomny ci się zawiesi (miałem coś takiego na skutek błędu w Lucene) to go za chiny ludowe nie ubijesz, bez resetowania maszyny wirtualnej.
W przypadku procesów php zawsze mogę ubić jeden proces po pidzie.
konto usunięte
Temat: Po co to całe typowanie?
Jarosław Czub:
Artur Świerc:
Łukasz Karpuć:Zwykły linuxowy CRON.
4. Są zamienniki? Proszę, napisz mi jakie to w PHP mamy zamienniki javowych wątków, czyli co oferuje podobną funkcjonalność.
Zwykły cron i centralny zarządcza procesów, niekiedy udaje mi się na jednej maszynie odpalać po kilkaset procesów php :). Wiem lubię się pastwić nad serwerami. I mały kamyczek do wątków w javie. Największa wada wielowątkowości to taka ze jeżeli proces potomny ci się zawiesi (miałem coś takiego na skutek błędu w Lucene) to go za chiny ludowe nie ubijesz, bez resetowania maszyny wirtualnej.
W przypadku procesów php zawsze mogę ubić jeden proces po pidzie.
Bo wykorzystujesz procesy, a nie wątki. To nie jest to samo.
Jarosław Czub FullStack Developer
Temat: Po co to całe typowanie?
Łukasz Karpuć:
Jarosław Czub:
Artur Świerc:W przypadku procesów php zawsze mogę ubić jeden proces po pidzie.
Łukasz Karpuć:
Bo wykorzystujesz procesy, a nie wątki. To nie jest to samo.
Akurat wiadomo, że to nie to samo i jakie są różnicę. W php nie ma innej możliwości zasymulowania wielowątkowości (według mojej wiedzy na stan dzisiejszy) i dla php 5.3, co innego JAVA gdzie obsługę wątków masz wpisane w core języka.
Generalnie pisanie wielowątkowe/wieloprocesorowe to kawałek porządnej wiedzy, który potrafi przynieś korzyści w postaci szybkości przetwarzania danych. Jednak również napisany kod musi być dużo lepiej napisany, przetestowany. Wiele kwiatków wychodzi gdy mamy kod wielowątkowy/wieloprocesorowy.
To już temat na inny wątek, bo ten miał inny temat. Jak ktoś chce to mogę podać przykłady z życia wzięte bo pisaniem wielowątkowym ma na codzień do czynienia.
konto usunięte
Temat: Po co to całe typowanie?
Jarosław Czub:
Bo wykorzystujesz procesy, a nie wątki. To nie jest to samo.
Akurat wiadomo, że to nie to samo i jakie są różnicę.
No więc wystarczy to, aby stwierdzić, że w PHP się nie da.
Jest za to fork, pamięć współdzielona, semafory - używał ktoś tego w realnym środowisku? Mnie się nie zdarzyło jeszcze.. może to nie są zabawki do tego, do czego PHP się przydaje.
Jarosław Czub FullStack Developer
Temat: Po co to całe typowanie?
Łukasz Karpuć:
Jarosław Czub:
Bo wykorzystujesz procesy, a nie wątki. To nie jest to samo.
Akurat wiadomo, że to nie to samo i jakie są różnicę.
No więc wystarczy to, aby stwierdzić, że w PHP się nie da.
Jest za to fork, pamięć współdzielona, semafory - używał ktoś tego w realnym środowisku? Mnie się nie zdarzyło jeszcze.. może to nie są zabawki do tego, do czego PHP się przydaje.
W produkcyjnym tego nie używałem jeszcze. W ramach jednej maszyny to spoko rozwiązanie, ale mam aplikacje działającą na paru serwerach. Generanie żeby zakończyć rozważania nad tym co lepsze czy c64 czy atari :) każdy język ma wady i zalety, każdy nadaje się do czego innego. Java - backend, obliczenia numeryczne, itd. PHP - webowy front end, prezentacja danych.
Artur Świerc Programista PHP/Java
Temat: Po co to całe typowanie?
Jarosław Czub:każdy język ma wady i zalety, każdy nadaje się do czego innego. Java - backend, obliczenia numeryczne, itd. PHP - webowy front end, prezentacja danych.
Oczywiście, dlatego nikt nie zrobi facebook'a tylko w JEE, albo systemu obsługującego LHC w PHP. To tylko narzędzia, a niestety wiele programistów poza jednym językiem świata nie widzą ;)
konto usunięte
Temat: Po co to całe typowanie?
Jarosław Czub:
W produkcyjnym tego nie używałem jeszcze. W ramach jednej maszyny to spoko rozwiązanie, ale mam aplikacje działającą na paru serwerach. Generanie żeby zakończyć rozważania nad tym co lepsze czy c64 czy atari :) każdy język ma wady i zalety, każdy nadaje się do czego innego. Java - backend, obliczenia numeryczne, itd. PHP - webowy front end, prezentacja danych.
Wszystko co mówisz to prawda, aczkolwiek jedne lepiej się nadają do nauki dobrych programistycznych nawyków (i w ogóle tego, co ramach programowania wymyślono), a inne gorzej. I o tym właśnie pisałem.
Artur Świerc:
Oczywiście, dlatego nikt nie zrobi facebook'a tylko w JEE, albo systemu
obsługującego LHC w PHP. To tylko narzędzia, a niestety wiele programistów
poza jednym językiem świata nie widzą ;)
Aby nie było, że jestem fanatykiem Javy i dlatego twierdzę, że jest o niebo lepsza do nauki poprawnego programowania niż PHP: na codzień* pracuję z PHP.
==
* jak to się pisze?
Piotr R. ...
Temat: Po co to całe typowanie?
Artur Karazniewicz:
Piotr Rusoł:
Mam pomysł. Panie Arturze wyłączy Pan analizator statyczny (LINT), który jest aktualnie puszczany za nim uruchomi się kompilator i jest rozszerzeniem do standardu.
Zobaczy Pan, że konstrukcja:
A zmienna1;
B zmienna2;
zienna1 = zmienna2 jest jak najbardziej możliwa.
Przekazanie zmiennej o innym typie niż funkcja tego wymaga też stanie się możliwe.
Kompilator tego nie wychwyci, co więcej będzie chciał coś z tym zrobić.
Ale lint nie ma nic wspólnego z kompilatorem C. Lint jest narzędziem do statycznej analizy kodu w C. Tak jak PMD w Javie. Co on ma do rzeczy? Oczywiście, że kompilator to wychwyci (o ile nie mówimy o niejawnej konwersji typów, który faktycznie w C jest dość specyficzny, ale dokładnie opisany). Przecież to byłoby zupełnie bez sensu bo poniższy kod byłby jak najbardziej poprawny w powyższym przypadku:
int s[10];
char a[3];
a = s;
Ten kod jest semantycznie niepoprawny w C i jak najbardziej wykrywa to kompilator. Jeśli jakikolwiek kompilator kiedykolwiek to skompilował to był jakiś horrendalny błąd i trudno to nazwać C.
Artur
Jeżeli przytoczone przykłady nie są wystarczająco silne to podeprę się informacjami znalezionymi na http://en.wikipedia.org/wiki/C_%28programming_language%29
Po prawej stronie w tabelce:
Typing discipline Static, weak, manifest
Wygląda, że wikipedia ma błąd w artykule i trzeba go zgłosić.
konto usunięte
Temat: Po co to całe typowanie?
Piotr Rusoł:
Jeżeli przytoczone przykłady nie są wystarczająco silne to podeprę się informacjami znalezionymi na http://en.wikipedia.org/wiki/C_%28programming_language%29
Po prawej stronie w tabelce:
Typing discipline Static, weak, manifest
Wygląda, że wikipedia ma błąd w artykule i trzeba go zgłosić.
Wikipedią bym, się nie podpierał, ale możemy zrobić eksperyment. Tylko trzeba wymyślić jaki ;)Łukasz Karpuć edytował(a) ten post dnia 05.12.10 o godzinie 23:28
Podobne tematy
-
GL - Ogólne » MONACHIUM - "całe szczęście", ża Nas tam nie było.... -
-
ALVEO » Hashimoto - choroba (nie) na całe życie? -
-
Leasing czyli wygodne... » Leasing - kompleksowo - auta, sprzęt, także nietypowy,... -
-
Grooming » Przeczytaj uważnie całe ogłoszenie - sprzedam stół Vivoga... -
-
Ekologiczny Biznes.... » Poznaj projekt BambuRain - sposób na dochód na całe życie -
-
SPOTKANIA PRZY HERBACIE » Całe nasze życie to... -
-
Hotelarze i Gastronomowie » sprzt gastronomiczny-całe wyposazenie restauracji... -
-
Business IT » Całe IT w jednym miejscu - 20.09.2017 r. Stadion PGE... -
-
Szkolenia, konferencje, targi » Całe IT w jednym miejscu! Zapraszamy na Targi IT Future... -
-
Velvet CARE sp. z o.o. » Nowe chusteczki Velvet emocje już w sprzedaży. Włożyliśmy... -
Następna dyskusja: