PHP로 컴파일되는 haxe 및 기타 언어에 대한 경험이 있습니까? [닫은]


23

PHP로 컴파일되는 언어를 사용하는 사람들의 의견을 듣고 싶습니다. 내가 아는 언어 중 하나는 Haxe 입니다. 내가 읽은 다른 것들은 KiraPharen 입니다.

이 언어들은 PHP와 얼마나 잘 통합됩니까? PHP CMS 용 플러그인을 작성하는 것이 비교적 쉬운가요?

그들의 구현과 도구는 얼마나 성숙합니까?

PHP cms를 사용해야하지만 PHP를 싫어하는 사람에게 추천 하시겠습니까?


1
HaXe는 좋습니다. Atleast는 그것을 제공합니다. 방금 설치 한 후 9 분 만에 첫 PHP 페이지를 업로드하고 테스트했습니다 (haxe 다운로드 시간 포함). 쉽고 간단하며 많은 문서가 담긴 커뮤니티가 있습니다.
JTS

PHP로 컴파일되는 형식화 된 언어 인 pratphall.org 를 만들었습니다 .
차드 레츠

답변:


9

저는 Pharen의 제작자이며 Lisp 방언을 PHP로 컴파일합니다. 귀하의 질문에 대답하기 위해 PHP와 잘 통합되어 있습니다. 기존 라이브러리 호출 함수를 포함하고 객체를 사용하는 것은 쉽습니다.

성숙도에 대해서는 아직 Pharen 코드를 프로덕션 용도로 사용하지 않았습니다. 원하는 언어가 있고 작동하는 언어 측면에서 배포와 같은 작업에는 약간의 추가 노력이 필요합니다.

즉, 당신이 Pharen을 선택한다면 나는 할 수 있지만 기꺼이 도울 것입니다. 다른 질문이 있으면 알려주세요!


"기존 라이브러리 호출 함수를 포함하고 객체를 사용하는 것은 쉽습니다." CMS 용 플러그인 API를 포함하여 대부분의 외부 라이브러리로 작업하기에 충분해야합니다. 원래 게시물은 통합의 의미에 대해 너무 구체적이지 않았습니다. 또한 성숙 상태에 대해 설명했습니다.
Scriptor

답변과 도움을 주셔서 감사합니다. pharen은 다른 lisp와 호환됩니까? 자체 연산자가 있거나 PHP의 연산자를 사용합니까? 예를 들어, pharen의 ==는 PHP와 같은 방식으로 동작합니까?
Kim

Clojure에서 영감을 얻은 지금은 자체 방언입니다. 그 주요 이유는 다른 표준에는 자체 표준 라이브러리와 같이 많은 수하물이 있기 때문에 불필요한 것입니다. PHP와 같은 연산자를 사용하므로 (== "foo" "foo")
Scriptor

3

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를 호출하거나 그 반대의 문제가 있습니까?
Kim

PHP (동적 언어)에 haXe에 문제가 있습니까 (정적 입력에 따라 다름)? 놀랄 만한! PHP는 약간 이상한 언어이지만, Perl에 뿌리를두고 있다면 이해할 수 있습니다. "끔찍한 언어 기능"으로 생각되는 것과 "표준 역 동성"이란 것은 매우 유사한 것 같습니다.
Josh K

1
동적 런타임 기능과 함께 정적 언어 기능을 가질 수 있습니다. 상호 배타적이지 않습니다. HaXe는이를 위해 "동적"유형 표시기를 사용합니다. 네임 스페이스와 수학 연산은 실제로 언어 역동 성과 관련이 없습니다. 이것들은 PHP의 단점입니다.
jdonaldson

2

끔찍한 쓰레기

나는 누군가의 추천에 haXe를 사용 했고 어떤 이유로 든 누군가 에게 그것을 추천하지 않을 것 입니다.

언어 간 크로스 컴파일은 혼란, 실수 및 오류로 이어집니다. 또한 기념비적 인 작업을 디버깅합니다.

PHP cms를 사용해야하지만 PHP를 싫어하는 사람에게 추천 하시겠습니까?

아니! PHP를 제대로 배우 거나 다른 CMS를 사용하는 것이 좋습니다 . CMS 부분에서 선택의 여지가없는 것처럼 보이기 때문에 다른 옵션은 언어를 배우고 처리하는 것입니다.

그들의 구현과 도구는 얼마나 성숙합니까?

젊고 기껏해야 불안정합니다. 당신은 그들에 대한 많은 지원을 찾을 수 없습니다.


PHP 응용 프로그램을 위해 무언가를 작성해야 할 것 같습니다. 코드가 작동하기 위해 기존 PHP 함수 / 객체를 가져와야하는 명백한 문제와 위에서 언급 한 정크 외에도이 작업을 수행하는 사람은 이제 언어 컴파일러에서 언어를 배워야합니다. 그렇지 않으면 결과로 나타나는 "PHP"코드가 엉망이됩니다. 이것은 그들이 작동하면 코드의 변경 사항을 다시 구현하거나 다른 사람이 변경 한 내용을 잃을 위험이 있음을 의미합니다.

PHP로 작업하는 것을 싫어한다면 해당 언어가 출력하는 코드로 작업해야 할 때까지 기다리십시오.


""언어 간 크로스 컴파일 "

혼란, 실수 및 오류가 발생합니다. 다른 언어로 번역되는 코드를 작성하면 초기 소스에서 자신을 제거하게됩니다. 당신이 쓰는 것과 생성되는 것은 완전히 컴파일러에 달려 있습니다. 코드를 생성하기 위해 코드를 작성하면 혼란스러워지고 실수를 저지르며 예상치 못한 오류가 발생합니다. 나는 당신이 그들을 사용하지 않는 것이 좋습니다.


5
이것에 대해 너무 감정적이지 말고 너무 많은 가정을하지 마십시오. 내가 "정확하게"PHP를 배우지 않았다고 생각하는 이유는 무엇입니까? 내가 어떻게 그것을 미워하게 되었습니까? 생성 된 코드는 만지지 않기 때문에 문제가되지 않습니다. 디버거를 거의 사용하지 않기 때문에 디버깅은 문제가되지 않습니다. 대부분의 CMS 플러그인은 큰 프로젝트가 아니기 때문에 다른 개발자도 문제가되지 않습니다. 당신은 haxe에 대해 매우 광범위한 주장을합니다. 예를 들어 백업 해 주시겠습니까? 대단히 감사하겠습니다. 또한 얼마나 오래 전에 사용 했습니까?
Kim

5
그래서 컴파일러가 버그가있는 PHP 코드를 생성한다고 말하고 있습니까? 그것은 당신이 예를 들어 뒷받침하고 싶은 광범위한 주장 중 하나입니다. 또 다른 광범위한 주장은 "언어 간 크로스 컴파일은 혼란, 실수 및 오류로 이어진다"입니다. 이에 대한 예를 제시하십시오. PHP가 사용할 가치가있는 언어인지에 대해 논의하고 싶다면 인터넷에서 수천 명의 사람들이 당신과 함께 할 것이라고 확신합니다. 나는 그들 중 하나가 아닙니다.
Kim

10
"언어 간 크로스 컴파일-혼란, 실수 및 오류로 이어집니다." 이상한, 여기에 나는 생각했다 어떤 (... 조립, C, JVM 코드로 같은) 하나의 언어를 다른 언어로 번역 - 컴파일러는 그냥했다.
foo

1
실제로, 전문 프로그래머이며 내 벨트 (java, c ++, python, php, ruby, javascript 등) 아래에 많은 언어 / 프레임 워크 / API가있어서 HaXe는 나를위한 빛의 신호였습니다. 처음으로 나는 제대로 된 일을했고 모든면에서 "확인"한 언어를 만났다. 다른 사람이 싫어하는 방법을 이해할 수 없습니다. PHP의 경우 제한적입니다.
dagnelies

1
대부분의 용어 (특히 haxe에 대해)에 완전히 동의했습니다. 그러나 lisp 구문을 사용하여 PHP로 작업하는 것은 정말 재미 있습니다! 그래서 나는 재미를 위해 코드의 이상한 부분에 있고 싶습니다.
cnd

1

나는 수많은 언어 번역기를 사용했으며, 결국 당신은 항상 피하려고하는 것에서 많은 것을해야합니다 ... PHP를 싫어한다면 정말로 모호한 문제가 생길 때까지 기다리십시오. 창자에 깊숙이 들어가기 위해 비록 haXe로 neko를 타겟팅하는 것이 꽤 멋질 것이라고 생각하기 때문에 나는 열성이어야합니다.


모든 컴파일러는 "언어 번역기"입니다. 우리는 컴파일러를 사용해서는 안된다고 말하는가? ;) "장에 깊이 들어가야하는지"는 전적으로 컴파일러가 잘 수행하고 있는지 여부에 달려 있습니다. 여기의 답변에서 판단하면, 나는 내 자신의 조사를해야 할 것 같아요.
Kim

HaXe로 Neko를 타겟팅하고 싶지만 Apache의 httpd에 의존하고 싶지 않습니다. 웹 서버에서 선택할 수있는 것을 좋아합니다.
stesch

1

PHP CMS 용 플러그인을 만들려면 PHP를 유지하십시오.

HaXe를 사용하고 실제로는 훌륭하지만이 경우에는 권장하지 않습니다. 단순히 너무 많은 간접 지시이며 비용은 작은 플러그인의 이익보다 높습니다.


-1

이미 Haxe를 사용해 보았으므로 웹 개발에 권장하지 않습니다.

그러나 접근 방식이 마음에 들었습니다 .PHP로 컴파일하는 자체 미니멀리즘 언어 를 구현 했지만 Haxe보다 훨씬 직접적인 방식으로 생성 된 코드를 디버깅하고 기존 PHP 코드와 쉽게 상호 작용할 수 있습니다. .


Haxe를 추천하지 않는 이유에 대해 자세히 설명해 주시겠습니까?
Jay Elston
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.