3 triết lý ảnh hưởng đến phát triển phần mềm

The Guide to Software Development Philosophies

Tôi bắt đầu việc học đại học của mình bằng cách theo đuổi một chuyên ngành kép về triết học và toán học. Mặc dù mọi người thường nhận xét rằng những chủ thể này hoàn toàn đối lập nhau, nhưng điều này không thể khác xa sự thật. Triết học không chỉ liên quan đến toán học và khoa học – nó là tổ tiên của chúng. Triết học đã có tác động sâu sắc đến hầu hết các lĩnh vực khoa học, và khoa học máy tính cũng không ngoại lệ.

Triết lý là một lối suy nghĩ xác định cách chúng ta hiểu bản thân, thế giới hoặc điều đúng đắn cần làm. Giống như một chương trình, một triết lý bao gồm một tập hợp các tiền đề và nguyên tắc xác định cách chúng ta xử lý các sự kiện. Cho dù chúng ta có nhận thức được điều đó hay không, thì vẫn có một triết lý thúc đẩy mọi thứ chúng ta làm – từ cách chúng ta tôn vinh lịch sử đến cách chúng ta phát triển phần mềm.

Hôm nay chúng ta sẽ thảo luận về 3 triết lý ảnh hưởng đến phát triển phần mềm phần mềm, theo những cách lớn và nhỏ.

Một chút về lịch sử

Trước khi bắt đầu thảo luận, tôi muốn đề cập đến một trong những đóng góp quan trọng và rõ ràng nhất của triết học đối với khoa học máy tính. Cụ thể, cách biểu diễn dữ liệu nhị phân sớm nhất của chúng ta đến từ một nhánh triết học gọi là logic. Cụ thể, logic Boolean đã cung cấp khung mà qua đó chúng ta biểu diễn dữ liệu bằng các chữ số nhị phân (0 và 1). Các chữ số nhị phân này được gọi là bit trong khoa học máy tính. Bit là đơn vị dữ liệu nhỏ nhất của chúng tôi và là khối xây dựng mà qua đó chúng tôi biến phần cứng vô hồn thành những cỗ máy chức năng.

Logic Boolean được phát triển bởi George Boole vào những năm 1850. Là một nhà toán học và triết học, Boole đã xây dựng dựa trên những phát hiện của những người tiền nhiệm của mình. Phần cứng để nhận ra các bit này về mặt vật lý đã ra đời muộn hơn nhiều nhờ những phát hiện trong vật lý lượng tử. Tuy nhiên, logic Boolean là một bước đột phá thường được ghi nhận vì đã chuyển chúng ta sang Thời đại thông tin.

3 triết lý ảnh hưởng đến phát triển phần mềm

Chủ nghĩa tối giản

Từ khai báo đến phát triển phần mềm, chủ nghĩa tối giản đã có tác động rộng rãi đến nhiều lĩnh vực trong cuộc sống của chúng ta. Trong khi thuật ngữ “chủ nghĩa tối giản” lần đầu tiên được đặt ra để mô tả một phong trào nghệ thuật phương Tây sau Thế chiến thứ hai, thuật ngữ này được áp dụng trong nhiều bối cảnh khác nhau khi làm nhiều hơn với ít hơn.

Nói chung, các triết lý tối giản có giá trị:

  • Sự đơn giản
  • Tính thiết thực
  • Loại bỏ những thứ không cần thiết

Chủ nghĩa tối giản bắt đầu phát triển phần mềm vào những năm 1970. Trong những ngày đầu lập trình này, các lập trình viên đã làm việc để tối ưu hóa các chương trình trong điều kiện hạn chế của tài nguyên phần cứng và ngân sách hạn chế. Trong khi khả năng phần cứng và ngân sách của chúng ta chắc chắn đã tăng lên kể từ đó, chủ nghĩa tối giản vẫn có ảnh hưởng trong thiết kế và phát triển phần mềm.

Chúng ta nhận thấy ảnh hưởng của chủ nghĩa tối giản đối với nhiều cộng đồng và công nghệ, bao gồm:

  • Unix: Triết lý Unix tương ứng của hệ điều hành Unix coi trọng sự tối giản. Một trong những nguyên tắc của nó là “Quy tắc về tính mô-đun: Viết các phần đơn giản được kết nối bằng giao diện sạch sẽ”.
  • Python: Python là một ngôn ngữ coi trọng sự tối giản và đơn giản. Python có triết lý riêng của nó được gọi là Thiền của Python, trong đó một nguyên tắc là ‘Đơn giản tốt hơn phức tạp’

Chủ nghĩa tối giản trong phát triển phần mềm ủng hộ:

  • Làm được nhiều việc hơn với ít mã hơn
  • Giảm thiểu tài nguyên cần thiết
  • Sử dụng cách tiếp cận mô-đun, trong đó mỗi mô-đun được tập trung cao độ
 

Triết lý nguồn mở

Phần mềm nguồn mở là phần mềm cung cấp mã nguồn cho công chúng. Ngày nay chúng ta nợ sự phong phú của phần mềm nguồn mở đối với triết lý nguồn mở và phong trào phần mềm nguồn mở trong những năm 1990.

Triết lý mã nguồn mở có mối liên hệ chặt chẽ với đạo đức của hacker. Thật vậy, nhiều nhà hoạt động nguồn mở đã từng là tin tặc (một thuật ngữ có hàm ý tích cực trong bối cảnh này). Giống như đạo đức của hacker, triết lý nguồn mở tin rằng phần mềm và thông tin nên được cung cấp miễn phí cho bất kỳ ai muốn sử dụng hoặc cải thiện nó.

Triết lý nguồn mở ủng hộ:

  • Chia sẻ mã nguồn
  • Cộng tác cởi mở với sự đa dạng của các quan điểm
  • Trao đổi thông tin miễn phí

Phong trào phần mềm nguồn mở là một phản ứng đối với sự gia tăng tư nhân hóa và thương mại hóa phần mềm xung quanh sự ra đời của máy tính cá nhân (PC). Quá trình tư nhân hóa này trái ngược với những ngày đầu của ngành lập trình, khi các nhà nghiên cứu và lập trình viên hợp tác công khai và phần mềm được chia sẻ trong phạm vi công cộng. Triết lý mã nguồn mở ủng hộ việc đưa mã nguồn trở lại tay người dân.

Giờ đây, chúng tôi tận hưởng vô số công nghệ mã nguồn mở, bao gồm:

  • Máy chủ web Apache
  • Hệ điều hành Linux
  • GIMP
  • Kubernetes

Triết lý Kaizen

Kaizen là một triết lý kinh doanh của Nhật Bản đã ảnh hưởng đến vô số ngành công nghiệp. Thuật ngữ Kaizen tạm dịch là “thay đổi để tốt hơn” hoặc “cải tiến liên tục”. Kaizen lần đầu tiên được thực hiện bởi các doanh nghiệp Nhật Bản sau Thế chiến thứ hai. Nó trở nên phổ biến ở Mỹ vào những năm 1980.

Kaizen ủng hộ:

  • Cải tiến nhỏ, gia tăng trong các quy trình và hoạt động
  • Loại bỏ chất thải
  • Trao quyền sở hữu cho tất cả nhân viên đối với những cải tiến nhỏ

Cách tiếp cận gia tăng của Kaizen đã đặt nền tảng cho các phương pháp luận phát triển nhanh, bao gồm cả phát triển tinh gọn. Các phương pháp Agile có chung trọng tâm là cải tiến liên tục và được sử dụng rộng rãi bởi các nhóm phát triển phần mềm ngày nay.

Kết luận

Một chương trình không quá khác biệt so với một triết lý. Cả hai đều thông báo cách chúng ta di chuyển qua thế giới – và trong trường hợp chương trình, thông qua thế giới dưới dạng dữ liệu. Là một lập trình viên, cách bạn phát triển phần mềm có thể phản ánh giá trị của bạn, mục đích của bạn và những gì bạn tin tưởng.

Cảm ơn bạn đã theo dõi bài viết!

Category