- ความเป็นไปได้ที่นำมาใช้
เพิ่ม วิธีการเป็นประเภทนามธรรม - มีการรองรับ Unicode 12.1.0 และความสามารถในการใช้รูปแบบเฉพาะของอักขระดิจิทัล Unicode (𝟎-𝟗, 𝟘-𝟡) ในตัวระบุ
- เพื่อแสดงและแยกวิเคราะห์ชื่อตัวแปรที่ไม่เป็นมาตรฐาน
เสนอ ไวยากรณ์ใหม่ var"#str#"; - เครื่องมือที่เกี่ยวข้องกับมัลติเธรดได้รับการขยาย: มาโคร Threads.@spawn และคีย์เวิร์ด Channel(f::Function, spawn=true) ได้รับการเพิ่มเพื่อจัดระเบียบการเปิดตัวงานในเธรดที่มีอยู่ การดำเนินการ I/O ของระบบทั้งหมดด้วยไฟล์และซ็อกเก็ต รวมถึงตัวสร้างตัวเลขสุ่มเทียม ได้รับการปรับให้เหมาะกับแอปพลิเคชันแบบมัลติเธรด (ปลอดภัยสำหรับเธรด)
- เพิ่มฟังก์ชั่นห้องสมุดใหม่ได้แก่
findfirst, findlast, findnext, findprev, findall(รูปแบบ, สตริง), การนับ (รูปแบบ, สตริง), sincosd(x) และ nonmissingtype
คุณสมบัติที่สำคัญของภาษา:
-
สูง ประสิทธิภาพ: หนึ่งในเป้าหมายสำคัญของโครงการคือการบรรลุประสิทธิภาพที่ใกล้เคียงกับโปรแกรม C คอมไพเลอร์ Julia ขึ้นอยู่กับงานของโครงการ LLVM และสร้างโค้ดเครื่องเนทิฟที่มีประสิทธิภาพสำหรับแพลตฟอร์มเป้าหมายจำนวนมาก - รองรับกระบวนทัศน์การเขียนโปรแกรมที่หลากหลาย รวมถึงองค์ประกอบของการเขียนโปรแกรมเชิงวัตถุและการทำงาน ไลบรารีมาตรฐานจัดเตรียมฟังก์ชันสำหรับ I/O แบบอะซิงโครนัส การจัดการกระบวนการ การบันทึก การทำโปรไฟล์ และการจัดการแพ็คเกจ เหนือสิ่งอื่นใด
- การพิมพ์แบบไดนามิก: ภาษาไม่ต้องการคำจำกัดความที่ชัดเจนของประเภทสำหรับตัวแปร โดยเปรียบเทียบกับภาษาโปรแกรมสคริปต์ รองรับโหมดโต้ตอบ
- ความสามารถเพิ่มเติมในการระบุประเภทอย่างชัดเจน
- ไวยากรณ์ที่เหมาะสำหรับการคำนวณเชิงตัวเลข การคำนวณทางวิทยาศาสตร์ การเรียนรู้ของเครื่อง และการแสดงภาพข้อมูล รองรับประเภทข้อมูลตัวเลขและเครื่องมือสำหรับการคำนวณแบบขนาน
- ความสามารถในการเรียกใช้ฟังก์ชันโดยตรงจากไลบรารี C โดยไม่ต้องเพิ่มเลเยอร์เพิ่มเติม
ที่มา: opennet.ru