LỰA CHỌN NGÔN NGỮ NÀO ĐỂ BẮT ĐẦU HỌC LẬP TRÌNH?

Lập trình là một công việc cực kì trí tuệ và thú vị, song với số lượng ngôn ngữ lập trình quá nhiều như hiện nay, đâu là ngôn ngữ lập trình tốt nhất cho người mới bắt đầu? Hãy cùng Stanford – đào tạo & phát triển công nghệ đi tìm câu trả lời cho câu hỏi hết sức phổ biến này.


Thực tế, câu hỏi "Tôi nên học ngôn ngữ nào khi mới bắt đầu lập trình?" là một câu hỏi gây tranh cãi, ngay cả với những kỹ sư, giảng viên kì cựu nhất. Nếu bạn hỏi 10 lập trình viên "Đâu là ngôn ngữ tốt nhất cho 'lính mới'?", bạn hoàn toàn có thể nhận được 10 câu trả lời khác nhau.

Để tìm ra ngôn ngữ lập trình phù hợp nhất, bạn không chỉ cần đánh giá mức độ dễ học của mỗi ngôn ngữ, mà còn cần xem xét xem bạn sẽ lập trình trong các dự án như thế nào, yếu tố bạn ưa thích nhất ở lập trình là gì và liệu xem lập trình có trở thành nghề kiếm sống của bạn hay không. Hãy cùng Stanford - dạy kinh nghiệm thực tế đi tìm câu trả lời phù hợp nhất với bạn nhé!

Vì sao bạn muốn học lập trình?

Tùy vào lý do bạn muốn học khóa học lập trình nào, rất có thể câu trả lời đã được xác định sẵn cho bạn. Nếu bạn muốn thiết kế website hoặc ứng dụng nền web, bạn cần học HTML, CSS, Javascript để tạo ra các trang web hoàn chỉnh, và có lẽ là PHP để tạo ra hệ thống nền web hoàn chỉnh. Nếu bạn chủ yếu muốn phát triển ứng dụng di động hãy học Objective-C để lập trình cho iOS và học Java để lập trình cho Android.

Nếu bạn xác định rằng mình sẽ lập trình phục vụ cho nhiều mục đích, nhiều dự án, hoặc muốn thử nghiệm nhiều ngôn ngữ/công nghệ khác nhau, bạn cần phải học các khái niệm căn bản về lập trình một cách căn bản, và bắt đầu "học cách suy nghĩ như một lập trình viên đích thực". Bằng cách tiếp cận này, bất kể là bạn bắt đầu học bằng ngôn ngữ nào đầu tiên, bạn có thể dễ dàng tiếp cận các ngôn ngữ mới trong tương lai.

 Stanford - day kinh nghiem lap trinh



Các ngôn ngữ được sử dụng nhiều nhất

Phần lớn các ngôn ngữ lập trình "chính thống" (được nhiều người sử dụng) như C, Java, C#, Perl, Ruby và Python đều có thể thực hiện các tác vụ giống nhau (hoặc gần giống nhau). Ví dụ Java là một ngôn ngữ lập trình hoạt động đa nền tảng (không phụ thuộc vào hệ điều hành, bất kể là Windows, Linux hay Mac), song các ứng dụng Python cũng có thể chạy trên Windows và Linux gần như tương đồng nhau. Bạn có thể dùng Java để viết các ứng dụng nền web lớn và Ruby cũng có khả năng này.

Do nhiều ngôn ngữ lập trình được xây dựng dựa trên các ngôn ngữ lập trình khác (ví dụ, Microsoft bị chỉ trích là đã "ăn cắp" từ Java để tạo ra C#), cấu trúc câu lệnh trên các ngôn ngữ này là gần như giống hệt nhau. Hãy thử xem ví dụ dưới đây về bài toán kinh điển "Hello World" (khi học một ngôn ngữ/công nghệ mới, điều đầu tiên mà bạn cần làm bao giờ cũng sẽ là tìm cách hiển thị dòng chữ "Hello World"):

Như bạn có thể thấy, cách viết của C# và Java gần như giống hệt nhau; trong khi cách viết của Python và Perl cũng không quá khác biệt.

Tuy vậy, giữa các ngôn ngữ có thể có sự khác biệt lớn về cách cài đặt, sử dụng… Tạp chí SOA World Magazine đưa ra lời khuyên như sau:

"Nếu bạn nhìn rất kĩ vào các ví dụ, bạn có thể thấy một vài ví dụ khá đơn giản, một số khác khá phức tạp, một số ngôn ngữ yêu cầu phải có dấu chấm phẩy (;) ở cuối câu lệnh, một số khác thì không. Nếu bạn mới bắt đầu lập trình, đôi khi bạn nên chọn các ngôn ngữ không có quá nhiều qui luật về cú pháp và logic, bởi nhờ đó mà ngôn ngữ này không thể "tự gây khó dễ cho chính mình". Nếu bạn vừa thử một ngôn ngữ nào đó và cảm thấy không thoải mái, hãy đổi sang ngôn ngữ khác!".

Sau đây là tổng quan về một số ngôn ngữ phổ biến nhất:

C: Viết ra các đoạn mã nguồn có hiệu năng cao

Có thể nói rằng C là ngôn ngữ lập trình được sử dụng nhiều nhất. Việc các lập trình viên cần biết sử dụng C giống như là các bác sĩ cần phải biết cấu tạo cơ thể con người vậy. C là một ngôn ngữ có bậc khá thấp (cách xa ngôn ngữ người, và gần với ngôn ngữ máy), do đó bạn sẽ học các nguyên tắc căn bản về cách tương tác với phần cứng. Bạn cũng sẽ học cách debug (theo dõi chương trình để phát hiện, sửa lỗi), quản lý bộ nhớ, và học cả cách hoạt động của phần cứng máy vi tính. Với các ngôn ngữ bậc cao hơn (như Java), bạn sẽ không có cơ hội học những kiến thức này, và bởi vậy học C là một cách chuẩn bị rất tốt để bước lên các ngôn ngữ khác. C được coi là "ông tổ" của các ngôn ngữ lập trình bậc cao như Java, JavaScript và C#.

Tuy vậy, do C là một ngôn ngữ khá "bài bản", việc học lập trình với C sẽ khó khăn hơn các ngôn ngữ khác. Nếu bạn không cần viết các chương trình tương tác quá sâu với phần cứng (ví dụ như truy cập vào driver của thiết bị, hoặc viết các phần mở rộng cho hệ điều hành…), học C sẽ gây lãng phí thời gian – có thể là vô ích. Nói tóm lại, trong khi học C sẽ giúp bạn viết các chương trình tương tác sâu với hệ thống, bạn sẽ phải tốn rất, rất nhiều thời gian học trước khi có thể tạo ra một sản phẩm có ý nghĩa.

Stanford - day kinh nghiem lap trinh 


Java: Lựa chọn hợp lý, phù hợp với thực tiễn

Java là ngôn ngữ lập trình phổ biến thứ 2 trên thế giới. Java áp dụng gần như triệt để các nguyên tắc Lập trình Hướng đối tượng (OOP) – một mô hình được thực hiện trên hầu hết các ngôn ngữ hiện đại như C++, Perl, Python và PHP. Khi đã học Java, bạn sẽ dễ dàng nắm bắt được các ngôn ngữ OOP khác.

Java có thế mạnh là được sử dụng rất nhiều. Bạn có thể dễ dàng tìm được câu trả lời cho các bài toán căn bản trên Java, cộng đồng sử dụng Java cũng rất lớn (và do vậy khả năng được trợ giúp của bạn cũng sẽ lớn hơn), và ngôn ngữ Java được sử dụng cho rất nhiều mục đích (viết ứng dụng nền web, nền Windows, nền Android hoặc gần như là bất cứ hệ điều hành nào khác), do đó lựa chọn học Java là một lựa chọn khá khôn ngoan. Trong khi bạn không thể "chọc" sâu xuống hệ thống như C, Java vẫn cho phép bạn sử dụng các phần quan trọng như hệ thống tập tin, đồ họa, âm thanh, mạng… trên các hệ điều hành khác nhau.

 

Python: Dễ học và thú vị

Nhiều lập trình viên sẽ khuyên bạn học Python đầu tiên, bởi ngôn ngữ này khá đơn giản song lại có rất nhiều khả năng. Mã nguồn Python rất dễ đọc, và cũng đòi hỏi bạn phải làm theo các phong cách lập trình nên có (ví dụ như sắp xếp mã nguồn cho dễ đọc) trong khi lại không quá đòi hỏi gắt gao về cú pháp (ví dụ như phải thêm dấu chấm phẩy ở cuối câu lệnh).

Theo Patrick Jordan, chuyên gia tại Ariel Computing, so với thời gian cần thiết để viết các mã nguồn đơn giản trong các ngôn ngữ khác như C, Java và BASIC, Pythonn "đòi hỏi ít thời gian hơn, ít dòng code hơn, và đòi hỏi ít khái niệm cần phải học để đạt được một mục đích xác định hơn. Cuối cùng, lập trình với Python khá thú vị. Sự thú vị và khả năng thành công sẽ tạo ra sự tự tin và hứng thú cho học viên, và sau đó họ sẽ học lập trình dễ dàng hơn".

SOA World cho rằng Python là một lựa chọn bắt buộc đối với những người muốn làm việc với Linux (hoặc đã quen với Linux từ trước). Nhờ được sử dụng trên các trang web nổi tiếng như Pinterest và Instagram, Python cũng đang ngày một phổ biến hơn.

JavaScript: Để lập trình web

Dù được đặt tên theo Java (vì lý do thương mại), JavaScript rất khác biệt so với Java. JavaScript có thể được coi là ngôn ngữ lập trình được hỗ trợ nhiều nhất, do tất cả các trình duyệt web đều hỗ trợ JavaScript. JavaScript được coi là 1 trong 3 thành phần căn bản của web: HTML chứa nội dung, CSS chứa giao diện và JavaScript đảm nhiệm vai trò tương tác động. JavaScript có cú pháp khá dễ sử dụng, bạn mất ít thời gian để viết và có thể dễ dàng đánh giá thành quả của mình khi lập trình JavaScript, và bạn cũng không cần tới quá nhiều công cụ pháp triển như các ngôn ngữ khác. Nói tóm lại, nếu bạn muốn tạo ra các trang web hấp dẫn, JavaScript là lựa chọn bắt buộc.

Bạn đã chọn được ngôn ngữ lập trình phù hợp với khả năng và định hướng công việc trong tương lai của mình hay vẫn còn đang chênh vênh chưa biết lựa chọn hướng đi nào cho tương lai. Chúng tôi Stanford dạy kinh nghiệm thực tế sẽ giúp bạn giải quyết những vấn đề này. Với đội ngũ giảng viên, chuyên gia nhiều năm tham gia giảng dạy và có nhiều kinh nghiệm thực tế từ các dự án phần mềm lớn. Với phương châm "Học để làm việc", chúng tôi sẽ giúp bạn tiếp cận với môi trường làm việc chuyên nghiệp. Bạn sẽ được cung cấp kiến thức và kinh nghiệm làm việc, sử dụng thành thạo các công cụ phát triển phần mềm, phát triển kỹ năng làm việc nhóm và có cơ hội tham gia các dự án...

Hãy đến với chúng tôi để trải nghiệm những kiến thức thực tế ngay từ hôm nay  các bạn nhé. Bạn có thể liên hệ với chúng tôi theo số hotline: 0936.172.315 - 0963.723.236 – 04 6275 2212 để được tư vấn trực tiếp

Stanford rất vui mừng được đón tiếp bạn tại trụ sở chính của công ty tại: Tầng 2, số 20 tòa nhà iTech, ngõ 678 đường Láng (ngõ 100 Nguyễn Chí Thanh) trong một ngày gần đây nhất

 

(Sưu tầm và tổng hợp Bùi Uyên)

Tags: