6 ngôn ngữ lập trình mà Developer nào cũng nên thử 1 lần



  • Việc chọn một ngôn ngữ sẽ quyết định con đường sự nghiệp mà bạn muốn phát triển. Tuy vậy, để có thể đưa ra lựa chọn đúng, trước hết, bạn sẽ cần phải hiểu rõ về một ngôn ngữ lập trình và những khả năng của nó.

    Có thể bạn quan tâm:

      Mẹo học ngôn ngữ lập trình và Framework mới thật nhanh chóng!
      Không biết bắt đầu học lập trình từ đâu, 13 mẹo tự học lập trình này sẽ giúp bạn!

    Dưới đây tôi cung cấp một danh sách các khái niệm căn bản cần biết:

    Library

    Hầu hết các ngôn ngữ lập trình đều có một bộ thư viện nòng cốt riêng. Các thư viện này là những đoạn code có thể tái sử dụng, chia sẻ, áp dụng, mở rộng và áp dụng cho các vấn đề lập trình khác nhau. Thông thường, có hàng trăm đến hàng ngàn thư viện để lựa chọn. Điều này đặc biệt càng đúng hơn nhờ vào sự phát triển của bên thứ ba và mã nguồn mở. Do đó mà bạn sẽ không thể tìm hiểu về tất cả các thư viện liên quan đến một ngôn ngữ lập trình. Mặc dù vậy, bạn cũng nên làm quen với càng nhiều thư viện càng tốt.

    Framework

    Tôi thường nghe thuật ngữ “library” và “framework” được sử dụng cho nhau. Tuy nhiên, theo quan điểm của tôi, các framework hàm ý một cái gì đó lớn hơn nhiều so với một thư viện đơn giản. Framework thường được tạo ra để giúp đơn giản hóa cho quá trình phát triển của một ứng dụng. Nếu như bạn có thể dễ dàng thêm, xóa hoặc thay thế thư viện thì framework đã trở thành một phần không thể tách rời hay thay đổi của ứng dụng. Framework thường rất lớn và đòi hỏi ta phải đầu tư nhiều thời gian hơn để hiểu và áp dụng chúng. Và thường thì khi bạn đã hiểu về nó thì sẽ có một framework mới thay thế nó và ta lại phải bắt đầu từ đầu.

    Thiết kế

    Lập trình hiệu quả hơn rất nhiều nhờ vào thiết kế tốt. Và việc thiết kế một ngôn ngữ lập trình thường sẽ định hình cho cách chúng ta làm ra các hệ thống sử dụng ngôn ngữ lập trình đó. Một thiết kế tốt sẽ là yếu tố tạo ra thành công hoặc thất bại của hệ thống.

    Một lần nữa, chỉ có thể trãi qua thời gian và kinh nghiệm mới có thể xác định thiết kế nào tốt và phù hợp. Ngoài ra, cũng tương tự như thư viện, mỗi ngôn ngữ sẽ có cách thiết kế khác nhau do đó mà đôi khi bạn sẽ phải áp dụng nhiều ý tưởng khác nhau nhằm đạt được kết quả tốt nhất.

    Ứng dụng và thực tiễn

    Mỗi ngôn ngữ sẽ đi kèm với đó là tập hợp các cách thức áp dụng tốt và xấu. Điều quan trọng là bạn cần biết về cả hai. Mỗi ngôn ngữ cũng sẽ có những điểm mạnh và yếu riêng biệt. Đó là khía cạnh thực tế của việc làm việc với một ngôn ngữ lập trình vốn sẽ thực sự xác định xem bạn có biết rõ về nó hay không. Đó là kiến ​​thức chỉ có được bằng cách làm việc liên tục với ngôn ngữ lập trình và áp dụng nó trong thực tiễn.

    Như ta có thể thấy, học một ngôn ngữ lập trình rất khó. Tôi có khoảng 15 năm kinh nghiệm lập trình với C + +, Java, C #, Javascript, và SQL.Thành thật mà nói, tôi vẫn cảm thấy rằng mình chưa thật sự “biết” hết về những ngôn ngữ này. Do đó mà ta sẽ phải luôn tiếp tục học hỏi và nâng cao.

    Trong phần tiếp theo tôi sẽ cung cấp một số ngôn ngữ lập trình mà tôi nghĩ bạn nên biết. Tuy nhiên, xét theo những gì tôi đã viết trong phần này, bạn có thể đã đoán ra phần nào về 5 ngôn ngữ lập trình dưới đây.

    6 ngôn ngữ lập trình tôi nghĩ bạn nên thử qua

    Javascript

    Ngày nay, Javascript dường như có mặt ở khắp mọi nơi. Nó gần như không bị giới hạn bởi bất cứ thứ gì và được áp dụng trong rất nhiều lĩnh vực khác nhau.

    Có rất ít công việc IT hiện nay mà không đụng chạm gì tới Javascript. Đây là một ngôn ngữ rất đơn giản để học, tuy nhiên, nó cũng trở nên phức tạp hơn khi bạn bắt đầu đào sâu vào. Javascript đa dạng tới mức ngày cả những nhà phát triển Javascript kinh nghiệm nhất cũng không tự tin rằng mình thật sự đã thuần thục với nó.

    Đối với tôi, lý do mà bạn muốn học một ngôn ngữ như vậy là nếu bạn đang xây dựng một codebase javascript lớn và muốn cải thiện khả năng bảo trì hệ thống đó. Tuy vậy, tôi khuyên bạn nên thử qua Typescript, một phiên bản vượt trội của Javascript. Ngoài ra Coffeescript và Elm cũng là hai lựa chọn sáng giá khác.

    Ngôn ngữ lập trình hướng đối tượng (OOP)

    Tại trường đại học, tôi sử dụng Java như ngôn ngữ lập trình chính của mình. Mặc dù vậy, tôi cũng có dụng C + + và một ngôn ngữ lập trình ít được biết đến gọi là Eiffel. Tuy nhiên, Java luôn là lựa chọn yêu thích của tôi. Học Java chắc chắn cho phép tôi dễ dàng thích ứng với các ngôn ngữ lập trình khác. Điều duy nhất mà tôi có thể nói rằng tôi ghét về Java là “checked exception”.

    Tuy vậy, C # lại là ngôn ngữ mà tôi đã dành phần lớn thời gian của mình. Tôi đã sử dụng C # như là ngôn ngữ chính trong hơn 10 năm nay. Hạn chế lớn nhất đối với tôi là việc C # không bao giờ có mã nguồn mở hay nền tảng chéo. Nhưng may mắn thay tất cả đã thay đổi trong những năm gần đây và tôi hiện đang phát triển ứng dụng C # trên một hệ điều hành Linux. Mặt khác, khi tính năng async / await đã được thêm vào Javascript, tôi cảm thấy việc lập trình càng trở nên dễ dàng hơn.

    Vì vậy,bạn nên học C #, Java, hay C ++? Theo ý kiến cá nhân của tôi, nó không quan trọng nhưng hãy chọn một. Bởi đây là một nhóm các ngôn ngữ cực kì mạnh mẽ và biết một số chúng thôi cũng sẽ giúp bạn biết tất cả. Như bạn có thể thấy từ kinh nghiệm cá nhân của tôi, thường chúng ta bắt đầu với Java và C + + nhưng kết thúc phần lớn là lập trình bằng Javascript và C #.

    Python

    Python là một ngôn ngữ lập trình đa năng. Gần đây, khoảng năm 2017/2018, khi nói về data science thì phải nhắc tới Python. Tôi chủ yếu là lập trình Python cho vui và vẫn chưa có cơ hội được sử dụng nó trong bất kỳ công việc nào. Dù là vậy tôi vẫn phải công nhận Python là một ngôn ngữ vô cùng mạnh mẽ . Với sự gia tăng của Machine Learning và AI, có vẻ như Python sẽ tiếp tục “Hot” trong vài năm nữa.

    SQL (cấu trúc truy vấn ngôn ngữ)

    Đúng rồi đấy! SQL là một ngôn ngữ. Cụ thể hơn SQL là ngôn ngữ thế hệ thứ tư (4GL) gần với ngôn ngữ của con người. Đôi khi tôi tự hỏi liệu SQL có phải là ngôn ngữ lập trình được biết đến nhiều nhất không? SQL có mặt ở khắp mọi nơi, và trong kinh nghiệm làm việc từ trước tới giờ của mình, tôi không một lần nào KHÔNG phải làm việc với SQL. Cho dù đó là MSSQL, Postgres, MySQL hay Oracle, SQL vẫn luôn tồn tại dưới nhiều dạng và hình thức khác nhau.

    BASH

    BASH là một ngôn ngữ scripting. Giống như các lựa chọn trước đây của tôi, lý do BASH được đưa ra trong danh sách của tôi là vì lý do nó được chấp nhận rộng rãi trong cộng đồng. Đối với tôi, khả năng mang lại sức mạnh cho BASH chính là tính năng có thể làm việc với VIM.

    Hơn nữa, Linux là hệ điều hành được sử dụng nhiều nhất trong server. Do đó, tôi nghĩ tốt hơn là nên tìm hiểu về Linux vì bạn sẽ phải làm việc với nó dù sớm hay muộn. Hiểu rõ BASH cũng sẽ giúp bạn viết các tác vụ lặp lại và automated task vốn có thể được chia sẻ và sử dụng. Vì vậy, ngoài việc là một công cụ sysadmin có giá trị, tôi nghĩ rằng nó còn là một tool cực kì tuyệt vời dành cho devops.

    Ngôn ngữ lập trình chức năng (Functional Programming Language)

    Tôi không có kinh nghiệm phát triển phần mềm bằng một ngôn ngữ lập trình thuần tính năng (pure functional). Do đó, tôi không thể đưa ra một lời khuyên chắc chắn nào. Tuy nhiên, trong năm qua tôi đã được theo dõi chặt chẽ trên các ngôn ngữ lập trình chức năng. Và có 3 ngôn ngữ dường như luôn thu hút sự chú của mọi người:

    •    Haskell – Haskell là một ngôn ngữ lập trình đơn giản, không nghiêm ngặt và dễ sử dụng.
    •    Scala – Scala là một ngôn ngữ lập trình có mục đích cung cấp hỗ trợ lập trình chức năng và là một static type system đầy mạnh mẽ. Được thiết kế dựa trên Java nhằm trở nên một phiên bản hoàn thiện hơn.
    •    F # – F # là một ngôn ngữ lập trình bao gồm các phương pháp lập trình chức năng, bắt buộc và hướng đối tượng.

    Tôi khuyến khích bất cứ ai dù mới hoặc đã có kinh nghiệm lập trình đều nên đầu tư thời gian vào việc học một ngôn ngữ lập trình chức năng. Nó sẽ giúp bạn viết code tốt hơn. Ngoài ra, chúng cũng ngày càng trở nên dễ dàng để tích hợp và sử dụng cùng với những ngôn ngữ phổ biến như Java và C #.

    Như vậy là bạn đã biết được 6 ngôn ngữ lập trình cần thiết với lập trình viên rồi đấy. Tôi tin rằng nếu bạn có thể thuần thục chúng trong vài năm thì sự nghiệp sẽ phát triển rất vững vàng cũng như mở ra nhiều cơ hội mới để bạn nắm bắt.

    LaptrinhX thông qua dev


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới LaptrinhX, vui lòng đợi một lúc để chúng tôi thử kết nối lại.