cái này tui sưu tầm bên VB, cũng hay nên post cho mọi người xem:
<!--QuoteBegin-"ajax"+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE ("ajax")</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->PHƯƠNG PHÁP HỌC LẬP TRÌNH HIỆU QUẢ
Các ngôn ngữ lập trình ra đời và lỗi thời nhanh một cách đáng kinh ngạc trong ngành Khoa học máy tính. Các ngôn ngữ lập trình mới hơn thường chứa đựng những quy tắc khác nhau làm mọi người cũng phải thường xuyên thay đổi cách dùng các công cụ cũng như thay đổi thói quen lập trình. Nhưng việc học một ngôn ngữ lập trình mới để cung cấp thêm kiến thức cho nghề nghiệp của mình cũng là một nhu cầu chính đáng.
Trước khi học một ngôn ngữ mới, bạn thường đặt ra câu hỏi : “Làm sao để học ngôn ngữ lập trình này một cách hiệu quả ?”. Sau đây là một vài gợi ý nhỏ có thể giúp bạn dễ dàng hơn trong việc học ngôn ngữ lập trình.
1- Nắm vững các kiểu dữ liệu cơ bản mà ngôn ngữ lập trình cung cấp :
Hầu hết các ngôn ngữ đều cung cấp kiểu số nguyên integer. Bạn nên tìm hiểu thế nào là long integer hoặc short integer ? Thế nào là kiểu liệt kê (enumerated) ? Thế nào là kiểu ký tự (character), kiểu chuỗi (string) ? Ngôn ngữ có hỗ trợ kiểu số thực dấu chấm động hay không ? Và tầm giá trị của mỗi kiểu dữ liệu là bao nhiêu ?
Và khi ngôn ngữ đó không hỗ trợ kiểu dữ liệu mà bạn cần sử dụng thì tốt hơn bạn nên chuyển sang một ngôn ngữ khác.
2- Nắm vững cấu trúc dữ liệu cơ bản được ngôn ngữ cung cấp :
Chẳng hạn Pascal có cấu trúc mảng (array), Lisp có thể thao tác dễ dàng với cấu trúc danh sách (list), còn Java thì có thể làm việc với các lớp và các giao tiếp...
Và những vấn đề bạn nghĩ trong đầu cuối cùng phải được biểu diễn bằng các kiểu dữ liệu mà ngôn ngữ cung cấp, việc hiểu rõ mối quan hệ giữa chúng chính là nền tảng để giải quyết vấn đề.
3- Ngôn ngữ cung cấp những toán tử dựng sẵn nào ?
Ví dụ : Prolog xem tìm kiếm là một thao tác cơ bản, Snobol xem thao tác đối sánh mẫu trên các chuỗi (string pattern matching) là một toán tử cơ sở, các ngôn ngữ hàm (ML, Haskell) cho phép bạn tạo ra một giá trị mới nhưng không làm thay đổi cấu trúc hiện tại, APL cung cấp các toán tử ma trận....
Danh sách các toán tử dựng sẵn của một ngôn ngữ sẽ cho ta biết những vấn đề mà các chuyên gia thiết kế ngôn ngữ đó cho là quan trọng nhất.
4- Nắm vững loại vấn đề mà ngôn ngữ đó có thể trợ giúp giải quyết :
Các ngôn ngữ thường được phát triển vì một lý do nào đó, thường là để giải quyết một loạt các vấn đề mang tính đặc trưng. Do đó, bạn nên cố gắng nắm rõ những chức năng đặc trưng của ngôn ngữ để giải quyết vấn đề. đồng thời cũng nên tìm hiểu tại sao cùng một vấn đề nhưng nếu giải quyết bằng ngôn ngữ này thì dễ dàng hơn nhiều nếu dùng dùng ngôn ngữ khác.
5- Tìm hiểu những thư viện có sẵn trong ngôn ngữ :
Các ngôn ngữ thường có các thư viện do nhiều người dùng đã phát triển để giải quyết những vấn đề khác nhau, bạn co thể sử dụng lại để giải quyết những vấn đề mới.
Smalltalk có một thư viện đồ sộ với lượng mã luôn sẵn sàng cho người lập trình sử dụng. C++ với thư viện chuẩn STL chứa nhiều cấu trúc dữ liệu thường dùng. Java có các thư viện cung cấp các tác vụ về mạng. Bạn hãy cố gắng tìm và sẽ thấy những gì cần thiết đã sẵn có.
[6- Hãy học hỏi, mô phỏng lại :
Bắt đầu với việc mô phỏng lại các chương trình sẵn có. Phải làm cho chúng có thể hoạt động trên hệ thống của bạn, bởi vì hệ thống mà nó được phát triển có thể không giống với hệ thống của bạn. Và khi bạn có thể làm cho nó họat động tốt trên hệ thống của mình cũng tức là bạn đã hiểu rõ về nó.
Học các chương trình để hình dung được các tính năng khác nhau của ngôn ngữ.
7- Hãy thử nghiệm và rút ra kết luận :
Khi bạn đã có một vài chương trình đã có thể chạy tốt, bạn hãy thử nghiệm bằng cách tạo ra một vài sự thay đổi. Bạn có thể lấy ra một chương trình và sửa lại nó để giải quyết một vấn đề khác tương tự như vấn đề ban đầu của chương trình được giải quyết không ? Bạn có thể lấy một phần nhỏ của chương trình đã có và diễn đạt lại bằng cách khác không ?
8- Hiện thực lại các vấn đề đã hiểu rõ bằng một ngôn ngữ mới :
Lấy một vài chương trình đã được viết trong một ngôn ngữ rồi cố gắng viết lại chúng trong ngôn ngữ mới. Không nên dịch từng câu lệnh sang ngôn ngữ mới và hãy xem xét những tính năng đặc trưng nào của ngôn ngữ mới có thể dùng để giải quyết vấn đề. Cẩn thận xem xét những vấn đề nầo dễ dàng thực hiện trong ngôn ngữ mới và những vấn đề nào thực hiện khó khăn hơn. (chương trình truyền thống đầu tiên thường là chương trình in ra màn hình chuỗi "Hello World").
Tóm lại, ngôn ngữ chỉ là công cụ, cái quan trọng chính là thuật tóan để giải quyết vấn đề. Chuyển từ thuật toán sang ngôn ngữ lập trình không khó khăn bằng nghĩ ra thuật toán để giải quyết vấn đề đó.[/b][/quote]