Sunday, September 10, 2017

Học lập trình có cần giỏi toán ?

Nhiều bạn muốn đi học lập trình nhưng ngại mình không giỏi toán lắm, không biết có học được không ?

Nói luôn là lập trình không giống toán, nó là ngôn ngữ cho máy tính nên giống ngoại ngữ hơn.
Với toán, cách xử lý vấn đề là dùng các công thức, biểu mẫu để tính toán, biến đổi về các dạng quen thuộc để có kết quả. Tức là sẽ luôn có các bài toán mới mà trong đó cần đến các kiểu biến đổi mà bạn cần học mới làm được. Dù bạn giỏi toán đến đâu, luôn có các bài toán đối với bạn là khó. Dù bạn nhớ được hết các công thức, bạn có thể vẫn không giải được bài toán rất bình thường nhưng nó là dạng mới chẳng hạn.
Lập trình không như vậy, nó là ngôn ngữ nên có hữu hạn các cú pháp, các qui tắc, thao tác để học. Một khi đã nắm được cơ bản, bạn luôn có thể nghĩ ra cách làm nào đó.
Bạn phải tuân theo các bước nhất định, hiếm khi phát sinh các yêu cầu xử lý mới đến mức bạn không thể tìm đâu ra lời giải như với các bài toán khó. Các thao tác khi làm ứng dụng đều giống nhau. Đưa chữ ra màn hình, đưa hình ảnh ra màn hình, chỉnh cỡ chữ, tô màu nọ màu kia. Đó là thao tác như thợ sắp chữ chứ không phải là suy nghĩ tính toán.
Nên nhiều khi người ta gọi các lập trình viên là “công nhân lập trình”. Họ có nghĩ gì đâu, cứ làm đi làm lại các thao tác đã quen tay thôi. Các Freelancer, tức những người làm nghề lập trình tự do có khi gọi công việc của họ là “code dạo”, cứ thấy việc ở đâu thì làm ở đó.
Vậy lập trình có điểm nào giống toán không ?
Có, đó là tư duy logic, tất nhiên. Bạn không thể chỉ có các thao tác như thợ sắp chữ. Sẽ có lúc phải nghĩ rất nhiều. Nhất là khi mới học. Giả dụ như cần phải xem trong mảng 100 phần tử có số nào bị âm không chẳng hạn. Bạn phải nghĩ ra đoạn code để chạy kiểm tra, và trông nó sẽ như sau:
int kiemtra=0;
for(int i=0;i<100;i++){
if(array[i]<0){
kiemtra=1;
}
}
Khi mới học luôn có những chỗ phải tự nghĩ như thế này. Và nó không hề khó như một bài toán có dấu sao.Bởi vì lúc học bạn đã gặp những thứ tương tự, khi làm bạn chỉ việc thay đổi cú pháp một chút là được. Không có các thứ kiểu như vẫn là giải hệ phương trình nhưng người ta chỉ đổi đi một tý là bạn không thể làm được.
Sau khi học được lập trình, bạn sẽ thấy toán quả thực là khó hơn. Những người giỏi toán rất ít. Học toán không phải cứ cố mà được. Toán không thể dạy cho người từ không biết gì chỉ sau 6 tháng là thành giỏi được.
Nhưng lập trình thì có thể. Nếu cố gắng ai cũng học được. Sau 6 tháng nếu không giỏi thì ít ra bạn cũng thấy rằng mình khá hơn mình tưởng. Ai cũng nghĩ ra được cái gì đó hay ho, các dòng code chả thiên vị ai hết.
Nếu giỏi toán, bạn chắc chắn sẽ học lập trình nhanh hơn những người khác. Còn nếu bạn học khối C, chỉ biết có Văn, Sử, Địa thì cũng không sao. Hãy nghĩ tới môn ngoại ngữ với danh từ, động từ, các câu mẫu ngữ pháp. Lập trình cũng tương tự như vậy.

No comments:

Post a Comment