Tôi và lập trình
Cũng một thời gian dài, tôi chưa gõ một dòng code nào. Lí do bởi không biết phải gõ cái gì hoặc nếu có ý tưởng thì cũng không làm được...
Cũng một thời gian dài, tôi chưa gõ một dòng code nào. Lí do bởi không biết phải gõ cái gì hoặc nếu có ý tưởng thì cũng không làm được vì xa vời quá mức cho phép. Mới hồi hè còn làm cái Crawl Data cũng được mọi người nhận xét khá là hoành tráng mà giờ lại không biết làm cái chi hết.
Nhớ lại thời gian hơn một năm trước. Má mua cho cái laptop. Nó cũng tầm tầm chứ không xịn lắm. Ban đầu thì mục đích là chơi game. Nhưng khổ nỗi, wifi thì bắt trộm hàng xóm. Sử dụng Facebook thôi cũng là một khó khăn nói gì tới việc chơi game. Quanh đi quẩn lại cũng chỉ có thể "Nông trại vui vẻ", "Gunny". Mà mấy trò đó thì chơi đến phát ngán rồi.

Lướt Youtube cùng với một vài bản nhạc Rap của Eminem - những bản nhạc luôn cho tôi cảm giác hưng phấn, bỗng chợt nhớ đến ước mơ làm HACKER từ bấy lâu nay. Và từ khóa hiện lên trong đầu tôi lúc đó chính là "Python". Tôi nhớ nó vì lúc nhỏ, từng coi một TED Talk có liên quan đến việc lập trình, khi liệt kê các ngôn ngữ lập trình thì gồm có như C, C++, Java, Python. Lúc đó thì nghĩ đơn giản lắm, cái nào đứng cuối là đẳng cấp giống như việc siêu nhân nào mạnh thì hay ra sau. Ngay lập tức liền tìm kiếm trên Youtube: "Học lập trình Python cơ bản" và thứ mà tôi thấy chắc nhiều người cũng từng thấy. Đó chính là một series lập trình Python cơ bản do anh Lê Trần Đạt bên Daynhauhoc.com thực hiện.
Cũng như bao nhiêu người tự học lập trình khác, tôi coi các video, sau đó tự gõ lại các đoạn code. Nghiền ngẫm xem chỗ này làm cái gì, chỗ kia làm thế nào. Vừa học vừa tự làm một số chương trình đơn giản như hỏi tên hỏi tuổi người dùng. Sau đó xuất ra kết quả. Đơn giản là vậy, nhưng nó cũng giúp tôi có thêm niềm vui tiếp tục theo dõi series đó để rồi tôi nâng cấp dần những chương trình mình lên. Không chỉ đơn giản là nhập xuất nữa, khi biết được câu điều kiện if else, thì tôi đã có một chương trình "Ai là triệu phú" đơn giản trên màn hình console - một màn hình đen thui với những dòng chữ màu trắng.

Series đó thì vẫn chưa hoàn thành nốt, nên tôi đành phải tự học lên tiếp. Và khi không còn người hướng dẫn cộng thêm việc còn non nớt kinh nghiệm. Tôi đã tốn khá nhiều thời gian để có thể hiểu bài ở mức cơ bản. Cố gắng là thế, nhưng nhiều cái vẫn gian nan dã man. Nhiều kiến thức tôi không thể nào nuốt trôi. Cụ thể là lập trình hướng đối tượng - OOP. Và cũng vì điều đó, tôi tạm nghỉ học lập trình.
Trong thời gian đó, tôi cũng có tìm hiểu theo nhiều cái khác. Học Photoshop, học làm video và nhớ nhất là lúc nghịch ngu với Linux (tôi sẽ viết một bài kể về việc tôi đã nghịch Linux thế nào). Sau khi tọc mạch các thú không liên quan đến lập trình, cảm hứng lập trình bỗng nhiên trở lại. Tôi có thử tìm hiểu lại cái OOP của Python, kết quả vẫn không khá hơn mấy. Tôi đành kiếm một ngôn ngữ khác để học mong rằng nó sẽ giúp tôi có thêm kiến thức về lập trình để hiểu được cái khái niệm OOP đấy. Lúc đấy cũng không biết chọn ngôn ngữ nào, nghe người ta cứ đồn C ngon lắm, học C hiểu được nhiều thứ lắm. Thế là tôi chọn học luôn. Đời chẳng mấy như mơ, C không hề dễ dàng hơn Python như tôi thầm nghĩ. Thế là tôi lại phải tạm nghỉ học lập trình.
Và cũng sau một thời gian lại quay lại học lập trình. Lần này ngôn ngữ được chọn là HTML vì tôi muốn có một trang web riêng cho mình để còn hất mặt lên trời với mấy thằng bạn. Nắm bắt khá nhanh, tôi học thêm CSS. Tôi tự thử thách mình làm một cái giao diện. Còn nhớ một tối nọ, tôi đã ngồi code từ lúc ăn cơm tối tới tận 2h sáng để làm một cái giao diện giống như Facebook. Lúc đó, tôi mới thấu hiểu câu nói của thằng partner - một thằng tôi quen trên mạng: "Chừng nào mày code mà quên ăn quên ngủ thì mày mới thấy đã". Công nhận là "đã" thật.
Sau khi nghĩ rằng khả năng code HTML, CSS của mình cũng ổn rồi. Tôi tìm hiểu thêm xem nên học ngôn ngữ nào tiếp theo để có thể tạo nên một trang web. Chú voi PHP chính là thứ tôi tìm thấy. Series mà tôi chọn để học chính là series của Lưu Trường Hải Lân. Tôi khá thích series này, giới thiệu kiến thức kĩ càng, ví dụ hay, dễ hiểu. Và trong thời gian này, tôi không có cơ hội hỏi bài bất cứ ai hết nên nhờ đó kĩ năng "Google" của tối khá hơn rất rất nhiều. Hoàn thành mức cơ bản của PHP, tôi ngó thêm một chút về SQL nữa. Và tự tay xây cho mình một trang web trên localhost. Thấy thiếu cái gì học thêm cái đó. Web không có hiệu ứng, học Javascript. Khả năng code CSS còn tệ, học cách sử dụng Bootstrap. Javascript viết hơi dài, học dùng JQuery. Vừa học vừa tra. Bí quá thì đi hỏi. Và không biết tự bao giờ, tôi lại giỏi lên nhiều như thế. Những partners - một số người bạn tôi quen trên mạng ngày xưa kêu tôi không thể nào trở thành lập trình viên được giờ lại nhìn tôi với một cái nhìn khác. Trong quá trình học PHP, tôi cũng có gặp khái niệm hướng đối tượng OOP. Tuy vậy, nhờ một video của anh Khoa Phạm, tôi đã hiểu được bản chất vấn đề. Và sau này khi quay trở lại học Python, tôi cũng nắm hết mọi thứ.
Thích chơi Game, chọn Lập trình Game?
Lập trình Game (Game Developers) là nhà phát triển phần mềm game. Lập trình game có 2 nhánh ngành chính: front-end và back-end, đều có chức năng phát triển tính năng game. Để trở thành lập trình game, bạn sẽ cần học khối khoa học tự nhiên với các chuyên ngành như Khoa học máy tính, viễn thông, lập trình, CNTT, phần mềm.nguoitrongmuonnghe.com
Lập trình Game (Game Developers) là nhà phát triển phần mềm game. Lập trình game có 2 nhánh ngành chính: front-end và back-end, đều có chức năng phát triển tính năng game. Để trở thành lập trình game, bạn sẽ cần học khối khoa học tự nhiên với các chuyên ngành như Khoa học máy tính, viễn thông, lập trình, CNTT, phần mềm.nguoitrongmuonnghe.com
Làm web chán chê. Lại nghỉ học lập trình. Sau đó quay trở lại, và lần nay tôi quyết định học C. Khoảng hơn 1 tuần gì đấy, tôi nắm được kha khá thứ về ngôn ngữ này. Tôi tự mình viết một console game. Chắc nhiều bạn học C cũng từng làm đó chính là Snake Game. Mới đầu cũng làm đơn giản thôi. Có con rắn, chạy tới chạy lui ăn chiến lợi phẩm rồi cộng điểm, tăng tốc độ. Nhưng như vậy thì không có gì hay ho để khoe với mấy partners cho lắm. Tôi nâng cấp thêm vài thứ. Đầu tiên là một cái Menu console rất hoành tráng. Tôi cá với bạn là nó cực xin luôn. Tiếp đến, tôi dùng file để ghi điểm cao. Chưa dừng lại ở đó, tôi thiết kế 3 mode chơi. Mode đầu tiên thì chơi bình thường, rắn ăn táo. Khi nào ăn dính thân mình thì bật ngửa. Mode thứ hai là chiến dịch, hoàn thành map này qua map kia tới khi thắng thì thôi. Mode cuối cùng, thứ ba là tôi lấy ý tưởng từ slither. Tôi cho thêm các con rắn khác vào nữa. Đương nhiên tôi cũng thiết kế một cái thuật toán cho nó di chuyển, chứ không đứng im. Sau khi hoàn thành xong, tôi ngồi đếm lại số dòng code. "2050 dòng. Úi dời". Tôi tự tặc lưỡi khen mình bờ rồ.
Thời gian làm xong game console đó cũng là cuối năm học. Và chẳng mấy chốc hè đến, tôi cũng thư giãn vừa đi đánh điện tử, đó đây với mấy thằng bạn vừa code. Cũng làm được mấy chương trình đơn giản như một cái Terminal, một cái Meme Generator nhưng thành công hơn cả là một chương trình Crawl Data. Nó giúp bạn download một tập truyện trên một số trang web mà bạn muốn đọc. Từ một số gợi ý của một số anh trên diễn đàn Daynhauhoc, tôi cũng làm thêm chức năng download cả một bộ truyện và cũng làm thêm file HTML để đọc Offline dễ dàng hơn.
Năm nay lên lớp 12, thời gian chơi bời cũng ít dần huống gì tới thời gian dành cho việc coding. Sublime Text - phần mềm tôi dùng để viết code nay chả mấy khi dùng tới. Chắc để năm sau code bù.
Dù sao thì nhờ lập trình, tôi đã biết được nhiều thứ hay ho, não cũng nhăn đi phần nào. Tôi cũng đã quen biết, học hỏi được nhiều người giỏi để tử đó thấy mình nhỏ bé mà phấn đầu. Và nếu như bạn, một người chưa từng học lập trình. Mình khuyên bạn nên học lập trình một lần trong đời và biết đâu những dòng code của bạn lại có thể thay đổi thế giới, giúp trở nên tuyệt vời hơn?


Người trong muôn nghề
/nguoi-trong-muon-nghe
Bài viết nổi bật khác
- Hot nhất
- Mới nhất

Bacon
^ đại học năm cuối code như cựt đây :)) mình thấy là đi học ở trường cũng học OOP, cũng học java, cũng học C, nma bài giao về thì google là chính chứ chả đâu xa. Tự học thì tự ấm vào thân thôi. Chúc bác gắn bó với niềm đam mê này nhé xD
- Báo cáo

Henry
Mới đầu nhiều bài em cũng đâu biết giải đâu. Google copy code xong về đọc. Chạy xong lại vỗ ngực "úi dời, đơn giản".
Em thấy, nếu mà bí khoảng 2 tiếng thì ta nên tra G coi cách giải. Xong rồi tự code lại. Mưa dầm thấm lâu. Sau này gặp bài mới là tự nghĩ ra cách giải liền.
Code nhiều giúp mình nhớ các phương thức của nó nữa. Sử dụng linh hoạt
- Báo cáo

loveless

Tôi cũng từng chơi gunny đây, cũng từng học và tự học lập trình đây. Và bây giờ làm anh hùng bàn phím dạo :))
- Báo cáo

Henry
Em còn ăn bám chứ hơn ai đâu
- Báo cáo
silverhand03
lay hoay với JS mà sml
tuổi trẻ tài cao, khâm phục khâm phục

- Báo cáo

Henry
Em học JS thì chỉ thiếu cái gì học nấy thôi. Theo em nghĩ, học JS thì nên coi các tutorial về làm mấy cái hay ho ấy. Như "Coding Train". Sau đó đọc thêm nhiều source trên Github tại trên đó share nhiều lắm. Nhiều cái của họ làm hay lắm, mình về mình copy rồi edit thêm vài chỗ theo ý mình. Sau này nếu có làm cái làm rồi, ta cũng chỉ copy lại
- Báo cáo

James H
Cũng từng chơi gunny đây, đang học python, mà chua quá :3
- Báo cáo

Henry
Python không khó. Thật đấy, bạn chỉ cần hiểu sơ cái OOP coi như bạn nắm được core của Python rồi. Sau đó bạn code nhiều để nhớ hết API (các phương thức, các thư viện) là trở thành bậc thầy "Xà ngữ" luôn
- Báo cáo

Alfred Alfie
Python k phải là OOP đâu em, nó là FP thì đúng hơn. Muốn học OOP và hiểu rõ bản chất của nó thì theo a nên học Java thì tốt hơn. Còn các ngôn ngữ kiểu 'scripting language' nhiều cái hơi dị, nên tìm người dạy để hiểu rõ hơn
- Báo cáo

Henry
Em cũng hiểu điều đó. Do đó em mới nhận xét rằng chỉ cần hiểu sơ OOP là nắm được OOP của Python. Còn về việc nắm vững OOP thì Java đúng là một trong những lựa chọn tuyệt vời nhất.
- Báo cáo

anhthomi
Bác hay đấy, lúc trước tôi cũng học python, chỉ tiếc là không đến nơi chốn. Bỏ sau vài tuần. H đang học kinh tế :)))
- Báo cáo

Henry
Giờ cũng có thể học. Henry cũng quen một số người học For Fun thôi, nhưng lại giỏi lắm.
- Báo cáo