Làm thế nào để sử dụng nhiều ngôn ngữ lập trình mà không loạn trí - Học Lập trình tại IMIC

Với tất cả các ngôn ngữ lập trình khác nhau hiện có, nhiều tổ chức đã trở thành đa âm kỹ thuật số. Nguồn mở ra một thế giới ngôn ngữ và ngăn xếp công nghệ mà các nhà phát triển có thể sử dụng để hoàn thành nhiệm vụ của mình, bao gồm phát triển và hỗ trợ các ứng dụng phần mềm hiện đại và di sản.



Polyglots có thể nói chuyện với hàng triệu người nhiều hơn những người chỉ nói tiếng mẹ đẻ của họ. Trong môi trường phần mềm, các nhà phát triển không giới thiệu các ngôn ngữ mới để đạt được mục đích cụ thể, không giao tiếp tốt hơn. Một số ngôn ngữ rất tốt cho một nhiệm vụ nhưng không phải ngôn ngữ khác, vì vậy làm việc với nhiều ngôn ngữ lập trình cho phép các nhà phát triển sử dụng công cụ phù hợp cho công việc. Theo cách này, tất cả sự phát triển là polyglot; đó chỉ là bản chất của con thú.

Việc tạo ra một môi trường polyglot thường là dần dần và tình huống. Ví dụ, khi một doanh nghiệp mua lại một công ty, công ty sẽ tiếp nhận công nghệ của công ty, bao gồm các ngôn ngữ lập trình. Hoặc khi lãnh đạo công nghệ thay đổi, các nhà lãnh đạo mới có thể đưa các công nghệ khác nhau vào cuộc. Công nghệ cũng rơi vào thời trang, mở rộng số lượng ngôn ngữ lập trình và công nghệ mà một tổ chức phải duy trì theo thời gian.

Một môi trường polyglot là con dao hai lưỡi cho các doanh nghiệp, mang lại lợi ích nhưng cũng phức tạp và thách thức. Cuối cùng, nếu tình trạng vẫn không được kiểm soát, polyglot sẽ giết chết doanh nghiệp của bạn.

Kỹ thuật xoắn lưỡi

Ở đâu có nhiều công nghệ khác nhau, các ngôn ngữ lập trình, các công cụ kế thừa và các công nghệ sắp tới sắp xếp lại có sự phức tạp. Các đội kỹ thuật dành nhiều thời gian hơn để vật lộn với các ngôn ngữ lập trình trang bị thêm giấy phép, bảo mật và phụ thuộc. Đồng thời, ban quản lý thiếu sự giám sát về tuân thủ mã và không thể đánh giá rủi ro.

Điều gì xảy ra là các doanh nghiệp có mức độ khác nhau về chất lượng ngôn ngữ lập trình và tính biến đổi cao trong hỗ trợ công cụ. Thật khó để trở thành một chuyên gia trong một ngôn ngữ khi bạn bắt buộc phải làm việc với hàng tá. Có một sự khác biệt lớn về trình độ kỹ năng giữa một người nói tiếng Pháp và tiếng Ý trôi chảy và một người có thể kết hợp một vài câu với nhau bằng tám ngôn ngữ. Điều này cũng đúng với các nhà phát triển và ngôn ngữ lập trình.
Những khó khăn chỉ tăng lên khi có thêm ngôn ngữ lập trình, dẫn đến Tháp Babel kỹ thuật số.

Câu trả lời là không lấy đi các công cụ mà nhà phát triển của bạn cần cho công việc. Thêm ngôn ngữ lập trình mới sẽ xây dựng cơ sở kỹ năng của họ và trao quyền cho họ với thiết bị phù hợp để hoàn thành công việc của họ. Vì vậy, bạn muốn nói "có" với nhà phát triển của mình, nhưng khi ngày càng có nhiều ngôn ngữ lập trình được thêm vào doanh nghiệp, họ sẽ áp đặt vòng đời phát triển phần mềm (SDLC) của bạn. Ở quy mô, tất cả các ngôn ngữ và công cụ này có thể giết chết doanh nghiệp.

Có ba vấn đề chính doanh nghiệp cần chú ý:

Tầm nhìn: Các nhóm đến với nhau cho một dự án, sau đó tan rã. Các ứng dụng được phát hành và không bao giờ cập nhật, tại sao phải sửa những gì không bị hỏng? Kết quả là, khi một lỗ hổng nghiêm trọng được phát hiện, doanh nghiệp có thể không thấy được ứng dụng nào bị ảnh hưởng, thư viện nào chứa các ứng dụng đó, hoặc thậm chí cả ngôn ngữ mà chúng được xây dựng. Điều này có thể dẫn đến các "dự án thăm dò" tốn kém để đảm bảo lỗ hổng được giải quyết đúng đắn.

Cập nhật hoặc mã hóa: Một số doanh nghiệp tập trung chức năng cập nhật và sửa lỗi trong một nhóm duy nhất. Những người khác yêu cầu mỗi "nhóm pizza" quản lý các công cụ phát triển riêng của mình. Trong cả hai trường hợp, nhóm kỹ thuật và quản lý phải trả chi phí cơ hội: thay vì mã hóa các tính năng mới, các nhóm này liên tục cập nhật và sửa chữa các thư viện trong các công cụ nguồn mở của họ vì chúng di chuyển quá nhanh.

Phát minh lại bánh xe:  Do các phụ thuộc mã và phiên bản thư viện liên tục được cập nhật, các tạo phẩm liên quan đến bản dựng gốc của ứng dụng có thể không còn khả dụng khi tìm thấy lỗ hổng. Kết quả là, nhiều chu kỳ phát triển bị lãng phí khi cố gắng tạo lại một môi trường trong đó lỗ hổng có thể được sửa chữa.

Nhân mỗi ngôn ngữ lập trình trong tổ chức của bạn với ba vấn đề này, và thứ bắt đầu như một nốt ruồi đột nhiên trông giống như đỉnh Everest. Và giống như một người leo núi, bạn sẽ không sống sót nếu không có thiết bị và dụng cụ thích hợp.



 

Share:

ĐỐI TÁC LIÊN KẾT TUYỂN DỤNG NHÂN SỰ CỦA IMIC TECHNOLOGY

IMIC Technology

IMIC Technology tự hào là doanh nghiệp đầu tiên tại Việt Nam triển khai các Chương trình Đào tạo chuyên môn dự án cho Học viên ngành CNTT/CNPM. Cũng là một trong những doanh nghiệp đạt được nhiều giải thưởng lớn trong lĩnh vực này. Góp phần phát triển mạnh ngành CNTT/CNPM tại nước ta hiện nay.