Apple โอเพ่นซอร์สภาษา PKL สามารถ validate type สำหรับ config file ฯลฯ

    By: DH

    Published: Feb. 4, 2024

single_news.title

Apple ปล่อยโอเพ่นซอร์ส Pkl (พิคเคิล) ภาษาโปรแกรมตัวใหม่สำหรับสร้างการ Configuration โดยเฉพาะ 

หากพูดถึงการตั้งค่าเรามักนึกถึงภาษาหรือฟอร์แมตยอดนิยม เช่น JSON, YAML เป็นต้น แต่ฟอร์แมตเหล่านี้อาจไม่เพียงพอ เมื่อต้องตั้งค่าที่มีความซับซ้อนมากขึ้น และฟอร์แมตเหล่านี้ขาดความสามารถในการการตรวจสอบความถูกต้องของตัวแปรใน config file 

ตัวอย่างไฟล์ person.pkl  

name = "Alex Dev"

job {
title = "Senior Software Developer"
company = "Innovative Solutions Tech"
yearsOfExperience = 5
}

จากไฟล์ด้านบน สามารถ generate ไปเป็น Static Config Formats เช่น JSON, YAML ได้เลย

แปลงไปเป็น  .json
{
"name": "Alex Dev",
"job": {
"title": "Senior Software Developer",
"company": "Innovative Solutions Tech",
"yearsOfExperience": 5
}
}


แปลงเป็น  .yaml

name: Alex Dev
job:
title: Senior Software Developer
company: Innovative Solutions Tech
yearsOfExperience: 5


ซึ่งบางครั้งรูปแบบเหล่านี้จะถูกปรับปรุงด้วยเครื่องมือเสริมที่เพิ่มลอจิกพิเศษเข้ามา จนทำให้นำไปสู่การสร้างภาษาที่ยากต่อทั้งการเขียนและทำความเข้าใจ


ทางทีมผู้พัฒนากล่าวต่ออีกว่า พวกเขาเลือกที่จะใช้ Pkl เพราะมีความเชื่อว่าการ config ควรสามารถทำได้ในรูปแบบที่เป็นการผสมผสานระหว่างภาษาแบบ Static (Static Language) และภาษาแบบ General (General-Propuse Programming Language) โดยรวมเอาคุณสมบัติที่ดีที่สุดของทั้งสองภาษาเข้าด้วยกัน เพื่อให้ได้ภาษาที่สามารถอธิบายและเขียนได้ง่าย แต่มีความสามารถเหมือนกับภาษาโปรแกรมทั่วไป


ปล่อยเป็นโอเพ่นซอร์สสด ๆ ร้อน ๆ ดูเพิ่มเติมใน GitHub


เป้าหมายหลักของทีมพัฒนา Pkl 

  • ให้ความปลอดภัยด้วยการ catch error เพื่อตรวจสอบความถูกต้องของคอนฟิกไฟล์ก่อน deploy 
  • สามารถสเกลไปยัง use case การใช้งานตั้งแต่ง่ายไปจนถึงระดับที่ซับซ้อน
  • ให้ความรู้สึกเพลิดเพลินในการเขียน รวมทั้งสามารถ integrate เข้ากับ IDE ที่เจ๋ง ๆ หลายตัวได้


ตอนนี้รองรับ 4 ภาษา คือ 

  • Java
  • Kotlin
  • Swift
  • Go

สามารถ integrate เข้ากับ IDE/Text Editor ตัวอื่น ๆ ได้แล้ว เช่น 

  • IntelliJ
  • Visual Studio Code
  • Neovim


Catch error ก่อน deploy

ฟีเจอร์เด็ดสามารถ validate type แล้วทำการ catch error ก่อนที่จะ deploy ช่วยลดความผิดพลาดก่อนการ deploy ได้อีกด้วย


ภาพจาก pkl-lang.org


ถือว่าน่าจับตามองและติดตามเป็นอย่างมากเลยครับภาษา pkl อันนี้ (ซึ่งฝั่ง devs ต่างชาติให้ความสนใจตัวนี้มาก ๆ ) ซึ่งแต่ก่อนใช้ในเฉพาะภายในองค์กรของ Apple แต่ตอนนี้ปล่อยออกมาเป็น open source ให้เหล่า devs ได้ใช้งานเรียบร้อย

อ้างอิง


เปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน

คอร์สเรียนเขียนโปรแกรม