Đây có lẽ là câu hỏi phổ biến nhất khi ai đó có ý định học lập trình.
Và thật đặc biệt bạn hỏi mười người sẽ nhận được mười câu trả lời khác nhau. Ngôn ngữ bạn bắt đầu học không chỉ phụ thuộc vào việc nó dễ học như thế nào, mà còn phụ thuộc vào sản phẩm bạn muốn làm ra.
Tại sao bạn lại muốn học lập trình?
Lựa chọn của bạn còn tùy thuộc vào những gì bạn muốn làm. Ví dụ, để xây dựng một trang web hay một ứng dụng web, bạn nên học HTML và CSS, cùng với JavaScript và có lẽ PHP cho tương tác. Nếu mối quan tâm của bạn chủ yếu vào việc xây dựng một ứng dụng di động thì bạn có thể nhảy vào học Objective-C hoặc Swift cho ứng dụng iOS hoặc lập trình Java cho Android (và những thứ khác).
Hoặc đơn giản bạn muốn học lập trình vì bạn cảm thấy thú vị. Vậy bạn hãy bắt đầu tìm hiểu về các khái niệm lập trình cơ bản, cách mà một lập trình viên tư duy.
Thậm chí các ứng dụng lập trình cho trẻ em cũng có thể hữu ích để bắt đầu. Ví dụ, khóa học lập trình CS50 của đại học Harvard, bạn cũng có thể học khóa này miễn phí hoặc Scratch, một môi trường lập trình dạng kéo-thả để dạy trẻ em về logic và các nguyên tắc lập trình cơ bản – nó cũng giúp bạn tạo ra một sản phẩm gì đó rất thú vị – và sau đó ông chuyển qua dạy bạn về ngôn ngữ C.
Những ngôn ngữ lập trình được đề xuất thường xuyên nhất cho người mới bắt đầu
Hầu hết các ngôn ngữ lập trình “chính thống”, chẳng hạn như C, Java, C#, Perl, Ruby, Python – có thể làm được các công việc tương tự như nhau. Ví dụ, Java hoạt động đa nền tảng và được sử dụng cho các ứng dụng web và các applet, nhưng Ruby cũng có thể làm các ứng dụng web lớn và các ứng dụng Python tương tự chạy trên Linux và Windows. Trang web SOA World đã chỉ ra rằng vì nhiều ngôn ngữ được tạo ra kế thừa các ngôn nghữ khác, bởi vậy cú pháp hoặc cấu trúc làm việc trên chúng là gần như giống nhau, nên khi học một ngôn ngữ thường giúp bạn có thể học những ngôn ngữ khác một cách dễ dàng. Ví dụ, để in ra dòng chữ “Hello World”, Java và C# có cú pháp tương tự, cũng như Perl và Python.
Dưới đây là một so sánh nhanh về các ngôn ngữ lập trình phổ biến nhất:
C: Rèn cho bạn cách viết code hiệu quả
C là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất. C sẽ giúp bạn sẽ học cách làm thế nào để một chương trình tương tác với phần cứng và học những kiến thức nền tảng của lập trình tại mức thấp nhất – phần cứng – (C là nền tảng cho Linux/GNU). Bạn học về các chương trình gỡ lỗi, quản lý bộ nhớ, và nhiều thứ mà những ngôn ngữ lập trình bậc cao hơn như Java không thể làm được – nó giúp cho bạn viết code hiệu quả hơn trong các ngôn ngữ khác.
C là “ông nội” của nhiều ngôn ngữ cấp cao khác, bao gồm cả Java, C#, và JavaScript.
Điều đó nói lên rằng, lập trình trong C là chặt chẽ và khó hơn so với các ngôn ngữ khác, và nếu bạn không có kế hoạch làm việc trên các chương trình giao tiếp với phần cứng (ví dụ, các driver thiết bị, hoặc các extension của hệ điều hành), thì việc học lập trình C có lẽ sẽ không cần thiết.
Stack Overflow có một cuộc thảo luận rất hay về việc nên chọn C hay Java là ngôn ngữ đầu tiên, và hầu hết mọi người đều nghiêng về C. C là một ngôn ngữ bao quát hết tất cả, nhưng cũng đồng thời rất khó. Liệu chúng ta có nên thử sức với cái khó trước không?
Java: Một trong những ngôn ngữ thiết thực nhất để học
Java là ngôn ngữ lập trình phổ biến thứ hai, và đó là ngôn ngữ được giảng dạy trong khóa học nổi tiếng (và miễn phí) của trường đại học Stanford là Introduction to Computer Science. Java tuân theo nguyên tắc hướng đối tượng (OOP) mà đã được sử dụng trong các ngôn ngữ hiện đại bao gồm C++, Perl, Python, và PHP. Một khi bạn đã học Java thì bạn có thể học các ngôn ngữ OOP khác khá dễ dàng.
Java có lợi thế của một ngôn ngữ có lịch sử sử dụng lâu đời. Có rất nhiều phần code ví dụ, nó đã được dạy trong nhiều thập kỷ, và được sử dụng rộng rãi cho nhiều mục đích khác nhau (bao gồm cả phát triển ứng dụng Android), do đó Java là một ngôn ngữ rất thực tế để tìm hiểu. Bạn sẽ không thể lập trình được cấp thấp ở mức máy như bạn làm với C, nhưng bạn sẽ có khả năng truy cập/thao tác với những phần quan trọng nhất của máy tính như hệ thống tập tin, đồ họa và âm thanh cho bất kỳ chương trình phức tạp và hiện đại nào – và điểm hay nhất là nó có thể chạy trên bất kỳ hệ điều hành nào.
Python: Vui và rất dễ học
Nhiều người khuyên Python là ngôn ngữ tốt nhất dành cho người mới bắt đầu vì tính đơn giản và những khả năng tuyệt vời của nó. Code của Python dễ đọc và tuân theo các phong cách lập trình tốt (ví dụ như việc canh thụt lề), mà không bị quá nghiêm ngặt về cú pháp (không phải nhớ để thêm một dấu chấm phẩy ở cuối mỗi dòng).
SOA cũng nói rằng Python là ngôn ngữ phải học cho người mới bắt đầu, những người muốn học nhiều hơn trong môi trường Linux (hoặc đã quen thuộc với Linux). Sự phổ biến của Python đang gia tăng nhanh chóng hiện nay là nhờ việc các trang web phổ biến như Pinterest và Instagram đang sử dụng nó.
JavaScript: Dành cho những ai muốn nhảy ngay vào để xây dựng các trang web
JavaScript (ít liên quan đến Java) đòi hỏi rất ít thiết lập để bắt đầu, vì nó đã được tích hợp vào các trình duyệt web. O’Reilly Media cũng đề nghị bạn bắt đầu với JavaScript vì nó có một cú pháp tương đối dễ dàng, bạn sẽ thấy kết quả ngay lập tức từ code của mình, và không cần phải có nhiều công cụ.
Cơ hội nghề nghiệp từ các ngôn ngữ lập trình
Một xem xét cuối cùng đó là liệu bạn có muốn đi từ sở thích lập trình trở thành một nghề nghiệp hay không. Trang web Dev/Code/Hack đã phân tích các vai trò công việc khác nhau và những kỹ năng bạn cần phải có để phù hợp cho công việc đó:
Lập trình viên Back-end (Server-side): Thường sử dụng một trong số các ngôn ngữ sau đây: Python, Ruby, PHP, Java hoặc .NET. Có kiến thức về database. Có thể cần thêm một số kiến thức về quản trị hệ thống.
Lập trình viên Front-end (Client-side): Yêu cầu kiến thức về HTML, CSS, JavaScript và có thể cần thêm một số kỹ năng về thiết kế.
Lập trình viên mobile: Objective-C hoặc Java (cho Android). HTML/CSS cho các website mobile. Có thể cần thêm một số kiến thức về Server-side.
Lập trình viên về Games/3D: C/C++, OpenGL, Animation. Có thể cần thêm năng khiếu về mỹ thuật.
Lập trình viên phát triển các phần mềm cần tốc độ xử lý cao High-Performance (phần mềm trong Thị trường Chứng khoán…): C/C++, Java. Có thể cần thêm nền tảng về kiến thức toán học và khả năng phân tích định lượng tốt.
Chúc bạn học code vui!
Teachme.vn sưu tầm và tổng hợp