Thứ Bảy, 26 tháng 12, 2015

ly do hoc web (Đặng Minh Tuấn)

10 lý do bạn nên học lập trình web và 5 lý do nên học lập trình web trước khi học các ngôn ngữ khác.

Link của chính bài này (dành cho những bạn chia sẻ link): https://www.facebook.com/notes/dang-minh-tuan/10-ly-do-nen-hoc-lap-trinh-web/500740969982949

Video clip (dành cho những bạn muốn xem video clip, có slide, do chính tôi nói): http://www.youtube.com/watch?v=c911dccdVOQ

http://www.youtube.com/watch?v=c911dccdVOQhttp://www.youtube.com/watch?v=c911dccdVOQ

Trong phạm vi bài này, tạm định nghĩa lập trình web là bao gồm các ngôn ngữ: HTML, CSS, JS + Một ngôn ngữ dành cho Serverside (tôi chọn PHP) + Một CSDL tương ứng (tôi chọn MySQL). Định nghĩa này không chuẩn lắm vì thực ra HTML, CSS không phải là ngôn ngữ lập trình nhưng trong mắt người mới học và còn đang phân vân chưa biết gì thì tôi nghĩ định nghĩa thế cũng không thành vấn đề lắm (kiểu như người ta định nghĩa HTML5 = HTML5 + CSS + JS), chủ yếu để GỌI CHO NHANH (coi như là một quy ước viết tắt trong phạm vi bài này)

Đó là băn khoăn của rất nhiều bạn học sinh. Theo tôi thì dù bạn học lập trình gì thì cũng nên biết thêm lập trình web vì:
  1. Ngôn ngữ của web (HTML, CSS, JS) được ứng dụng rất đa dạng: từ mobile (iOS, Android) đến Desktop (Windows 8), serverside (Node.js) ... đều có thể dùng kiến thức HTML, CSS, JS ...
  2. Có một trang web riêng và quảng bá qua mạng luôn là điều có lợi
  3. Biết xử lý các tình huống khi lướt web: bỏ quảng cáo, mua vé ...
  4. Dễ làm freelance (dù làm về web hay cái khác)
  5. Học lập trình thì dễ học trực tuyến (các hình thức lập trình khác khó học trực tuyến hơn hơn), mà học trực tuyến thì chi phí thấp hơn và có nhiều lựa chọn hơn (kể cả nội dung Anh và Việt) và học cũng rất hiệu quả (theo kinh nghiệm dạy học hơn 3 năm của tôi tại hoctudau.com). Và khi biết lập trình web thì học trực tuyến cái gì cũng dễ (ví dụ học tiếng Anh trực tuyến ...)
  6. Học lập trình web xong có thể dùng kiến thức đó để học tiếp cái khác hoặc đi làm luôn.
  7. Xu hướng là các ứng dụng desktop và mobile đều có kết nối với server (để đồng bộ hoặc lưu trữ hoặc dùng chung dữ liệu), nên cần các ngôn ngữ serverside như PHP, MySQL...
  8. Nhiều ứng dụng desktop bây giờ dều có phiên bản web tương ứng (MS Office và Office 360), thậm chí chỉ có phiên bản web (Google Docs)
  9. Nhiều ứng dụng mobile có bản web (Youtube)
  10. Học tập giúp bạn năng động, rèn trí tuệ ...
Ngoài ra, một số ý kiến cho rằng nên học lập trình X trước (X = C hoặc Java, C#, Pascal) trước rồi mới học lập trình web (JS, PHP) ... vì: học lập trình X để có tư duy lập trình, có tư duy lập trình mới học lập trình web được hoặc học lập trình X trước để biết về lập trình hướng đối tượng, vì lập trình web (JS, PHP) toàn sử dụng lập trình hướng đối tượng hoặc học lập trình X mới là cái gốc, học lập trình web chỉ là ngọn, không có gốc vững thì không thể có ngọn.. Tôi cho rằng đó là cách nghĩ sai lầm, hoàn toàn có thể học lập trình web trước, sau đó thích thì học thêm cả mấy ngôn ngữ kia, vì:

GIẢ SỬ LÀ BẠN KHÔNG THEO CON ĐƯỜNG NGHIÊN CỨU (ví dụ vào viện nào đó làm nghiên cứu về IT ...) MÀ CÓ Ý ĐỊNH HỌC MỘT CÁCH THỰC DỤNG (99% người định học IT mà liên hệ với tôi là có mục đích như vậy) thì:
  1. Học lập trình web hoàn toàn cũng có thể mang lại tư duy lập trình. Tôi đồng ý là không có gốc vững thì không thể có ngọn tốt, nhưng lập trình web vẫn có thể mang lại tư duy lập trình tốt và vẫn có thể mang lại cái gốc tốt, rất nhiều bạn tôi học lập trình web trước mà vẫn giỏi (đa phần giới CNTT trong đó có tôi thừa nhận các bạn đó giỏi, bằng chứng là có cả những bạn từng viết cả sách về lập trình iOS tiếng Anh, cụ thể là quyển này: http://www.amazon.com/Apps-Performance-Optimization-Professional-Apress/dp/1430237171 , cũng bắt đầu bằng việc học PHP trước)
  2. Học lập trình web hoàn toàn có thể học được về lập trình hướng đối tượng
  3. Học lập trình web dễ và thú vị hơn hơn hơn học lập trình C (thời gian để nắm được tư duy lập trình nhanh hơn)
  4. Học lập trình web sớm đi làm kiếm tiền được hơn
  5. Học lập trình web rồi học các ngôn ngữ lập trình khác cũng không muộn (giả sử sau này bạn nghĩ lại, muốn đổi sang con đường nghiên cứu, khả năng này rất thấp vì tôi chưa thấy ai đổi)
Nếu MỚI học web thì cũng chỉ cần làm được cái web tốt cỡ bằng 1/10 cái Wordpress và không dùng OOP là tôi thấy cũng tốt và phục bạn lắm rồi. Và cái gọi là DRY ít ai nhắc đến nhưng tôi thấy đang quan tâm hơn OOP (nó còn đẻ ra OOP)

Điều cuối cùng là nên nhớ: Học gì không quan trọng là học được bao tiếng/ngày, ví dụ thích mò mẫm giải thuật thì cứ C/Java mà phang, còn thích thấy kết quả, hiệu ứng này nọ thì php/javascript. Chọn cái nào mà bạn học dc 8-10h/ngày ấy, tức là cái nào với bản thân mình nó dễ học trước, dễ hiểu, dễ thấy ứng dụng, tạo ưa thích. Đừng chạy theo thiên hạ nếu mình có năng khiếu và sở thích riêng.

Trường hợp nào thì ta nên học C trước? Đó là khi bạn dự định học về Khoa Học Máy Tính (Computer Science, gọi tắt là CS). Cái này thì rảnh tôi sẽ phân tích tại sao, nhưng cũng cần biết là đa số học sinh liên hệ tôi để học ở http://hoctudau.com/ thì đều không cần học C trước vì:

- Nếu họ quan tâm đến CS thì họ đã học C trước khi học ở hoctudau.com
- Nếu họ không quan tâm đến CS (ví dụ họ là dân ngoài ngành muốn học PHP để làm web chẳng hạn) thì họ cũng cần gì học C cho lâu hơn?

Tóm lại là người cần học C thì đã học rồi, còn người chưa học C thì lại không cần học.

Việc các trường Đại Học và các trung tâm như Aptech dậy C trước theo tôi là hoàn toàn hợp lý, vì họ xác định dậy học cho những người sẽ theo nghiệp lập trình cả đời. C là một nền móng vững chắc phải trải qua. Nên nếu bạn định theo nghiệp IT cả đời thì nên nắm vững C và học C trước là lựa chọn không tồi, còn muốn nhanh chóng có tiền và muốn học qua các dự án thực trước (một cách học rất hay) thì nên học lập trình web.

Kết luận cuối cùng: Nên học theo thứ tự HTML, CSS, Javascript, PHP, MySQL, C

Lý do:
  • Nên học JS vì nó minh họa thuật toán rất trực quan và dễ hiểu, ví dụ: http://www.youtube.com/watch?v=NE1kguWYjAc và vì JS cũng sử dụng camelCase trong Naming Convention của nó, rất hợp khi bạn chuyển qua học Java
  • Phải học CSS trước khi học JS (vì phải hiểu HTML, CSS mới hiểu được JS)
  • Phải học HTML trước khi học CSS (vì CSS cần kiến thức HTML và cần chạy cùng HTML)
  • Nên học PHP sau khi học JS (thì có thể làm web luôn)
  • Nên học MySQL cùng PHP (thì mới làm web động có CSDL được)

0 nhận xét: