Chciałbym usłyszeć opinie ludzi, którzy używali języka kompilującego się do php. Jednym z takich znanych mi języków jest Haxe . Inne, o których czytałem, to Kira i Pharen .
Jak dobrze te języki integrują się z PHP? Czy stosunkowo łatwo jest napisać w nich wtyczkę do PHP CMS?
Jak dojrzałe są ich wdrożenia i narzędzia?
Czy poleciłbyś je komuś, kto musi użyć php cms, ale nienawidzi php?
Odpowiedzi:
Jestem twórcą Pharena, który kompiluje dialekt Lisp do PHP. Aby odpowiedzieć na twoje pytania, całkiem dobrze integruje się z PHP. Łatwo jest dołączyć istniejące funkcje wywoływania bibliotek / używać ich obiektów.
Jeśli chodzi o dojrzałość, kod Pharena nie został jeszcze użyty do celów produkcyjnych. Podczas gdy pod względem języka wszystko, czego chcesz, jest tam i działa, takie rzeczy jak wdrożenie wciąż wymaga trochę dodatkowego wysiłku.
To powiedziawszy, jeśli wybierzesz Pharena, chętnie pomogę, jak tylko mogę. Daj mi znać, jeśli masz inne pytania!
źródło
Josh K ma rację pod pewnymi względami, lepiej poznać php, aby lepiej celować w środowisko wykonawcze php. Jednak głównym powodem tego nie jest to, że haxe jest złym kompilatorem, ale ten php jest takim „idiosynkratycznym” językiem.
Php ma niesamowitą liczbę funkcji w swojej podstawowej przestrzeni nazw. Istnieje więc wiele zastrzeżonych słów kluczowych i funkcji specjalnych, o których musisz wiedzieć, aby uniknąć konfliktów nazw. Niektórzy ludzie są w porządku, myślę, że to okropny projekt językowy. HaXe rozwiązuje ten problem, tworząc własną przestrzeń nazw w php.
Php automatycznie zmienia liczbę całkowitą na zmiennoprzecinkową przy przepełnieniu. To oczywiście łamie ścisłe pisanie, na którym języki takie jak HaXe polegają na bezpieczeństwie typów (i umożliwiają proste rzeczy, takie jak algorytmy szybkiego mieszania). Myślę, że to kolejna straszna funkcja językowa. Również haXe nie może tutaj pomóc, ponieważ tego zachowania php nie można zmienić.
A więc proszę bardzo. Myślę, że haXe ulepsza php, ponieważ usuwa kilka (postrzeganych) wad językowych php. Jednak w php jest tak wiele dziwnych rzeczy, że w końcu musisz się go dobrze nauczyć, aby naprawić niektóre z jego dziwactw.
Mimo wszystko język haXe jest niesamowity. Pozwala uporządkować kod php w lepsze przestrzenie nazw, ma dość wyrafinowany system typów, ma kilka opcji kompilacji warunkowej do obsługi specyficznych problemów z php i ma kilka ładnych operacji dokumentacji. Z tych samych powodów nie jest złym wyborem zaprojektowanie wyrafinowanej biblioteki ... nawet dla czegoś takiego jak php.
Ważne linki:
php magic: http://haxe.org/doc/advanced/magic
(szukaj też „dziwactw platformowych” w sekcji społeczności na głównej stronie haxe.org)
źródło
Okropne śmieci
Użyłem haXe na polecenie kogoś i nigdy nie poleciłbym tego nikomu z jakiegokolwiek powodu .
Kompilacja krzyżowa między językami prowadzi do zamieszania, pomyłek i błędów. To sprawia, że debugowanie jest monumentalnym zadaniem.
Nie! Poleciłbym albo nauczyć się poprawnie PHP lub użyć innego CMS. Ponieważ wydaje się, że nie masz wyboru w części CMS, drugą opcją jest nauka języka i radzenie sobie z nim.
W najlepszym razie młodzi, w najgorszym niestabilni. Nie znajdziesz dla nich dużego wsparcia.
Wygląda na to, że masz zadanie napisać coś dla aplikacji PHP. Poza oczywistymi problemami, że Twój kod będzie musiał zaimportować istniejące funkcje / obiekty PHP do pracy, i wyżej wspomniane śmieci, każdy, kto nad tym pracuje, będzie musiał nauczyć się kompilatora języka na język. W przeciwnym razie będą mieszać się z cienkim kodem „PHP”, który jest wynikiem. Oznacza to również, że jeśli będą nad tym pracować, będziesz musiał ponownie wprowadzić te zmiany w kodzie lub zaryzykować utratę zmian przez kogokolwiek innego.
Jeśli nie znosisz pracy z PHP, poczekaj, aż będziesz musiał pracować z kodem wyjściowym tych języków.
„„ Kompilowanie między językami ”
Prowadzi to do zamieszania, błędów i błędów. Podczas pisania kodu, który jest tłumaczony na inny język, usuwasz się z początkowego źródła. To, co piszesz i co generujesz, zależy całkowicie od kompilatora. Pisanie kodu do generowania kodu robi się mylące, popełnisz błędy i znajdziesz błędy, których się nie spodziewasz. Nie polecam ich używać.
źródło
Używałem wielu tłumaczy językowych, a na końcu zawsze musisz się za bardzo zabrać z tym, czego chcesz uniknąć ... Więc jeśli nienawidzisz PHP, poczekaj, aż pojawi się naprawdę niejasny problem, który wymaga Ciebie głęboko w głąb jelit. Chociaż muszę być żarłokiem, ponieważ myślę, że celowanie w Neko za pomocą haXe byłoby całkiem fajne.
źródło
Jeśli chcesz stworzyć wtyczkę do PHP CMS, pozostań przy PHP.
Chociaż używam HaXe i uważam, że jest naprawdę świetny, nie polecam go w tym przypadku. To po prostu zbyt wiele pośrednich, a koszty byłyby wyższe niż zyski tylko dla małej wtyczki.
źródło
Próbowałem już Haxe i nie mogę go polecić do tworzenia stron internetowych.
Podobało mi się jednak to podejście, dlatego wdrożyłem własny minimalistyczny język, który również kompiluje się do PHP, ale w znacznie bardziej bezpośredni sposób niż Haxe, dzięki czemu łatwo jest debugować wygenerowany kod i wchodzić w interakcje z istniejącym kodem PHP .
źródło