PHP로 컴파일되는 언어를 사용하는 사람들의 의견을 듣고 싶습니다. 내가 아는 언어 중 하나는 Haxe 입니다. 내가 읽은 다른 것들은 Kira 와 Pharen 입니다.
이 언어들은 PHP와 얼마나 잘 통합됩니까? PHP CMS 용 플러그인을 작성하는 것이 비교적 쉬운가요?
그들의 구현과 도구는 얼마나 성숙합니까?
PHP cms를 사용해야하지만 PHP를 싫어하는 사람에게 추천 하시겠습니까?
PHP로 컴파일되는 언어를 사용하는 사람들의 의견을 듣고 싶습니다. 내가 아는 언어 중 하나는 Haxe 입니다. 내가 읽은 다른 것들은 Kira 와 Pharen 입니다.
이 언어들은 PHP와 얼마나 잘 통합됩니까? PHP CMS 용 플러그인을 작성하는 것이 비교적 쉬운가요?
그들의 구현과 도구는 얼마나 성숙합니까?
PHP cms를 사용해야하지만 PHP를 싫어하는 사람에게 추천 하시겠습니까?
답변:
저는 Pharen의 제작자이며 Lisp 방언을 PHP로 컴파일합니다. 귀하의 질문에 대답하기 위해 PHP와 잘 통합되어 있습니다. 기존 라이브러리 호출 함수를 포함하고 객체를 사용하는 것은 쉽습니다.
성숙도에 대해서는 아직 Pharen 코드를 프로덕션 용도로 사용하지 않았습니다. 원하는 언어가 있고 작동하는 언어 측면에서 배포와 같은 작업에는 약간의 추가 노력이 필요합니다.
즉, 당신이 Pharen을 선택한다면 나는 할 수 있지만 기꺼이 도울 것입니다. 다른 질문이 있으면 알려주세요!
Josh K는 몇 가지 측면에서 맞습니다 .php 런타임을 더 잘 타겟팅하려면 PHP를 아는 것이 좋습니다. 그러나 이것의 주된 이유는 haxe가 나쁜 컴파일러가 아니라 PHP가 "동일한"언어이기 때문입니다.
Php는 기본 네임 스페이스에 엄청난 양의 함수를 가지고 있습니다. 따라서 이름 충돌을 방지하기 위해 알아야 할 예약 키워드와 특수 기능이 많이 있습니다. 어떤 사람들은 이것으로 괜찮습니다. 끔찍한 언어 디자인이라고 생각합니다. HaXe는 PHP에서 자체 네임 스페이스를 만들어이 문제를 해결합니다.
PHP는 오버플로시 자동으로 정수를 부동 소수점으로 바꿉니다. 물론 HaXe와 같은 언어는 형식 안전성에 의존하고 빠른 해싱 알고리즘과 같은 간단한 것을 가능하게하는 엄격한 타이핑을 깨뜨립니다. 나는 이것이 또 다른 끔찍한 언어 기능이라고 생각합니다. 또한이 PHP 동작을 변경할 수 없기 때문에 haXe는 여기서 도움을 줄 수 없습니다.
그래서 당신은 간다. 나는 haXe가 PHP에 대한 몇 가지 (인식 된) 언어 결함을 정리하기 때문에 PHP를 더 잘한다고 생각합니다. 그러나 PHP에 대한 이상한 점이 너무 많아서 일부 특이 사항을 해결하기 위해 잘 배울 필요가 있습니다.
말 그대로, haXe 언어는 매우 훌륭합니다. PHP 코드를 더 나은 네임 스페이스로 구성하고 상당히 정교한 유형 시스템을 가지며 PHP 관련 문제를 처리하기위한 조건부 컴파일 옵션이 있으며 몇 가지 훌륭한 문서 작업이 있습니다. 이러한 이유만으로도 PHP와 같은 경우에도 정교한 라이브러리를 디자인하는 것은 나쁜 선택이 아닙니다.
관련 링크 :
PHP 매직 : http://haxe.org/doc/advanced/magic
(또한 주요 haxe.org 사이트의 커뮤니티 섹션에서 "플랫폼 쿼크"를 찾으십시오)
나는 누군가의 추천에 haXe를 사용 했고 어떤 이유로 든 누군가 에게 그것을 추천하지 않을 것 입니다.
언어 간 크로스 컴파일은 혼란, 실수 및 오류로 이어집니다. 또한 기념비적 인 작업을 디버깅합니다.
PHP cms를 사용해야하지만 PHP를 싫어하는 사람에게 추천 하시겠습니까?
아니! PHP를 제대로 배우 거나 다른 CMS를 사용하는 것이 좋습니다 . CMS 부분에서 선택의 여지가없는 것처럼 보이기 때문에 다른 옵션은 언어를 배우고 처리하는 것입니다.
그들의 구현과 도구는 얼마나 성숙합니까?
젊고 기껏해야 불안정합니다. 당신은 그들에 대한 많은 지원을 찾을 수 없습니다.
PHP 응용 프로그램을 위해 무언가를 작성해야 할 것 같습니다. 코드가 작동하기 위해 기존 PHP 함수 / 객체를 가져와야하는 명백한 문제와 위에서 언급 한 정크 외에도이 작업을 수행하는 사람은 이제 언어 컴파일러에서 언어를 배워야합니다. 그렇지 않으면 결과로 나타나는 "PHP"코드가 엉망이됩니다. 이것은 그들이 작동하면 코드의 변경 사항을 다시 구현하거나 다른 사람이 변경 한 내용을 잃을 위험이 있음을 의미합니다.
PHP로 작업하는 것을 싫어한다면 해당 언어가 출력하는 코드로 작업해야 할 때까지 기다리십시오.
""언어 간 크로스 컴파일 "
혼란, 실수 및 오류가 발생합니다. 다른 언어로 번역되는 코드를 작성하면 초기 소스에서 자신을 제거하게됩니다. 당신이 쓰는 것과 생성되는 것은 완전히 컴파일러에 달려 있습니다. 코드를 생성하기 위해 코드를 작성하면 혼란스러워지고 실수를 저지르며 예상치 못한 오류가 발생합니다. 나는 당신이 그들을 사용하지 않는 것이 좋습니다.
나는 수많은 언어 번역기를 사용했으며, 결국 당신은 항상 피하려고하는 것에서 많은 것을해야합니다 ... PHP를 싫어한다면 정말로 모호한 문제가 생길 때까지 기다리십시오. 창자에 깊숙이 들어가기 위해 비록 haXe로 neko를 타겟팅하는 것이 꽤 멋질 것이라고 생각하기 때문에 나는 열성이어야합니다.
이미 Haxe를 사용해 보았으므로 웹 개발에 권장하지 않습니다.
그러나 접근 방식이 마음에 들었습니다 .PHP로 컴파일하는 자체 미니멀리즘 언어 를 구현 했지만 Haxe보다 훨씬 직접적인 방식으로 생성 된 코드를 디버깅하고 기존 PHP 코드와 쉽게 상호 작용할 수 있습니다. .