티스토리 뷰

Syntactic Sugar의 번역

Syntactic Sugar
문법적 설탕
설탕 재미없어
무안단물에서 단물 빼오자
문법단물

https://twingyeo.kr/@sftblw/104518001157807125

재밌자나요

구글 검색해보니까 딱 한 건 나오던데 말이죠

문법단물의 의미

그래서 문법단물이 뭐냐구요?

컴파일러 신께서 내려주신 달디단 눈속임입니다. (당당하게 말했다!!!) 프로그래밍 언어의 문법인 건 맞는데, 컴파일을 누르는 순간 자애로우신 컴파일러 님께서 "너 이거 하려는 거 맞지?" 하고 똑같은 의미의 좀 더 장황하고 읽기 어렵고 짜증만 나는 코드로 바꿔주십니다. 즉, 컴파일할 때에 컴파일러 내부에서 다른 코드로 변환되는 문법이라는 거죠.

몇 가지 예시가 있는데, 이해하기 쉬운 건 역시 C#과 Java 10 의 var 겠네요.

var myStr = "String";

위 코드에서 myStr는 누가 봐도 string (C#) / String (Java) 입니다. 사랑이 넘치시는 컴파일러 님께서는 우리 프로그래머 아가들이 컴파일을 하면 var 라고 적혀있는 부분을 string (C#) / String (Java) 으로 바꿔주십니다.


사실 이 예시는 문법단물 보다는 타입 추론 (type inference) 의 예시에 가깝습니다.

더 좋은 예시는... 여기엔 안 쓸 거지만, C# 등의 await / async 겠네요. 우리 프로그래머가 비동기 프로그래밍을 한답시고 async, await 키워드를 마지못해 끼적여대면 컴파일러 님께서는 친히 그 코드 더미를 (C# - 상태 기계(State Machine)) / (Rust - Future trait) 으로 바꿔주십니다.

하지만 우리는 그 복잡한 코드를 손쉽게 볼 수 없습니다. 컴파일러 님께서 어둠의 장막을 쳐주셔서 강한 태양빛처럼 멘탈이 조지는 복잡한 코드를 컴파일 할 때에만 만들어주시거든요. 컴파일러 님께서는 복잡한 코드를 친히 그 마음에 품으사 소스 코드에 노출되지 않도록 보호막을 쳐주십니다.


아 아무말 너무 재밌어

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
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 29 30
31
글 보관함