PHP ve PHP'yi derleyen diğer dillerle ilgili deneyiminiz? [kapalı]


23

PHP'yi derleyen bir dili kullanan insanlardan fikir almak istiyorum. Bildiğim böyle bir dil Haxe . Okuduğum diğerleri Kira ve Pharen .

Bu diller PHP ile ne kadar iyi bütünleşir? Onlara bir PHP CMS eklentisi yazmak nispeten kolay mı?

Uygulamaları ve araçları ne kadar olgun?

Onları php cms kullanmak zorunda olan fakat php'den nefret eden birine tavsiye eder misiniz?


1
HaXe iyidir. Atleast bir şans ver. Daha yeni kurdum ve ilk PHP sayfamı 9 dakikada (haxe indirme zamanı dahil) yükleyip test ettim, çok kolay ve arkasında çok sayıda dokümanın bulunduğu harika bir topluluk var
JTS

Ben oluşturduk pratphall.org PHP derlerken bir Yazılan dildir.
Chad Retz

Yanıtlar:


9

Ben bir Lisp lehçesini PHP'ye derleyen Pharen'in yaratıcısıyım. Sorularınızı cevaplamak için, PHP ile oldukça iyi bütünleşir. Mevcut kitaplıkların çağrı işlevlerini dahil etmek / nesnelerini kullanmak kolaydır.

Vade gelince, henüz Pharen kodunun üretim kullanımı olmamıştır. Dil açısından istediğiniz her şey orada ve çalışıyor olsa da, dağıtım gibi şeyler hala biraz fazla çaba gerektirir.

Bununla birlikte, eğer Pharen'i seçerseniz, yardım edebildiğim için yardım ederim. Başka bir sorunuz olursa lütfen bana bildirin!


"Mevcut kütüphanelerin çağrı işlevlerini dahil etmek / nesnelerini kullanmak kolaydır." CMS için eklenti API'ler de dahil olmak üzere çoğu harici kütüphaneyle çalışmak için yeterli olmalıdır. Orijinal yayın, entegrasyonun ne anlama geldiğiyle ilgili çok net değildi. Ayrıca (eksiklik) vade durumunu açıkladım.
Scriptor

Cevabınız ve teklifiniz için bana yardımcı olduğunuz için teşekkür ederiz. Fajenler diğer lisplarla karşılaştırılabilir mi? Kendi operatörleri var mı yoksa sadece php'dekileri mi kullanıyor? Örneğin, == pharen'deki php ile aynı şekilde davranıyor mu?
Kim

Şu an Clojure'dan ilham alan kendi lehçesi. Bunun temel nedeni, diğer standartların kendi standart kütüphaneleri gibi, gereksiz olabilecek bir çok bagaja sahip olmalarıdır. PHP ile aynı operatörleri kullanır, böylece kullanabilirsiniz (== "foo" "foo")
Scriptor

3

Josh K bazı sayılar konusunda haklıdır, php çalışma zamanını daha iyi hedeflemek için php bilmek daha iyidir. Ancak bunun asıl nedeni, taksinin kötü bir derleyici olması değil, php'nin böyle bir "kendine özgü" dili olmasıdır.

Php, temel ad alanında inanılmaz miktarda fonksiyona sahiptir. Bu nedenle, adlandırma çakışmalarını önlemek için bilmeniz gereken birçok ayrılmış anahtar kelime ve özel işlev vardır. Bazı insanlar bu konuda iyi, bence korkunç bir dil tasarımı. HaXe bu sorunu çözerek php'de kendi ad alanını yaratabilir.

Php, otomatik olarak bir tamsayıyı taşma üzerinde yüzmeye çevirir. Elbette bu, HaXe gibi dillerin tip güvenliği (ve hızlı karma algoritmalar gibi basit şeyleri mümkün kılmak) için güven duydukları kesin yazmayı bozar. Bence bu başka bir korkunç dil özelliği. Ayrıca, haXe burada yardımcı olamaz, çünkü bu php davranışı değiştirilemez.

Al işte ozaman, buyur. Bence php için birkaç (algılanan) dil kusurunu temizlediği için php'ı daha iyi hale getirdiğini düşünüyorum. Bununla birlikte, php ile ilgili çok garip şeyler var, bu da kendi kendine özgü bazı şeyleri düzeltmek için iyi bir şekilde öğrenmeye ihtiyaç duyuyor.

Bütün bunlar söylendiğinde, haXe dili oldukça şaşırtıcı. PHP kodunuzu daha iyi ad alanlarında düzenleyebilmenizi sağlar, oldukça karmaşık bir tür sistemine sahiptir, php'ye özgü sorunları ele almak için bazı koşullu derleme seçeneklerine sahiptir ve birkaç güzel dokümantasyon işlemi vardır. Tek başına bu nedenlerden dolayı, php gibi bir şey için bile, sofistike bir kütüphane tasarlamak kötü bir seçim değildir.

İlgili bağlantılar:

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

(ayrıca ana haxe.org sitesinin topluluk bölümünde "platform tuhaflıkları" na bakın)


Cevabınız için teşekkürler. PHP’yi haxe'den çağırmak veya tersini yapmakta sorun yaşadınız mı?
Kim

Öyleyse PHP (dinamik dil) 'de haXe ile ilgili sorunlar var (statik yazmaya bağlı)? Şaşırtıcı! PHP biraz garip bir dildir, ancak Perl'deki kökleri göz önüne alındığında anlaşılabilir bir durumdur. “Korkunç dil özellikleri” olduğuna inandığınız ve “standart dinamizm” olanlara benziyor.
Josh K

1
Dinamik çalışma zamanı özelliklerinin yanında statik dil özelliklerine sahip olabilirsiniz. Karşılıklı münhasır değiller. HaXe bu amaç için "Dinamik" Tip göstergesini kullanır. Ad alanı ve matematik işlemlerinin dil dinamizmi ile hiçbir ilgisi yok. Bunlar sadece php tuhaflıkları.
Jdonaldson

2

Korkunç Çöp

Ben birinin tavsiyesi üzerine haXe kullanılan ve tavsiye asla kimseye yönelik herhangi bir nedenle .

Diller arasında çapraz derleme karışıklığa, hatalara ve hatalara yol açar. Aynı zamanda anıtsal bir görev hata ayıklama yapar.

Onları php cms kullanmak zorunda olan fakat php'den nefret eden birine tavsiye eder misiniz?

Yok hayır! PHP'yi düzgün bir şekilde öğrenmenizi veya farklı bir CMS kullanmanızı öneririm . CMS bölümünde bir seçeneğiniz yok gibi gözüktüğü için diğer seçenek dili öğrenmek ve onunla ilgilenmektir.

Uygulamaları ve araçları ne kadar olgun?

En iyisi genç, en kötüsü kararsız. Onlar için fazla destek bulamazsın.


Bir PHP uygulaması için bir şeyler yazma işiniz var gibi geliyor. Kodunuzun çalışmak için mevcut PHP işlevlerini / nesnelerini ve yukarıda belirtilen önemsiz şeyleri içe aktarmak zorunda kalacağı açık sorunların yanı sıra, bu konuda çalışan herhangi birinin şimdi dilinizi dil derleyicisini öğrenmesi gerekecek. Aksi halde, sonuç olarak belirsiz "PHP" koduyla uğraşacaklar. Bu aynı zamanda, eğer üzerinde çalışırlarsa, kodunuzdaki değişiklikleri yeniden uygulamak zorunda kalacağınız ya da başkasının yaptığı değişiklikleri kaybetme riski taşıyacağınız anlamına gelir.

PHP ile çalışmaktan nefret ediyorsanız, bu dillerin çıkardığı bazı kodlarla çalışmak zorunda kalana kadar bekleyin.


"" Diller arasında çapraz derleme "

Karışıklık, hata ve hatalara yol açar. Başka bir dile çevrilmiş olan kodu yazarken, kendinizi ilk kaynaktan kaldırıyorsunuzdur. Yazdıklarınız ve yarattıklarınız tamamen derleyiciye bağlıdır. Kod üretmek için kod yazmak kafa karıştırıcı hale gelir, hatalar yaparsınız ve beklemediğiniz hataları görürsünüz. Onları kullanmanızı tavsiye etmem.


5
Lütfen bu konuda fazla duygusallaşmamaya çalışın ve çok fazla varsayımda bulunmamaya çalışın. PHP'yi "düzgün" öğrenemediğimi nereden çıkardın? Başka nasıl nefret etmeye gelebilirdim? Üretilen kod, benim için bir sorun değil, çünkü dokunmak istemiyorum. Hata ayıklama bir sorun değildir, çünkü çok nadiren bir hata ayıklayıcı kullanırım. Diğer geliştiriciler de bir sorun değil, çünkü çoğu CMS eklentisi zaten büyük projeler değil. Taksiler hakkında çok geniş iddialarda bulunuyorsunuz. Lütfen bunları örneklerle yedekleyebilir misiniz? Çok takdir edilecektir. Ayrıca, ne kadar zaman önce kullandınız?
Kim

5
Yani derleyicinin buggy php kodu yarattığını mı söylüyorsun? Bu, bir örnekle desteklemenizi istediğim geniş iddialardan biridir. Bir diğer geniş iddia ise, "Diller arasında çapraz derleme karışıklığa, hatalara ve hatalara yol açar." Lütfen bunun için örnekler verin. PHP'nin kullanmaya değer bir dil olup olmadığını tartışmak istiyorsanız, internette sizinle birlikte yapacak binlerce insanı bulacağınıza eminim. Ben onlardan biri değilim.
Kim

10
"Diller arasında çapraz derleme - karışıklığa, hatalara ve hatalara yol açar". Garip, ve burada, herhangi bir derleyicinin sadece bunu yaptığını düşünüyordum - bir dili diğerine çevirme (meclis, C, JVM kodu ... gibi).
foo

1
Aslında, profesyonel bir programcı olmak ve kemerimin altında birçok dil / çerçeve / API'ye sahip olmak (java, c ++, python, php, ruby, javascript, vb.), HaXe benim için bir ışık göstergesiydi. İlk defa, bir şeyleri doğru yaptığımı ve her iki tarafta da "tamam" olduğunu bulduğum bir dile rastladım. Birisinin nasıl sevmediğini anlayamıyorum. PHP için olsa sınırlıdır.
dagnelies,

1
Terimlerin çoğu (özellikle haxe hakkında) ile tamamen aynı fikirdeyim. Ancak lisp sözdizimini kullanarak php ile çalışmak gerçekten eğlenceli! Bu yüzden sadece eğlence için kodun çok garip bir parçası olmak istiyorum.
saat

1

Çok sayıda dil tercümanı kullandım ve sonunda kaçınmaya çalıştığınız şey hakkında her zaman çok şey zorundasınız ... PHP'den nefret ediyorsanız, sizi gerektiren gerçekten belirsiz bir mesele olana kadar bekleyin. boynunun derinliklerine bağırmak için. Yine de bir obur olmalıyım çünkü neko'yu hXe ile hedef almanın oldukça iyi olacağını düşünüyorum.


Tüm derleyiciler "dil çevirmenleri" dir. Derleyici kullanmamamız gerektiğini mi söylüyorsun? ;) “Boynuzlarına derinlemesine dalmanız gerekip gerekmediği” tamamen derleyicinin işini iyi yapıp yapmadığına bağlıdır, ki tam olarak ne bulmaya çalışıyorum. Buradaki cevaplara bakılırsa, sanırım kendi soruşturmamı yapmak zorunda kalacağım.
Kim

Neko'yu haXe ile hedeflemek isterdim, ancak Apache'nin httpd'sine güvenmek istemiyorum. Web sunucularında seçim yapabilmeyi seviyorum.
stesch

1

Bir PHP CMS için bir eklenti yapmak ise, PHP ile kalın.

Her ne kadar HaXe kullanıp gerçekten harika bulsa da, bu durumda tavsiye etmiyorum. Bu sadece çok fazla aktarım ve maliyeti sadece küçük bir eklenti için kazancından daha yüksek olacaktır.


-1

Haxe'yi zaten denedim ve web geliştirmesi için öneremiyorum.

Ancak ben kendi minimalist uyguladık neden olan bir yaklaşım sevdim dili mevcut PHP kodu ile oluşturulan kodu ve etkileşim hata ayıklamak için kolay kalır böylece, aynı zamanda PHP aşağı derler ama Haxe göre çok daha doğrudan bir şekilde .


Neden Haxe'ı önermediğinizi açıklayabilir misiniz?
Jay Elston
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.