티스토리 뷰
Tcl을 접한지는 6개월. 하지만 실제로 써본 적은 거의 없다.
Apkz정도만 그걸로 짜려고 했는데 그걸 중단해 버렸으니.
근데 그 당시엔 이 언어가 되게 끌렸는데 지금에 와선 이유가 생각날 듯 말 듯 하다.
에버노트 좀 뒤지면 알 수 있을지도 모르겠지만. (아.. 지식의 리뷰를 너무 소홀히 하고 있어. 게으르다는 증거다 ㅡㅡ;)
지금 다시 떠올려 봤고, 다음에 다시 볼 때 어떤 느낌이 드는지 알기 위해 기록해보려고 한다.
Tcl에서 가장 강렬한 인상은 문법이 무진장 심플하다는 점이었다.
오리지날 Tcl에서는 자료구조 = 문자열. 가히 파격적이지 않은가. (지금은 성능과의 타협을 위해 리스트는 순수 문자열로 다루지는 않는다고 하는 것 같다)
문법은 이 링크 한 페이지에 나온 것이 거의 전부이니... 그 당시엔 무진장 신선했다.
(하지만 그땐 1%의 문법만 봤을 뿐 99%의 라이브러리를 모르고 낭패를 본 느낌이랄까 ㄱ-)
간단히 말하자면 연산자조차 라이브러리로 빼놨다는 느낌이기에. 굉장히 막 나가는 언어? ㅋㅋ
Tcl은 if문 조차 '만들고 싶으면 만들어서 써'라는 느낌이었고.. 하지만 이 부분은 지금 딱히 끌리는 게 없네.
하튼 무지 자유도가 높은 언어였다.
그 높은 자유도 중에... 끌렸던 부분 또 하나가 '데이터와 코드의 경계가 모호하다'였달까.
코드 = 스트링 = 데이터라는 재밌는 등식이 성립하는 언어라고 느꼈다.
이걸로 옛날에 생각했던 게, if문마다 변수에 코드를 추가해서 마지막에 if문 없는 코드를 실행시킨다는 것이었다. 하지만 굳이 쓸 일이 없었다는 게 함정이었을까.
또 이건 eval명령어를 지원하는 스크립트면 모두 가능할 거라고 지금에 와선 생각이 든다.
심지어 C++코드도 억지 좀 쓰면 데이터 -> 코드가 가능은 하니까...
Tcl이 자유도가 높다지만 if, for, string 등 이미 정해진 걸 바꿔쓸리도 없고, proc정도는 바꿔볼 만한 것 같지만서도
실제로 바꿔보면 Tk에서 에러가 삑삑... 쉽지가 않다.
그래도 배치, 쉘 스크립트의 군살이 빠진 형태라고 생각하면 괜찮은 것 같지만서도... 실제로는 사용이 쉽지가 않은 이유가 뭘까나. 지금 당장 Apkz말이다.
괜찮은 IDE가 있고, Autocomplete기능으로 이미 만든 부분의 함수를 볼 수라도 있게 한다면 좋을 텐데 말이지... 오랜만에 보니까 이건 완전히 기억력 테스트다. ㅡㅡ; 1000줄도 안 되는 코드가 이러한데 tkcon(6500줄 단일파일)같은 경우는 쇼크일 뿐이다.
+ 데이터를 다루기 어렵다. 죄다 전역걸어버리면 좋겠지만 그건 스크립트 일때의 얘기지... 배열이 구조체의 역할을 하지만 그걸 직접 전달하지 못하고 한 단계를 거치는 게 귀찮다.
객체지향을 쓰려면 TclOO를 써야 하는데(언어 창시자가 객체지향 넣기를 싫어했댄다...) 그럼에도 인스턴스 변수를 쓸 때마다 variable이라는 지정을 해줘야 한다... 짜증날만하지 않을까나? (IDE지원이 없어서 그런 걸까나)
뭔가 핵심을 비껴나가 언어를 쓰는 느낌이다. Tcl을 쓰려면 절차지향적으로 데이터의 흐름을 적게해서 써야하는 모양인데, 이제 슬슬 이 글이 공상란에 올라온 이유가 느껴지지 않는가. 뜬구름 잡는 느낌이란 얘기다.
내가 역량이 딸려서 그런 건가. 하여튼 고민이다. 장인은 도구 탓을 안 해야 한다지만 프로그래머는 도구를 잘 골라야 하는데 말이지. 콱 자바 써버릴까. 파이핑 고민은 안 해도 되는 것 같던데.
'공상' 카테고리의 다른 글
인강듣다가 든 생각 (0) | 2019.05.19 |
---|
- Total
- Today
- Yesterday
- JWT
- getch()
- software compraison
- C++11
- Code Snippet
- SHAREX
- IntelliJ
- MSVC 2017 RC
- Windows Defender
- Haskell
- C/C++
- Rust
- Kotlin
- CLion
- V3 Lite
- Notion
- gram
- error highlighting
- MSVC
- MSVC2013
- hooks
- coroutine
- Authentication
- Qt5
- Deemo
- intellisense
- game design
- novel review
- React
- WSL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |