WATCH: Why does Trump's image appear under searches for 'idiot?' Google CEO Pichai answers.
Ngôn ngữ lập trình cấp thương mại ngày nay - - C ++ và Java, đặc biệt - là quá phức tạp và không phù hợp với môi trường điện toán ngày nay, kỹ sư nổi tiếng của Google, Rob Pike, đã tranh luận trong một buổi nói chuyện thứ năm tại Hội nghị Nguồn mở O'Reilly. "ngôn ngữ lập trình công nghiệp" trong bài phát biểu tại hội nghị ở Portland, Oregon.
"Tôi nghĩ những ngôn ngữ này quá khó sử dụng, quá tinh tế, quá phức tạp. Chúng quá dài và tinh tế, phức tạp và có chiều dài Pike nói.
Pike nêu chi tiết những thiếu sót của các ngôn ngữ như là một cách mô tả các mục tiêu mà anh và các kỹ sư khác của Google có cho một ngôn ngữ lập trình mới mà họ đã phát triển, gọi là Go.
Như một minh họa về sự phức tạp của các ngôn ngữ như vậy, Pike đã cho thấy một vài ví dụ về mã C ++. Một ví dụ là một tuyên bố biến trải rộng gần như trên toàn bộ một dòng của màn hình.
"Làm thế nào để chúng ta có những thứ như thế này [trở thành] cách tính toán tiêu chuẩn được dạy trong trường học và được sử dụng trong công nghiệp? " anh hỏi, một cách hùng biện. Đây là loại lập trình "rất quan liêu. Mỗi bước phải được biện minh cho trình biên dịch," ông nói.
Trong khi Pike thừa nhận rằng ông ta có chút kiên định, ông khẳng định rằng những câu hỏi như vậy vẫn nên được hỏi. C ++ xuất hiện vì sự thất vọng của mọi người khi làm việc với ngôn ngữ C ở mức độ thấp, và Java đã trở thành một cách để đơn giản hóa C ++. Tuy nhiên, theo thời gian, các tính năng mới đã được thêm vào cả hai ngôn ngữ, khiến chúng ngày càng phức tạp hơn.
"Tiếng ồn đi kèm với sự tinh tế", ông nói. và mạng phổ biến rộng rãi, vì vậy họ không dễ dàng thích nghi với những môi trường mới này.
Pike không phải là nhân viên duy nhất của Google thể hiện sự không hài lòng với các ngôn ngữ thương mại truyền thống.
Tại hội nghị thường niên USENIX tháng trước, kỹ sư Gmail Adam de Boor gây ngạc nhiên cho khán giả bằng cách lưu ý rằng dịch vụ Gmail của công ty được viết hoàn toàn bằng JavaScript, và tất cả mã của nó, khoảng 443.000 dòng giá trị, được viết bằng tay.
Ông lưu ý rằng trong khi Java mang tính biểu cảm cao hơn.. "Tại thời điểm này với tôi đó là vấn đề lựa chọn ngôn ngữ bạn sử dụng", de Boor nói.
JavaScript là một trong một loạt các ngôn ngữ - những ngôn ngữ khác bao gồm Ruby và Python - đã được phát triển trong 10 năm qua nhiều năm để đáp ứng sự phức tạp ngày càng tăng của C ++ và Java. Tuy nhiên, trong khi có một cú pháp đơn giản hơn, các ngôn ngữ đó cũng có những hạn chế của chúng.
Những ngôn ngữ mới này có xu hướng chậm hơn, không mở rộng quy mô, và có thể chứa nhiều lỗi hơn, Pike được xây dựng. có xu hướng được hiểu hơn là biên dịch, có nghĩa là các chương trình được viết bằng các ngôn ngữ đó không được biên dịch trước khi chạy, do đó có xu hướng chạy chậm hơn. Chúng cũng có xu hướng được gõ động, có nghĩa là các lập trình viên không cần phải xác định loại dữ liệu mà biến của chúng sẽ giữ.
"Nhập động không nhất thiết phải tốt. Bạn nhận được các lỗi tĩnh tại thời gian chạy mà bạn thực sự có thể nắm bắt thời gian biên dịch, "ông nói.
Với tất cả điều này trong tâm trí, Pike sau đó mô tả Go như là một nỗ lực để hợp nhất các thuộc tính tốt nhất của cả hai bộ ngôn ngữ.
" Go là một nỗ lực để kết hợp an toàn và hiệu suất các ngôn ngữ được đánh máy tĩnh với sự tiện lợi và thú vị của các ngôn ngữ diễn giải được nhập động, "ông nói, trước khi thêm", trong phạm vi mà nó thành công bạn sẽ phải tự đánh giá. "
Một thành viên của khán giả, Larry Augustin, CEO của nhà cung cấp phần mềm quản lý quan hệ khách hàng SugarCRM, đồng ý với đánh giá của Pike rằng C ++ và Java đã trở nên quá phức tạp, mặc dù ông lưu ý rằng điều này thường xảy ra với tất cả các ngôn ngữ khi chúng phát triển để đáp ứng nhiều trường hợp sử dụng hơn."Lý do các ngôn ngữ này phát triển phức tạp là vì chúng càng được sử dụng nhiều, càng có nhiều sai sót và mơ hồ, và những nỗ lực để loại bỏ những sự mơ hồ và sai sót đó đã tạo ra một cái gì đó phức tạp hơn", Augustin nói. nền tảng trong kỹ thuật phần mềm và thiết kế ngôn ngữ lập trình.
"Tôi đánh giá cao mục tiêu của anh ấy", anh nói về những nỗ lực của Pike. "Câu hỏi đặt ra là liệu anh ấy có thể đạt được kết quả mục tiêu của mình hay không Go [trở nên phức tạp hơn] khi nhiều người sử dụng nó", Augustin nói.
Joab Jackson bao gồm phần mềm doanh nghiệp và tin tức công nghệ chung cho
Dịch vụ tin tức IDG
. Theo dõi Joab trên Twitter tại @Joab_Jackson. Địa chỉ email của Joab là [email protected]