PHP के लिए संकलित हैक्स और अन्य भाषाओं के साथ आपका अनुभव? [बन्द है]


23

मैं उन लोगों से राय सुनना चाहूंगा जिन्होंने एक भाषा का उपयोग किया है जो php के लिए संकलन करता है। ऐसी ही एक भाषा मुझे पता है हेक्स । अन्य लोगों के बारे में मैंने पढ़ा है किरा और फरेन हैं

PHP के साथ ये भाषाएँ कितनी अच्छी तरह एकीकृत हैं? क्या उन में PHP CMS के लिए प्लग-इन लिखना अपेक्षाकृत आसान है?

उनके कार्यान्वयन और उपकरण कितने परिपक्व हैं?

क्या आप उन्हें किसी ऐसे व्यक्ति की सलाह देंगे, जिसे php cms का उपयोग करना है, लेकिन php से नफरत करता है?


1
हैक्स अच्छा है। कम से कम यह एक जाने दे। मैंने अभी इसे स्थापित किया है, और 9minutes में अपना पहला PHP पृष्ठ अपलोड किया है और परीक्षण किया है (समय डाउनलोड करने के लिए haxe सहित), यह आसान है और बहुत सारे डॉक्स के साथ इसके पीछे एक महान समुदाय है
JTS

मैंने pratphall.org बनाया है जो एक टाइप की गई भाषा है जो PHP के लिए संकलित है।
चाड रेट्ज़

जवाबों:


9

मैं फारेन का निर्माता हूं, जो PHP के लिए एक लिस्प बोली का संकलन करता है। अपने सवालों के जवाब देने के लिए, यह PHP के साथ बहुत अच्छी तरह से एकीकृत करता है। मौजूदा पुस्तकालयों कॉल फ़ंक्शन को शामिल करना / उनकी वस्तुओं का उपयोग करना आसान है।

परिपक्वता के लिए, अभी तक चरण कोड का कोई उत्पादन उपयोग नहीं हुआ है। जबकि भाषा के मामले में आप जो चाहते हैं वह सब कुछ है और काम करना, परिनियोजन जैसी चीजों को अभी भी थोड़े अतिरिक्त प्रयास की आवश्यकता है।

उस ने कहा, अगर आप फरीन को चुनते हैं तो मुझे मदद करने में खुशी होगी लेकिन मैं कर सकता हूं। कृपया मुझे बताएं कि क्या आपके पास कोई अन्य प्रश्न हैं!


"मौजूदा पुस्तकालयों कॉल फ़ंक्शन को शामिल करना / उनकी वस्तुओं का उपयोग करना आसान है।" जो अधिकांश बाहरी पुस्तकालयों के साथ काम करने के लिए पर्याप्त होना चाहिए, जिसमें प्लगइन एपीआई सीएमएस के लिए भी शामिल है। मूल पोस्ट बहुत विशिष्ट नहीं था कि एकीकरण का क्या मतलब है। मैंने इसकी (परिपक्वता की कमी) स्थिति को भी समझाया।
स्क्रिप्टर

आपके उत्तर के लिए और मेरी मदद के लिए आपके प्रस्ताव के लिए धन्यवाद। क्या किसी अन्य लिस्प के साथ फैरेन कॉम्पैटेबल है? क्या इसके अपने ऑपरेटर हैं या यह सिर्फ php में लोगों का उपयोग करता है? उदाहरण के लिए, फेरन में == उसी तरह व्यवहार करता है जैसे कि php में?
किम

यह अभी अपनी बोली है, क्लोजर से कुछ प्रेरणा के साथ। इसका मुख्य कारण यह है कि अन्य मानकों में बहुत सारे सामान हैं, जैसे कि उनके स्वयं के मानक पुस्तकालय, यह अनावश्यक होगा। यह PHP के रूप में एक ही ऑपरेटर का उपयोग करता है, इसलिए आप (== "फू" "फू") का उपयोग कर सकते हैं
स्क्रिप्टर

3

जोश K कुछ गिनती पर सही है, php रनटाइम को बेहतर टारगेट करने के लिए php को जानना बेहतर है। हालाँकि, इसका मुख्य कारण यह नहीं है कि haxe एक बुरा संकलक है, लेकिन यह php ऐसी "idiosyncratic" भाषा है।

अपने बेस नेमस्पेस में Php की अविश्वसनीय मात्रा में कार्य होते हैं। इसलिए, नामांकित संघर्षों को रोकने के लिए बहुत सारे आरक्षित कीवर्ड और विशेष कार्य हैं, जिनके बारे में आपको जानना है। कुछ लोग इसके साथ ठीक हैं, मुझे लगता है कि यह भयानक भाषा डिजाइन है। HaXe इस मुद्दे के आसपास हो जाता है इसे php में स्वयं के नाम स्थान बनाकर।

Php स्वतः एक पूर्णांक को ओवरफ्लो पर एक फ्लोट में बदल देता है। यह निश्चित रूप से सख्त टाइपिंग को तोड़ता है कि HaXe जैसी भाषाएं टाइप सुरक्षा के लिए (और फास्ट हैशिंग एल्गोरिदम जैसी सरल चीजों को सक्षम करने के लिए) भरोसा करती हैं। मुझे लगता है कि यह एक और भयानक भाषा विशेषता है। इसके अलावा, haXe यहाँ मदद नहीं कर सकता, क्योंकि इस php व्यवहार को बदला नहीं जा सकता है।

तो यह तूम गए वहाँ। मुझे लगता है कि haXe php को बेहतर बनाता है क्योंकि यह php के लिए कुछ (कथित) भाषा दोषों को साफ करता है। हालाँकि, php के बारे में बहुत सारी अजीब बातें हैं, कि आपको इसके कुछ आइडिओसिंक को ठीक करने के लिए इसे अच्छी तरह से सीखने की आवश्यकता है।

यह सब कहा जा रहा है, haXe भाषा बहुत अद्भुत है। यह आपको अपने php कोड को बेहतर नामस्थानों में व्यवस्थित करने देता है, काफी परिष्कृत प्रकार की प्रणाली है, php विशिष्ट मुद्दों से निपटने के लिए कुछ सशर्त संकलन विकल्प हैं, और कुछ अच्छे दस्तावेज़ीकरण संचालन हैं। अकेले उन कारणों के लिए, यह एक परिष्कृत पुस्तकालय डिजाइन करने के लिए एक बुरा विकल्प नहीं है ... यहां तक ​​कि php जैसी किसी चीज के लिए भी।

प्रासंगिक लिंक:

php मैजिक: http://haxe.org/doc/advanced/magic

(मुख्य haxe.org साइट के सामुदायिक अनुभाग में "प्लेटफ़ॉर्म क्विरक्स" भी देखें)


आपके उत्तर के लिए धन्यवाद। क्या आपके पास hxe या इसके विपरीत php से कॉल करने के लिए कोई समस्या है?
किम

तो PHP (गतिशील भाषा) में haXe के साथ समस्याएँ हैं (स्थैतिक टाइपिंग पर निर्भर करता है)? गजब का! PHP थोड़ी अजीब भाषा है, लेकिन इसे पर्ल में जड़ दिए जाने पर यह समझ में आता है। जिसे आप "भयानक भाषा सुविधाएँ" मानते हैं और जो "मानक गत्यात्मकता" है वह काफी हद तक समान लगती है।
जोश के

1
डायनेमिक रनटाइम सुविधाओं के साथ-साथ आपके पास स्थिर भाषा सुविधाएँ हो सकती हैं। वे परस्पर अनन्य नहीं हैं। HaXe इस उद्देश्य के लिए "गतिशील" प्रकार संकेतक का उपयोग करता है। नाम और गणित के संचालन का वास्तव में भाषा की गतिशीलता से कोई लेना-देना नहीं है। ये सिर्फ php के quirks हैं।
१५:०४ पर jdonaldson

2

भयानक कचरा

मैं किसी की सिफारिश पर haxe इस्तेमाल किया और कहा कि सलाह देते हैं कभी नहीं होगा करने के लिए किसी को भी के लिए किसी भी कारण से

भाषाओं के बीच क्रॉस संकलन से भ्रम, गलतियाँ और त्रुटियाँ होती हैं। यह एक स्मारकीय कार्य को डीबग करना भी बनाता है।

क्या आप उन्हें किसी ऐसे व्यक्ति की सलाह देंगे, जिसे php cms का उपयोग करना है, लेकिन php से नफरत करता है?

नहीं! मैं आपको सलाह दूंगा कि या तो PHP को ठीक से सीखें या एक अलग CMS का उपयोग करें। चूंकि ऐसा लगता है कि आपके पास सीएमएस भाग में कोई विकल्प नहीं है, इसलिए दूसरा विकल्प भाषा सीखना और उससे निपटना है।

उनके कार्यान्वयन और उपकरण कितने परिपक्व हैं?

सबसे कम उम्र में, सबसे कम उम्र में अस्थिर। आपको उनके लिए बहुत अधिक समर्थन नहीं मिलेगा।


ऐसा लगता है जैसे आपके पास PHP एप्लिकेशन के लिए कुछ लिखने का काम है। स्पष्ट मुद्दों के अलावा कि आपके कोड को मौजूदा PHP फ़ंक्शंस / ऑब्जेक्ट्स को काम करने के लिए आयात करना होगा, और उपर्युक्त कबाड़, इस पर काम करने वाले किसी और को अब आपकी भाषा को भाषा संकलक को सीखना होगा। अन्यथा वे परिणाम के रूप में भड़कीले "PHP" कोड के साथ खिलवाड़ करने वाले हैं। इसका मतलब यह भी है कि अगर वे इस पर काम करते हैं, तो आपको अपने कोड में उन परिवर्तनों को फिर से लागू करना होगा, या किसी अन्य द्वारा किए गए परिवर्तनों को खोने का जोखिम उठाना होगा।

यदि आप PHP के साथ काम करने से नफरत करते हैं, तब तक प्रतीक्षा करें जब तक कि आपको उन भाषाओं में से कुछ कोड के साथ काम न करना पड़े।


"" भाषाओं के बीच क्रॉस संकलन "

यह भ्रम, गलतियों और त्रुटियों की ओर जाता है। जब आप कोड लिखते हैं जो दूसरी भाषा में अनुवादित हो रहा है तो आप अपने आप को प्रारंभिक स्रोत से हटा रहे हैं। आप क्या लिखते हैं, और क्या प्राप्त होता है यह पूरी तरह से संकलक तक है। कोड जनरेट करने के लिए कोड लिखना दूभर हो जाता है, आप गलतियाँ करेंगे, और आपको ऐसी त्रुटियाँ मिलेंगी जिनकी आपको उम्मीद नहीं है। मैं आपको उनका उपयोग करने की सलाह नहीं दूंगा।


5
कृपया इस बारे में बहुत अधिक भावुक न होने का प्रयास करें और बहुत अधिक धारणाएं न बनाने का प्रयास करें। आपको क्या लगता है कि मैंने "ठीक से" php नहीं सीखा है? मुझे इससे और नफरत कैसे हुई होगी? उत्पन्न कोड मेरे लिए कोई समस्या नहीं है, क्योंकि मैं इसे छूना नहीं चाहता। डिबगिंग एक मुद्दा नहीं है, क्योंकि मैं बहुत कम ही डिबगर का उपयोग करता हूं। अन्य डेवलपर्स भी एक मुद्दा नहीं हैं, क्योंकि अधिकांश सीएमएस प्लगइन्स वैसे भी बड़ी परियोजनाएं नहीं हैं। आप हेक्स के बारे में बहुत व्यापक दावे करते हैं। क्या आप उन्हें उदाहरण के साथ वापस कर सकते हैं? यह बहुत सराहनीय होगा। साथ ही, आपने इसे कितने समय पहले इस्तेमाल किया था?
किम

5
तो आप कह रहे हैं कि कंपाइलर छोटी गाड़ी php कोड बनाता है? यह उन व्यापक दावों में से एक है जो मैं आपको एक उदाहरण के साथ वापस करना चाहूंगा। एक और व्यापक दावा है "भाषाओं के बीच क्रॉस संकलन भ्रम, गलतियों और त्रुटियों की ओर जाता है।" कृपया इसके लिए उदाहरण दें। यदि आप चर्चा करना चाहते हैं कि क्या PHP उपयोग करने लायक भाषा है, तो मुझे यकीन है कि आपको इंटरनेट पर हजारों लोग मिलेंगे जो आपके साथ ऐसा करेंगे। मैं उनमें से नहीं हूं।
किम

10
"भाषाओं के बीच क्रॉस संकलन - यह भ्रम, गलतियों और त्रुटियों की ओर जाता है"। अजीब बात है, और यहाँ मैं सोच रहा था, किसी भी कंपाइलर ने बस यही किया है - एक भाषा का दूसरे में अनुवाद (जैसे असेंबली, सी, जेवीएम कोड ...)।
फू

1
दरअसल, एक पेशेवर प्रोग्रामर होने के नाते और मेरे बेल्ट (जावा, सी ++, अजगर, php, रूबी, जावास्क्रिप्ट, आदि) के तहत कई भाषाएं / रूपरेखा / एपीआई हैं।, हैक्स मेरे लिए प्रकाश की किरण थे। पहली बार मुझे एक ऐसी भाषा का सामना करना पड़ा, जिसे मैंने पाया कि चीजों को सही किया है, और जो सभी तरफ "ठीक" है। मैं यह समझने में असमर्थ हूं कि कोई इसे कैसे नापसंद कर सकता है। PHP के लिए, हालांकि यह सीमित है।
dagnelies

1
पूरी तरह से अधिकांश शब्दों (विशेष रूप से हेक्स के बारे में) से सहमत हैं। लेकिन लिस्प सिंटैक्स का उपयोग करके php के साथ काम करना वास्तव में मजेदार है! इसलिए मैं कोड के ऐसे अजीबोगरीब हिस्से में सिर्फ मनोरंजन के लिए रहना चाहता हूं।
cnd

1

मैंने कई भाषा अनुवादकों का उपयोग किया है, और अंत में आपको हमेशा उस चीज़ के आस-पास होना चाहिए जो आप बचने की कोशिश कर रहे हैं ... इसलिए यदि आप PHP से नफरत करते हैं, तो बस तब तक प्रतीक्षा करें जब तक आपके पास वास्तव में अस्पष्ट मुद्दा न हो जिसके लिए आपको आवश्यकता होती है यह आंत्र में गहरी गर्दन पाने के लिए। हालाँकि, मुझे एक ग्लूटन होना चाहिए, क्योंकि मुझे लगता है कि नेक्स को लक्षित करना बहुत अच्छा होगा।


सभी संकलक "भाषा अनुवादक" हैं। क्या आप कह रहे हैं कि हमें कंपाइलर्स का इस्तेमाल नहीं करना चाहिए? ;) क्या आपको "अपनी आंतों में गर्दन को गहरा करना है" पूरी तरह से इस बात पर निर्भर करता है कि कंपाइलर अपना काम अच्छी तरह से कर रहा है या नहीं, यह वही है जो मैं पता लगाने की कोशिश कर रहा हूं। यहां के जवाबों को देखते हुए, मुझे लगता है कि मुझे अपनी जांच करनी होगी।
किम

मैं नेक्सो को haXe के साथ लक्षित करना चाहूंगा, लेकिन मैं अपाचे के httpd पर निर्भर नहीं होना चाहता। मुझे वेब सर्वर पर चुनाव करना पसंद है।
22

1

यदि यह एक PHP सीएमएस के लिए एक प्लगइन बनाने के लिए है, तो PHP के साथ रहें।

हालांकि मैं HaXe का उपयोग करता हूं और यह वास्तव में बहुत अच्छा लगता है, मैं इस मामले में इसकी सिफारिश नहीं करता हूं। यह बहुत अधिक अप्रत्यक्ष है और लागत केवल एक छोटे प्लगइन के लिए लाभ से अधिक होगी।


-1

मैंने पहले ही हेक्स की कोशिश की है, और मैं इसे वेब विकास के लिए अनुशंसित नहीं कर सकता।

हालाँकि मुझे यह दृष्टिकोण पसंद आया, यही वजह है कि मैंने अपनी खुद की न्यूनतर भाषा को लागू किया है जो PHP के लिए भी संकलित है, लेकिन हैक्स की तुलना में बहुत अधिक प्रत्यक्ष तरीके से, ताकि उत्पन्न कोड को डीबग करना आसान हो और मौजूदा PHP कोड के साथ सहभागिता करें ।


क्या आप इस बात की विस्तृत व्याख्या कर सकते हैं कि आप हेक्स की सिफारिश क्यों नहीं करते हैं?
जे एलस्टन जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.