hn4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com
Full version available at http://4u.jcisio.com/r/article416.htm

Không rõ

Làm chủ công nghệ thông tin

Để làm chủ công nghệ thông tin, cần phải làm chủ 2 vấn đề sau:

1. Lập trình

a. Lập trình gốc

Là những chương trình được lập ra để điều khiển, chỉ huy máy tính phục vụ con người. Những người "lập trình gốc" là những người hiểu rõ thiết kế máy và mã lịnh của CPU. Họ viết ra những chương trình mà chúng ta gọi là ngôn ngữ máy tính cấp thấp hay cấp cao gì đó...Đây là khâu quan trọng nhất trong Tin học, phải có khâu nầy trước rồi mới có "công cụ lập trình" và "chương trình".

Người Mỹ không phải là người của hành tinh khác, nghĩa là họ cũng bình thường như chúng ta. Người Pháp, Đức, Nhật cũng không kém thông minh hơn người Mỹ. Vậy tại sao người Mỹ lại thống lĩnh trong công nghệ thông tin. Điều nầy rất đơn giản nếu chịu khó suy nghĩ 1 chút: Vì nước Mỹ quá mạnh trong kỹ thuật nên họ luôn luôn đi trước các nước khác về sản xuất phần cứng, do đó dẫn đến việc họ đi trước 1 bước về khâu "lập trình gốc" (còn ai "lập trình gốc" nhanh bằng chính những người thiết kế ra con CPU). Tất cả các ngôn ngữ cấp thấp cấp cao gì đó đều do người Mỹ (hay những người làm cho Mỹ) tạo ra và phần còn lại của những người khác hay các nước khác là dựa vào cái gốc đó để hình thành "cấu trúc thư mục của cây lập trình và chương trình". Như vậy, càng dở thì càng nằm xa cái gốc của cấu trúc cây nầy và luôn luôn lệ thuộc vào cấp trên mình (thư mục mẹ).

Như vậy muốn làm chủ khâu lập trình đòi hỏi chúng ta phải có được trình độ lập trình càng gần cái gốc của cấu trúc cây nầy càng tốt. Nhưng hiện nay, hình như sự phát triển của nền Tin học trong thành phố chúng ta lại đi càng ngày càng xa cái gốc.Chúng tôi rất bi quan cho mục đích làm chủ công nghệ thông tin nếu chúng ta không có biện pháp thay đổi tình trạng nầy.

Theo chúng tôi có 1 sai lầm rất lớn trong quan điểm dạy và học lập trình hiện nay. Đối với chúng tôi "lập trình" với đúng nghĩa của nó không phải là kiến thức "phổ cập theo kiểu xóa nạn mù chữ". Hễ đút đầu vô học vi tính là đè ra bắt học "lập trình", bất kể già trẻ bé lớn khôn ngu thích hay không thích.v..v...Chính quan niệm nầy đã khiến mọi người có cái nhìn lệch lạc về lập trình, không thấy được tầm quan trọng của "thứ bậc trong cấu trúc cây lập trình" và đẩy sự phát triển Tin học đi sai hướng. Chính chúng tôi đã từng chứng kiến những đứa bé vì bị bắt học lập trình theo ý người lớn mà đâm ra thù ghét máy tính và chúng tôi đã nhiều lần tự hỏi người ta hành hạ những đứa bé nầy như vậy để làm gì? Nó đâu thể học bây giờ rồi để dành vài ba năm sau sử dụng. Họ làm như học lập trình giống như là học Anh văn, càng nhỏ càng dễ học và cho dù 1 tỷ năm trôi qua thì chữ A vẫn là chữ A.

à! Mà cũng có thể người ta dùng những đứa bé nầy để làm chủ công nghệ thông tin cho thế giới biết tay con nít VN. Mấy người lớn học lập trình cả chục năm, đủ thứ học vị mà không làm chủ nổi công nghệ thông tin sẽ bị cho ra rìa.

b. Lập trình con, cháu , chắt...

Hay còn gọi là lập trình thứ cấp, càng nằm ở thứ bậc thấp thì nó càng dễ học và càng có tính phổ cập. Thí dụ bạn dạy cho 1 đứa con nít Visual Basic, nó sẽ khoái và học nhanh hơn là dạy Basic. Bạn học Visual C++ thích hơn và nhanh hơn học ngôn ngữ C. Cấp bậc của công cụ lập trình càng thấp thì nó tự động làm giùm bạn càng nhiều việc. Theo chúng tôi đoán, sau nầy sẽ có các công cụ lập trình thông minh đến mức: Bạn chỉ cần cho nó biết ý muốn của bạn. Nó sẽ tự động tạo ra 1 ứng dụng như ý cho bạn. Khoái không?

Như vậy, ranh giới giữa chương trình ứng dụng và các công cụ lập trình sẽ dần dần bị xóa bỏ. Cuối cùng chỉ còn lại "lập trình gốc" và ứng dụng. Tức là chỉ còn 2 hạng người sử dụng máy tính (không tính khâu phục vụ): Điều khiển và hưởng thụ. Điều khiển là những người lập trình và hưởng thụ là những người còn lại.

Lập trình thứ cấp lúc nào cũng lệ thuộc vào lập trình bậc trên nó. Thí dụ: Bạn dùng Visual Basic để viết ứng dụng tức là bạn lệ thuộc vào những người viết ra Visual Basic và những người viết ra Windows, những người nầy lại lệ thuộc vào những người viết ra ngôn ngữ mà họ dùng để viết Windows và cuối cùng là lệ thuộc vào mã lịnh của con CPU. Tương tự như vậy cho các công cụ lập trình khác.

Nói tóm lại, làm chủ công nghệ thông tin về mặt lập trình không phải là học bất cứ ngôn ngữ hay công cụ lập trình nào cũng được. Cũng không phải dạy lập trình theo kiểu phổ biến kiến thức (mỗi người biết một chút cho vui). Đã đến lúc chấm dứt ảo tưởng cho rằng chỉ có biết "lập trình" mới xứng đáng là dân tin học. Chúng tôi xin nói thẳng, nhìn vào số lượng và chất lượng chương trình ứng dụng do các Cty VN viết hiện nay, nhìn vào cách đào tạo và học lập trình hiện nay, coi chừng cái kế hoạch làm chủ công nghệ thông tin biến thành ảo tưởng luôn.

2. Phần cứng

Như trên đã nói, phần cứng là mắc xích đầu tiên của Tin học. Trình độ về phần cứng, theo chúng tôi cũng có cấu trúc cây như lập trình. Bạn hãy tưởng tượng đại khái gốc của cây nầy là con CPU, tẻ nhánh đi lên là các linh kiện khác tùy theo mức độ quan trọng và kỹ thuật thiết kế, chế tạo.

Người Mỹ nắm chắc phần gốc và giao phần còn lại cho mọi người. Chỉ cần họ thay đổi các gốc, thì phần còn lại của thế giới tự động xếp hàng chờ đến lượt thay đổi theo. Do nắm được cái gốc trong cấu trúc cây phần cứng và lập trình nên họ giữ địa vị thống trị và quyết định của việc phát triển công nghệ thông tin.

Muốn làm chủ công nghệ thông tin ngoài việc cố gắng đạt thứ bậc cao trong lập trình mà song song đó còn phải đạt 1 thứ bậc tương xứng trong việc thiết kế và chế tạo phần cứng. Thiếu 1 trong 2 cái nầy thì đừng hòng nói chuyện làm chủ công nghệ thông tin.

Cái hay của người Mỹ là họ đã kết hợp, điều phối nhuần nhuyễn mọi tiềm năng của họ để giữ vững địa vị thống lĩnh nầy. Bạn thử tưởng tượng việc trộn lẫn rồi chỉ huy, sắp đặt các thành phần phức tạp như: Hãng sản xuất, Phòng thí nghiệm, Viện nghiên cứu, Trường Đại học, Hãng kinh doanh, Thị trường...để phục vụ cho một mục đích. Quả thực, họ xứng đáng với vai trò thống lĩnh lắm chứ.

Nói như vậy không có nghĩa là chúng ta tự ty mà để cho các bạn thấy rằng: Cái gì cũng có giá phải trả. Không thể nói, vạch kế hoạch, hô hào suông là xong. Cần phải nhìn vào thực tế, tự lượng sức mình. Cần phải có chính sách, chiến lược cụ thể ngay từ đầu. Đừng đứng xem mọi chuyện diễn ra một cách tự phát như một khán giả để rồi sau nầy phải bỏ công sức sửa chữa những lệch lạc của nó trong khi mình không có nhiều công sức lo cho những chuyện khác. Bình thường, thời giờ là vàng bạc nhưng trong Tin học, thời giờ là kim cương.

Bây giờ xin bàn về mức độ quan trọng giữa 2 vấn đề nầy:

Trước đây và cho đến bây giờ, phần cứng luôn đi trước phần mềm. Sau khi thiết kế phần cứng, người ta mới dựa vào đây viết chương trình để điều khiển nó. Do đó, độc quyền về phần cứng tức là độc quyền về phần mềm. Hãng IBM là biểu hiện rõ nhất của nguyên lý nầy.

Kể từ khi thị trường máy PC trở nên khổng lồ và khoảng cách giữa máy tính lớn (Mainframe) và máy PC cứ càng ngày càng thu hẹp lại thì cái nguyên tắc nầy bắt đầu rung rinh, hiện nay nó đã có khuynh hướng đảo ngược lại ở một mức độ nào đó. Trong tương lai theo chúng tôi đoán là: Chính phần mềm sẽ bắt các hãng sản xuất chế tạo ra phần cứng chạy được nó. Phần mềm sẽ đi trước phần cứng và để tồn tại trong cạnh tranh, các hãng phần cứng phải đáp ứng yêu cầu của các hãng phần mềm chủ chốt. Hãng phần mềm nào chinh phục được người sử dụng, đáp ứng được mọi đòi hỏi đa dạng cũa người sử dụng sẽ giữ địa vị thống trị công nghệ thông tin trong tương lai.

Như chúng tôi đã nói trước đây: Bản chất con người là lười biếng và kẻ nào thỏa mãn được bản chất nầy cho mọi người thì sẽ chinh phục được mọi người. Theo quan điểm của chúng tôi, ngành khoa học có thể thỏa mãn bản chất lười biếng nầy cao nhất chính là Tin Học với cái được gọi là "siêu xa lộ thông tin" của nó và hãng phần mềm nào nắm được "siêu xa lộ thông tin" nầy sẽ làm bá chủ thế giới về mặt...(các bạn thử đoán xem?).


hainam4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com