Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Zephir - co o nim myślicie?
JacekJagiello
post 22.04.2014, 19:36:55
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.11.2012

Ostrzeżenie: (0%)
-----


Rok temu ShadowD pisał o Phalconie, jendak chciałbym odnowić dyskusję, ponieważ trochę się zmineiło od tego czasu.

Może krótkie wprowadzenie. Phalcon jest frameworkiem PHP napisanym pierwotnie w C. Dzięki temu jest niesamowicie szybki. W "standardowych" frameworkach PHP przy każdym zapytaniu kod frameworka jest w całości interpretowany od nowa, co zajmuje trochę czasu. Phalcon jest już skompilowany, więc nie ma tego problemu. Wystarczy dodać rozszerzenie w postaci pliku dll dla serwera Aapche.
Ma to jednak swoje wady. Po pierwsze raczej mozemy zapomnieć w phlaconie na standardowych hostingach wpsółdzielonych. Potrzebujemy VPS-a gdyż tylko tam mamy możliwość instalowania własnych rozszerzeń.
Jest też problem rozwoju frameworka. Jest on stworzony dla programistów PHP, ale sam napisany jest w C. Nie każdy programista PHP zna C, a te języki mimo wszystko się różnią. Twórcy frameworka postanowili więc stworzyć własny język programowania, Zephir, który łączy cechy PHP oraz C(a także... Rust i Javascript). Trochę radykalne rozwiązanie, ale Zephir naprawdę wygląda ciekawie. I to głównie temat Zephira chciałbym poruszyć.

Zephir jest językiem zarówno typowanym dynamicznie(jak php czy javascirpt) jak i statycznie©. Zephir jest tłumaczony do C. W przeciwieństwie do PHP, Zephir wymusza pewne dobre standardy, i dodaje funkcje których w PHP brakuje, na przykład:
-Kod musi być umieszczony w klasach. Zephir jest wpełni obiektowy.
-Namespace jest konieczny
-używanie $ nie jest wymagane
-Możemy ustalić jaki typ danych ma zwracać metoda

Dzięki Zephir możemy tworzyć rozszerzenia. Więc całe nasze aplikacje możemy skompilować do C, tym samym znacznie poprawiając wydajność.
Zachęcam do oglądniecia składni zephir na http://zephir-lang.com/intro.html

Co myślicie o projekcie Zephir? Przesada, czy coś naprawdę przyszłościowego?
Go to the top of the page
+Quote Post
buliq
post 23.04.2014, 07:06:56
Post #2





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Czemu Zephir skoro jest już Hack, który działa szybciej.


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
!*!
post 23.04.2014, 07:49:36
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(JacekJagiello @ 22.04.2014, 20:36:55 ) *
W przeciwieństwie do PHP, Zephir wymusza pewne dobre standardy, i dodaje funkcje których w PHP brakuje, na przykład:
-Kod musi być umieszczony w klasach. Zephir jest wpełni obiektowy.
-Namespace jest konieczny
-używanie $ nie jest wymagane
-Możemy ustalić jaki typ danych ma zwracać metoda


Kod bez $, szczególnie po jego ukończeniu to bluźnierstwo.
Dobre te przykłady, ale... to samo jest w PHP od kilku lat.

Zaraz zacznie się czepialstwo o wymuszenie przestrzeni nazw i pełne oop, ale... kogo to obchodzi. Wszyscy co pracują w zawodzie, piszą obiektowo i używają przestrzeni nazw, więc jest to swego rodzaju wymuszenie wink.gif

Przeglądając przykłady Zephira, nie ma w nich nic specjalnego, ot standardowa składnia czegoś co się kompiluje.
Projekty tego typu mają jedną wspólną wadę, brak im oficjalnego wsparcia PHP.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Posio
post 23.04.2014, 19:42:35
Post #4





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


Ja osobiście używam Phalcona i bardzo sobie chwale, fajnie, szybko i przyjemnie. Zephir to dla mnie już lekka przesada. Jak już zagłębiać się w taki styl pisania to równie dobrze mogę wybrać jakikolwiek kompilowany język.
Go to the top of the page
+Quote Post
ano
post 23.04.2014, 19:51:05
Post #5





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jw. po co wchodzić w Zephira? Jakieś argumenty? Czemu nie jakikolwiek inny stabilny, pewny, język?
To raczej wyłącznie ciekawostka, projekt "hobbystyczny" wink.gif


--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
irmidjusz
post 23.04.2014, 19:51:28
Post #6





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Zephir powstał z tego samego powodu, co Hack. Umożliwia lepsze, szybsze i bardziej niezawodne pisanie prawdziwie złożonego oprogramowania, które zawiera mniejszą ilość błędów, a dodatkowo oferuje ogromny skok wydajnościowy w porównaniu z PHP. Nie wiem, jak można nie rozumieć zalet tych języków. Nota bene, nie powstałyby, gdyby się to nie opłacało (a przykład Hack jasno pokazuje, że się opłaca). Szybsze pisanie aplikacji oraz znacznie lepsza wydajność serwerów to ogromne oszczędności (czyli zyski).
Tak na marginesie, przykłady języków takich jak Zephir, Hack czy ostatnio omawiany na forum Dart Lang dla JavaScript pokazują, że jednak języki o silnej kontroli typów pod pewnymi względami oferują znaczącą przewagę nad tymi o słabym typowaniu.
Problemem w popularyzacji może być (i zwykle jest) brak szerokiego wsparcia dla takich modyfikacji, oraz niechęć nauczenia się czegoś nowego u programistów.
Liczę na to, że kiedyś będę mógł pracować z którymś z tych rozwiązań.


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
ano
post 23.04.2014, 20:00:25
Post #7





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
Liczę na to, że kiedyś będę mógł pracować z którymś z tych rozwiązań.


Ok czyli na żadnym z nich nie masz produkcyjnego doświadczenia, ale zakładasz, że to co piszą o nich autorzy się w 100% sprawdza.
Że aplikacje na nich są super wydajne, stabilne, łatwe w rozwoju i jeszcze zawierają mniejszą liczbę błędów! Wow!
* Nie są łatwe w rozwoju - ile znasz developerów w PL ze znajomością zephira?
* Nie są Stabilne - sama "technologia" jest młoda (0.3!) więc aplikacje nie mogą być stabilne, pokaż jakiekolwiek większe produkcyjne wdrożenie
* Mniejsza liczba błędów - niby czemu? W głównej mierze to od developera zależy czy popełni błędy - czy to Java czy PHP


Na stronie zephira nie znalazłem żadnej informacji kto za tym stoi. Czemu używać "języka" do którego nawet autorzy się nie chcą przyznać? ;-)


--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
irmidjusz
post 24.04.2014, 08:27:28
Post #8





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Nie zakładam, tylko wiem, bo w necie jest dosyć omówień, przykładów i testów. Wystarczy też trochę obeznania z jakością oprogramowania tworzonego w różnych językach (dlatego oprogramowania banku nie pisze się w PHP, a Allegro przepisuje swój kod na Java). To Ty się mylisz kompletnie - chyba nie dociera do Ciebie, że taki Hack został stworzony, a teraz cały kod PHP fejsa jest na niego przepisywany, bo to lepiej działa i zwyczajnie się opłaca. I tak, zawierają mniejszą liczbę błędów, bo języki ze statyczną kontrolą typów siłą rzeczy zmniejszają liczbę bugów już na starcie, w trakcie pisania kodu (programowałeś kiedyś w czymś poza PHP?). Wymuszają również inne myślenie o projektowanym kodzie. Pomijam już fakt, że tradycyjnie PHP jest od lat obiektem kpin, a jego "zachęta" do pisania gównianego kodu - legendarna...

"Nie są łatwe w rozwoju - ile znasz developerów w PL ze znajomością zephira?" - sorry, ale to w ogóle nie jest argument smile.gif Szkoda, że tego nie rozumiesz. Nie chodzi o to, ilu znam takich programistów, tylko o to, że pisanie programu w takim języku przynosi korzyści.

"pokaż jakiekolwiek większe produkcyjne wdrożenie" - Facebook smile.gif

"W głównej mierze to od developera zależy czy popełni błędy" - tak, ale nie tylko. Od języka także zależy wiele. Właśnie m.in. dlatego nie programujemy w assemblerze, a C został zastąpiony C++, potem pojawiły się Java/C# itd. Języki ewoluują, modyfikuje się je i tworzy się nowe często po to, by uniknąć błędów i bolączek typowych dla programowania w jakimś wcześniejszym popularnym języku.


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
buliq
post 24.04.2014, 08:29:46
Post #9





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Dlatego też zamiast uczyć się Zephir, polecam zainteresować się Hack, stoi za tym Facebook, któremu bardzo zależy na wydajności, sprawdza się w środowisku produkcyjnym (bardzo dużym środowisku produkcyjnym).

@irmidjusz, szybsze tak, natomiast to czy lepsze czy też niezawodne pisanie prawdziwie złożonego oprogramowania to już kwestia kto to pisze... Ilość błędów zależy od programisty. Nie napisałbym tez że jest to szybsze pisanie aplikacji, do tego potrzeba wprawy. Ba, ktoś mógłby powiedzieć że w notatniku jest w stanie szybciej napisać cały projekt oparty o Zend'a niż najlepszy programista X używając 10 narzędzi...
A i przykłady takich języków pokazują że jest zapotrzebowanie dla duzych projektów, z setkami tysięcy czy też milionami użytkowników, gdzie każdy 1% użycia procesora kosztuje majątek. Takich klientów jest niewielu więc PHP jak najbardziej spełnia się w swojej roli. Silne typowanie to też ograniczenia, bo programista musi pamiętać jakiego typu wartość może wrzucić w daną zmienną zamiast pozwalać dokonać wyboru kompilatorowi/interpreterowi.



--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
pyro
post 24.04.2014, 09:18:45
Post #10





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Cytat(irmidjusz @ 24.04.2014, 09:27:28 ) *
(programowałeś kiedyś w czymś poza PHP?). Wymuszają również inne myślenie o projektowanym kodzie. Pomijam już fakt, że tradycyjnie PHP jest od lat obiektem kpin, a jego "zachęta" do pisania gównianego kodu - legendarna...


Argument godny jaskiniowca, który od kilku lat nie wynurzył nosa ze swojej groty. PHP5 akurat ma się bardzo dobrze (napisałeś kiedyś coś w nowszej wersji niż PHP4?). Tego typu obiekcji używają właśnie jaskiniowcy, którzy fikcyjnie sobie uznali, że przy PHP w wersji 4 jakikolwiek rozwój języka upadł i nic się nie zmienia.

Cytat(irmidjusz @ 24.04.2014, 09:27:28 ) *
"Nie są łatwe w rozwoju - ile znasz developerów w PL ze znajomością zephira?" - sorry, ale to w ogóle nie jest argument smile.gif Szkoda, że tego nie rozumiesz. Nie chodzi o to, ilu znam takich programistów, tylko o to, że pisanie programu w takim języku przynosi korzyści.


To akurat bardzo dobry argument, i szkoda, że nie @ano, tylko Ty tego nie rozumiesz. A powodów jest nawet kilka:
- dużo trudniej znaleźć osobę obeznaną w danej technologii, a kiedy akurat taka osoba jest potrzebna, to może się taka sytuacja okazać niezłym koszmarem. Sam szukałem swojego czasu front-endowca. Niby JS jest na większości stron w internecie, niby stosunkowo łatwe technologie, a znaleźć kogoś, kto umie więcej niż osadzić skrypty z lekkimi modyfikacjami, nie siedzącą miesiąc nad lightboxem własnej roboty i ogólnie potrafiącą więcej niż zakodowanie HTML/CSS z "średnim" oskryptowaniem mi się nie udało (z jednym wyjątkiem, ale nie było mnie stać na 8k NETTO tongue.gif). A niby powinno ich być na pęczki? "Programistów" jest sporo, ale Programistów co kot napłakał.
- Nawet jak już się uda znaleźć kogoś znającego daną technologię na niebanalnym poziomie, to trzeba jej odpowiednio więcej zapłacić i jak jest grupa devów, która nad tym pracuje, to koszt utrzymania takiej grupy to będzie jakieś kilkadziesiąt tysięcy więcej. W przypadku wspomnianego Facebooka takie kwotki nie mają znaczenia, ale ktoś mnie chyba zapomniał uświadomić, że świat kończy się jedynie na FB, Google i Microsoft, a firmy zatrudniające po kilka-kilkanaście osób (programistów) po prostu nie istnieją (w rzeczywistości jest ich oczywiście dużo więcej i w nich takie kwoty mają jednak znaczenie).
- Mniejsza popularność to dużo mniejsze wsparcie i ogólnie community. Jak wejdziesz np. na StackOverflow albo na to forum z problemem w PHP albo JS, to odpowiedź otrzymasz bardzo szybko, a jak przyjdziesz z technologią, o której dużo osób nawet nie słyszało, a problem nie będzie oczywisty, to już będziesz miał opóźnienia i problemy.
- ...jeszcze kilka argumentów dałoby się wymienić, ale chyba nie ma po co i nawet nie chce mi się wink.gif

Cytat(irmidjusz @ 24.04.2014, 09:27:28 ) *
"W głównej mierze to od developera zależy czy popełni błędy" - tak, ale nie tylko. Od języka także zależy wiele. Właśnie m.in. dlatego nie programujemy w assemblerze, a C został zastąpiony C++, potem pojawiły się Java/C# itd. Języki ewoluują, modyfikuje się je i tworzy się nowe często po to, by uniknąć błędów i bolączek typowych dla programowania w jakimś wcześniejszym popularnym języku.


To prawda, że język może być wydajniejszy, ale w pierwszej kolejności i dużo istotniejszym czynnikiem propo wydajności, etc. jest właśnie programista. Jak ktoś robi dla tablicy z 1000 elementami 1000 insertów zamiast jednego, to sorry, ale najwydajniejszy język na świecie tu nie pomoże.

// EDIT

To prawda natomiast co do ścisłego typowania. Brakuje mi tego w PHP, przez co używam często rzutowania. Twórcy PHP mogliby wykombinować jakieś określanie typu ze zgodnością wstecz i byłoby git wink.gif

Ten post edytował pyro 24.04.2014, 09:23:28


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
viking
post 24.04.2014, 09:38:37
Post #11





Grupa: Zarejestrowani
Postów: 6 377
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Ale chyba nie rozumiecie. Zephyr nie powstał po to żeby być nowym lepszym PHP, czy nawet żeby być nowym językiem. Gdzieś w dokumentacji nawet bardzo jasno to było zaznaczone. Powstał jako dodatek do Phalcona bo taka była potrzeba. Powstał żeby ułatwić pisanie rozszerzeń do PHP. Ile osób zna C żeby coś w nim więcej napisać i wkompilować jako rozszerzenie PHP?


--------------------
Go to the top of the page
+Quote Post
solificati
post 24.04.2014, 11:34:27
Post #12





Grupa: Zarejestrowani
Postów: 26
Pomógł: 10
Dołączył: 17.03.2012

Ostrzeżenie: (0%)
-----


Cytat(pyro @ 24.04.2014, 09:18:45 ) *
- dużo trudniej znaleźć osobę obeznaną w danej technologii, a kiedy akurat taka osoba jest potrzebna, to może się taka sytuacja okazać niezłym koszmarem. Sam szukałem swojego czasu front-endowca. Niby JS jest na większości stron w internecie, niby stosunkowo łatwe technologie, a znaleźć kogoś, kto umie więcej niż osadzić skrypty z lekkimi modyfikacjami, nie siedzącą miesiąc nad lightboxem własnej roboty i ogólnie potrafiącą więcej niż zakodowanie HTML/CSS z "średnim" oskryptowaniem mi się nie udało (z jednym wyjątkiem, ale nie było mnie stać na 8k NETTO tongue.gif). A niby powinno ich być na pęczki? "Programistów" jest sporo, ale Programistów co kot napłakał.

Działa to w dwie strony. Szukasz programisty ML to jak znajdziesz to jest dobry, jak szukasz Javy/C# to się kończy źle, bo są ich dziesiątki, ale konkretnego znaleźć trudno.

Pozatym Hack się kompiluje do bytecodu HHVM a Zephir do C (czemu C a nie od razu llvm?!)
Go to the top of the page
+Quote Post
JacekJagiello
post 24.04.2014, 18:16:08
Post #13





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.11.2012

Ostrzeżenie: (0%)
-----


Chyba trochę źle napisałem pierwszy post. Gdy czytam go teraz, można odnieść wrażenie, jakoby Zephir miał być czymś co ma nam zastąpić PHP/C, ale oczywiście nie po to on powstał. Zephir powstał przede wszystkim po to by rozwijać Phalcon(cały kod tego frameworka jest obecnie przepisywany na Zephir). Nie wszyscy developerzy znają C, aby mogli pomagać w tworzeniu frameworka, więc zephir ma być mostem pomiędzy PHP a C.
W tym wpisie na blogu Phalcon-a, można znelść informacje na temat tego czy Zephir nie będzie. Zacytuję:
Cytat
What Zephir will not be:
The next kick-ass language for the web
A replacement for PHP or C (or any other language)
Be the most elegant and coherent language available
Cover every possible feature (current or future) provided by PHP or C
Implement every feature working exactly as in PHP or C
Provide awesome expresiveness or support every possible programming paradigm
Make everyone happy


Natomiast tutaj czy Zephir ma być:
Cytat
Main Phalcon’s goals using Zephir:
Reduce the development time
Make the code less prone to coding errors
Allow more members of the community to get involved in
Allow most Phalcon’s users to read and understand how a functionality is implemented
Allow developers to take more advantage of the framework fully understanding how it works by reading its code
Introduce potential refactoring and optimizations without affect the stability
Easily adapt the code to new PHP versions
Allow contributors to implement additional components


Ktoś wyżej pytał o twórców języka: http://phalconphp.com/pl/team
Go to the top of the page
+Quote Post
irmidjusz
post 24.04.2014, 23:00:22
Post #14





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Pyro, głupoty napisałeś. Nie kontynuujmy już tego. Cieszę się, że masz swoje zdanie na ten temat, ja jednak pozostanę przy swoim. Pozdrawiam. I bez urazy smile.gif

Viking - dokładnie tak, i dlatego jeśli ktoś używa Phalcona (a także, jeśli nie używa) możliwość napisania czegoś w Zephir'ze jest super, bo jest to język bardzo łatwy do nauczenia dla programisty PHP, pod wieloma względami lepszy (ułatwia programowanie i skraca czas pracy) a wynikiem jest kod znacznie wydajniejszy, niż PHP. Można przepisywać krytyczne fragmenty kodu z PHP na Zephir w razie potrzeby (podobnie jak w przypadku Hack'a).

Ten post edytował irmidjusz 24.04.2014, 23:09:20


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
pyro
post 25.04.2014, 07:27:56
Post #15





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Cytat(irmidjusz @ 25.04.2014, 00:00:22 ) *
Pyro, głupoty napisałeś. Nie kontynuujmy już tego. Cieszę się, że masz swoje zdanie na ten temat, ja jednak pozostanę przy swoim. Pozdrawiam. I bez urazy smile.gif


Ok, każdy ma prawo mieć swoje zdanie i szanuję to. Tylko nie pisz, że ja głupoty piszę, bo według mnie to akurat Ty głupoty piszesz wink.gif . Po prostu mamy odmienne zdanie.


Cytat
Ale chyba nie rozumiecie. Zephyr nie powstał po to żeby być nowym lepszym PHP, czy nawet żeby być nowym językiem. Gdzieś w dokumentacji nawet bardzo jasno to było zaznaczone. Powstał jako dodatek do Phalcona bo taka była potrzeba. Powstał żeby ułatwić pisanie rozszerzeń do PHP. Ile osób zna C żeby coś w nim więcej napisać i wkompilować jako rozszerzenie PHP?


Dyskusja rozwinęła na temat Zephiro-Hacklangowych języków. Używanie samego Phalcona ma sens, bo mimo wszystko pisze się w nim jak w PHP, a nie w nowej składni. U mnie jest na liście jako kolejny do dokładnego zapoznania się, jak tylko będę miał czas.


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
ano
post 25.04.2014, 18:38:35
Post #16





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(irmidjusz @ 25.04.2014, 00:00:22 ) *
Pyro, głupoty napisałeś. Nie kontynuujmy już tego. Cieszę się, że masz swoje zdanie na ten temat, ja jednak pozostanę przy swoim. Pozdrawiam. I bez urazy smile.gif


Dlaczego wchodzić w Zephira, jakie ma zalety nad Javą? (Całkowicie serio pytanie - oba języki przecież niby kompilowane?)
Potrafisz napisać konkretne argumenty, które by nas przekonały? :-)


--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
peter13135
post 25.04.2014, 22:11:44
Post #17





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Cytat
To prawda, że język może być wydajniejszy, ale w pierwszej kolejności i dużo istotniejszym czynnikiem propo wydajności, etc. jest właśnie programista. Jak ktoś robi dla tablicy z 1000 elementami 1000 insertów zamiast jednego, to sorry, ale najwydajniejszy język na świecie tu nie pomoże.

Język raczej nie jest wydajny, ani niewydajny smile.gif (wiem, czepiam się tongue.gif)

Jeżeli mówimy o tym, że nowocześniejsze języki typu java/c# przyspieszają tworzenie aplikacji, to argument, że wiedza programisty też jest ważna, bo kiepski programista zrobić 1000 strzałów do bazy tam, gdzie można zrobić to jednym strzałem jest nietrafiony.
Wydajność aplikacji, a wydajność programisty kodującego w danym języku, to dwie różne rzeczy.
Jeśli programista potrafi optymalnie programować, to zaprogramuje optymalnie zarówno w php jak i w np. javie - z tym, kod w javie chyba będzie działał szybciej niż ten w phpie.

Jeżeli chodzi o wydajność aplikacji napisanych w php - to wydaje mi się, że jest słabo. Jeśli chodzi o wydajność programisty, to trudno powiedzieć, bo z jednej strony dynamiczna typizacja przyspiesza tworzenie kodu, jest mnóstwo gotowego kodu, frameworków. Z drugiej strony, czytelność kodu na tym traci i poprawianie błędów nie należy do najsprawniejszych. Generalnie temat sporny i każdy może mieć własne zdanie. Osobiście dużego projektu w PHP nie chciałbym robić.

Trend rozwoju języków jest taki, żeby kod był jak najmniejszy oraz jak najbardziej czytelny, (bo to przyczynia się do wydajności programisty, a więc na koszt stworzenia aplikacji). Zazwyczaj skutkiem ubocznym jest spadek wydajności aplikacji (ale chyba nieznacznie, bo np. kod napisany w javie może być szybszy niż analogiczny pisany w czymś niskopoziomowym - przynajmniej takie testy widziałem - nie wiem na ile są one prawdziwe). Dla tego tak jest, bo sprzęt jest tańszy niż programista (poza tym, ktoś musi napędzać rynek hardware, gdyby wszystko było super optymalne, to kto by kupił procesor i7 ?).

Osobiście nie widzę zalet ani zephira, ani phalcona. Skoro i tak trzeba wyjść poza standardowy wirtualny serwer z php i inwestować w jakiegoś dedyka, to już lepiej postawić na tym javę, albo asp.net'a. Łatwiej znaleźć kogoś od javy/c# niż zephyra. No.. ale tylko moje zdanie.

Ten post edytował peter13135 25.04.2014, 23:01:54


--------------------
:)
Go to the top of the page
+Quote Post
irmidjusz
post 25.04.2014, 23:17:04
Post #18





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Cytat(ano @ 25.04.2014, 19:38:35 ) *
Dlaczego wchodzić w Zephira, jakie ma zalety nad Javą?


Nie nie... Zephir nie jest lepszy od Javy.
Jest lepszy od PHP, a użytym przeze mnie kryterium prowadzącym do takiej oceny jest: 1) jakość i czytelność kodu 2) szybkość wykonywania tego kodu.
Zephir jest wręcz banalnie łatwy do nauczenia dla programisty PHP. Kod pisany w Zephir i ten pisany w PHP bezproblemowo ze sobą współpracują. Jest to jedno środowisko.
I o to w tym wszystkim chodzi. smile.gif

A tu kilka cennych uwag:

Cytat(peter13135 @ 25.04.2014, 23:11:44 ) *
Jeżeli chodzi o wydajność aplikacji napisanych w php - to wydaje mi się, że jest słabo. Jeśli chodzi o wydajność programisty, to trudno powiedzieć, bo z jednej strony dynamiczna typizacja przyspiesza tworzenie kodu, jest mnóstwo gotowego kodu, frameworków. Z drugiej strony, czytelność kodu na tym traci i poprawianie błędów nie należy do najsprawniejszych.

Trend rozwoju języków jest taki, żeby kod był jak najmniejszy oraz jak najbardziej czytelny, (bo to przyczynia się do wydajności programisty, a więc na koszt stworzenia aplikacji). Zazwyczaj skutkiem ubocznym jest spadek wydajności aplikacji (...).


Dokładnie tak! I rozwiązania typu Zephir/Hack to właśnie "lekarstwa" na kilka z wymienionych wyżej problemów, a przede wszystkim:
- niską wydajność wynikowego kodu
- brak statycznego typowania i płynących z niego pożytków

Cytat(peter13135 @ 25.04.2014, 23:11:44 ) *
Skoro i tak trzeba wyjść poza standardowy wirtualny serwer z php i inwestować w jakiegoś dedyka, to już lepiej postawić na tym javę, albo asp.net'a. Łatwiej znaleźć kogoś od javy/c# niż zephyra. No.. ale tylko moje zdanie.


To zależy. Jeśli robisz coś od zera i wstępna analiza sugeruje użycie języka typu Java/C# - to albo już masz programistów, którzy dobrze ogarniają te technologie, albo zostaje Ci skompletować nowy zespół. I jest git.
Natomiast inaczej sprawa wygląda, gdy już masz masę kodu napisanego w PHP, bądź Ty i Twój zespół jesteście wymiataczami w PHP ale nie ogarniacie innych języków. Wówczas najtańszą i najszybszą metodą na 1) ogromne zwiększenie wydajności aplikacji, oraz 2) całkiem niezłe poprawienie jakości samego kodu, będzie przepisać go (a przynajmniej najważniejsze fragmenty) za pomocą Zephira czy Hacka - zależnie, jakie mamy możliwości. I tu użycie Phalcona z Zephirem będzie akurat prostsze w większości przypadków, bo Hack wymaga zupełnie innego interpretera PHP, a Phalcon to tylko rozszerzenie do PHP.

Całkiem niedawno gdzieś też czytałem, że programiści Facebooka sami z siebie przepisują istniejący kod z PHP na Hacka bo jest to kod bezpieczniejszy, i solidniejszy, po prostu lepszy do czytania i edycji. To przekonuje mnie najbardziej, jest to najlepszy dowód na to, że to ma sens i się sprawdza. Zephir jest specyficznym rozwiązaniem, bo służy do pisania rozszerzeń dla PHP, ale można go stosować z bardzo podobnym skutkiem, jak Hack dla HHVM.


Ten post edytował irmidjusz 25.04.2014, 23:40:58


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
Tuminure
post 26.04.2014, 08:33:23
Post #19





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Cytat
Całkiem niedawno gdzieś też czytałem, że programiści Facebooka sami z siebie przepisują istniejący kod z PHP na Hacka bo jest to kod bezpieczniejszy, i solidniejszy, po prostu lepszy do czytania i edycji. To przekonuje mnie najbardziej, jest to najlepszy dowód na to, że to ma sens i się sprawdza.

Odnoszę wrażenie, że "lepszy do czytania i edycji" to po prostu kwestia gustu. Zerknąłem tylko na pierwsze przykłady i różnice w stosunku do PHP moim zdaniem mogą powodować niejasności oraz brzydszy kod (keyword "let", brak nawiasów w warunku pętli).
Go to the top of the page
+Quote Post
irmidjusz
post 26.04.2014, 11:55:36
Post #20





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Cytat
Odnoszę wrażenie, że "lepszy do czytania i edycji" to po prostu kwestia gustu.

Owszem, zgadzam się, że to w znacznej mierze kwestia gustu, ale nie tylko. Weź pod uwagę, że pobieżnie zapoznałeś się z tym kodem, czyli jest to dla Ciebie nieznane, obce - nie jesteś przyzwyczajony do czytania takiego kodu, Twój mózg nie przetwarza go łatwo. Dotyczy to każdego języka oczywiście. Trzeba się trochę przyzwyczaić, nauczyć mózg składni, sposobu formatowania, charakterystycznych słów kluczowych itp. Wówczas dopiero oglądanie kodu wymaga od mózgu minimum wysiłku na przetwarzanie wizualne znaków i składanie ich w większą całość, a większą część energii może poświęcić na analizę i zrozumienie znaczenia tego, co widzi. Dlatego tak pożyteczne są wszelkie wspólne dla teamu standardy kodowania, co było badane i jest opisane w literaturze. A teraz pytanie: co, jeśli po paru tygodniach/miesiącach programowania jedynie w takim np. Hack'u stwierdził byś, że to znacznie lepsze, przyjemniej się pisze, łatwiej czyta, kod jest ogólnie lepszy i ma mniejszą ilość błędów? Ha? wink.gif Myślisz, że to możliwe, że nie chciał byś już wrócić do PHP? wink.gif
Pisząc "lepszy do czytania i edycji" mam na myśli nie tylko czytelność kodu dla programisty (a wg. mnie języki z silnym typowaniem dają jednak solidniejszy, bardziej uporządkowany i logiczny kod, chociaż faktycznie trzeba go napisać więcej - coś za coś), ale również możliwość korzystania ze statycznej analizy kodu - to jest bardzo duży plus.

Podsumowując, nie uważam, żeby trzeba było się przesiadać z PHP na Zephira czy Hacka robiąc typową stronę dla klienta - absolutnie nie o to mi chodzi smile.gif Uważam, że są to bardzo pożyteczne narzędzia uzupełniające PHP, przeznaczone do konkretnych celów, za pomocą których można osiągnąć znaczące korzyści.


--------------------
there is much to be learned
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 07:12