Wednesday, 10 July 2013

Cùng học tcl

Updated: vài lời nhảm nhí
Updated: add eggdrop
 
Tcl - Tool Command Language
Nếu bạn thích Ruby, nhảy vào đây 
Nếu muốn học Python, nhảy đến đây

Tại sao lại là TCL?
  • đơn giản
  • dễ học
  • dễ dùng
  • nhỏ nhẹ
  • it's fun :x (và đây cũng là điều quan trọng nhất, bởi suy đi tính lại, điều quan trọng nhất trong việc học hành là bạn có thích hay không - bạn có thể đưa ra lý do là bận? nhưng 1 ngày tôi chỉ có thời gian từ 23H trở đi để chơi thôi :v )
Là một script language thuộc nhóm "programable programming language", tức ngôn ngữ có thể lập trình được chính nó. Đại khái là bạn có thể tự viết vòng for thay vì vòng for mặc định ...

Học để xin việc đâu đó?
Có lẽ sẽ chỉ là 1 điểm cộng,còn xin việc dùng tcl ở VN chắc không có :3
Tốt nhất là bạn nên kiếm một công việc không quá bận rộn để còn có thời gian hưởng những thú vui trên đời. Khi chưa có việc, trong thời buổi này, thì cạp đất mà ăn à, sống vẫn phải thực dụng chứ :3. Công việc sẽ chi phối những gì bạn học. Đến lúc có việc rồi, bạn tha hồ học những gì mình thích.

Đơn giản?

Toàn bộ cú pháp của Tcl chỉ nằm gỏn gọn trong 12 điều luật, và chỉ cần cài tcl rồi man là thấy.

Tcl đã implement những khái niệm từ rất lâu, sau này các ngôn ngữ khác mới "học lại" và được khen như là phát minh vĩ đại :3. Có thể kể đến như

Historically speaking, Tcl's support for events and their handling started in the Tk package, written the year after Tcl's introduction at the 1990 Usenix conference. From there it moved into Tcl proper in 1996, around Tcl 7.5, more than a decade ago. Ever since then we've enjoyed event support as part of the core language, without a need for a separate package (like Python's Twisted or Ruby's EventMachine).
-- http://www.activestate.com/blog/2010/05/concurrency-tcl-events-without-getting-twisted
Những điều nối tiếng trong thế giới tcl:
- expect : dùng code để tương tác với các chương trình cần tương tác, sử dụng nhiều trong tự đống hóa các công việc quản trị hệ thống
- tk: giúp viết giao diện GUI 1 cách nhanh chóng
- hping: dùng để test network, ddos.... :3
- eggdrop: bot IRC phổ biến nhất thế giới, có thể script bằng TCL

Tài liệu
http://wiki.tcl.tk/20789
http://www.invece.org/tclwise/frontcover.html
http://stackoverflow.com/questions/1136735/getting-started-with-tcl-tk
http://www.yosefk.com/blog/i-cant-believe-im-praising-tcl.html
....

Cài đặt
Để cài trên Ubuntu # đã test trên 12.04
sudo apt-get install -y tcl

Lời kết
đừng dành quá nhiều thời gian để đọc những bàn luận quanh tcl, về việc nó sắp chết, không có oop, hay design lỗi ...
hãy dành thời gian đó để học 12 luật của tcl và code tcl, tự cảm nhận lấy. Ít ra, bạn cũng đang đọc những lời viết ra từ một người đã từng kiếm tiền bằng  Java, PHP, Bash, Python :3

PS:
ai học có  gì hay thì thả vào đây
hết.

Goals:
  1. 12 ngày học 12 luật của tcl
  2. regex
  3. coroutine
  4. network and scripting
Historically speaking, Tcl's support for events and their handling started in the Tk package, written the year after Tcl's introduction at the 1990 Usenix conference. From there it moved into Tcl proper in 1996, around Tcl 7.5, more than a decade ago. Ever since then we've enjoyed event support as part of the core language, without a need for a separate package (like Python's Twisted or Ruby's EventMachine). - See more at: http://www.activestate.com/blog/2010/05/concurrency-tcl-events-without-getting-twisted#sthash.I6znx9mv.dpuf