Nếu bạn là một nhà phát triển phần mềm, đơn giản là sẽ không có đủ thời gian trên thế giới này để bạn tìm hiểu về mọi công nghệ, ngôn ngữ và nền tảng mà bạn có thể cần cho công việc, hoặc để kiếm một việc làm tốt hơn; ở một số thời điểm bạn sẽ phải quyết định hướng đi để mở rộng kiến thức của mình.


Lựa chọn của bạn trong vấn đề này sẽ có tác động rất lớn đến cuộc sống của chính mình. Nếu bạn dành quá nhiều thời gian để học một công nghệ đang trên bờ vực của sự lỗi thời, nó có thể làm cho bạn khó kiếm được một việc làm trong tương lai. May mắn thay, có rất nhiều công nghệ sẽ tiếp tục phát triển và chứng tỏ được sự hữu ích đối với thế giới trong nhiều năm tiếp theo- nhưng làm thế nào để bạn lựa chọn một công nghệ trong số chúng?


Với tất cả những suy nghĩ đó, chúng ta hãy nhìn vào PHP.NET, hai nền tảng lập trình được ưa thích và hỗ trợ một cách rộng rãi. PHP là một ngôn ngữ kịch bản đa mục đích mà nhiều người dựa vào nó để phát triển Web (hàng trăm triệu trang web đang sử dụng nó hiện nay) trong khi .NET là một framework được xây dựng bởi Microsoft. Hai nền tảng này đều có những ưu điểm và cả những sự phức tạp của chúng, vậy thì cái nào là xứng đáng để bạn đầu tư thời gian nhiều hơn?


Trước tiên, khác biệt giữa chúng là gì?


Như đã đề cập ở trên, PHP là một ngôn ngữ lập trình mã nguồn mở được sử dụng chủ yếu cho việc phát triển các ứng dụng dựa trên Web. Có một vài công cụ ngoài kia cho phép bạn sử dụng nó để viết các ứng dụng cho desktop, nhưng phần lớn các ứng dụng viết bằng PHP chạy trên một máy chủ Web (hầu hết mọi người sử dụng PHP với một máy chủ Apache, mặc dù một vài người cũng sử dụng Microsoft IIS).


PHP là một ngôn ngữ, nhưng .NET là một nền tảng bao gồm một vài công nghệ khác nhau. Có hai ngôn ngữ lập trình chính mà bạn có thể sử dụng với .NET để tạo ra các ứng dụng desktop hoặc ứng dụng Web là: VB.NET và C# (dĩ nhiên là còn có những ngôn ngữ khác, nhưng hai ngôn ngữ này là chính). Cũng như với PHP, .NET đòi hỏi một máy chủ Web (cụ thể là Microsoft IIS) để tạo ra các ứng dụng Web (nó cũng đòi hỏi ASP.NET, công nghệ này là một phần của nền tảng rộng lớn hơn của .NET).


Trong khi .NET được xây dựng chạy trên Microsoft Windows, nhưng bạn cũng có thể chạy các ứng dụng .NET trên hệ điều hành Linux bằng cách sử dụng một sản phẩm mã nguồn mở miễn phí có tên là Mono. PHP đôi khi được cài đặt sẵn trên Linux, và nếu không thì nó cũng nhanh chóng và dễ dàng để cài đặt. Nhưng để phát triển với hai nền tảng này, bạn cần một số công cụ miễn phí: cho .NET, bạn sẽ muốn sử dụng Visual Studio Express miễn phí từ Microsoft; Đối với PHP, có một số tùy chọn- một trong những lựa chọn phổ biến là Eclipse.


Có nhiều lợi ích trong việc học hoặc PHP hoặc .NET. Vậy bạn có nên tìm hiểu cả hai? Nếu bạn là người mới tiếp xúc với lập trình thì tôi nghĩ câu trả lời là KHÔNG: Vào giai đoạn đầu trong sự nghiệp của mình, bạn cần phải tập trung sức lực vào việc giỏi một công nghệ, điều này sẽ giúp bạn kiếm được những công việc có mức lương cao hơn. Nếu bạn cố gắng học nhiều thứ một lúc, bạn sẽ bị phân tán sự tập trung và kết quả là cái gì cũng biết nhưng không có kiến thức sâu sắc cả. (Tôi cũng đã gặp phải sai lầm này trong sự nghiệp của mình, và nó đã gây nhiều khó khăn cho tôi khi đi xin việc làm- các nhà tuyển dụng có khuynh hướng không tin tưởng vào những hồ sơ liệt ra danh sách hàng trăm các công nghệ mà ứng viên tự xem mình là chuyên gia.) Bởi vậy bạn hãy chọn một thứ và nghiên cứu thật sâu về nó!


Tôi nên chọn ngôn ngữ lập trình nào


Vậy thì bạn nên chọn cái nào? Tất nhiên, bạn có thể tìm kiếm những công việc về PHP và .NET trên mạng, và sử dụng dữ liệu đó để đưa ra quyết định của mình. Nhưng những số liệu đó sẽ chỉ cho bạn biết về hiện tại: thế còn 5 năm tới thì sẽ ra sao?


Dưới đây là một số câu hỏi để giúp bạn đưa ra được quyết định cuối cùng của mình:


  • Đầu tiên, bạn có muốn tạo ra các ứng dụng desktop trên Windows không? Nếu có thì .NET là một hướng đi tuyệt vời.
  • Thế còn về các ứng dụng Web trên Windows? Một lần nữa, .NET là một sự lựa chọn tuyệt vời. Tuy nhiên, bạn có thể sử dụng PHP trên Windows (mặc dù nó có thể được sử dụng nhiều hơn trên Linux).
  • Bạn yêu thích Linux và muốn tập trung vào nó? Vậy thì bạn hãy đi theo hướng PHP nếu bạn muốn làm phát triển Web. Trong khi .NET có thể chạy trên Linux với sự giúp đỡ của Mono, nhưng nó phù hợp hơn với desktop chứ không phải Web.
  • Thế còn nếu muốn viết ứng dụng desktop trên Linux thì sao? Trong trường hợp đó, bạn có thể không muốn sử dụng cả PHP lẫn .NET và muốn chuyển qua học một ngôn ngữ hoặc công nghệ khác, chẳng hạn như C++ và Gtk+, hoặc có lẽ wxWidgets kết hợp với một ngôn ngữ như C++ hay Python. Trong khi Mono có thể chạy trên Linux, nhưng mà cơ hội việc làm khi sử dụng nền tảng này là quá ít.
  • Điều gì xảy ra nếu bạn muốn làm việc trên cả Windows và Linux? Bạn có thể bắt đầu suy nghĩ về những công nghệ phát triển đa nền tảng. Nhưng để học một công nghệ mới và kiếm được một việc làm thì bạn phải tập trung chuyên sâu vào một lĩnh vực cụ thể. Nếu bạn muốn trở thành một nhà phát triển web thì bạn đừng bỏ quên phần client side. Hơn nữa việc học JavaScript cũng rất có ích.
  • Nếu bạn muốn đi theo hướng Windows, thì bạn nên chọn C# hay VB.NET? Đây là một câu hỏi có khả năng gây tranh cãi, với nhiều ý kiến mạnh mẽ ở cả hai phía. Một điều cần lưu ý ở đây là chúng là những ngôn ngữ thực sự rất giống nhau bên dưới, chỉ khác nhau về mặt cú pháp; bạn có thể thực hiện các tác vụ tương tự với một trong hai. Tuy nhiên, với tư cách là một nhà phát triển phần mềm có 25 năm kinh nghiệm, có lẽ tôi sẽ đề nghị bạn nên đi theo hướng C#. Lý do của tôi là VB.NET có một chút kỳ thị gắn liền với nó như một ngôn ngữ “nghiệp dư” (mặc dù không phải như vậy). Kết quả là, các lập trình viên giỏi thường lựa chọn C# để bắt đầu một dự án mới.

Kết luận


Khi kiến thức lập trình của bạn trở nên nâng cao hơn, bạn sẽ thấy rất dễ dàng để học một ngôn ngữ lập trình mới. Nhiều trong số các ngôn ngữ lập trình phổ biến nhất hiện nay đều có cú pháp tương tự nhau và có nguồn gốc kế thừa từ ngôn ngữ lập trình C. (Tôi đang nói về C++, Java, C#, PHP và JavaScript.) Điều đó làm cho việc tìm hiểu những ngôn ngữ này trong tương lai là rất dễ dàng- nhưng lúc này bạn phải thật tập trung vào sự lựa chọn của mình cái đã. Và điều quan trọng nhất là: Hãy vui vẻ!


 Techmaster