Giới thiệu Một lập trình viên biết mấy ngôn ngữ là đủ

Thảo luận trong 'Rao Vặt Tổng Hợp' bắt đầu bởi sonvu, 6/7/16.

Liên kết hữu ích: Cung cấp nam châm hcm | gia cong co khi | Bạn cần bán hay mua? Hãy vào đây diễn đàn mua bán | diễn đàn mua bán | yêu du lịch |

Chia sẻ trang này

  1. sonvu

    sonvu Thành Viên

    Tham gia ngày:
    24/2/16
    Bài viết:
    84
    Đã được thích:
    4
    Điểm thành tích:
    8
    Tại sự kiện Worldwide Developer Conference ( WDC ) vào năm 2014 , Apple công bố ngôn ngữ lập trình Swift của họ. Đó là thành viên mới nhất trong một loạt các ngôn ngữ lập trình được phát triển bởi các công ty công nghệ lớn , để sử dụng với các nền móng chính xác của riêng họ.

    Apple có Swift cho các nhà phát triển iOS; Facebook có hac* , một ngôn ngữ để phát triển back-end. Trong lúc đó , Google cũng có ngôn ngữ Dart được cho là để thay thế Javascript và một ngôn ngữ lập trình mới có tên là Go.

    Việc ra đời của hàng loạt các ngôn ngữ lập trình mới đã làm nảy sinh một số Sự tình cho các nhà phát triển. Dễ thường Sự tình quan trọng nhất Ấy là câu hỏi mà một cộng sự của tôi , Adriana Lee , đã đăng lên mạng từng lớp Twitter sau khi Apple công bố ngôn ngữ Swift:

    [​IMG]
    Lập trình viên cần phải thành thục bao nhiêu ngôn ngữ lập trình?

    Sự phong phú của ngôn ngữ lập trình

    Hiện tại ta đã có hàng trăm ngôn ngữ lập trình khác nhau , và vẫn nối tiếp có thêm thành viên mới. Nhiều ngôn ngữ được thiết kế để sử dụng trong một phạm vi tương đối hẹp , và đa số trong số chúng chưa bao giờ vượt Ra khỏi cửa phạm vi các nhóm nhỏ lập trình viên.

    Nên xem về lời giải đáp lập trình iOS bằng ngôn ngữ gì tại Vietpro Academy. Bên cạnh đó chúng tôi cũng mở những khóa lập trình Mobile chất lượng cao.


    Ngày trước , các tổ chức và công ty công nghệ lớn cũng đã phát triển ngôn ngữ mới của riêng họ. Ngôn ngữ lập trình đa mục tiêu C có nguyên lai từ AT&T Bell Labs vào đầu những năm 1970. Java , hiện tại là ngôn ngữ chính cho việc phát triển các phần mềm Android , được ra đời tại công ty Sun Microsystems vào những năm 1990.

    Điểm khác nhau hiện tại là mực độ mà các công ty lớn rà soát những ngôn ngữ mới để Đạt tới những mục tiêu kinh doanh của họ - một quy trình được tạo ra để khiến các lập trình viên phải "gắn chặt" vào nền móng chính xác của công ty đó. Đó là loại chiến lược kép mà Ngày trước Sun đã áp dụng khi giới thiệu ngôn ngữ Java , Khi đó công ty này quảng cáo Java là một cách để thách thức vị trí thống trị của Microsoft trong ngành nghề máy tính để bàn PC. ( Mọi thứ đã không diễn ra như kế hoạch của Sun , mặc dầu Java sau cuối cũng là ngôn ngữ được sử dụng phổ quát trong các hệ thống middleware trước khi Google sử dụng nó trong việc phát triển Android. )

    Ta cũng thấy rõ mục tiêu của Apple với ngôn ngữ Swift. Nó có khả năng đơn giản hóa quá trình phát triển phần mềm iOS bằng cách loại bỏ những khó khăn như khi viết bằng Objective-C , ngôn ngữ Khi đó đang dùng chung cho các nhà phát triển iOS và Mac OS X. Nhưng nó cũng đòi hỏi những nhà phát triển phải tìm hiểu về một ngôn ngữ mới mà họ khó có khả năng sử dụng ở bất kể một nơi nào khác.


    Vì sao các công ty lớn lại tạo ra ngôn ngữ lập trình của riêng họ

    [​IMG]
    Apple giới thiệu ngôn ngữ lập trình Swift do họ tạo ra.
    Việc tạo ra các ngôn ngữ lập trình mới là đi ngược với triết lý "không phát minh lại bánh xe" đã ăn sâu vào tiềm thức của các nhà phát triển. Vậy thì vì sao các công ty lớn không sử dụng các ngôn ngữ hiện có song đi tạo ra ngôn ngữ mới?

    Một câu đáp lại đơn giản đó là các công ty xây dựng ngôn ngữ riêng của họ bởi chưng họ có khả năng. Việc thiết kế một ngôn ngữ mới có khả năng Rắc rối , nhưng nó không đặc biệt tốn nhiều nguồn lực. Điều khó ở đây là phải xây dựng sự hỗ trợ cho nó , cả trong việc cung cấp các nguồn tài nguyên phần mềm ( các thư viện code chia sẻ , các API , các trình biên dịch , tài liệu , v.v... ) , song song phải chiếm được con tim và khối óc của các nhà phát triển. Các công ty lớn có được điều kiện thuận lợi để làm cả hai việc đó.

    Ngoài ra còn có một thực tiễn rằng các ngôn ngữ hiện có thường rất khó sử dụng vào những framework Rắc rối hiện tại. Lấy ví dụ , quyết định của Facebook trong việc tạo ra ngôn ngữ lập trình hac* là do những giữ lại trong việc sử dụng PHP trước đó.

    Mục tiêu chính của Facebook với ngôn ngữ hac* là để cải thiện độ tin cẩn của code , trong trường hợp này là bằng cách buộc phải thẩm tra kiểu trước khi một phần mềm được thực thi. Chẳng hạn thẩm tra để chắc hẳn một phần mềm sẽ không cố gắng phiên dịch một số nguyên ( integer ) thành Một xâu ( string ) , một lỗi có khả năng sẽ Lộ rõ ra không đoán trước được nếu không thẩm tra phần này. Trong ngôn ngữ hac* , việc thẩm tra trước giúp các lập trình viên có khả năng chính xác ra các lỗi trước khi code của họ chạy trên môi trường thực tế.

    Theo Julien Verlaguet , một nhà phát triển chủ chốt trong nhóm tạo ra ngôn ngữ hac* ở Facebook , đi hàng đầu công ty cũng lùng một ngôn ngữ hiện có mà có khả năng cho phép lập trình công hiệu hơn. Nhưng đa số phần của Facebook đã được xây dựng trên PHP , và công ty cũng đã xây dựng được một hạ tầng phần mềm đáng kể để hỗ trợ PHP và các nhánh của nó. Trong lúc có khả năng làm cho PHP làm việc được với code viết bằng một ngôn ngữ khác , nhưng điều này không phải là dễ và cũng không được nhanh.

    "Trước đây tôi đã thử viết lại codebase PHP của chúng tôi bằng ngôn ngữ Scala , " Verlaguet nói. "Đó là một ngôn ngữ đẹp và được thiết kế tốt , nhưng nó không tương thích một tẹo nào với PHP cả. Mỗi khi tôi cần phải gọi đến PHP từ phần Scala của code base , tôi sẽ đánh mất tốc độ thực thi phần mềm. Chúng tôi cũng muốn sử dụng một ngôn ngữ hiện có lắm chứ , nhưng đối với chúng tôi , đó không là một tuyển trạch phù hợp."

    Thay vào đó , Facebook đã tạo ra ngôn ngữ hac* , nó Có sẵn những điểm chung với PHP để có khả năng chia sẻ cơ sở hạ tầng hiện có của công ty. Đa số codebase của Facebook đã được chuyển từ PHP sang hac* , Verlaguet nói , nhưng công ty đã mở mã nguồn ngôn ngữ này với lạc quan rằng các nhà phát triển Đứng riêng ra sẽ tìm và sử dụng nó bên ngoài Facebook.

    "Bạn có khả năng vẫn sử dụng PHP , " ông nói. "Nhưng chúng tôi lạc quan bạn sẽ muốn sử dụng hac*."
    Đang tải...

Liên kết hữu ích: diễn đàn nam châm