10/10/2018, 10:54
Học lập trình web có như phận gái ?
Nguồn http://linq2js.blogspot.com/2010/12/...-phan-gai.html
Hôm nay, bất chợt đọc một bài viết, về một bạn sinh viên đang phân vân là nên học PHP hay ASP.NET. Thiết nghĩ đây cũng là vấn đề "nóng hổi" của hầu hết sinh viên Việt Nam hiện nay nên mình cũng xin "lạm bàn" chia sẻ một vài điều, có khách quan, có chủ quan, chỉ mong sự rộng lượng của người đọc.
Đứng giữa ngã rẻ của công nghệ, các bạn sinh viên thường phân vân xem đặt mình vào đâu để khỏi bị "hố", kiến thức chưa đủ, tâm lý chưa vững vàng nên còn "lo lắng và sợ sệt". Vậy nên trước hết mình xin điểm qua một số định nghĩa cũng như nhận định, từ đó các bạn có thể rút ra được những quyết định đúng đắn cho mình.
PHP là gì ?
Là một ngôn ngữ ... thôi thì vào đây đọc cho ra nhẽ. Nói nôm na PHP là ngôn ngữ cũng được mà công nghệ cũng chẳng sai. PHP mang đến sự đơn giản, dễ tiếp cận cho người mới bắt đầu. PHP có hàng tá những thư viện bổ trợ, những ứng dụng phong phú do cộng đồng mạng phát triển.
PHP có thể "chạy" trên "đâu" ?
Web cần hosting để lưu trữ nội dung web, hiện nay thì thông dụng nhất là Windows và Linux hosting (xin không bàn những hệ điều hành khác). Ở cà 2 loại hosting này PHP đều có thể cài đặt và "chạy" được (chỉ cần cài Apache hoặc IIS).
ASP.NET là gì ?
Là đứa con "ruột" của Microsoft, ASP.NET hơi "gây khó dễ" cho người mới bắt đầu. ASP.NET có cấu trúc khá giống với Java (chắc có "bà kon" hoặc nghe "đồn" là ASP.NET "chôm" của Java) là hướng đối tượng hoàn toàn. ASP.NET ứng dụng framework .NET cho xử lý, do vậy có rất nhiều những tiện ích, lớp viết sẵn phục vụ công việc lập trình. Bên cạnh đó thì những ứng dụng nguồn mở, tiện ích do cộng đồng phát triển cũng không ít. Có một điểm đặc biệt ấn tượng là do sử dụng framework .NET nên trong tương lai sẽ có thể sử dụng khá nhiều loại ngôn ngữ (PHP, Java, Ruby) để làm web ASP.NET. Vì thế nên đây có thể là nơi dung nạp hầu hết những lập trình viên khác muốn làm web ASP.NET nhưng vẫn muốn giữ những thói quen của mình.
ASP.NET thì "chạy" trên "đâu" ?
ASP.NET thì khiêm tốn hơn, chỉ chạy tốt trên Windows hosting, tuy có một số nền tảng khác (như Mono) cũng có thể "chạy" được nhưng tính ổn định chưa cao.
Công nghệ nào "mạnh" hơn ?
Đây là vấn đề kinh điển, là "khơi nguồn cảm hứng tàn sát" lẫn nhau trên khá nhiều diễn đàn. Khi mua cái gì, tìm hiểu cái gì ai cũng mong "chơi" với "đồ tốt" cả. Chính vì vậy, mình chỉ có vài lời khuyên:
Mạnh hơn cũng phải cần định nghĩa rõ ở khía cạnh nào, chứ không phải anh í là superman nên có thể đè bẹp tất cả.
Sức mạnh ở khía cạnh đó có phục vụ cho nhu cầu của bạn hay không ?
Sau khi nhận định rõ mạnh yếu của cả 2 công nghệ thì tốt hơn hết là đừng "pót" lên diễn đàn kẻo "gây mất đoàn kết dân tộc"
ASP.NET dành cho "đại gia" còn PHP dành cho "tiểu gia" ?
Đây là sự ví von khá hài, tuy nhiên không phải là không có cơ sở. Nếu đi sâu vào vấn đề "tốn kém" chúng ta phải biết rõ tốn kém những gì, có phù hợp với sinh viên không ?
Sinh viên khi học cần những gì: tài liệu, ứng dụng bổ trợ, điều kiện thử nghiệm thực tế
Tài liệu thì e-book có đầy trên mạng, không thiếu. Nên sách PHP miễn phí thì ASP.NET cũng miễn phí.
Công cụ bổ trợ: thường được hiểu là khi học web thì dùng gi để lập trình, dùng gì để thiết kế. Vâng PHP thì có hàng tá công cụ mã nguồn mở như: Notepad++, Eclipse... để lập trình và GIMP, Paint.. để vẽ. Thế nên nhìn sơ qua, dân học ASP.NET hay dân PHP nhìn qua .NET cũng chỉ thấy có bộ Visual Studio, mà nghe đồn bộ này đắt lém, chúng ta lại bỏ quên đi những công cụ miễn phí như Visual Studio Express, Develop.NET... Hoặc có thể dùng Paint, Paint.NET để vẽ vời mà chả mất xu nào. Cơ sở dữ liệu thì PHP có phpMyAdmin, MySql Administrator, bên ASP.NET thì sử dụng Microsoft SQL Express đều miễn phí cả.
Điều kiện thử nghiệm thực tế thì chúng ta có thể tìm Linux hosting miễn phí cho PHP và ASP.NET cũng có khá nhiều "mạnh thường quân".
Vậy sinh viên chúng ta tốn gì khi học ASP.NET ?
Học gì thì lương cao ?
Ngôn ngữ nào, công nghệ nào cũng đều phụ thuộc vào nhu cầu. Hiện nay nhu cầu làm website khá nhiều, nên học ASP.NET hay PHP đều có thể kiếm tiền được cả, tuy nhiên có khá nhiều sự cạnh tranh nên chúng ta cần trang bị kiến thức kỹ để có thể đề xuất mức lương cao khi xin việc.
Học ASP.NET có thực sự là Pro ?
Có thể nhìn nhận khía cạnh nào đó thì công nghệ cũng là một xu hướng, ở thời điểm này người ta chuộng công nghệ này và thời điểm khác thì công nghệ khác lên ngôi. Nhưng nếu chúng ta chạy theo những xu hướng "ảo" đó mà không tìm hiểu kỹ, cứ nghe "đồn" rồi quyết định "nhắm mắt đưa chân" thì thiệt là dại dột. Vì vậy bản thân chúng ta có cố gắng đủ để gọi là Pro trong công nghệ mà mình chọn hay không, chứ không phải khi chạy theo công nghệ thì nó sẽ gán cho ta cái "mác" là Pro mặc dù bản thì "ve ri a ma tơ".
Học ASP.NET xong thì học PHP sẽ dễ hơn ?
Câu hỏi này cũng thường gặp như những lời "phán" rằng ASP.NET do cấu trúc khó hơn nên "dân" PHP mà sang ASP.NET thì sẽ không dễ. Điều này không hẳn như vậy, có người dùng ASP.NET rồi qua PHP thấy cấu trúc thoải mái quá, dễ dãi quá đâm ra ức chế, đắn đo, suy nghĩ. Một số khác thì quen dùng ASP.NET mà không nắm kiến thức nền chỉ biết "kéo thả" giờ chơi với PHP thì bị "sốc" vì không biết làm sao với "hằm bà lằng" code và code. Hoặc một anh chuyên sử dụng PHP và nay phải đổi sang ASP.NET thì lại thấy choáng với cấu trúc framework .NET và bị "say nắng" với những cái gọi là OOP trong khi trước đó lại quen dùng hàm. Túm lại, sự chuyển đổi, tiếp cận sẽ phụ thuộc chính vào nền tảng kiến thức của bạn.
Vậy nên học cả ASP.NET và PHP ?
Hiện tại thì bạn hãy xác định mình "kết" "em" nào qua tìm hiểu trên internet, qua những tài liệu, ví dụ, những phong cách ngôn ngữ của mỗi công nghệ, từ đó đi chuyên sâu một thứ. Khi đã "vững tin" rồi thì có thể "đứng núi này trông núi nọ", vì thế giới công nghệ luôn thay đổi hằng ngày, nhu cầu cũng vì thế thay đổi theo, nên việc thích nghi là cần thiết, và không chỉ là ASP.NET, PHP mà bạn đôi khi còn "chém" cả Ruby, Java, Python, Perl cho nó "máu" ấy chứ.
Trang bị kiến thức chuyên sâu và những kiến thức liên quan
Để thiết kế website không chỉ cần biết PHP, C#, VB mà còn phải biết những thứ liên quan đến web: HTML, CSS, Javascript, một chút ít khái niệm mạng. Khi có đủ những nền tảng thiết yếu này, thì việc chuyển đổi hay tiếp cận công nghệ mới không quá khó và tốn ít thời gian hơn.
Lời kết
Nếu bạn vẫn phân vân khi chọn lựa thì mình có một cách đơn giản và hiệu quả. Làm 2 thăm PHP và ASP.NET và tung lên chọn đại một "em", coi như "trong nhờ đục chịu" vậy.
Hôm nay, bất chợt đọc một bài viết, về một bạn sinh viên đang phân vân là nên học PHP hay ASP.NET. Thiết nghĩ đây cũng là vấn đề "nóng hổi" của hầu hết sinh viên Việt Nam hiện nay nên mình cũng xin "lạm bàn" chia sẻ một vài điều, có khách quan, có chủ quan, chỉ mong sự rộng lượng của người đọc.
Đứng giữa ngã rẻ của công nghệ, các bạn sinh viên thường phân vân xem đặt mình vào đâu để khỏi bị "hố", kiến thức chưa đủ, tâm lý chưa vững vàng nên còn "lo lắng và sợ sệt". Vậy nên trước hết mình xin điểm qua một số định nghĩa cũng như nhận định, từ đó các bạn có thể rút ra được những quyết định đúng đắn cho mình.
PHP là gì ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Là một ngôn ngữ ... thôi thì vào đây đọc cho ra nhẽ. Nói nôm na PHP là ngôn ngữ cũng được mà công nghệ cũng chẳng sai. PHP mang đến sự đơn giản, dễ tiếp cận cho người mới bắt đầu. PHP có hàng tá những thư viện bổ trợ, những ứng dụng phong phú do cộng đồng mạng phát triển.
PHP có thể "chạy" trên "đâu" ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Web cần hosting để lưu trữ nội dung web, hiện nay thì thông dụng nhất là Windows và Linux hosting (xin không bàn những hệ điều hành khác). Ở cà 2 loại hosting này PHP đều có thể cài đặt và "chạy" được (chỉ cần cài Apache hoặc IIS).
ASP.NET là gì ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Là đứa con "ruột" của Microsoft, ASP.NET hơi "gây khó dễ" cho người mới bắt đầu. ASP.NET có cấu trúc khá giống với Java (chắc có "bà kon" hoặc nghe "đồn" là ASP.NET "chôm" của Java) là hướng đối tượng hoàn toàn. ASP.NET ứng dụng framework .NET cho xử lý, do vậy có rất nhiều những tiện ích, lớp viết sẵn phục vụ công việc lập trình. Bên cạnh đó thì những ứng dụng nguồn mở, tiện ích do cộng đồng phát triển cũng không ít. Có một điểm đặc biệt ấn tượng là do sử dụng framework .NET nên trong tương lai sẽ có thể sử dụng khá nhiều loại ngôn ngữ (PHP, Java, Ruby) để làm web ASP.NET. Vì thế nên đây có thể là nơi dung nạp hầu hết những lập trình viên khác muốn làm web ASP.NET nhưng vẫn muốn giữ những thói quen của mình.
ASP.NET thì "chạy" trên "đâu" ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
ASP.NET thì khiêm tốn hơn, chỉ chạy tốt trên Windows hosting, tuy có một số nền tảng khác (như Mono) cũng có thể "chạy" được nhưng tính ổn định chưa cao.
Công nghệ nào "mạnh" hơn ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Đây là vấn đề kinh điển, là "khơi nguồn cảm hứng tàn sát" lẫn nhau trên khá nhiều diễn đàn. Khi mua cái gì, tìm hiểu cái gì ai cũng mong "chơi" với "đồ tốt" cả. Chính vì vậy, mình chỉ có vài lời khuyên:
Mạnh hơn cũng phải cần định nghĩa rõ ở khía cạnh nào, chứ không phải anh í là superman nên có thể đè bẹp tất cả.
Sức mạnh ở khía cạnh đó có phục vụ cho nhu cầu của bạn hay không ?
Sau khi nhận định rõ mạnh yếu của cả 2 công nghệ thì tốt hơn hết là đừng "pót" lên diễn đàn kẻo "gây mất đoàn kết dân tộc"
ASP.NET dành cho "đại gia" còn PHP dành cho "tiểu gia" ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Đây là sự ví von khá hài, tuy nhiên không phải là không có cơ sở. Nếu đi sâu vào vấn đề "tốn kém" chúng ta phải biết rõ tốn kém những gì, có phù hợp với sinh viên không ?
Sinh viên khi học cần những gì: tài liệu, ứng dụng bổ trợ, điều kiện thử nghiệm thực tế
Tài liệu thì e-book có đầy trên mạng, không thiếu. Nên sách PHP miễn phí thì ASP.NET cũng miễn phí.
Công cụ bổ trợ: thường được hiểu là khi học web thì dùng gi để lập trình, dùng gì để thiết kế. Vâng PHP thì có hàng tá công cụ mã nguồn mở như: Notepad++, Eclipse... để lập trình và GIMP, Paint.. để vẽ. Thế nên nhìn sơ qua, dân học ASP.NET hay dân PHP nhìn qua .NET cũng chỉ thấy có bộ Visual Studio, mà nghe đồn bộ này đắt lém, chúng ta lại bỏ quên đi những công cụ miễn phí như Visual Studio Express, Develop.NET... Hoặc có thể dùng Paint, Paint.NET để vẽ vời mà chả mất xu nào. Cơ sở dữ liệu thì PHP có phpMyAdmin, MySql Administrator, bên ASP.NET thì sử dụng Microsoft SQL Express đều miễn phí cả.
Điều kiện thử nghiệm thực tế thì chúng ta có thể tìm Linux hosting miễn phí cho PHP và ASP.NET cũng có khá nhiều "mạnh thường quân".
Vậy sinh viên chúng ta tốn gì khi học ASP.NET ?
Học gì thì lương cao ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Ngôn ngữ nào, công nghệ nào cũng đều phụ thuộc vào nhu cầu. Hiện nay nhu cầu làm website khá nhiều, nên học ASP.NET hay PHP đều có thể kiếm tiền được cả, tuy nhiên có khá nhiều sự cạnh tranh nên chúng ta cần trang bị kiến thức kỹ để có thể đề xuất mức lương cao khi xin việc.
Học ASP.NET có thực sự là Pro ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Có thể nhìn nhận khía cạnh nào đó thì công nghệ cũng là một xu hướng, ở thời điểm này người ta chuộng công nghệ này và thời điểm khác thì công nghệ khác lên ngôi. Nhưng nếu chúng ta chạy theo những xu hướng "ảo" đó mà không tìm hiểu kỹ, cứ nghe "đồn" rồi quyết định "nhắm mắt đưa chân" thì thiệt là dại dột. Vì vậy bản thân chúng ta có cố gắng đủ để gọi là Pro trong công nghệ mà mình chọn hay không, chứ không phải khi chạy theo công nghệ thì nó sẽ gán cho ta cái "mác" là Pro mặc dù bản thì "ve ri a ma tơ".
Học ASP.NET xong thì học PHP sẽ dễ hơn ?
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Câu hỏi này cũng thường gặp như những lời "phán" rằng ASP.NET do cấu trúc khó hơn nên "dân" PHP mà sang ASP.NET thì sẽ không dễ. Điều này không hẳn như vậy, có người dùng ASP.NET rồi qua PHP thấy cấu trúc thoải mái quá, dễ dãi quá đâm ra ức chế, đắn đo, suy nghĩ. Một số khác thì quen dùng ASP.NET mà không nắm kiến thức nền chỉ biết "kéo thả" giờ chơi với PHP thì bị "sốc" vì không biết làm sao với "hằm bà lằng" code và code. Hoặc một anh chuyên sử dụng PHP và nay phải đổi sang ASP.NET thì lại thấy choáng với cấu trúc framework .NET và bị "say nắng" với những cái gọi là OOP trong khi trước đó lại quen dùng hàm. Túm lại, sự chuyển đổi, tiếp cận sẽ phụ thuộc chính vào nền tảng kiến thức của bạn.
Vậy nên học cả ASP.NET và PHP ?
Hiện tại thì bạn hãy xác định mình "kết" "em" nào qua tìm hiểu trên internet, qua những tài liệu, ví dụ, những phong cách ngôn ngữ của mỗi công nghệ, từ đó đi chuyên sâu một thứ. Khi đã "vững tin" rồi thì có thể "đứng núi này trông núi nọ", vì thế giới công nghệ luôn thay đổi hằng ngày, nhu cầu cũng vì thế thay đổi theo, nên việc thích nghi là cần thiết, và không chỉ là ASP.NET, PHP mà bạn đôi khi còn "chém" cả Ruby, Java, Python, Perl cho nó "máu" ấy chứ.
Trang bị kiến thức chuyên sâu và những kiến thức liên quan
[BLOCKQUOTE][BLOCKQUOTE][/BLOCKQUOTE][/BLOCKQUOTE]
Để thiết kế website không chỉ cần biết PHP, C#, VB mà còn phải biết những thứ liên quan đến web: HTML, CSS, Javascript, một chút ít khái niệm mạng. Khi có đủ những nền tảng thiết yếu này, thì việc chuyển đổi hay tiếp cận công nghệ mới không quá khó và tốn ít thời gian hơn.
Lời kết
Nếu bạn vẫn phân vân khi chọn lựa thì mình có một cách đơn giản và hiệu quả. Làm 2 thăm PHP và ASP.NET và tung lên chọn đại một "em", coi như "trong nhờ đục chịu" vậy.
Bài liên quan
Lấy vì dụ là site xem phim. Mình không hoàn toàn kéo thả trong tất cả các tác vụ mặc dù là asp.net bằng cách hạn chế tối đa lạm dụng các kỹ thuật hao tốn tài nguyên mà M$ đã đưa ra, nhờ từng code php mà mình dễ dàng trộn chung html và code C# ( 1 cách vừa đủ ).
Còn khi chuyển qua php thì mình lại áp dụng ngược, Thiết kế cho mình những lớp gần như mô phỏng trong asp.net khiến cho công việc mình dễ dàng hơn.
Mình không quan trọng ngôn ngữ hay công nghệ nào, mà quan trọng là đạt được mục đích: chạy đúng, chạy nhanh, bảo mật và cách để nó sống chung với nhau một cách đồng bộ mà không gây phiền phức.
Nhưng mà theo kinh nghiệm của mình khi làm việc: nếu 1 vấn đề bự bự thì mình dùng asp.net giải quyết nhanh hơn nhiều so với php. Và ngược lại mình dùng php trong những trường hợp nhỏ. ( Ví như giết gà đâu cần dao mổ trâu)
Nên bạn chọn học 1 thứ và tự tìm hiểu 1 ngôn ngữa khác cũng rất hợp lý.
Còn bạn nào muốn viết web bằng C++ thì cũng được, mình thấy nó chạy cũng ổn. Có bài viết hướng dẫn dưới chữ ký mình đó. Nếu muốn tìm hiểu thêm thì gửi email mình viết tiếp tutorial
Theo mình thuận nào làm nấy, thích gì làm đó, bạn không theo ASP, ASP.net hay PHP, thì bạn có thể theo Code Flash AS <= cái này hiện nay kiếm tiền nhiều hơn mấy cái kia ^_^