Wednesday, March 28, 2018

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



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

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 tuyển lựa đúng, đầu tiên, bạn sẽ cần phải hiểu rõ về một tiếng nói 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à vận 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ẽ không thể tìm hiểu về hết thảy các thư viện liên tưởng đến một tiếng nói 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 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 ứng 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ở thành một phần khô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 gian hơn để hiểu và vận 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à nguyê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 kì và kinh nghiệm mới có thân xác định thiết kế nào tốt và thích hợp. Ngoài ra, cũng rưa rứa như thư viện, mỗi tiếng nói sẽ có cách thiết kế khác nhau do đó mà đôi khi bạn sẽ phải ứng 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 tế

Mỗi ngôn ngữ sẽ đi kèm với đó là hội tụ các cách thức ứng dụng tốt và xấu. Điều quan yếu 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 tiễn 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 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 tiếp kiến 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

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 áp dụng trong rất nhiều lĩnh vực khác nhau.

Có rất ít công việc IT giờ mà không đụng chạm gì tới Javascript. Đây là một tiếng nói 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ự tín 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 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 giả 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 sử 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à tuyển lựa 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 nghi 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 thế, C # lại là tiếng nói mà tôi đã dành phần nhiều thời gian của mình. Tôi đã 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 móng chéo. Nhưng may mắn thay tất thảy đã đổ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ở nên dễ dàng hơn.

do 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ữ đại mạnh mẽ và biết một số chúng thôi cũng sẽ giúp bạn biết tất thảy. 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 nhiều 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 đẵn là lập trình Python cho vui và vẫn chưa có dị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 tục “Hot” trong vài năm nữa.

SQL (cấu trúc tầm nã tiếng nói)

Đú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à 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 ngôn ngữ scripting. Giống như các chọ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 bằng lò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 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 san sẻ và sử dụng. vì thế, ngoài việc là một dụng cụ sysadmin có giá trị, tôi nghĩ rằng nó còn là một tool bừa tót vời 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 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ịa trên các tiếng nói lập trình chức năng. Và có 3 ngôn ngữ hình như luôn vấ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 nhặt và dễ dùng.

Scala – Scala là một tiếng nói 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, nép 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 càng ngày càng trở thành dễ dàng để tích hợp và 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 tiếng nói 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 cũng như mở ra nhiều dịp mới để bạn nắm bắt.

No comments:

Post a Comment