logic
Phần I : Người ta dùng logic vào việc gì, và dùng như thế nào.
Logic có thể được dùng vào tất cả mọi lĩnh vực trong cuộc sống, ngay cả trong một lĩnh vực mà người ta vẫn bảo là không có logic như Tình yêu, vì Tình yêu cũng có loại logic riêng của nó, có điều không phải hoàn toàn là boolean logic thôi ;-)
Còn phương pháp vận dụng logic, thì xin báo cho các cô các chú một tin buồn, là không có phương pháp nào cả. Phải tùy cơ ứng biến.
Nhưng không có phương pháp không có nghĩa là lý luận một cách lung tung vô trách nhiệm.
Xét quá trình nhận thức và sử dụng logic như sau:
học logic -> hiểu logic -> vận dụng logic
Trước khi đi học về logic, con người không biết, hoặc chỉ biết một cách rất bản năng, kinh nghiệm chủ nghĩa về logic (mà có bác gọi là biết kiểu nông dân)
Khi đi học logic và do học logic nên hiểu logic, người ta bắt đầu chia ra các trường phái logic và phạm vi áp dụng cho từng trường phái, thực hành, rèn luyện những cách vận dụng những trường phái logic thích hợp vào từng lĩnh vực thích hợp.
Nhưng khi vận dụng logic vào cuộc sống thật, để giải quyết những vấn đề thật, thì lúc đấy, con người ta phải đạt đến mức làm logic trở thành máu của mình, thịt của mình và vận dụng nó là công cụ của mình, chứ không còn phân chia tách bạch từng trường phái và phạm vi áp dụng nữa.
Ví dụ :
Khi các chú đi học phổ thông, có học Vật lý Newton, thì các chú có thể hiểu là tại sao các chú có thể bị ngã từ trên ghế xuống đất, vận tốc, gia tốc và quỹ đạo lăn diễn ra thế nào.
Nhưng khi các chú đang ngã lăn từ trên ghế xuống đất, thì việc đầu tiên là các chú hãy làm sao giữ cho khỏi bị dập đít cái đã, chứ đừng mất công nghĩ xem Newton phát biểu định luật Vạn vật Hấp dẫn như thế nào. Mà lúc đấy các chú phải áp dụng một loại kiến thức phổ thông khác.
Để khai triển rõ hơn ý trên, anh viết ra ngoài lề một tí.
Trong võ thuật, khi người ta chưa học võ, thì chỉ biết khua chân múa tay lung tung thôi.
Đến khi người ta đi học võ, người ta bắt đầu học quyền, cước và binh khí. Sau đó là học phân thế, nghĩa là trong trường hợp nào thì dùng đòn đánh nào, trong hoàn cảnh nào thì dùng loại binh khí nào. Khi trình diễn, người ta phải đi các bài quyền theo các thế định trước, và phải trình bày được nguyên lý, xuất xứ ... của bài quyền. Khi thi đấu, người ta cũng phải tuân theo những quy ước nhất định. Trong giai đoạn học, người dạy và người học phải dẫn ra nào ông Bồ Đề đạt ma, nào bà Ngũ mai lão ni, nào ông Jigoro Kano, nào ông Gichin Funakoshi ... , nào tầm gần thì dùng đoản đả, mà tầm xa thì dùng trường quyền, khi thi đấu thì không được thế nọ, không được thế kia ... Đó là quá trình học và hiểu.
Nhưng khi get down to the job, nghĩa là vận dụng võ thuật trong một cuộc quyết đấu sinh tử hay một trận chiến đấu trên đường phố, thì lúc đấy các chú phải chiến đấu cho mạng sống của các chú, bằng đầu óc của các chú, chân tay của các chú và các vật dụng sẵn có trong môi trường xung quanh, chứ không chiến đấu thay cho ông Trương Tam Phong hay ông Oyama nào cả, các ông ấy cũng không sẵn ra ở đấy để cho các chú trích dẫn, mà cũng không phải lúc nào cũng có côn, gậy, giáo mác ... là những binh khí mà các chú vẫn có trong phòng tập. Như vậy, các chú phải đạt đến trình độ mà võ thuật thấm vào máu, vào thịt của các chú, tiện đâu phang đấy, chứ không còn phân thành đòn thế, quyền cước ... nữa, nhưng cũng không phải là khua chân múa tay lung tung.
Trong lập trình cũng vậy. Khi các chú chưa học lập trình, thì người ta chỉ có nhận biết cảm tính kiểu nông dân, và vận dụng lung tung.
Khi bắt đầu đi học, người ta bắt đầu chia ra nào là lập trình tuyến tính (linear programming), lập trình có cấu trúc (structural programming), lập trình hướng đối tượng (object oriented prorgamming), lập trình agent (agent oriented programming), các nguyên lý về lập trình, các mẫu thiết kế (design pattern), học giải thuật ...
Khi tập để trình bày cái sự hiểu của mình trong lập trình, người ta bắt đầu chia ra các trường hợp để áp dụng từng học thuyết lập trình, từng trường hợp vận dụng thuật toán ... Khi các chú viết báo cáo cho giáo, các chú sẽ phải trích dẫn ông nọ, ông kia, bôi xanh bôi đỏ để chứng tỏ là cái hiểu của các chú là có căn cứ, chứ không phải do ngủ mơ nhìn thấy.
Học thêm tí nữa, đi làm Pờ hờ đờ (Ph.D.) hay Post Doc, các chú viết bài đăng báo hay đi hội nghị khoa học báo cáo, thì các chú cũng phải có học thuyết, tư tưởng, đối tượng nghiên cứu, phạm vi và tầm mức áp dụng rõ ràng, khi viết khảo cứu khảo kiếc đăng báo hay diễn thuyết ở hội thảo, các chú cũng phải trích dẫn lão nọ lão kia và bôi xanh bôi đỏ, không thì bài viết hoặc bài báo cáo của các chú sẽ bị bảo là bố láo.
Nhưng khi get down to the job, tức là vận dụng cái kiến thức lập trình của các chú để kiếm cơm, thì sếp của các chú hay cái bọn mua phần mềm của các chú chúng nó cần đếch gì biết các chú dùng lý thuyết của ông Booch hay ông Jacobson, cần đếch gì quan tâm đến chuyện các chú dùng factory pattern hay iterator pattern, cho nên các chú có trích dẫn cả ngày hay bôi xanh bôi đỏ thì cũng vô ích thôi. Cái mà chúng nó cần, và cũng là cái mà các chú phải làm ra là a piece of software that runs on computers. Nếu các chú cứ máy móc áp dụng trường hợp này, lý thuyết kia, thì he ... he ... Tùy theo yêu cầu, hoàn cảnh mà vận dụng cho hợp lý, sáng tạo. Điều này đòi hỏi lập trình phải thấm vào máu, vào thịt các chú. Các chú làm việc bằng cái đầu của các chú, kiếm cơm cho các chú, chứ không phải làm việc bằng đầu của ông Hoare hay ông Knuth nào cả.
Các ngành khoa học khác, khi nói đến quá trình học -> hiểu -> vận dụng , thì cũng tương tự như trong võ thuật và lập trình, phải đạt đến mức cho nó thấm vào máu, vào thịt mình.
Để khỏi mang tiếng là rao giảng suông, và cho khỏi khô khan, anh xin kể hầu các chú hai ví dụ cụ thể. Trong trường hợp này, anh sẽ không viện ra giai thoại văn học, lịch sử hay công án Thiền nào hết, mà là chuyện của anh.
Ví dụ 1:
Trong võ thuật, bất cứ ai có học Thiếu lâm chính tông cũng có học hai đòn đá Kim tiêu cước, Lưu vân cước, và thế liên hoàn cước Kim tiêu - Lưu vân, cũng như bất cứ ai có học Karatedo cũng có học hai đòn đá Mae Keage Geri , Mae Mawashi Geri và thế liên hoàn cước Mae Keage - Mae Mawashi. Đại khái thế liên hoàn cước này là tung ra một đòn đá thẳng, khi đối phương đang bận đỡ hoặc tránh né đòn đá thẳng thì tung ra tiếp đòn đá vòng cầu. Phạm vi áp dụng là ở tầm tương đối gần, và lý thuyết áp dụng là hai đòn đá phải tung ra thật mạnh, chính xác và nối tiếp nhau thật nhanh. Đã học thế đá liên hoàn cước, thì tất nhiên cũng học thế đỡ liên hoàn cước.
Nói ra thì xấu hổ, khoảng 12 năm về trước, ở miền Tây Nam bộ, anh có một trận chiến đấu với một thằng cha mang đai đen Karate, và có luyện Thất sơn Thần quyền mấy năm. Anh biết nó là một thằng giỏi võ, chắc chắn là nó biết thế liên hoàn cước kể trên và cách đỡ. Vì thế anh dùng chính thế liên hoàn cước này để đá nó. Nó đỡ đòn đá một cách nhanh, mạnh và chính xác y như trong phòng tập, Gichin Funakoshi, tổ sư của môn Karate hiện đại có sống lại nhìn thấy cũng phải phục nó ;-) He ... he ... Nhưng hỡi ôi, anh lại không đá nó như ở trong phòng tập, nghĩa là không đá hai đòn đá nhanh như chớp nối tiếp nhau. Khi đá xong đòn Kim tiêu cước, anh dừng lại một phần giây, chờ cho chú kia làm động tác đỡ xong cả hai đòn một cách chính xác, nhanh như chớp, he ... he ... nhưng máy móc (y như các chú chép ông Nietzsche với ông Kannt ra rồi tô xanh tô đỏ ấy), anh mới tung tiếp đòn Lưu vân cước ra. Về sau bệnh án bệnh viện ghi lại là "vỡ xương hàm, phù nề vòm miệng, gãy bốn cái răng". (Cũng phải nói thêm là sau đấy anh phải dùng đòn Shoto Makkikomi của Judo để bẻ gãy tay nó thì mới chấm dứt được trận chiến, nhưng đấy là chuyện ngoài lề).
Kết luận cho ví dụ : Chú kia bị đá vì mới giỏi đến mức hiểu thôi, chứ chưa đến mức vận dụng.
Bình loạn thêm :
Một chú chưa học võ bao giờ thì sẽ chưa chắc gục trước đòn Lưu vân cước trong thế liên hoàn cước kể trên, vì có khi nó đã gục trước đòn Kim tiêu cước rồi, hoặc là nó tránh né lung tung, chả có phương pháp nào cả, thoát cả hai đòn Kim tiêu và Lưu vân. Nhưng không có nghĩa là nó sẽ không gục trước các đòn sau.
Còn một bậc thầy thực sự, thì một là nó không đánh nhau vớ vỉn, mà nếu có đánh nhau thì đừng hòng mà lừa nó bằng cái trò thô thiển thế.
Ví dụ 2:
Đó chính là trò Người Hy lạp, với một mệnh đề rất sơ đẳng của Đại số boolean mà anh mới diễn trong forum AVYS.
Bất cứ ai có học boolean logic, thì cũng học cái điều là "Một kết luận đúng có thể phát xuất từ một điểm khởi đầu sai hoặc đúng".
Để bẫy chú X tự nhận lý luận của mình là sai, anh mới bảo lý luận của chú X là một Điểm khởi đầu, sau đó kéo cổ một thằng Hy lạp không có thật ra, rồi ấn vào mồm nó cái câu "Một mệnh đề đúng chỉ có thể xuất phát từ một Điểm khởi đầu đúng và có phương pháp suy luận đúng."
Một con vẹt học đại số boolean cũng biết là câu nói trên sai, và phương tiện chứng minh thì sẵn quá, dở cuốn đại số boolean nào ra mà chả có, lại ngay trang đầu tiên ... he ... he ... vì cái mệnh đề này nó quá sơ đẳng.
Giả sử cái chú X nào đó tranh luận và không đồng ý với anh, thì thế nào chú ấy chả muốn chứng minh quan điểm của anh sai, mà chứng minh dễ quá, tương nửa trang sách vào, chả cần suy nghĩ gì cả. Nhưng nếu làm thế thì chú ấy đã làm cái việc "tự tay bóp gi...", vì thế thì khác nào chú ấy bảo là cái Điểm khởi đầu của chú ấy có khả năng sai, sau đấy thì ... he ... he ... anh sẽ khoác cho thêm một chú Tây hoặc Trung quốc nữa là đứt.
Chỉ tiếc là anh không bẫy trúng chú X, mà lại có ngay một chú Y ở đâu lon ton chạy vào show off cái sự biết đọc biết gõ của mình bằng cách dở ngay cuốn đại số boolean sơ cấp ra và phang vào đúng cái nửa trang mà anh định dùng để bẫy chú Y.
Kết luận cho ví dụ : Chú Y bị bẫy cũng chỉ vì mới giỏi ở mức hiểu thôi, chứ chưa đến mức vận dụng.
Bình loạn thêm:
Một chú chưa học logic bao giờ thì sẽ chưa chắc sa cái bẫy Người Hy lạp, vì hoặc là nó nghe anh dọa cổ nhân nói thế nên nó đếch dám cãi, hoặc nếu nó dùng cái kinh nghiệm, trực giác của nó mà suy luận lung tung mà lật tẩy được cái bẫy của anh.
Còn một bậc thầy thực sự, một là nó không thèm cãi nhau vớ vỉn, mà nếu có cãi nhau, thì cái trò thô thiển như thế không lừa được nó.
Tóm tắt phần một: logic đến mức cao sẽ không còn logic nào cả. "Không còn logic nào cả" ở mức cao không có nghĩa là chả có tí logic mẹ nào. Ở mức "Vận dụng", các trường phái, học thuyết và phương pháp vận dụng logic sẽ hòa quyện làm một. không thể tách bạch, quan sát, vận dụng riêng lẻ như ở giai đoạn "Hiểu". Thế cho nên các chú đừng trông chờ gì là anh sẽ viết về "người ta dùng logic vào việc gì, và dùng như thế nào"... he ... he ...
Hết phần một.
Muốn biết phần tiếp theo (Các trường phái logic) thế nào, xin đón đọc hồi sau sẽ rõ.
Còn đồng chí nào thấy chán quá thì cho ý kiến, sân khấu sẽ hạ màn ở đây.
Còn tiếp
-----------------------------------------------------
Nói ngoài lề : Các chú cứ nhìn cái đường cong phân chia vòng tròn của hình vẽ Thái cực , hoặc đọc Quy luật Phủ định của Phủ định của Karl Marx thì sẽ hiểu cái "Kết luận cho Ví dụ" và cái "Bình loạn" trong hai ví dụ cụ thể ở trên nói lên điều gì.
Ngoài lề phát nữa : Khi anh rêu rao sự sáng tạo, không có nghĩa là anh kêu gọi chà đạp lên những cái cũ, mà anh kêu gọi đừng sử dụng những cái cũ một cách máy móc. Ví dụ như cái bánh xe mà còn tốt thì cứ đem ra mà cắm vào xe ô tô, chứ đừng phát minh lại cái bánh xe, nhưng cũng đừng máy móc cắm vào bằng cách đóng đinh như đóng bánh xe bò. Thế mới có trò re-use software component trong lập trình. Trong các ngành khoa học khác cũng tương tự.
Cái này là trong lề : Biết, Hiểu thì dễ, nhưng Vận dụng thì khó