Tổng số lượt xem trang

Thứ Tư, 5 tháng 4, 2017

CNTT LÀ GÌ THẾ?


SUY NGHĨ LUNG TUNG LANG TANG

CÔNG NGHỆ THÔNG TIN (IT) LÀ GÌ THẾ?

Bạn có biết là : Ngành thời thượng bây giờ là ngành Công Nghệ Thông tin (CNTT) không, từ này dịch từ Information Technology, tắt là IT? "Công quả" của ngành IT là phần mềm (software), một loại chương trình mà máy tính sẽ dùng thực hiện một việc gì đó như theo ý đồ. Chắc bạn không hiểu phần mềm là "cái mẹ" gì, nhưng thường người ta đọc từ này với tất cả thành kính giống như trước Chúa hoặc trước đức Phật... Và bạn chả biết gì về phần mềm nhưng bạn vẫn nghĩ đến nó một lòng kính nể. Và trong thực tế, nếu bạn có con cái thì chắc là bạn sẽ hối thúc chúng học ngành IT và chã hiểu mô tê gì về IT, về CNTT.

Chỉ ở VN người ta hằng năm NN cho tỗ chức thi tài năng tin học trẽ. Người ta bắt chước Silicon Valley ỡ Mỹ cho thành lập Công viên Phần Mềm Quang Trung, hoặc Silicon Center ở Thủ Thiêm, TP HCM hoặc Hòa Lạc ở miền Bắc. Vì sao thế?...

Chẵng qua là đa số đại gia thế giới đều thuộc về ngành CNTT, và là ở Mỹ, như Bill Gates, Mark Zuckenberg.... Tâm lý bây giờ là: muốn làm giàu nhanh thì bắt chước Mỹ học IT và bây giờ phần lớn các công ty khởi nghiệp (start up) là thuộc ngành IT. Và ai muốn đi vào CM 4.0 thì phải biết IT.

Các bạn có biết không :

Vào những năm 1961, ở Mỹ ngành CNTT được mang tên Electronic Data Processing, gọi tắt là EDP. Trước khi có những máy EDP thì IBM có những máy xữ lý kế toán đặt cho tên Electronic Mechanical Accounting (EMA) mà miền Nam VN trước 1950 IBM đã nhập những máy EMA gọi bằng tiếng Việt Máy Điện Cơ Kế toán. Qua năm 1961, miền Nam VN, thông qua công ty IBM Việt Nam, 26 Lý Tự Trọng, quận 1, Tp HCM, đã cho nhập máy EDP đầu tiên, IBM 1401 được đặt ở Nha Ngân Sách và Ngoại Viện ở Sai Gon, (đường Hồng Thập Tự, trước công viên Tao Đàn) mà chúng tôi gọi là Máy Điện Toán. Qua 1965, khi OGT về VN làm việc cho IBM Việt Nam, thì IBM cho nhập máy điện toán IBM 360/20 và IBM 370/40, thuộc loại tính cỡ lớn (mainframe). Khi chiến tranh VN kết thúc vào 30/4/1975, thì miền Nam VN có khoảng 23 máy điện toán IBM 360, IBM 370 tối tân nhất chạy vớ ngôn ngữ lập trình RPG 2. Một khối chiến lợi phẫm lớn kinh khũng mà các nhà toán học miền Bắc đã tiếp quản, nhưng vì dốt không biết sữ dụng đề cho nát bét theo thời gian, chỉ trừ máy tính của OGT tại BGI được tiếp tục sữ dụng cho đến 1996.

Nói cách khác: trước khi có từ IT, thì đã có từ EDP, nghĩa là Máy Xữ lý Thông tin Điện tữ. Theo OGT, từ CNTT không nói lên thực chất ngành xữ lý dữ liệu (data processing). IT nó giống như những thiết bị trong các công đoạn sản xuất của ngành chế biến thực phẩm không hơn không kém.

Bây giờ ta thử nhìn lại sự việc : Bạn nói bạn học lập trình (programming). Trước năm OGT gọi nghề này là "thảo chương viên" nghĩa là viết những câu lệnh hình thành một chương trình cho phép máy xữ lý thông tin (XLTT). Thực chất, bạn lập trình viên (hay thảo chương viên) chẵng qua là một anh đầu bếp thực hiện một món ăn náo đó. Nguyên lý duy nhất của ngành XLTT là IPO, tắt cụm từ Input-Processing-Output (Nhập liệu-Xữ lý-Kết xuất). Bây giờ ta thử lấy thí dụ bạn đòi bà má làm cho bạn và mấy người bạn một bữa bánh xèo. Output trong thí dụ này là bánh xèo, nước chấm, và dĩa rau sống. Như vậy bà má tính trước từ bao nhiêu bánh xèo, sẽ đi chợ mua bao nhiêu bột bánh, tôm, thịt ba rọi, mực, và các nguyên liệu làm nước chấm và rau sống chuối chất khế tỏi, v..v..Những vất liệu vừa kể trên là nguyên liệu, Input, cho việc đổ bánh xèo. Cuối cùng phần P (processing) là bí quyết (recipe) đổ bánh xéo. Bạn phải viết rõ ra theo từng bước: bước 1 làm gi, bước 2 làm gì, bước 3 là, gì..., bước n là ngưng. Mỗi bước chỉ làm một động tác duy nhất, xong rồi qua bước kế tiếp, ... Mỗi bước trong bí quyết đổ bánh xèo là một instruction (câu lệnh) trên chương trình. Như vậy, bạn thấy anh/chị lập trình viên không hơn không kém một anh đầu bếp. Phần mềm là bí quyết chế biến món ăn. Như vậy, theo bạn lập trình viên cũng chẵng hơn bà mẹ nội trợ hay một tên đầu bếp.

​Như bạn đã thấy là ngành lập trình chả hơn gì ông đầu bếp. Nếu bạn xữ lý thông tin, thì ông đầu bếp (hay bà má bạn) cũng xữ lý các nguyên liệu thực phẩm (thịt, gà, cá mú​, rau củ ...) thành những món ăn. Còn bạn thì XLTT từ những dữ liệu (data), thông tin (information) thành những dữ liếu/thông tin khác. Thí dụ: bạn lấy GIÁ ĐƠN VỊ nhân cho SỒ LƯỢNG để cho ra GIÁ TRỊ. Như vậy bạn thấy Giá trị x Số lượng = Giá trị có thể áp dụng cho một hóa đơn nhà hàng, hoặc cho một hóa đơn khách hàng, hoặc cho một xuất kho, ... Cái công thức kể trên (P x Q = V) theo nguyên lý IPO mà OGT đã kể trên các phần đi trước. P, Q là I, V là O, còn các dấu x, = là P. Nếu nhìn lại: tại kho hàng bạn XLTT gì thế; bạn tính số lượng tồn kho hoặc trị giá tồn dựa trên số lượng nhập hoặc xuất kèm theo giá đơn vị. Còn tại quỹ tiền mặt bạn đã làm gì: bạn tính tồn quỹ sau mỗi lần nhận tiền hoặc chi tiền... hay Công nợ Khách hàng, hay Công Nợ Nhà cung cấp bạn làm gì: tiền thanh toán hay tiền chi tiêu đều dùng công thức vừa kể trên. Nói tóm lại: ngành lập trình của bạn chả có chi là rắc rối so với ngành làm bếp.

Vui phải không bạn. Nếu anh bạn lập trình, KS tin học nào đó đọc câu chuyện này, sẽ bảo ôn là phá giá cái nghề cao thượng này thì ông xin lỗi nhé. Ông ở trong cái nghề này 54 năm rồi, nên phải thực lòng: đừng bảo người ta khâm phục cái hư vô của ngành của mình mà nên trở về thực tế.

Những ai chưa biết chi vể CNTT, mà ta gọi đơn giản là XLTT, thì nhân dịp này Ôn kể cho mà nghe. Theo nguyên lý duy nhất của XLTT như đã nói: IPO. Thì cã đời Bạn phải đi tìm, truy tìm dữ liệu nhập, phần I, để nhập vào các tập tin (dân miền Bắc gọi là 'tệp") cất đâu đó trên mây, mà người ta bây giờ gọi là cloud, rồi Big Data. Khi đã cất dữ liệu xong, Bạn đi tìm tổ chức nào, hoặc ai cần cần dữ liệu mà bạn đã lưu trữ để làm gì đó với nó. Rồi khi dữ liệu bạn cất trữ bị thay đổi thì phải lo đi tìm dữ liệu này, cho cập nhật (nghĩa là bỏ cái cũ thế cái mời) rồi cất trữ lại. Cuối cùng, bạn làm tổng hợp (recapitulation, gọi tắt recap). Thế là xong. Cuộc sống của bạn nằm trong mấy từ: READ, CALCULATE, WRITE, UPDATE, DELETE và RECAP. Mấy tay đầu bếp thì cũng chừng nớ từ gần giống giống như vậy: CHIÊN, XÀO, HẤP, LUỘC, KHO, NƯỚNG...Sao, có đúng như thế không các bạn. Đừng buồn nhé

Như ông dự đoán: có ông bạn BFB vào bảo ông rằng vì lý do gì ôn so sánh nghề IT (cao thượng) với nghề đầu bếp (thấp hèn). Ôn bảo : đơn giản là hai nghề cùng theo một nguyên lý IPO. Nếu bạn lượt qua mọi ngành nghề, bạn sẽ thấy vô số ngành nghề theo qui luật IPO rất thông dụng này, mà ít ai chịu khó so sánh.

Như OGT đã nhắc: nhiều người cho rằng ngành IT là ngành rất "cao thượng" nên phải được trả lương cao. Nhưng khi hỏi: cao thượng ở chỗ nào thì họ không trã lời được, ngoài việc dân IT phải coding cực nhọc lắm. Và khi hỏi coding là gì, thì họ trã lời: coding là coding, coding khó nhọc lắm.

Vì là người trong nghề, nên Ôn xin giãi thích cho cặn kẽ. Coding, coder mà bạn thấy quảng cáo tuyển người IT là ngành lập trình viên chuyên "Mã hoá" các lệnh chương trình theo một ngôn ngữ lập trình tin học nào đó. Máy tính hoạt động theo ngôn ngữ máy (machine language), chỉ gồm hai con số 0 và 1. Người ta viết chương trình theo một ngôn ngữ tượng trưng (symbolic language) dùng tiếng Anh. Thời khai thiên lập địa ngành IT, ngôn ngữ tượng trưng mà OGT phãi học viết khi vào làm cho IBM là ngôn ngữ Autocoder, còn gọi là ngôn ngữ hợp ngữ (assembly language). Bạn viết chương trình vào thời sơ khai bằng autoder, rất khó viết nhưng phải viết, mà máy tính thì chỉ biết ngôn ngữ thuần tuý của nó. Bạn ở trong tình trạng bạn biết tiếng Việt, mà người bạn muốn nói chuyện lại chỉ biết tiếng Anh. Phải làm sao đây? Đơn giản là bạn phải tìm một câu thông ngôn, hay thông dịch viên giúp bạn nói chuyện. Còn trong IT, thì bạn có một loại phần mềm gọi là interpreter (trình thông dịch) hoặc một compiler (trình biên dịch), nghĩa là compiler lấy chương trình assembly của bạn (gọi là source code) viết ra chuyễn thành chương trình ngôn ngữ máy tính (gọi là object deck) rồi cho máy tính đọc object deck mà thi hành như theo mong muốn của bạn. Thường thì bạn viết sai không bao nhiêu lần, rồi phải coding lại, rồi compiling lại, rổi cho máy chạy lại, rồi xem lại có sai hay không... cứ thế mà làm : sai, coding lại, biên dịch, trắc nghiệm (testing). Nói tóm lại cái chu kỳ ma quái trên làm cho cái nghề của bạn nó khó, và từ đó bạn tự phong là ngành cao thượng. Thế thôi.

Nhưng với thời gian, các ngôn ngữ lập trình đi từ sơ khai lên cao cấp làm cho việc coding ngày càng dễ dàng hơn. Tuy nhiên, các bài toán mà lập trình viên (LTV) phãi giãi quyết cũng theo thời gian đi từ dễ dàng lúc ban đầu trở nên khó khăn thêm. Cho nên tránh trời không khỏi nắng, ngôn ngữ lập trình ngày càng dễ dàng, thì bài toán mà máy phãi giãi quyết ngày càng mới mẽ, càng phức tạp phãi phân tích kỹ và giãi quyết càng khó. Như trong mọi ngành nghề. Thí dụ: theo OGT thì muốn giãi quyết vấn đề tham nhũng một cách toàn diện ở VN thì chỉ có thể dùng tin học để giãi quyết, nhưng phãi chế ra một cấu trúc dữ liệu chưa tìm thấy trên thị trường để giãi quyết vấn đề. OGT đã trình bày cách giãi quyết trên blog của OGT, mà hình như người ta không dám thực hiên: người ta chưa làm mà đã kêu là khó.

Bây giờ, ta trở lại vấn đề chủ chốt: CNTT là gì? CNTT là IT là information technology. Nghe cho oai mà thôi, vì rằng IT gồm 2 phần: phần hồn và phần xác. Nói chính xác: phần hồn của IT là phần mềm (software) còn phần xác của IT là phần cứng (hardware). Do đó, phần công nghệ liên quan đến phần cứng máy tính, phần truyền thông, phần internet, phần clouding thì được xem như là phần xác của CNTT. Còn những phần mềm quản lý xí nghiệp, quản lý hành chánh, quản lỹ xã hội là thuộc xữ lý thông tin hay xữ lý dữ liệu. Có thể xem là phần hồn của CNTT. Do đó, CNTT có 2 ưu tư, ưu tư phần xác không dính dáng nhiều cho lắm với phần hồn, và ngược lại. Cho nên ở VN cho Tin học một phần nằm ở bộ Khoa Học Kỹ thuật, một phần ở bộ CNTT là một sai lầm rất lớn.

Bây giờ, ta đi sâu vào XLTT, phần hồn của CNTT. Hiện dân ta coi trọng cái ngành này lắm, oai lắm, và được trọng vọng lắm. Nhưng khi nhìn kỹ, thì ngành này chã có chi mà hãnh diện, mà trọng vọng. Nó bình thường như mọi ngành nghề khác: phãi học kỹ và thực hành chính xác.

Con người ta từ khi ra đời cho đến khi chết, XLTT bằng cái đầu và tứ chi là chính. Nhưng từ khi có cái máy tính từ 1960 trở đi, thì con người chuyễn dần việc XLTT bằng tay qua máy tính, bắt đầu từ việc làm kế toán, qua làm lương, rồi làm kế toán tồn kho, rồi kế toán công nợ khách hàng, nhà cung cấp, rồi qũy tiền mặt ngân hàng, cuối cùng làm giá thành (cost Accounting). Nghĩa là trước kia con người làm gì bằng tay bằng đầu liên quan đến thông tin dữ liệu, trong quản trị xí nghiệp, trong quản lý hành chánh xã hội, thì LTV phãi viết chương trình làm thế nào kết quả y chang như con người đã làm ra. Như vậy dân LTV chẵng qua là anh thông ngôn giữa con người và máy tính không hơn không kém. Như vậy có chi mà hãnh diện, bắt người khác phãi trọng vọng mình, phải không bà con.

Ng​ười ta, ở Âu Mỹ, từ 1961 đến 2016, trên 55 năm đã chuyễn dần việc xữ lý thông tin bằng tay qua làm bằng máy tính. Trước đây trong phòng kế toán không biết bao nhiêu là kế toán viên, nay chỉ còn một điều hành viên (operator) chương trình. Nói tóm lại, mọi xữ lý thông tin trong các xí nghiệp, trong các cơ quan hành chánh, kinh tế tài chính​, xã hội trước đây làm bắng tay nay đều được làm bằng máy tính. Ở Âu Mỹ người ta gọi là người ta làm xong CM 3.0. Ở VN thì người ta đang loay hoay. Công ty IBM World Trade năm vừa rồi kỹ niệm 50 năm ngày ra đới máy tính mainframe mang tên IBM 360/370, năm 1965. Năm 1964, OGT là người làm việc cho IBM France, đã nhập máy IBM 360 cho bộ TTM Quân lực VNCH để quản lý quân đội VNCH. Nói tóm lại, có nhiều xí nghiệp ở Mỹ vẫn còn dùng những mainframe IBM 360 dùng ngôn ngữ lập trình RPG 2 không thay đổi suốt 50 năm.

Như vậy, ngành IT mà người ta huênh hoang trước mặt bạn, chẵng qua là việc XLTT, nghĩa là chuyễn ngữ việc XLTT bắng tay bắng đầu qua XLTT bằng máy tính, dựa theo một ngôn ngữ lập trình cao cấp hơn so với assembly lúc bàn đầu. Nay CM 3.0 đã kết thúc khi việc XLTT bằng tay từ người chuyễn qua máy tính.

Bây giờ CM 4.0 bắt đầu, và người ta dựa phần lớn trên dữ liệu đã tích lũy từ CM 3.0 mà ta gọi là BIG DATA. Và cái khó bây giờ là những ứng dụng của CM 4.0 thường không có khuôn mẫu như trước đây ở CM 3.0. LTV CM 4.0 phải có đầu óc sáng tạo chứ không đơn giản chuyển thể từ bắng tay qua bằng máy như trong CM 3.0. Do đó, LTV VN trong tình hình hiện nay cùng trình độ kiến thức với LTV Âu Mỹ không hơn không thua gì cả, và chã học được từ ai cả, để thực hiện CM 4.0.

Tới đây, ông kết thúc giãi thích thế nào là CNTT là gì? Chỉ từ đây trở đi bạn phãi chứng tõ bạn là người ta kính trọng vì sự đóng góp thực sự của bạn chứ không phãi là đồ huyễn hoặc. Hy vọng là các bạn đừng giận Ông đã nói lên sự thật về CNTT.

Dương Quang Thiện 5/4/2017

Không có nhận xét nào:

Đăng nhận xét