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 cơ bản

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 tuyển lựa đú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ồ hết các ngôn ngữ lập trình đều có một bộ thư viện cốt cán riêng. Các thư viện này là những đoạn code có thể tái sử dụng, san sớt, ứng dụng, mở mang và áp dụng cho các vấn đề lập trình khác nhau. thường nhật, có hàng trăm đến hàng ngàn thư viện để chọn lọc. Đ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ẽ chẳng thể tìm hiểu về quờ các thư viện can dự đến một tiếng nói 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 ý kiến 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 áp dụng. phải 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 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à ứ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 tiếng nói 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 ngôn ngữ lập trình đó. Một thiết kế tốt sẽ là nhân 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à ăn nhập. Ngoài ra, cũng hao hao 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.

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

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

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 đấu 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 tiếng nói lập trình dưới đây.

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

Javascript

hiện tại, Javascript hình như có mặt ở khắp mọi nơi. Nó gần như thường 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ở thành 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ự đã thạo 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 giả 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 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à chọn lọc yêu thích của tôi. Học Java vững chắc cho phép tôi dễ dàng thích ứng với các tiếng nói lập trình khác. Điều độc nhất vô nhị 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à tiếng nói mà tôi đã dành phần đông thời gian của mình. Tôi đã sử 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 móng chéo. Nhưng may mắn thay tuốt tuột đã đổi thay 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.

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 trọng nhưng hãy chọn một. Bởi đây là một nhóm các tiếng nói lung tung 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 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 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 cốt tử là lập trình Python cho vui và vẫn chưa có thời cơ đượ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 ngôn ngữ khôn cùng mạnh mẽ . Với sự gia tăng của Machine Learning và AI, có vẻ như Python sẽ đấu “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à tiếng nói đờ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à 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 ưng ý 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 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 san sớt 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 cực kì tuyệt trần dành cho devops.


tiếng nói 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 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 chịa trên các ngôn ngữ lập trình chức năng. Và có 3 tiếng nói nghe đâu luôn cuộn 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ễ 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ở thành một phiên bản hoàn thiện hơn.

F # – F # là một tiếng nói lập trình bao gồm các phương pháp lập trình chức năng, thắt 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 tiếng nói 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 tiếng nói phổ thông như Java và C #.

Như vậy là bạn đã biết được 6 ngôn ngữ lập trình cấp 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 thời cơ mới để bạn nắm bắt.

No comments:

Post a Comment