티스토리 뷰

최근 몇 년간 JavaScript의 대체 언어가 많이 나오고 있습니다. 


또한 JavaScript 자신도 진화하고 있으며, 


개인적으로 ECMA2016를 쓸 수있게되면 


CoffeeScript 등은 의지하지 않아도 좋은 것이 아닐까 생각하기 시작합니다. 


그리고 이번에는 또한 새로운 언어로 ThinScript을 소개합니다. 


TypeScript에서 영감되었다는이 언어의 큰 특징은 WebAssembly로 변환을 지원하는 것입니다.



ThinScript 사용법 


ThinScript의 예문입니다.


 잘 보면 WebAssembly는 JavaScript 대신 C를 기반으로하고 있기 때문에, 


그에 비하면 한참 JavaScript 느낌이 듭니다.



  1. declare function print(text: string): void;
  2. class Link {
  3. value: int;
  4. next: Link;
  5. }
  6. class List {
  7. first: Link;
  8. last: Link;
  9. append(value: int): void {
  10. var link = new Link();
  11. link.value = value;
  12. // Append the new link to the end of the chain
  13. if (this.first == null) this.first = link;
  14. else this.last.next = link;
  15. this.last = link;
  16. }
  17. }
  18. extern function demo(): int {
  19. var list = new List();
  20. list.append(1);
  21. list.append(2);
  22. list.append(3);
  23. var total = 0;
  24. var link = list.first;
  25. while (link != null) {
  26. total = total + link.value;
  27. link = link.next;
  28. }
  29. #if JS
  30. print("Hello from JavaScript");
  31. #elif WASM
  32. print("Hello from WebAssembly");
  33. #elif C
  34. print("Hello from C");
  35. #else
  36. print("Unknown target");
  37. #endif
  38. return total;
  39. }


이것을 변환하면 JavaScript / WebAssembly / C 코드로 변환 할 수 있습니다. 


Web 데모에서 C로 변환 한 예.




JavaScript로 변환하여 실행 수 있습니다.



이곳은 WebAssembly. 실행보다 다운로드하는 것이 좋을 것입니다.




WebAssembly 는 JavaScript와 다른 언어로 유행하는 것이 어려울지도 모릅니다. 


ThinScript이면 JavaScript에 가까운 JavaScript / WebAssembly 


모두 갈 수 있으므로 습득 해두면 WebAssembly 의한 개발이 빨라질지도 모릅니다. 


ThinScript는 node / JavaScript로 만든 소프트웨어 


(소스 코드는 공개되어 있지만 라이센스는 명기되어 있지 않습니다)


입니다.



ThinScript Compiler Demo

evanw/thinscript: A low-level programming language inspired by TypeScript

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함