Vào tháng 5, một nhóm nghiên cứu từ MIT đã công bố một ngôn ngữ lập trình mới. Finch, nó người sáng tạo nóilà “một mã byte đơn giản được diễn giải, hoàn toàn hướng đối tượng, dựa trên nguyên mẫu, ngôn ngữ lập trình được gõ động.”
Đừng nhầm lẫn với fintech cùng tên của Thụy Điển, đây là ngôn ngữ được lấy cảm hứng từ Smalltalk, Self và Javascript.
Đặc biệt, Finch đơn giản hóa việc tạo các chương trình đồng thời và song song, nhấn mạnh vào các quy trình nhẹ và truyền thông điệp, tương tự như các ngôn ngữ như Erlang. Nó cũng nhằm mục đích dễ tiếp cận hơn và dễ học hơn.
Một thách thức tồn tại ở dạng dữ liệu có cấu trúc và Finch được thiết kế để giải quyết những hạn chế của việc triển khai hiện có.
3 vai trò phần mềm trên khắp EU
Các nguồn tin đã nói rằng, “Một trong những cải tiến quan trọng của Finch nằm ở việc hỗ trợ ngôn ngữ lập trình mảng có cấu trúc phong phú. Bằng cách cung cấp các cấu trúc quen thuộc như vòng lặp for, điều kiện if và ngắt sớm trên dữ liệu có cấu trúc, Finch nâng cao mức năng suất lên mức năng suất của các mảng dày đặc. Điều này cho phép các lập trình viên làm việc với các cấu trúc dữ liệu phức tạp mà không phải hy sinh sức mạnh hoặc hiệu quả biểu đạt.”
Finch còn lâu mới được hiểu rộng rãi vì nó mang tính chuyên biệt và cho đến nay vẫn chưa được chấp nhận hoặc công nhận rộng rãi như các ngôn ngữ và khung chính thống khác thường được sử dụng để xử lý song song.
Và không giống như các ngôn ngữ được áp dụng rộng rãi như Python và Java, nó cũng chưa được hỗ trợ tốt. Tính đến thời điểm hiện tại, đây là một hệ sinh thái hạn chế, với cộng đồng nhỏ hơn và có ít thư viện, công cụ và khung công tác hơn.
Với tất cả những điều đó, tại sao các nhà phát triển nên làm quen với ngôn ngữ này? Bởi vì Finch cung cấp hỗ trợ riêng cho việc tạo và quản lý các quy trình đồng thời, nên nó nhằm mục đích làm cho việc lập trình song song trở nên dễ dàng và an toàn hơn bằng cách trừu tượng hóa sự phức tạp của việc quản lý và đồng bộ hóa luồng.
Nó cũng hỗ trợ các tiến trình nhẹ, tạo và quản lý rẻ hơn so với các luồng của hệ điều hành truyền thống. Điều này cho phép đạt được mức độ đồng thời cao với chi phí tối thiểu.
Và thay vì bộ nhớ dùng chung, ngôn ngữ sử dụng thông điệp truyền đi để liên lạc giữa các tiến trình. Điều này giúp tránh được nhiều vấn đề thường gặp liên quan đến sự tương tranh, chẳng hạn như điều kiện chạy đua và bế tắc.
Nó an toàn và đơn giản, sử dụng cú pháp và ngữ nghĩa được thiết kế đơn giản, giảm tải nhận thức cho người lập trình. Có lẽ nhờ nguồn gốc từ học thuật, nó có thể được sử dụng để dạy các khái niệm liên quan đến sự tương tranh và song song do tính đơn giản và tập trung vào các lĩnh vực này.
Trường hợp sử dụng Finch
Khi nói đến các trường hợp sử dụng, nó có rất nhiều cách triển khai. Ví dụ: Finch có thể được sử dụng để tạo ra nhiều ứng dụng được hưởng lợi từ việc lập trình đồng thời và song song – đặc biệt là những ứng dụng yêu cầu xử lý hiệu quả nhiều tác vụ cùng một lúc.
Nó rất phù hợp cho các thuật toán đồng thời, chẳng hạn như các điều kiện hiếm, bế tắc và đồng bộ hóa cũng như để phát triển các dự án tính toán song song quy mô nhỏ, chẳng hạn như phép nhân ma trận hoặc thuật toán sắp xếp. Các ứng dụng nối mạng như trò chuyện và máy chủ HTTP cũng nằm trong sân chơi của nó, cũng như các công cụ trò chơi và mô phỏng đồng thời.
3 vai trò công nghệ cần khám phá trên khắp EU
Xử lý dữ liệu cũng là một khả năng. Finch có thể được sử dụng để triển khai hệ thống xử lý nhật ký đọc, xử lý và phân tích nhật ký song song nhằm cải thiện thông lượng và hiệu quả hoặc để xây dựng đường dẫn dữ liệu.
Có rất nhiều cách khác mà các nhà phát triển có thể sử dụng nó: chẳng hạn như phát triển hệ thống thời gian thực hoặc microservice.
Mặc dù Finch có thể không phải là lựa chọn tốt nhất cho các hệ thống sản xuất quy mô lớn do vị thế thích hợp và hệ sinh thái nhỏ hơn, nhưng nó đáng được xem xét đối với các dự án nhỏ hơn, trong đó mục tiêu chính là hiểu biết và áp dụng các nguyên tắc lập trình đồng thời.
Để khám phá những cơ hội nghề nghiệp đầy cảm hứng hơn nữa, hãy truy cập House of Talent Job Board
Nguồn The Next Web