Pengalaman Anda dengan haxe dan bahasa lain yang dikompilasi ke PHP? [Tutup]

23

Saya ingin mendengar pendapat dari orang-orang yang menggunakan bahasa yang mengkompilasi ke php. Salah satu bahasa yang saya tahu adalah Haxe . Yang lain yang pernah saya baca adalah Kira dan Pharen .

Seberapa baik bahasa ini berintegrasi dengan PHP? Apakah relatif mudah untuk menulis plug-in untuk PHP CMS di dalamnya?

Seberapa matang implementasi dan alat mereka?

Apakah Anda merekomendasikan mereka kepada seseorang yang harus menggunakan cms php tetapi membenci php?

Kim
sumber
1
HaXe bagus. Atleast mencobanya. Saya baru saja menginstalnya, dan mengunggah dan menguji halaman PHP pertama saya dalam 9 menit (termasuk waktu untuk mengunduh haxe), mudah dan ada komunitas yang hebat di belakangnya dengan banyak dokumen
JTS
Saya telah membuat pratphall.org yang merupakan bahasa yang diketik yang mengkompilasi ke PHP.
Chad Retz

Jawaban:

9

Saya pencipta Pharen, yang mengkompilasi dialek Lisp ke PHP. Untuk menjawab pertanyaan Anda, itu terintegrasi cukup baik dengan PHP. Sangat mudah untuk memasukkan fungsi panggilan perpustakaan yang ada / menggunakan objek mereka.

Adapun untuk jatuh tempo, belum ada penggunaan kode Pharen produksi. Sementara dalam hal bahasa semua yang Anda inginkan ada di sana dan berfungsi, hal-hal seperti penyebaran masih perlu sedikit usaha ekstra.

Yang mengatakan, jika Anda memilih Pharen saya akan dengan senang hati membantu tetapi saya bisa. Tolong beri tahu saya jika Anda memiliki pertanyaan lain!

Penulis
sumber
"Sangat mudah untuk memasukkan fungsi panggilan perpustakaan yang ada / menggunakan objek mereka." Yang seharusnya cukup untuk bekerja dengan sebagian besar pustaka eksternal, termasuk plugin API untuk CMS. Posting asli tidak terlalu spesifik tentang arti integrasi. Saya juga menjelaskan status kedewasaannya.
Penulis
Terima kasih atas jawaban Anda dan atas tawaran Anda untuk membantu saya. Apakah pharen kompatibel dengan cadel lain? Apakah memiliki operator sendiri atau hanya menggunakan yang ada di php? Misalnya, apakah == di pharen berperilaku sama seperti di php?
Kim
Ini adalah dialeknya sendiri sekarang, dengan beberapa inspirasi dari Clojure. Alasan utama untuk itu adalah bahwa standar lain memiliki banyak bagasi, seperti perpustakaan standar mereka sendiri, yang tidak diperlukan. Ia menggunakan operator yang sama dengan PHP, jadi Anda bisa menggunakan (== "foo" "foo")
Scriptor
3

Josh K benar dalam beberapa hal, lebih baik untuk mengetahui php agar lebih baik menargetkan runtime php. Namun, alasan utama untuk ini bukan karena haxe adalah kompiler yang buruk, tetapi php adalah bahasa yang "istimewa".

Php memiliki sejumlah besar fungsi di namespace dasarnya. Jadi, ada banyak kata kunci yang dipesan dan fungsi khusus yang harus Anda ketahui untuk mencegah konflik penamaan. Beberapa orang baik-baik saja dengan ini, saya pikir itu desain bahasa yang mengerikan. HaXe mengatasi masalah ini dengan membuat namespace sendiri di php.

Php secara otomatis mengubah integer menjadi float pada overflow. Hal ini tentu saja menghentikan pengetikan ketat yang diandalkan oleh bahasa seperti HaXe untuk keamanan tipe (dan untuk mengaktifkan hal-hal sederhana seperti algoritma hashing cepat). Saya pikir ini adalah fitur bahasa yang mengerikan. Juga, haXe tidak dapat membantu di sini, karena perilaku php ini tidak dapat diubah.

Jadi, begitulah. Saya pikir haXe membuat php lebih baik karena membersihkan beberapa kelemahan bahasa (yang dirasakan) untuk php. Namun, ada begitu banyak hal aneh tentang php, yang akhirnya Anda perlu mempelajarinya dengan baik untuk memperbaiki beberapa kekhasannya.

Semua yang dikatakan, bahasa haXe sangat menakjubkan. Ini memungkinkan Anda mengatur kode php Anda menjadi ruang nama yang lebih baik, memiliki sistem tipe yang cukup canggih, memiliki beberapa opsi kompilasi bersyarat untuk menangani masalah-masalah khusus php, dan memiliki beberapa operasi dokumentasi yang bagus. Untuk alasan itu saja, itu bukan pilihan yang buruk untuk merancang perpustakaan yang canggih ... bahkan untuk sesuatu seperti php.

Tautan yang relevan:

php magic: http://haxe.org/doc/advanced/magic

(juga cari "keanehan platform" di bagian komunitas situs haxe.org utama)

jdonaldson
sumber
Terima kasih atas jawaban anda. Apakah Anda memiliki masalah memanggil php dari haxe atau sebaliknya?
Kim
Jadi PHP (bahasa dinamis) memiliki masalah dengan haXe (tergantung pada pengetikan statis)? Luar biasa! PHP adalah bahasa yang sedikit aneh, tetapi mengingat akarnya di Perl itu bisa dimengerti. Apa yang Anda yakini sebagai "fitur bahasa yang mengerikan" dan apa yang "dinamisisme standar" tampaknya sangat mirip.
Josh K
1
Anda dapat memiliki fitur bahasa statis di samping fitur runtime dinamis. Mereka tidak saling eksklusif. HaXe menggunakan indikator Tipe "Dinamis" untuk tujuan ini. Namespace dan operasi matematika tidak benar-benar ada hubungannya dengan dinamika bahasa. Ini hanya kebiasaan php.
jdonaldson
2

Sampah yang Mengerikan

Saya menggunakan haXe atas rekomendasi seseorang dan tidak akan pernah merekomendasikan hal itu kepada siapa pun karena alasan apa pun .

Kompilasi silang antar bahasa menyebabkan kebingungan, kesalahan, dan kesalahan. Itu juga membuat debugging menjadi tugas yang monumental.

Apakah Anda merekomendasikan mereka kepada seseorang yang harus menggunakan cms php tetapi membenci php?

Tidak! Saya sarankan Anda belajar PHP dengan benar atau menggunakan CMS yang berbeda. Karena sepertinya Anda tidak memiliki pilihan di bagian CMS, pilihan lain adalah mempelajari bahasa dan mengatasinya.

Seberapa matang implementasi dan alat mereka?

Muda di terbaik, tidak stabil di terburuk. Anda tidak akan menemukan banyak dukungan untuk mereka.


Sepertinya Anda memiliki tugas menulis sesuatu untuk aplikasi PHP. Selain masalah yang jelas bahwa kode Anda harus mengimpor fungsi / objek PHP yang ada untuk bekerja, dan sampah yang disebutkan di atas, siapa pun yang mengerjakan ini sekarang harus belajar bahasa Anda ke kompiler bahasa. Kalau tidak, mereka akan mengacaukan kode "PHP" tipis yang hasilnya. Ini juga berarti bahwa jika mereka mengerjakannya, Anda harus menerapkan kembali perubahan itu dalam kode Anda, atau berisiko kehilangan perubahan yang dilakukan orang lain.

Jika Anda benci bekerja dengan PHP, tunggu hingga Anda harus bekerja dengan beberapa kode yang dihasilkan bahasa tersebut.


"" Kompilasi silang antar bahasa "

Ini menyebabkan kebingungan, kesalahan, dan kesalahan. Ketika Anda menulis kode yang diterjemahkan ke bahasa lain, Anda menghapus diri Anda dari sumber awal. Apa yang Anda tulis, dan apa yang dihasilkan sepenuhnya tergantung pada kompiler. Menulis kode untuk menghasilkan kode memang membingungkan, Anda akan membuat kesalahan, dan Anda akan menemukan kesalahan yang tidak Anda harapkan. Saya tidak akan merekomendasikan Anda menggunakannya.

Josh K.
sumber
5
Cobalah untuk tidak terlalu emosional tentang hal ini dan cobalah untuk tidak membuat terlalu banyak asumsi. Apa yang membuat Anda berpikir saya tidak belajar php "dengan benar"? Bagaimana lagi aku bisa membencinya? Kode yang dihasilkan bukan masalah bagi saya, karena saya tidak ingin menyentuhnya. Debugging bukan masalah, karena saya sangat jarang menggunakan debugger. Pengembang lain juga tidak menjadi masalah, karena sebagian besar plugin CMS toh bukan proyek besar. Anda membuat klaim yang sangat luas tentang haxe. Bisakah Anda mendukung mereka dengan contoh? Itu akan sangat dihargai. Juga, sudah berapa lama Anda menggunakannya?
Kim
5
Jadi Anda mengatakan bahwa kompiler membuat kode php buggy? Itu adalah salah satu dari klaim luas yang ingin saya buatkan contoh. Klaim luas lainnya adalah "Kompilasi silang antar bahasa mengarah pada kebingungan, kesalahan, dan kesalahan." Tolong beri contoh untuk itu. Jika Anda ingin mendiskusikan apakah PHP adalah bahasa yang layak digunakan, saya yakin Anda akan menemukan ribuan orang di internet yang akan melakukannya dengan Anda. Saya bukan salah satu dari mereka.
Kim
10
"Kompilasi silang antar bahasa - Ini menyebabkan kebingungan, kesalahan, dan kesalahan". Aneh, dan di sinilah aku, berpikir setiap kompiler melakukan hal itu - menerjemahkan satu bahasa ke bahasa lain (seperti ke assembly, C, kode JVM ...).
foo
1
Sebenarnya, sebagai programmer profesional dan memiliki banyak bahasa / kerangka / API di bawah ikat pinggang saya (java, c ++, python, php, ruby, javascript, dll.), HaXe adalah mercusuar cahaya bagi saya. Untuk pertama kalinya saya menemukan bahasa yang saya temukan telah melakukan hal yang benar, dan yang "ok" di semua sisi. Saya tidak dapat memahami bagaimana seseorang dapat membencinya. Untuk PHP, meskipun terbatas.
dagnelies
1
Sepenuhnya setuju dengan sebagian besar persyaratan (khususnya tentang haxe). Tetapi bekerja dengan php menggunakan sintaks lisp benar-benar menyenangkan! Jadi saya ingin berada di bagian kode yang aneh hanya untuk bersenang-senang.
cnd
1

Saya telah menggunakan banyak penerjemah bahasa, dan pada akhirnya Anda selalu harus banyak terlibat dalam hal yang Anda coba hindari ... Jadi, jika Anda membenci PHP, tunggu saja sampai Anda memiliki masalah yang benar-benar tidak jelas yang mengharuskan Anda untuk masuk jauh ke dalam usus itu. Padahal, aku harus menjadi pelahap, karena aku pikir menargetkan neko dengan haXe akan sangat keren.

kotoran merah
sumber
Semua kompiler adalah "penerjemah bahasa". Apakah Anda mengatakan kami tidak boleh menggunakan kompiler? ;) Apakah Anda harus "masuk ke dalam perutnya" sepenuhnya tergantung pada apakah kompiler melakukan pekerjaannya dengan baik, yang persis apa yang saya coba cari tahu. Menilai dari jawaban di sini, saya kira saya harus melakukan penyelidikan sendiri.
Kim
Saya ingin menargetkan Neko dengan haXe, tapi saya tidak ingin bergantung pada httpd Apache. Saya suka bisa memiliki pilihan di server web.
stesch
1

Jika itu untuk membuat plugin untuk PHP CMS, tetap dengan PHP.

Meskipun saya menggunakan HaXe dan merasa sangat hebat, saya tidak merekomendasikannya dalam kasus ini. Terlalu banyak tipuan dan biayanya akan lebih tinggi daripada keuntungan hanya dengan plugin kecil.

dagnelies
sumber
-1

Saya sudah mencoba Haxe, dan saya tidak bisa merekomendasikannya untuk pengembangan web.

Namun saya menyukai pendekatan itu, itulah sebabnya saya menerapkan bahasa minimalis saya sendiri yang juga mengkompilasi ke PHP, tetapi dengan cara yang jauh lebih langsung daripada Haxe, sehingga tetap mudah untuk men-debug kode yang dihasilkan dan berinteraksi dengan kode PHP yang ada .

Coder Ekstra
sumber
Bisakah Anda menguraikan mengapa Anda tidak merekomendasikan Haxe?
Jay Elston