Mỗi chúng ta là một lập trình viên thiên bẩm

Trong cuộc sống, chúng ta phải xử lý rất nhiều tình huống lặp đi lặp lại và đôi lúc, gặp đúng sự việc đó diễn ra, chúng ta chỉ cần làm theo phản xạ, theo thói quen là đã giải quyết được rồi. Đó chính là lập trình đó các bạn ạ. Ví dụ: sáng sáng thức dậy, chúng ta đánh răng, làm vệ sinh buổi sáng, rồi ăn sáng, đi làm, về nhà, ăn tối, đánh răng và đi ngủ. Ngày nào cũng như vậy, đôi lúc ta làm việc đó chẳng cần suy nghĩ. Thực sự bạn đã lập trình cuộc sống của bạn rồi đó.

Mỗi người chúng ta là một lập trình viên thiên bẩm. Nhờ học hỏi, rèn luyện mà chúng ta giải quyết sự việc một cách thông minh hơn và biết cách tối ưu hóa, cũng như cải tiến chương trình hằng ngày của chúng ta khiến cho cuộc sống chúng ta thi vị hơn, đáng sống hơn. Ví dụ tuần làm việc 5 ngày, còn cuối tuần, chúng ta cũng lên kế hoạch nghỉ ngơi, du lịch, sáng mấy giờ dậy, đi đâu, chơi những trò chơi gì, gặp gỡ ai và chúng ta làm theo kế hoạch đó. Đó chính là lập trình đấy.



Thế thì sao có người thành công hơn, người giỏi hơn, giàu có hơn về khía cạnh này hay khía cạnh khác? Đó là họ đã lập ra kế hoạch tốt hơn, chương trình của họ chạy mượt mà hơn và ít gặp lỗi hơn. Họ đạt được các mục tiêu của kế hoạch đề ra và từ đó, họ thụ hưởng được phần thưởng do thành công của họ mang lại. Rất hiếm người thành công nào mà không có kế hoạch các bạn à. Cứ để bèo dạt mây trôi thì khó có thể nào thành công được.

Thế thì có liên quan gì đến việc lập trình máy vi tính ? Rất có liên quan các bạn à, chỉ khác một chỗ, lập trình trên máy vi tính là thì máy vi tính sẽ chính là người thực hiện kế hoạch do bạn lập ra. Điều đặc biệt là máy tính sẽ làm gần như chính xác trăm lần như một những gì bạn yêu cầu, công việc lặp đi lặp lại mà không hề than vãn. Việc lập trình chính là chuyển những công việc nhức đầu, phức tạp, và nhàm chán cho máy vi tính làm, để giành thời gian cho con người nghỉ ngơi, tập trung vào nâng cao giá trị của mình.


Video Bill gates giới thiệu về lập trình


Ngày nay, các quốc gia phát triển đều đẩy mạnh việc giảng dạy lập trình cho học sinh sinh viên từ lúc còn rất trẻ. Không phải ngẫu nhiên mà tổng thống Mỹ, Barack Obama đã thúc đẩy việc dạy và học lập trình cho trẻ em Mỹ từ rất sớm.


Tổng thống Obama nói về lập trình

Kế toán viên có cần lập trình không? Có đấy các bạn à. Mỗi khi bạn kế toán làm việc tính bảng lương trên Excel theo công thức cho 1 người, rồi bạn ấy copy công thức đó sang hàng khác cho 10, 100, hay thậm chí 1000 nhân viên khác. Thực chất đó là bạn ấy đã lập trình rồi đó.

Thư ký văn phòng có cần lập trình không ? Giám đốc bảo thư ký viết thư mời gửi cho 100 khách hàng thân thiết đến dự hội nghị. Người thư ký viết một bản thư mời với nội dung duy nhất sau đó chỉ chèn tên người nhận ở mục “Kính gửi: Ông/bà” bằng tên của từng người là xong. Nếu cô ấy biết dùng tính năng “mail merge” thì chỉ cần 1 vài thao tác thì khi in ra 100 bản giấy, sẽ có đúng 100 thư mời khác nhau, chính xác cho 100 người khách. Bạn thư ký đã lập trình một cách hoàn hảo rồi đó các bạn à.

Cầu thủ có phải là một lập trình viên không? Họ còn siêu hơn cả một kỹ sư phần mềm đó các bạn à. Khi bóng đến, họ dự đoán bằng cảm giác điểm rơi của bóng để quyết định xem là sút hay chuyền, dùng đầu hay bắt vô lê để đưa bóng vào gôn. Chương trình của cầu thủ nào tốt, thì anh ấy sẽ làm điều đó hết sức tự nhiên, phản xa trong tích tắc. Chứ không phải đợi bóng đến rồi mới xử lý. Đấy là một lập trình viên xuất sắc chính cho cơ thể của họ đó.

Chúng ta hay mơ tưởng, hay bị phim ảnh Hollywood làm thần tượng hóa, hay thậm chí bi kịch hóa việc lập trình như những việc nhức đầu, khó hiểu, cần phải biết nhiều về toán học, cấu trúc phức tạp. Thực tế, sau hơn 20 năm lập trình, tôi thấy rằng việc lập trình tự nhiên như hơi thở vậy, ai cũng có thể làm được, ai cũng có thể học được. Việc lập trình không là một “món quà” dành cho riêng ai.
Thế thì sao lập trình lại “khó vậy” chẳng qua là do cách tiếp cận và công cụ để sử dụng hơi xa lạ và phức tạp với các bạn thôi.



Cốt lõi vấn đề của lập trình là làm sao diễn đạt được ý muốn của mình cho máy tính hiểu. Cũng giống như bạn muốn nói cho người Anh hiểu được bạn muốn nói gì thì bạn phải dùng Tiếng Anh. Muốn máy tính làm theo lệnh của mình thì phải nói bằng ngôn ngữ máy để máy làm. Máy tính không hiểu Tiếng người ! May mắn thay, đã có những công cụ, chương trình giúp chúng ta làm công việc cực nhọc đó là chuyển ngôn ngữ cấp cao của con người thành ngôn ngữ mà máy tính hiểu. Ví dụ sau là một công cụ giúp các bạn lập trình (trang web code.org)


Tại sao chúng ta cần chương trình: để xử lý những việc lặp đi lặp lại một cách nhàm chán mà không cần phải suy nghĩ nữa. Khi sản xuất phát triển, tải công việc tăng cao, chúng ta cần chương trình để giảm tải cho con người. Khi đó chương trình xuất hiện như là 1 người giúp việc đắc lực cho ta. Nhiều công ty có những nhu cầu đặc biệt, khác lạ mà các chương trình hiện tại ngoài thị trường chưa có, họ sẽ thuê những đội ngũ phát triển phần mềm, để viết ra các chương trình để đáp ứng nhu cầu đó. Xã hội càng phát triển, càng có nhiều nhu cầu về chương trình phần mềm và lúc đó, lập trình viên sẽ là người giúp họ chuyển tải những việc nặng nhọc, nhàm chán đó cho máy tính. Từ đó giúp năng suất tăng cao hơn và tăng chất lượng cuộc sống lên.

Thế thì học lập trình từ khi nào là tốt nhất ? Xin thưa là bạn có thể bắt đầu bất cứ khi nào, bất cứ ở đâu và bất cứ ở độ tuổi nào (*). Đối với trẻ nhỏ dưới 6 tuổi, chưa cần phải dụng tới máy vi tính, vì lúc đó trẻ chỉ cần lập trình cho cơ thể biết xử lý những tình huống đời thường trong cuộc sống là thành công rồi. Bắt đầu từ 6 tuổi trở đi, con người chúng ta đã phải xử lý nhiều tình huống lặp đi lặp lại với độ phức tạp tăng dần. Lúc đó ta đã có thể tiếp cận được với lập trình rồi. Trong cuộc sống, ai mà không phải lập trình các bạn à.

Nên bắt đầu học ngôn ngữ lập trình nào, học với ai ? Việc học tư duy lập trình là quan trọng nhất, ngôn ngữ lập trình chỉ là phương tiện. Bạn có thể viết một chương trình phức tạp mà không cần phải biết ngôn ngữ lập trình nào cả. Chỉ diễn đạt bằng các khối Logic là được. Bạn có thể học lập trình với Bill Gates, Mark Zuckenberg, hay với ngôi sao bóng rổ Michale Jordan trên trang http://code.org.


Tất nhiên, tuyệt vời nhất là các bạn có bạn đồng hành tốt, có thầy giáo hướng dẫn, định hướng, và khai tâm ngay từ đầu để có thể bớt thời gian mày mò, dò dẫm. Điều đặc biệt là giúp đỡ khi chương trình không chạy như ý muốn, hoặc bạn không biết phải chuyển tải ý nghĩ của mình sao cho máy tính hiểu. Lúc đó, vai trò của người thầy là đặc biệt quan trọng.

Trong năm học này, tôi dạy nhiều lớp lập trình từ cơ bản đến nâng cao, đại học, và cao học. Tôi sẽ lần lượt chia sẻ với các bạn gần xa với mong muốn là thúc đẩy cộng đồng lập trình ngày càng đông, càng tiết kiệm được công sức của các bạn càng nhiều càng tốt. Thay vì phải tốn cả buổi sáng làm việc nhàm chán thì bạn mất một tiếng để chuẩn bị và sau đó để máy tính xử lý công việc của mình và dành thời gian còn lại thưởng thức một tách cafe trong tiếng nhạc du dương mà tiến độ công việc vẫn đảm bảo.

Hãy nhớ rằng mỗi chúng ta là một lập trình viên thiên bẩm. Hãy biến tài năng thiên bẩm đó thành kỹ năng và truyền cảm hứng cho máy vi tính làm việc đó thay chúng ta !



Nhận xét