FizzBuzz: nấc thang lên thiên đường của lập trình viên

Bài viết được dịch từ blog Coding Horror

Lời bàn của Vinacode:

Sau khi Jeff Atwood viết bài “Tại sao nhiều lập trình viên lại không biết… code” thì đã tạo ra một “làn sóng” tranh luận tại chính blog Coding Horror và trên các mạng xã hội như Digg, và Reddit. Đã có hàng ngàn giải pháp được viết ra cho bài toán FizzBuzz, trong đó có rất nhiều phần code được viết rất vội vàng nhằm chứng tỏ khả năng của mình. Còn quan điểm của Jeff thì sao? Bạn hãy đọc tiếp bài viết ở dưới đây nhé!

Rõ ràng việc viết về vấn đề FizzBuzz trên một blog lập trình đã tạo ra kết quả là những thôi thúc khó lòng cưỡng lại để người ta viết code giải pháp cho nó. Những bình luận tại blog này, trên các mạng xã hội Digg, và Reddit – tổng cộng có khoảng gần cả ngàn giải pháp – tràn ngập cùng với những giải pháp được viết code một cách vội vàng cho vấn đề FizzBuzz. Các lập trình viên thường chẳng làm gì nếu không có những ép buộc họ trở thành những người giải quyết vấn đề.

Đó chắc chắn không phải là chủ đích của tôi, nhưng một phần lớn độc giả đã hiểu theo cách rằng vấn đề FizzBuzz là một thách thức. Tôi cho rằng nó thì cũng giống như việc bạn bước chân vào một trung tâm chuyên bán đàn Guitar (Guitar Center) và hét toáng lên rằng ‘hầu hết các tay guitar không thể chơi bản Stairway to Heaven!’ Bạn có thể sẽ tạo ra một cuộc tranh luận rằng Stairway to Heaven là một cách để đo lường mức độ tối thiểu của năng lực chơi đàn guitar.

Bài toán FizzBuzz là mức tối thiểu nhất trong lập trình, giống như các tay guitar đều biết chơi bản Stairway to Heaven vậy.Bài toán FizzBuzz là mức tối thiểu nhất trong lập trình, giống như các tay guitar đều biết chơi bản Stairway to Heaven vậy.


Tôi đang viện dẫn quy tắc Wayne’s World ở đây: Xin vui lòng, không có nấc thang nào lên thiên đường cả.

Chẳng có con đường nào lên thiên đường cho lập trình viên cả.Bài toán FizzBuzz được xem như là mức tối thiểu của yêu cầu hiểu biết để cho thấy ít ra thì bạn cũng biết cách lập trình. Không có gì là vẻ vang khi phải viết code cho bài toán mà được xem là mức tối thiểu của năng lực cả. Thậm chí nếu bạn có viết nó trong 5 ngôn ngữ lập trình khác nhau hoặc dưới 50 bytes code đi chăng nữa.

Toàn bộ quan điểm của bài viết gốc đó là nghĩ về lý do tại sao chúng ta lại phải yêu cầu mọi người viết code cho vấn đề FizzBuzz. Tuy nhiên, rõ ràng là phần cơ học của việc viết và giải quyết FizzBuzz thì chẳng liên quan gì cả. Bất kỳ một lập trình viên nào mà đủ quan tâm về nghề nghiệp để đọc các blog lập trình thì đã ở trên rất xa những vấn đề đơn giản như vậy. Vấn đề FizzBuzz không có nghĩa là để dành cho chúng ta. Mà bài toán đó là dành cho những người mà chúng ta không thể vươn tới – những lập trình viên mà chẳng đọc bất cứ thứ gì bao giờ- và chúng ta buộc phải đưa bài toán FizzBuzz ra để kiểm tra họ.

Những lập trình viên giỏi, thậm chí có những người nghĩ rằng họ là các Rockstar (ngôi sao nhạc rock), cũng không chơi bản Stairway to Heaven. Và thay vì ngồi viết code cho bài toán FizzBuzz, thì họ nên suy nghĩ về những cách để chúng ta không cần phải sử dụng bài toán FizzBuzz trong các cuộc phỏng vấn tuyển dụng nữa.

Các bài viết liên quan:

Về tác giả bài viết:

Jeff_atwood_coding_horrorJeff Atwood là một chuyên gia công nghệ tại Mỹ, hiện đang sinh sống và làm việc tại Berkeley, CA. Anh là một kỹ sư phần mềm chuyên về công nghệ Microsoft .NET, và là một blogger nổi tiếng trong cộng đồng công nghệ với blog Coding Horror, anh là người sáng lập và kiêm Giám đốc điều hành (CEO) của trang web hỏi đáp uy tín Stack Overflow và cũng là đồng sáng lập của Stack ExchangeDiscourse.

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s