transcompiler ก็คือตัวแปรภาษา ระดับโค้ดสู่โค้ด 🤓
โดยแปลงภาษาเขียนโปรแกรม
จากภาษาระดับสูง ไปเป็นภาษาระดับสูงอีกภาษาหนึ่ง
เช่นโค้ดจาก Python กลายเป็นโค้ด C++
โค้ดจาก Java กลายเป็น Kotlin เป็นต้น
.
transcompiler จะต่างกับ compiler แบบดั้งเดิม
เพราะ compiler แบบเดิม
ที่แปลจากภาษาระดับสูงไปเป็นภาษาระดับต่ำ (assembly)
แต่กรณีคือโค้ดภาษาระดับสูงสู่ โค้ดภาษาระดับสูงด้วยกัน
.
ในตอนนี้เราสามารถใช้ transcompiler
ที่เบื้องหลังคือ AI ให้ทำการแปลงโค้ดให้ได้นะ
มันเป็นผลงานวิจัยของทีม facebook เกี่ยวกับ AI ล่าสุดเลย
ศาสตร์ที่ใช้คือ deep learning
.
เทคนิคที่ใช้
✔ โมเดลแบบ sequence-to-sequence (seq2seq) ด้วย attention
✔ เทรนโดยใช้แนวทาง unsupervised machine translation ตามที่งานวิจัยเสนอซึ่งมี 3 ขั้นตอนได้แก่
- Cross-lingual Masked Language Model pretraining
- Denoising auto-encoding
- Back-translation
✔ data set ที่ใช้ เทรน เป็นโค้ดของ github
.
.
ตามรูปที่เห็นในโพสต์จะเห็นว่า
✔ โค้ดในภาษา python ได้ประกาศฟังก์ชั่น SumOfKsubArray
แล้วได้ถูกแปลงเป็นโค้ดในภาษา C++ ได้อย่างทึ่ง
✔ อย่าง deque() ถูกแปลงเป็น deque
แล้วแปลงการเรียกใช้ [] ใน python ให้เป็นการเรียกฟังก์ชั่น front, back, pop_back และ push_back ในภาษา C++
✔ แปลงการใช้ประโยค for loop ไสตล์ python ไปเป็น for loop ในภาษา C++
.
.
สนใจก็ไปอ่านวิจัยของทีม facebook ได้ที่นี้
https://arxiv.org/abs/2006.03511
.
.
.
.
.
+++++ขั่วโมงขายของ++++
สำหรับใครที่ไม่อยากตกเทรนเรื่อง AI
😻 ก็จะแนะนำหนังสือขายดี "AI ไม่ยาก เรียนรู้ด้วยเลขม. ปลาย"
ไม่ต้องมีความรู้เรื่องโค้ดดิ้ง ขอให้มีพื้นฐานเลข ม. ปลาย ก็อ่านได้
ก็สั่งซื้อ ebook ได้ที่นี้ (ขออภัยยังไม่มีเล่มกระดาษขาย)
👉 https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjEwODI0NiI7fQ
.
ส่วนตัวอย่างหนังสือ ก็ดูได้ที่
👉 https://drive.google.com/file/d/1zG64QAuPKtnWu-Jizn4i2JYUbHnHa8cJ/view?usp=sharing
.
ราคาขาย 295 บาท ฿
แต่ถ้าซื้อผ่านระบบของ Apple จะแพงขึ้น ราคา 329 บาท ฿
วิธีอ่าน อ่านผ่านแอพหรือโปรแกรมเท่านั้น
.
✍ เขียนโดย โปรแกรมเมอร์ไทย thai programmer
cross compiler 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳解答
เปรียบเทียบมัดต่อมัด ระหว่างภาษาเกิดใหม่อย่าง Kotlin กับภาษารุ่นพี่ Java
เมื่อพูดถึงภาษาที่พัฒนาแอพบน Android นอกจาก Java ก็ยังมีภาษาอื่นที่ใช้พัฒนาได้ อาทิ C#, C/C++, JavaScript และ Scala
และล่าสุด google ก็รองรับภาษา Kotlin เอาไว้ใช้เขียนแอพบน Android ซึ่งใน Android Studio 3.0 ก็รองรับ Kotlin ไว้เสร็จสรรพโรงเรียนจีน
ข้อมูลในบทความนี้ เป็นรูป Infographic เขาจะเปรียบเทียบภาษา Kotlin กับ Java ซึ่งจะมีประโยชน์ในการเลือกภาษาไปใช้งานโปรเจคเรา
เลยสรุปมาให้
1) เลขเวอร์ชั่น
Kotlin 1.2
ส่วน Java 8 (Android Studio 3.0 มันรองรับเวอร์ชั่น 7 เต็มรูปแบบ และบางส่วนของเวอร์ชั่น 8 ยังไม่ถึง 9 ที่เป็นเวอร์ชั่นล่าสุด)
2) จุดประสงค์การใช้งาน
Kotlin เป็นภาษา statically typed (ต้องรู้ชนิดข้อมูลก่อนคอมไพล์)
โดยทำงานได้บน JVM, Android หรือจะแปลงเป็น JavaScript ก็ได้ด้วย
Java เป็นภาษาโปรแกรมเชิงวัตถุ (statically typed เหมือนกัน) สามารถพัฒนาแอพบน Android ได้ (ไม่ใช่แค่แอพบน Android แต่สามารถใช้งานได้ครอบจักรวาลภาษาหนึ่ง)
3) ศาสดาผู้ให้กำเนิด
บริษัท Jet Brains และ ผู้สนับสนุน Open source ทุกท่าน
ท่าน James Gosling, Mike Sheridan และ Patrick Naughton
4) ปีที่ถือกำเนิด
Kotlin ปี 2011 (ในรูปมันผิดครับ)
Java ปี 1995
5) ใครบนโลกใช้บ้าง
Kotlin เช่น Pinterest, Evernote, Gradle (Kotlin เกิดทีหลัง ผู้ใช้เลยยังไม่มาก)
Java เช่น Linkedin, amazon.com, ebay.com (เนื่องจาก Java เกิดก่อน มีผู้ใช้เยอะกว่า)
6) ความสามารถ
Kotlin เป็นภาษาสมัยใหม่ เพิ่มความสามารถ robustness ของโค้ด (จัดการความผิดพลาดขณะโปรแกรมทำงาน และจัดการกับความผิดพลาดตอนป้อนข้อมูล) อีกทั้งเพิ่มความสามารถให้สร้างแอพได้หลากหลากแพลท์ฟอร์ม
Java จุดเด่นที่โด่งดังคือ รันได้ข้ามแพลทฟอร์ม (cross platform) สามารถเอามาทำเว็บแอพก็ได้
7) ทำไมถึงเลือกใช้งาน
ใช้ Kotlin เพราะ โค้ดเขียนได้กระชับ ปลอดภัย เข้ากันได้กับ Java มีเครื่องมือที่รองรับ
ใช้ Java เพราะ ความเป็นโปรแกรมเชิงวัตถุสูง มีความ secure มีประสิทธิภาพสูง ทำเว็บแอพได้
8) แหล่งเรียนรู้ออนไลน์
Kotlin เช่น บล็อกของ Kotlin เอง, Udemy,Dzone เป็นต้น
Java เช่น Stack overflow, Github, Dzone เป็นต้น
9) IDE ที่รองรับ
Kotlin เช่น Intellij IDEA, Android Studio, Eclipse, Standalone Compiler
Java เช่น NetBeans, Eclipse, Android studio, JDeveloper
10) การใช้งาน
Kotlin นำไปใช้บน JVM, Android, ทำเป็นเว็บ
Java นำไปใช้งานบนมือถือ, ทำเป็นเว็บ, ใช้งานในระดับองค์กร
หมายเหตุ ไม่ได้สรุปทุกภาพ ถ้าผิดพลาดอะไร ก็ขอโทษทีครับ
cross compiler 在 Hello World: 編譯環境建立 - iT 邦幫忙 的相關結果
Cross Compile 的流程除了執行環境以外,其實跟一般開發流程一模一樣, 關鍵的地方在於如何取得Cross Compiler, 下面就是怎麼取得在x86 上面運作,輸出RISC-V 執行檔的 ... ... <看更多>
cross compiler 在 什麼是Cross Compiler - 尋找最初的初衷- 痞客邦 的相關結果
Cross Compiler 從工作以來就一直使用Cross Compiler可是現在終於知道為何這樣稱呼我試著用口語來解釋當我們使用compiler來編譯某個程式該程式一定只能執行在與你編譯 ... ... <看更多>
cross compiler 在 交叉編譯器- 維基百科,自由的百科全書 的相關結果
交叉編譯器(英語:Cross compiler)是指一個在某個系統平台下可以產生另一個系統平台的執行檔的編譯器。交叉編譯器在目標系統平台(開發出來的應用程式序所執行的 ... ... <看更多>