Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: NNLT dùng để làm gì?

  1. #1
    Ngày gia nhập
    08 2017
    Bài viết
    4,085

    Mặc định NNLT dùng để làm gì?

    Ngôn ngữ lập trình (NNLT hay Programming language) dùng để làm gì?
    Từng tiếp xúc, thấy vài kỹ sư dùng c, pascal để viết chương trình kiểm tra gì đó trong công việc của họ, tôi thật lòng kính trọng.

    Tôi không chuyên về xi (c/c++), không hiểu được những ngóc ngách của nó, nhưng cũng đủ khả năng viết thư viện, DLL cho công việc hay trợ giúp một nhóm người dùng.

    Vấn đề tôi đặt ra ở đây dành cho những người đang học, dạy xi hay tìm hiểu khả năng của nó.
    NNLT cơ sở như c, pascal gần như ai cũng biết, nó được giới thiệu khi nhập môn; theo truyền thống sẽ sử dụng trên termial hay console window. Nó là di sản thời ASCII hay ANSI, nên nhiều IDE(trình soạn thảo) hay TBD(trình biên dịch) không hiểu, không hỗ trợ Utf, Unicode hay tiếng Việt.

    Với năng lực hiện nay, tôi có thể dùng NNLT trực quan để viết giao diện tiếng Việt hoặc đa ngữ (multi-language) nên không cần thiết phải dùng console window để trình bày giao tiếp người dùng.

    NNLT dùng console có hỗ trợ cho tiếng Việt, Utf hay Unicode không, phù thuộc vào tầm nhìn của người cầm quyền, của ngành dáo giục.
    Những người thuộc thế hệ cách nay vài chục năm thì buộc phải chấp nhận; ngày nay vẫn dùng nhập/xuất ASCII thì có gì là văng minh tiến bộ, hoà nhập cuốc té.

    Vì sao chúng ta không dùng input/output Unicode ví dụ inpUtf/outUtf thay cho scanf/printf của c hay read/wrile của pascal?
    Thật lòng tôi kính trọng, biết ơn những người tạo ra bộ gõ, đặc biệt là bộ gõ tiếng Việt, cụ thể là anh Phạm Kim Long tác giả UniKey.
    Nó chưa có thì làm cho nó có!
    ...
    ..
    .
    Đã được chỉnh sửa lần cuối bởi Monre : 22-07-2021 lúc 03:26 PM.

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    998

    Trích dẫn Nguyên bản được gửi bởi Monre Xem bài viết
    Ngôn ngữ lập trình (NNLT hay Programming language) dùng để làm gì?
    Từng tiếp xúc, thấy vài kỹ sư dùng c, pascal để viết chương trình kiểm tra gì đó trong công việc của họ, tôi thật lòng kính trọng.

    Tôi không chuyên về xi (c/c++), không hiểu được những ngóc ngách của nó, nhưng cũng đủ khả năng viết thư viện, DLL cho công việc hay trợ giúp một nhóm người dùng.

    Vấn đề tôi đặt ra ở đây dành cho những người đang học, dạy xi hay tìm hiểu khả năng của nó.
    NNLT cơ sở như c, pascal gần như ai cũng biết, nó được giới thiệu khi nhập môn; theo truyền thống sẽ sử dụng trên termial hay console window. Nó là di sản thời ASCII hay ANSI, nên nhiều IDE(trình soạn thảo) hay TBD(trình biên dịch) không hiểu, không hỗ trợ Utf, Unicode hay tiếng Việt.

    Với năng lực hiện nay, tôi có thể dùng NNLT trực quan để viết giao diện tiếng Việt hoặc đa ngữ (multi-language) nên không cần thiết phải dùng console window để trình bày giao tiếp người dùng.

    NNLT dùng console có hỗ trợ cho tiếng Việt, Utf hay Unicode không, phù thuộc vào tầm nhìn của người cầm quyền, của ngành dáo giục.
    Những người thuộc thế hệ cách nay vài chục năm thì buộc phải chấp nhận; ngày nay vẫn dùng nhập/xuất ASCII thì có gì là văng minh tiến bộ, hoà nhập cuốc té.

    Vì sao chúng ta không dùng input/output Unicode ví dụ inpUtf/outUtf thay cho scanf/printf của c hay read/wrile của pascal?
    Thật lòng tôi kính trọng, biết ơn những người tạo ra bộ gõ, đặc biệt là bộ gõ tiếng Việt, cụ thể là anh Phạm Kim Long tác giả UniKey.
    Nó chưa có thì làm cho nó có!
    ...
    ..
    .
    Bạn nghĩ rằng hiện tại rất nhiều người viết chương trình Console cho người dùng sao ? Tôi dám cá với bạn là chẳng ai làm vậy cả (trừ các mục đích khoa học, giảng dạy,...), kể cả những người thuộc thế hệ trước. Ngay trong chúng ta đây, mỗi ứng dụng thực đưa tới người sử dụng, không ai không nghĩ tới thiết kế giao diện thân thiện với đầy đủ các chức năng, theo tôi tới trên 50% là mã cho giao diện còn mã cho thuật toán và xử lý nội chỉ khoảng 30% (có thể tôi sai - nhưng tôi nghĩ vậy).
    .
    .

  3. #3
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    742

    Hàm printf() là chuẩn, ngoài ra còn wprintf(), vốn có từ lâu. Chuẩn C11 còn có thêm printf_s(), wprintf_s(). C11 cũng hỗ trợ Unicode khá đầy đủ (UTF-8, 16, 32). Windows 7 console không cho nhập UTF-8 từ bàn phím, nhưng Windows 10 thì cho rồi. Linux thì khỏi nói. Vấn đề chỉ là thiếu người giảng dạy.

    Trên phiếu đăng ký dự thi tốt nghiệp PHTH và thi đại học, mục số CMND có 12 ô. Nếu giấy CMND có 9 chữ số thì điền vào sát lề bên phải, chừa trống 3 ô bên trái. (Trích thông báo hướng dẫn tuyển sinh của Cục tin học, Bộ giáo dục đào tạo.)
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  4. #4
    Ngày gia nhập
    08 2017
    Bài viết
    4,085

    Win7 vẫn có thể gõ tiếng Việt tốt và Win10 cũng có thể gõ UTF sai do font hiện hành là phù hợp hay không.

    Không khó khăn nhiều để kiểm thử các hàm wide string trong Win10
    C Code:
    1. #include <windows.h>
    2. #include <stdio.h>
    3.  
    4. int main (){
    5.   wchar_t str [80];
    6.   int i;
    7.  
    8.   wprintf (L"Nhập tên bạn: ");
    9.   //wscanf_s (L"%ls", str); /* string, stream > word */
    10.   fgetws(str, 80, stdin);
    11.  
    12.   wprintf (L" và tuổi: ");
    13.   wscanf (L"%d", &i);
    14.  
    15.   wprintf (L"Hồ sơ của bạn %ls, %d tuổi đã được tiếp nhận.\n",str,i);
    16.   MessageBoxW(0, str, L"Khách hàng VIP", MB_OK);
    17.  
    18.   return 0;
    19. }
    Kết quả dịch và chạy thử
    Code:
    F:\Work\Cpp\TestA>wstrBcc
    Nh?p tΩn b?n: A Lịch Sơn Đắc Lộ
     vα tu?i: 40
    H? s? c?a b?n A L?ch Son Dac L?
    , 40 tu?i ?π ???c ti?p nh?n.
    Hình chụp màn hình:

    Vậy tạm kết luận chữ Quốc ngữ là loại Unicode kinh dị, khác với tài liệu của xi!

    code sửa từ mã nguồn:
    https://www.cplusplus.com/reference/cwchar/wscanf/
    ...
    ..
    .

  5. #5
    Ngày gia nhập
    08 2017
    Bài viết
    4,085

    Nhiều người ngộ nhận Win7 winCon không cho nhập tiếng Việt từ bàn phím!
    Chẳng qua là do font hiện hành của conApp có thễ chưa thết lập thù hợp cho hiện thị chữ Quốc ngữ, nếu vậy có thể cấu hình lại, ví dụ:
    - Ở thanh tiêu để (title bar) của nó, nhấn chuột phải, chọn Properties, tab Font chọn font Consolas và kích thước
    Minh hoạ bằng hình chụp (trên Win7)

    Nhấn OK. Như vậy chưa cần cốt kiếc gì conApp đã có thể nhập và hiện thị tiếng Việt

    Ngược lại Win10-11 đi nữa vẫn có thể không hiện thị tiếng Việt được do font không tương thích.
    trên Win8 hay Win12 hình ảnh có thể khác, nhưng cũng làm tương tự

    Vấn đề tiếp theo là làm sao nhận đúng chuỗi tiếng Việt được gửi tới conApp cũng như xuất được chuỗi tiếng Việt ra console ở mức đơn giản?

    Giải quyết được nhập xuất và hiện thị Unicode (bao gồm tiếng Việt) giúp người học xi hay dùng nó cho công việc cảm thấy thân thuộc, bớt phụ thuộc tiếng Anh xa lạ, nửa nạc nửa mỡ, hay chữ tieng Viet khong dau lai căng, tối nghĩa mà nhiều người vẫn đang dùng.

    Một lần cho chín hơn chín mươi lần, tránh tâm lý tự ti conApp không xử dụng được tiếng mẹ đẻ, nên buộc phải hoà nhập cuốc té như mấy chục năm trước.

    Giải quyết được nhập xuất và hiện thị Unicode là bước đầu cho việc xử lý thông tin, bao gồm ngôn ngữ Việt Nam, chữ Quốc ngữ
    ...
    ..
    .

  6. #6
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    998

    Mặc định NNLT dùng để làm gì?

    Không biết chủ đề tài này đã tạo ra được chương trình nào trên winCon mà không bắt người sử dụng phải là "chuyên da" sửa thuộc tính trong các trang Tab. Nếu cứ nói cô thư ký phải biết thay đổi thuộc tính Console mới chạy đúng thì thôi chi bằng nói thẳng với cô ấy là "tự viết mà sử dụng đi". Ý nghĩa của lập trình là điều chỉnh các thuộc tính một cách tự động, hoặc bằng phương pháp nào đó làm cho nó chạy đúng chứ không phải đẩy phần việc đó cho người sử dụng !!!
    .
    .
    .

  7. #7
    Ngày gia nhập
    08 2017
    Bài viết
    4,085

    Sử dụng TvLib trong một số bài viết trong Cviet thì không cần phải làm phải thay đổi thuộc tính, dùng nó cũng như dùng hàm printf hay gets mà mọi ngời học xi đều được giới thiệu.

    Một số thư viện khác như PdCurses cũng có thể nhập xuất được Unicode

    Hay phải học Tieng Viet khong dau ASCII trước, sau quay lại học Tiếng Việt Unicode sau trong GUI sau bằng xi?
    ...
    ..
    .

  8. #8
    Ngày gia nhập
    02 2016
    Bài viết
    328

    Ngôn ngữ là một sản phẩm trong quá trình tiến hoá con người.
    Nếu ta nói tiếng Việt chuẩn thì mọi người có học tiếng Việt chuẩn đều hiểu.
    Nếu ta nói tiếng Anh chuẩn thì mọi người có học tiếng Anh chuẩn đều hiểu.

    Ngôn Ngữ Lập Trình dùng để dịch cái chương trình mà tác giả cần thực hiện ra thành một nhóm lệnh chuẩn mà mọi người, nếu có biết qua ngôn ngữ ấy đều hiểu ý tác giả.
    Ngôn ngữ lập trình có thể là ngôn ngữ của máy (processor), hay ở tầng kế (byte codes), hay ở tầng cao hơn nữa (điển hình C/C++)...
    Điển hình, trình dịch C sẽ hiểu ý tác giả một chương trình (hay một nhóm functions) và thể theo yêu cầu, nó sẽ dịch ra code ngôn ngữ máy (chừa lại các chỗ nó giành cho trình nối - builder/linker). Hay cái UI C sẽ xét xem nhóm lệnh có hiểu được theo chuẩn C hay không, và báo cho người đang gõ phím biết.

    C/C++ vốn xuất thân từ Unix, và còn giữ lại rất nhiều gia sản (legacy) của hệ thống này.

    Lưu ý là ở trên tôi nhấn mạnh chỗ hiểu ý.
    Nhiều người viết chương trình chưa chắc đã diễn tả đúng ý của mình. Vì vậy người ta khuyên nên viết thêm chú thích diễn giải mục đích hàm và nói sơ về giải thuật. Không có hai cái này, tôi có thể đọc hiểu code nhưng tôi không thể nói rằng mình hiểu ý muốn của tác giả.

    Cũng như tôi đọc mấy bài trên nhưng chẳng hiểu tại sao NNLT lại bị bó buộc trong nền tảng Windows.
    Tôi gõ bài này trên máy Mac nên càng chẳng hiểu quý vị nói gì.

  9. #9
    Ngày gia nhập
    08 2017
    Bài viết
    4,085

    Hoan nghênh các bạn sử dụng các hệ điều hành khác Window (Unix/Linux Mac) xác nhận những điều sau:
    - Nhập xuất tiếng Việt trên terminal cũng giống nhập xuất tiếng Anh, ví dụ ...
    - Nhập xuất tiếng Việt trên terminal cần có cấu hình riêng, cách viết riêng, ví dụ ...
    hoặc không biết vì không quan tâm

    ...
    ..
    .
    Đã được chỉnh sửa lần cuối bởi MHoang : 12-08-2021 lúc 08:01 PM. Lý do: Bỏ bớt các văn phạm quá khích.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn