Tuesday, March 27, 2018

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



ảnh minh họa - Học lập trình Java

Việc chọn một tiếng nói 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 tiên, 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ó.

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 tiếng nói 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, san sẻ, vận dụng, mở mang và áp dụng cho các vấn đề lập trình khác nhau. thường ngày, 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ề tuốt các thư viện can dự đến một ngôn ngữ lập trình. dù rằng 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 ẩn ý 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 áp dụng. nếu bạn có thể dễ dàng thêm, xóa hoặc thay thế thư viện thì framework đã trở nên một phần chẳng thể tách rời hay đổi thay của áp dụng. Framework thường rất lớn và đòi hỏi ta phải đầu tư nhiều thời kì hơn để hiểu và ứng 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 dùng tiếng nói 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 kì và kinh nghiệm mới có thân xác định thiết kế nào tốt và hợp. Ngoài ra, cũng na ná như thư viện, mỗi tiếng nói sẽ có cách thiết kế khác nhau do đó mà thỉnh thoảng 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 tế

Mỗi tiếng nói sẽ đi kèm với đó là tập trung 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 tiếng nói lập trình vốn sẽ thực thụ 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 tiếp với ngôn ngữ lập trình và áp dụng nó trong thực tại.

Như ta có thể thấy, học một tiếng nói 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 chuyện học hỏi và nâng cao.

Trong phần tiếp theo tôi sẽ cung cấp một số tiếng nói 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 tiếng nói 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 nghe đâu có mặt ở khắp mọi nơi. Nó gần như chơi bị giới hạn bởi bất cứ thứ gì và được vận 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 tiếng nói 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 thế, 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 tuyển lựa 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 dùng Java như ngôn ngữ lập trình chính của mình. mặc dầu vậy, tôi cũng có dụng C + + và một tiếng nói lập trình ít được biết đến gọi là Eiffel. Tuy nhiên, Java luôn là chọn lọc 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 đông thời kì của mình. Tôi đã dùng C # như là tiếng nói 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 đã đổi thay trong những năm gần đây và tôi hiện đang phát triển áp 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ở thành dễ dàng hơn.

nên chi,bạn nên học C #, Java, hay C ++? Theo quan điểm cá nhân chủ nghĩa của tôi, nó không quan yếu nhưng hãy chọn một. Bởi đây là một nhóm các tiếng nói sứ mạnh mẽ và biết một số chúng thôi cũng sẽ giúp bạn biết tất. Như bạn có thể thấy từ kinh nghiệm cá nhân chủ nghĩa 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 tiếng nói 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 cốt là lập trình Python cho vui và vẫn chưa có nhịp được dùng nó trong bất kỳ công việc nào. Dù là vậy tôi vẫn phải xác nhận Python là một tiếng nói hết sức mạnh mẽ . Với sự gia tăng của Machine Learning và AI, có vẻ như Python sẽ tiếp kiến “Hot” trong vài năm nữa.

SQL (cấu trúc truy nã tiếng nói)

Đúng rồi đấy! SQL là một ngôn ngữ. Cụ thể hơn SQL là ngôn ngữ đời 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à tiếng nói 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 tiếng nói scripting. Giống như các tuyển lựa 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 ưng ý rộng rãi trong cộng đồng. Đối với tôi, khả năng mang lại người 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 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à dùng. bởi thế, ngoài việc là một phương tiện sysadmin có giá trị, tôi nghĩ rằng nó còn là một tool đại sạch 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 tiếng nói lập trình thuần tính năng (pure functional). Do đó, tôi chẳng thể đưa ra một lời khuyên vững chắc nào. Tuy nhiên, trong năm qua tôi đã được theo dõi chặt trên các ngôn ngữ lập trình chức năng. Và có 3 tiếng nói tuồng như luôn lôi cuốn sự chú của mọi người:

Haskell – Haskell là một tiếng nói lập trình đơn giản, không nghiêm nhặ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 tương 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, tấm 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 kì 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 giả, chúng cũ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ổ quát 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ể thành 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.

0 comments:

Post a Comment