อ่าน 4 นาที
แฮ็กซ์
Haxeเป็นภาษาโปรแกรมและคอมไพเลอร์ระดับสูงแบบข้ามแพลตฟอร์ม ที่สามารถสร้างแอปพลิเคชันและซอร์สโค้ดสำหรับแพลตฟอร์มคอมพิวเตอร์ ต่างๆ มากมาย จากฐานโค้ดเดียว...
แฮ็กซ์
| แฮ็กซ์ | |
|---|---|
| กระบวนทัศน์ | หลายกระบวนทัศน์ : เชิงวัตถุ , เชิงฟังก์ชัน , ทั่วไป |
| ตระกูล | ECMAScript : ActionScript |
| ออกแบบโดย | นิโคลัส คันนาสส์ |
| นักพัฒนา | มูลนิธิแฮ็กซ์ |
| ปรากฏครั้งแรก | 14 พฤศจิกายน 2548 |
| เวอร์ชันเสถียร | 4.3.7 [ 1 ] |
| วินัยในการพิมพ์ | แบบคงที่ แบบไดนามิกผ่านคำอธิบายประกอบแบบนามนัย |
| ขอบเขต | คำศัพท์ |
| ภาษาการใช้งาน | โอแคมล์ |
| แพลตฟอร์ม | IA-32 , x86-64 , AArch64 , อาร์เมล, armhf , MIPS, MIPS64el, MIPSel , ppc64el , RISC-V , s390x |
| โอเอส | Android , iOS ; Linux , macOS , Windows |
| ใบอนุญาต | ลิขสิทธิ์ GPL 2.0, ไลบรารี: MIT |
| นามสกุลไฟล์ | .hx, .hxml |
| เว็บไซต์ | haxe.org |
| ได้รับอิทธิพลจาก | |
| ECMAScript , JavaScript , ActionScript , OCaml , Java , C++ , PHP , C# , Python , Lua , NekoVM | |
Haxeเป็นภาษาโปรแกรมและคอมไพเลอร์ระดับสูงแบบข้ามแพลตฟอร์ม ที่สามารถสร้างแอปพลิเคชันและซอร์สโค้ดสำหรับแพลตฟอร์มคอมพิวเตอร์ ต่างๆ มากมาย จากฐานโค้ดเดียว เป็นซอฟต์แวร์โอเพนซอร์สฟรีที่เผยแพร่ภายใต้ใบอนุญาต MIT [ 2 ]คอมไพเลอร์เขียนด้วยOCamlสามารถทำงานในโหมดเซิร์ฟเวอร์เพื่อให้การเติมโค้ดอัตโนมัติสำหรับ สภาพแวดล้อมการพัฒนา แบบบูรณาการ (IDE) [ 3 ]
Haxe ประกอบด้วยชุดคุณสมบัติและไลบรารีมาตรฐาน[ 4 ]ที่รองรับทุกแพลตฟอร์มรวมถึงประเภทข้อมูลตัวเลขสตริงอาร์เรย์แผนที่ไบนารีการเขียนโปรแกรมแบบสะท้อน คณิตศาสตร์โปรโตคอลการถ่ายโอนไฮเปอร์เท็กซ์ ( HTTP ) ระบบไฟล์ และรูปแบบไฟล์ ทั่วไป Haxe ยังมีอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน ( API ) เฉพาะแพลตฟอร์มสำหรับเป้าหมายคอมไพเลอร์แต่ละตัว[ 5 ] Kha , OpenFLและHeaps.ioเป็นเฟรมเวิร์ก Haxe ยอดนิยมที่ช่วยให้สามารถสร้างเนื้อหาหลายแพลตฟอร์มจากโค้ดเบสเดียวได้[ 6 ]
Haxe เกิดขึ้นจากแนวคิดในการสนับสนุน การเขียนโปรแกรม ฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ด้วยภาษาเดียว และลดความซับซ้อนของตรรกะการสื่อสารระหว่างกัน[ 7 ]โค้ดที่เขียนด้วย Haxe สามารถคอมไพล์เป็นJavaScript , C++ , Java , Java virtual machine (JVM), PHP , C# , Python , Lua [ 8 ]และNode.jsได้[ 9 ]นอกจากนี้ Haxe ยังสามารถคอมไพล์ไบต์โค้ดSWF , HashLink และNekoVM ได้โดยตรง และยังทำงานในโหมดตีความได้อีกด้วย[ 10 ]
Haxe รองรับ externs (ไฟล์นิยาม) ที่สามารถบรรจุ ข้อมูล ประเภทข้อมูลของไลบรารี ที่มีอยู่ เพื่ออธิบายการโต้ตอบเฉพาะเป้าหมายในลักษณะที่ปลอดภัยต่อประเภทข้อมูล เช่นเดียวกับไฟล์เฮดเดอร์ของ C++ ที่สามารถอธิบายโครงสร้างของไฟล์ออบเจ็กต์ ที่มีอยู่ วิธีนี้ช่วยให้สามารถใช้ค่าที่กำหนดไว้ในไฟล์ราวกับว่าเป็นเอนทิตี Haxe ที่มีการกำหนดประเภทข้อมูลแบบคงที่ นอกจาก externs แล้ว ยังมีวิธีอื่น ๆ ในการเข้าถึงความสามารถดั้งเดิมของแต่ละแพลตฟอร์มอีกด้วย
IDEและโปรแกรมแก้ไขซอร์สโค้ดที่เป็นที่นิยมหลายตัวรองรับการพัฒนา Haxe [ 11 ]มูลนิธิ Haxe ไม่ได้แนะนำสภาพแวดล้อมการพัฒนาหรือชุดเครื่องมือใดโดยเฉพาะอย่างเป็นทางการ แม้ว่าVS Code , IntelliJ IDEAและ HaxeDevelop จะรองรับการพัฒนา Haxe มากที่สุดก็ตาม ฟังก์ชันหลัก เช่นการเน้นไวยากรณ์การเติมโค้ดอัตโนมัติ การปรับโครงสร้างโค้ดการดีบักฯลฯ มีให้ใช้งานในระดับต่างๆ กัน
ประวัติศาสตร์
การพัฒนา Haxe เริ่มขึ้นในเดือนตุลาคม พ.ศ. 2548 เวอร์ชันอัลฟ่า แรก เปิดตัวเมื่อวันที่ 14 พฤศจิกายน พ.ศ. 2548 [ 12 ] [ 13 ] Haxe 1.0 เปิดตัวในเดือนเมษายน พ.ศ. 2549 โดยรองรับ โปรแกรม Adobe Flash , JavaScriptและNekoVM มีการเพิ่ม การรองรับPHPในปี พ.ศ. 2551 และเพิ่ม C++ ในปี พ.ศ. 2552 มีการเพิ่มแพลตฟอร์มอื่นๆ เช่น C# และ Java พร้อมกับการปรับปรุงคอมไพเลอร์ในปี พ.ศ. 2555
Haxe ได้รับการพัฒนาโดย Nicolas Cannasse และผู้มีส่วนร่วมคนอื่นๆ และเดิมทีมีชื่อว่าhaXe [ 14 ]เนื่องจากสั้น ง่าย และ "มี X อยู่ข้างใน" ซึ่งผู้เขียนกล่าวอย่างขบขันว่าจำเป็นต่อความสำเร็จของเทคโนโลยีใหม่ใดๆ[ 15 ]
Haxe เป็นผู้สืบทอดต่อจากคอมไพเลอร์ ActionScript 2 แบบโอเพนซอร์สMTASC [ 16 ]ซึ่งสร้างโดย Nicolas Cannasse และเผยแพร่ภายใต้ใบอนุญาตสาธารณะทั่วไปของ GNUเวอร์ชัน 2 หรือหลังจากนั้น
คอมไพเลอร์
ภาษา Haxe สามารถคอมไพล์เป็นไบต์โค้ดที่สามารถเรียกใช้งานได้โดยตรงบนเครื่องเสมือนที่กำหนดเป้าหมายไว้ สามารถคอมไพล์เป็นซอร์สโค้ดในภาษา C++ , JavaScript , PHP , C# , Java , PythonและLuaได้ นอกจากนี้ Haxe ยังมีตัวแปลภาษาชื่อeval [ 17 ]ตัวแปลภาษานี้ยังใช้ในระหว่างการคอมไพล์เพื่อเรียกใช้มาโคร ซึ่งอนุญาตให้แก้ไขโครงสร้างต้นไม้ไวยากรณ์นามธรรม (AST) ได้
กลยุทธ์การคอมไพล์ไปยังภาษาซอร์สโค้ดหลายภาษานี้ได้รับแรงบันดาลใจจาก แนวคิด "เขียนครั้งเดียว รันได้ทุกที่ " นอกจากนี้ยังช่วยให้โปรแกรมเมอร์สามารถเลือกแพลตฟอร์มที่ดีที่สุดสำหรับงานได้ โปรแกรม Haxe ทั่วไปจะทำงานได้เหมือนกันบนทุกแพลตฟอร์ม แต่ผู้พัฒนาสามารถระบุโค้ดเฉพาะแพลตฟอร์มและใช้การคอมไพล์แบบมีเงื่อนไขเพื่อป้องกันไม่ให้คอมไพล์บนแพลตฟอร์มอื่นได้
คอมไพเลอร์ Haxe เป็นคอมไพเลอร์ที่ปรับแต่งประสิทธิภาพและใช้ การอิน ไลน์ฟิลด์และฟังก์ชันการกำจัดคำเรียกซ้ำแบบหางการพับค่าคงที่การคลายลูปและการกำจัดโค้ดที่ไม่ได้ใช้งาน (DCE) เพื่อเพิ่มประสิทธิภาพการทำงานของโปรแกรมที่คอมไพล์แล้ว[ 18 ]คอมไพเลอร์ Haxe มีตัวเลือกการ ตรวจสอบ ค่าว่างโดยจะตรวจสอบค่าที่อาจเป็นค่าว่างได้ในระหว่างการคอมไพล์ ประสิทธิภาพการทำงานของโปรแกรม Haxe นั้นมีความเร็วเทียบเท่ากับซอร์สโค้ดที่เขียนด้วยมือ[ 19 ]
ดูเพิ่มเติม
- ดาร์ท (ภาษาโปรแกรม)
- นิม (ภาษาโปรแกรม)
- โอปา (ภาษาโปรแกรม)
- โคลจูร์
- คอฟฟี่สคริปต์
- ไทป์สคริปต์
- สกาล่า (ภาษาโปรแกรม)
- วาลา (ภาษาโปรแกรม)
- เอ็มสคริปเทน
- โอเพ่นเอฟแอล
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ แฮ็กซ์
Haxeเป็นภาษาโปรแกรมและคอมไพเลอร์ระดับสูงแบบข้ามแพลตฟอร์ม ที่สามารถสร้างแอปพลิเคชันและซอร์สโค้ดสำหรับแพลตฟอร์มคอมพิวเตอร์ ต่างๆ มากมาย จากฐานโค้ดเดียว...
ประวัติศาสตร์
การพัฒนา Haxe เริ่มขึ้นในเดือนตุลาคม พ.ศ. 2548 เวอร์ชันอัลฟ่า แรก เปิดตัวเมื่อวันที่ 14 พฤศจิกายน พ.ศ. 2548 [ 12 ] [ 13 ] Haxe 1.0 เปิดตัวในเดือนเมษายน พ.ศ. 2549 โดยรองรับ โปรแกรม Adobe Flash , JavaScript และ NekoVM มีการเพิ่ม การรองรับ PHP ในปี พ.ศ.
คอมไพเลอร์
ภาษา Haxe สามารถคอมไพล์เป็น ไบต์โค้ด ที่สามารถเรียกใช้งานได้โดยตรงบน เครื่องเสมือน ที่กำหนดเป้าหมายไว้ สามารถคอมไพล์เป็น ซอร์สโค้ด ใน ภาษา C++ , JavaScript , PHP , C# , Java , Python และ Lua ได้ นอกจากนี้ Haxe ยังมีตัวแปลภาษาชื่อ eval [ 17 ]...
ดูเพิ่มเติม
ดาร์ท (ภาษาโปรแกรม) นิม (ภาษาโปรแกรม) โอปา (ภาษาโปรแกรม) โคลจูร์ คอฟฟี่สคริปต์ ไทป์สคริปต์ สกาล่า (ภาษาโปรแกรม) วาลา (ภาษาโปรแกรม) เอ็มสคริปเทน โอเพ่นเอฟแอล