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

Đề tài: Có thể có 1 bài tổng hợp các ngôn ngữ ko ??

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    3

    Smile Có thể có 1 bài tổng hợp các ngôn ngữ ko ??

    Mình là SV năm nhất của DH Khoa học tự nhiên. Trên trường mình đang dạy Vitual Studio C++ nên mình đã SE các forum về C để tìm hiểu thêm. Vô tình tìm được cái forum này. Đọc sơ qua thì công nhận bài viết ở đây chất lượng và đội ngũ Admin, Mod, mem khá thân thiện .

    Tuy nhiên theo mình thấy dù là xét riêng từng Box thì chất lượng, có điều theo mình nghĩ nên có 1 số bài về tổng quan các ngôn ngữ để cho tụi mình vào có thể hiểu được đôi chút về chúng. Vì mình (có thể là có thêm 1 số bạn khác) trước đó chưa hề có chút kinh nghiệm nào về lập trình, coding .... nên cảm thấy lúc đầu rất khó khăn để có thể bắt nhịp cùng diễn đàn -> dể nản T___T.

    Ví dụ như mình trong trường đang học C++ mà mình thấy có hai cái Box C++ (VC++ và C++ Ansi/Iso gì đó ^^). Lúc đầu mình cũng chả biết là vô cái nào, rồi không biết 2 loại này là 1 loại mà chia làm 2 phần hay là 2 phần riêng biệt nữa -> đi kiếm sách trên mạng không biết có đúng là cuốn sách mình cần ko

    Hết sức mong mỏi các pro có thể bớt chút ít thời gian giải thích dùm để gà này hiểu rõ ràng thêm được, và cũng có thể là các bạn Newbie khác khi vào có cái nhìn tổng quan hơn về lập trình cũng như các ngôn ngữ. Thanks nhìu nhìu

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    - ANSI C++ là American National Standard Institute, nó là chuẩn của C++, code nó không dùng các hàm và chức năng phụ thuộc vào bất cứ platform nào( ví dụ Window, Macintosh, Linux.. )
    - Visual C++ là những cái riêng của Window.
    - Về ngôn ngữ thì diễn đàn C việt nên chung qui chỉ là C/C++ và C#. Cái này thì đều là sinh viên nên nói so sánh thì không ai đủ trình độ cả, cái này cậu có thể google tìm đọc các expert vài chục năm kinh nghiệm để đọc những gì họ viết thì hay hơn.
    - Còn tùy cậu thích ngôn ngữ nào thì học ngôn ngữ đó, còn đem ra mà khuyên thì coi chừng lại có chiến tranh ! ( Vì tui là addicted of C/C++ )
    - Nếu mới học thì nên vào box ANSI vì nó cơ bản và chuẩn, Visual C++ thì sau này khi cậu có 1 ít kinh nghiệm( khoảng 1 năm ) rồi hãy tìm hiểu, tương tự lúc đó cậu muốn tìm hiểu các platform khác cũng ok( Linux, Unix.. ). Nhưng nói chung tụi nó cũng vậy thôi vì nó cũng bắt nguồn từ những cái cơ bản mà ra cả. Chỉ là nhớ và ứng dụng chúng thế nào thôi, cái chính để giỏi lập trình theo tui vẫn là các kĩ năng cơ bản( thuật toán, debug, design ).
    - Anyways, welcome to Cviet !

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    3

    Thanks câu trả lời rất rõ ràng của bạn

  4. #4
    No Avatar
    Chưa đăng ký Khách

    Trích dẫn Nguyên bản được gửi bởi nvphung90 Xem bài viết
    Thanks câu trả lời rất rõ ràng của bạn
    Ngôn ngữ lập trình (tiếng Anh programming language) là một tập con của ngôn ngữ máy tính. Đây là một dạng ngôn ngữ được chuẩn hóa (đối lập với ngôn ngữ tự nhiên). Nó được dùng để miêu tả những quá trình, những ngữ cảnh một cách rất chi tiết.

    Định nghĩa (theo [Loud 94], T.3):

    Ngôn ngữ lập trình là một hệ thống được ký hiệu hóa để miêu tả những tính toán (qua máy tính) trong một dạng mà cả con người và máy đều có thể đọc và hiểu được.

    Theo định nghĩa ở trên thì một ngôn ngữ lập trình phải thỏa mãn được hai điều kiện cơ bản là:

    1. Nó phải dễ hiểu và dễ sử dụng đối với người lập trình, để con người có thể dùng nó giải quyết các bài toán khác.
    2. Nó phải miêu tả một cách đầy đủ và rõ ràng các tiến trình (tiếng Anh: process), để có thể chạy được trên các máy tính khác.

    Một tập hợp các chỉ thị được biểu thị nhờ ngôn ngữ lập trình để thực hiện các thao tác máy tính nào đó thông qua một chương trình. Các tên khác của khái niệm này nếu không bị lầm lẫn là chương trình máy tính hay chương trình điện toán.

    Lưu ý: Khái niệm chương trình (program) viết cho máy vi tính nhằm giải quyết một vấn đế nào đó thường được gọi là phần mềm máy tính. (Thí dụ chương trình MS Word là một cách gọi chung chung, chính xác hơn là phần mềm MS Word thì rõ hơn đó là một chương trình ứng dụng.)

    Chữ lập trình dùng để chỉ thao tác của con người nhằm kiến tạo nên các chương trình máy tính thông qua các ngôn ngữ lập trình. Người ta còn gọi quá trình lập trình đó là quá trình mã hoá thông tin tự nhiên thành ngôn ngữ máy. Trong các trường hợp xác định thì chữ lập trình còn được viết là "viết mã" (cho chương trình máy tính).

    Như vậy, theo định nghĩa, mỗi ngôn ngữ lập trình cũng chính là một chương trình, nhưng có thể được dùng để tạo nên các chương trình khác. Một chương trình máy tính được viết bằng một ngôn ngữ lập trình thì những chỉ thị (của riêng ngôn ngữ ấy) góp phần tạo nên chương trình được gọi là mã nguồn của chương trình ấy.

    Thao tác chuyển dạng từ mã nguồn sang thành chuỗi các chỉ thị máy tính đuợc thực hiện hoàn toàn tương tự như là việc chuyển dịch giữa các ngôn ngữ tự nhiên của con người. Các thao tác này gọi là biên dịch (hay ngắn gọn hơn là dịch). Người ta còn phân việc biên dịch làm hai loại tùy theo quá trình dịch xảy ra trước quá trình thực thi các tính toán hay nó xảy ra cùng lúc với quá trình tính toán:

    1. Một phần mềm thông dịch là một phần mềm có khả năng đọc, chuyển dịch mã nguồn của một ngôn ngữ và ra lệnh cho máy tính tiến hành các tính toán dựa theo cú pháp của ngôn ngữ.
    2. Một phần mềm biên dịch hay ngắn gọn hơn trình dịch là phần mềm có khả năng chuyển dịch mã nguồn của một ngôn ngữ ban đầu sang dạng mã mới thuộc về ngôn ngữ cấp thấp hơn.
    Ngôn ngữ cấp thấp nhất là một chuỗi các chỉ thị máy tính mà có thể được thực hiện trực tiếp bởi chính máy tính (thông qua các theo tác trên vùng nhớ). Trước đây, hầu hết các trình dịch cũ thường phải thông dịch từ mã nguồn sang bộ mã phụ (các tệp có dang *.obj), rồi sau đó, mới biên dịch tiếp sang các tập tin thi hành. Ngày nay, hầu hết các trình dịch đều có khả năng viên dịch mã nguồn trực tiếp sang thành các tập tin thi hành hay biên dịch sang các dạng mã khác thấp hơn tuỳ theo yêu cầu của người lập trình.

    Một chương trình máy tính có thể được thực thi bằng cách tổ hợp của việc biên dịch và thông dịch.

    Vì yêu cầu đòi hỏi độ chính xác chi tiết cao nên việc viết mã thường gây khó khăn cho người đọc để theo dõi và đôi khi gây khó cho chính lập trình viên đã tạo ra mã nguồn đó. Do đó, một lời khuyên là nên dùng thêm nhiều chú giải trong lúc lập trình. Các chú giải này thường rất quan trọng cho người khác đọc và hiểu các mã nguồn.
    Như trong định nghĩa đã nói rõ, có lẽ cũng ko cần giải thích nhiều. Máy tính hiện tại là công cụ của con người, giúp con người đạt được mục đích dễ dàng hơn. Do post bài trong diễn đàn về game nên tôi cho rằng phần lớn các bạn dùng máy tính để chơi game, duyệt web, đôi chút dùng cho công việc như CAD hay Word. Thực tế máy tính ban đầu dùng để tính toán (hợp lí chưa? [Only registered and activated users can see links] ), nếu các bạn nghiên cứu khoa học thì máy tính là 1 công cụ cực kì hữu dụng, nhiều khi là không thể thiếu.

    Phân loại: Thôi vào vấn đề chính, về mục tiêu của ngôn ngữ chúng ta có cách loại:
    +đa dụng: như C, perl, C++, Java v.v...
    +Nhúng: Như Ch, Ada v.v...
    +Lập trình web: PHP, Java Script, Cold Fusion
    +Riêng: Như AutoLisp, Mathematica

    Về cách thức chúng ta có mấy loại như:
    +mã máy: thường gặp như C, C++, v.v...
    +Thông dịch: Giữ nguyên dưới dạng file văn bản, được biên dịch sang mã máy khi chạy như Perl, PHP
    +Lai (quên tên cái này là gì roài): Như Java thông dịch ra Java Byte code khi chạy mới dịch sang mã máy, như vậy tạo ra khả năng "viết một nơi chạy mọi nơi" của Java. Một ví dụ khác là .NET.

    Về phương pháp chúng ta có mấy loại như:
    -Đục lỗ: Vào thời chưa có ngôn ngữ thì người ta phải lập trình bằng các đục các thẻ và đưa cho máy tính đọc [Only registered and activated users can see links] (ko hẳn là 1 ngôn ngữ)
    -Tuyến tính: Điển hình là assembler, đây là phát triển ở mức cao hơn so với thẻ đục lỗ, nhưng vẫn còn rất thô sơ.
    -Lập trình có cấu trúc: Chắc ai cũng biết anh bạn Pascal nhà ta, lập trình có cấu trúc cho phép người ta diễn tả một thuật giải dễ dàng cũng như áp dụng phương pháp "Chia để trị" giúp tránh lỗi khi viết những chương trình lớn, phức tạp. Phương pháp này rất phổ biến và vẫn áp dụng rất nhiều trong hiện tại. VD: Pascal, C v.v...
    -Hướng đối tượng: Đây là phương thức cao hơn của lập trình, cho phép "đóng gói" dữ liệu và các họat động trên chúng, đồng thời "cách ly" các đối tượng với nhau, trừu tượng hóa là 1 cách làm thường dùng trong lập trình hướng đối tượng. Mới hơn so với lập trình cấu trúc và được áp dụng nhiều trong thực tế, thành viên gồm: C++, Java, Ada, v.v...

    Một cách tưởng tượng tốt về sự khác biệt giữa hướng đối tượng và cấu trúc có thể hiểu như thế này: Giả sự bạn có 1 đoạn văn ghi cách bước cần thực hiện. Nếu bạn dùng phương pháp cấu trúc thì hãy gạch chân các động từ, còn hướng đối tượng thì hãy gạch chân các danh từ. VD rõ hơn như sau:

    Nấu cơm: Vo gạo trong rổ, đổ gạo vào trong nồi nấu cơm, bấm nút.

    Nếu dùng lập trình cấu trúc ta có thể có đoạn "giả mã" sau:
    Vo(gạo, rá).
    Đổ(Gạo, Nồi cơm)
    Bấm nút(Nồi cơm)
    còn với hướng tối tượng ta có đoạn sau:
    Giá.Vo(gạo)
    NồiCơm.Nhận(gạo)
    NồiCơm.Bấm nút()

    Hiểu "thô" là như vậy, ngoài ra còn nhiều phương pháp nữa như Generic programming, Aspect Oriented Programming nhưng ko phổ dụng lắm nên xin ko đưa ra.

    **Đây là do tôi tổng hợp từ nhiều nguồn nên có thể có sai xót, xin tiếp nhận mọi góp ý từ phía các bạn.

  5. #5
    Ngày gia nhập
    08 2008
    Nơi ở
    HCM
    Bài viết
    14

    Assembly

    Ngôn ngữ Assembly là một bước tiến vượt ra khỏi với ngôn ngữ máy khó hiểu. Ngôn ngữ này xuất hiện vào những năm 1950, nó được thiết kế để máy tính trở nên thân thiện hơn với người sử dụng. Assembly đưa ra khái niệm biến (variable), nhờ đó mà ta có thể gán một ký hiệu cho một vị trí nào đó trong bộ nhớ mà không phải viết lại địa chỉ này dưới dạng nhị phân mỗi lần sử dụng. Assembly cũng chứa vài "phép toán giả", tức là ta có thể biểu biễn mã phép toán dưới dạng phát biểu (statement) thay vì dưới dạng nhị phân. Sau khi viết một chương trình Assembly, lập trình viên phải chạy nó thông qua Assembler. Assembler là một chương trình biên dịch (compiler), nó dịch chương trình Assembly sang ngôn ngữ máy.

    Fortran

    Fortran là ngôn ngữ lập trình cấp cao cổ nhất, nó được phát triển vào những năm 1950. Fortran là tên viết tắt của Formula Translator. Nó có rất nhiều phiên bản khác nhau. Fortran IV được lấy làm chuẩn vào năm 1966. Fortran 77 sau đó có thêm nhiều đặc điểm mới hơn. Gần đây Fortran 90 đã được phát triển. Ngoài các chuẩn Fortran kể trên còn có một số "dị bản" khác, ví dụ như F là pha trộn của Fortran với ngôn ngữ hướng module, hay High Performance Fortran (HPF) dùng cho các cluster. Fortran chẳng có gì đặc sắc lắm. Nó không được sử dụng nhiều ngoại trừ trong giới khoa học, nơi cần thực hiện nhiều tính toán toán học. Fortran có logic lập trình hay nên nó cũng được sử dụng để dạy về lập trình trong trường học.

    Pascal

    Đây là ngôn ngữ lập trình cấp cao phát triển bởi Niklaus Wirth vào những năm 1960. Nó lấy tên của một nhà toán học Pháp. Pascal là ngôn ngữ lập trình có cấu trúc rất chặt chẽ vì thế lập trình Pascal đòi hỏi phải rất có phương pháp và cẩn thận. Vì lý do này nó được sử dụng làm công cụ dạy lập trình. Tuy nhiên cũng vì thế mà ngôn ngữ này rất kém mềm dẻo và thiếu đặc trưng nên ít được dùng để viết các ứng dụng công việc. Để khắc phục điều này Wirth phát triển Modula-2, đây là ngôn ngữ lập trình tương tự Pascal nhưng có thêm nhiều đặc điểm mới.

    Cobol

    Cobol là tên viêt tắt của Common Business Oriented Language. Nó được phát triển cuối những năm 1950 và ngôn ngữ cấp cao cổ thứ nhì (sau Fortran). Cobol hướng vào giới thương mại. Nó là một ngôn ngữ rất dài dòng. Chương trình Cobol thường dài hơn bất kỳ chương trình viết bằng ngôn ngữ nào khác. Dù vậy, nó là một ngôn ngữ tốt và dễ đọc. Dù cổ nhưng Cobol vẫn được sử dụng phổ biến trong thế giới thương mại.

    C

    C là ngôn ngữ lập trình cấp cao phát triển bởi phòng thí nghiệm Bell vào giữa những năm 1970. Đây là ngôn ngữ được thiết kế để lập trình hệ thống, nhưng thực tế cho thấy nó là ngôn ngữ rất mềm dẻo. C đã được dùng để viết hệ điều hành Unix. Vì thế Unix hỗ trợ các chương trình C rất tốt. Các statements và đặc trưng của nó rất tuyệt cho nhiều ứng dụng. C gần với Assembly hơn bất kỳ ngôn ngữ cấp cao nào khác. Ngôn ngữ này được dùng để làm việc với phần cứng trực tiếp. Vì gần với ngôn ngữ máy các lập trình viên có thể viết code trong việc điều khiển hệ thống rất hữu hiệu với C.

    C++

    Đây là bản chỉnh sửa của C được phát triển giữa những năm 1980. C++ có tất cả các đặc trưng của C ngoài ra có thêm nhiều phép toán hữu hiệu hơn và các đặc trưng hướng đối tượng (object-oriented). C++ có lẽ là ngôn ngữ phổ biến nhất hiện nay. Nó được sử dụng để viết rất nhiều các chương trình Windows và Mac.

    Java

    Java là ngôn ngữ lập trình cấp cao phát triển bởi Sun Microsystems. Nó là ngôn ngữ lập trình hướng đối tượng như C++ nhưng đã được đơn giản hóa nên có thể tránh được nhiều lỗi thông thường. Mã Java được biên dịch thành bytecode và ứng dụng đã được biên dịch có đuôi mở rộng là .class. Các ứng dụng này được chạy bởi bộ dịch Java (Java interpreter). Đây là ngôn ngữ lập trình có mục đích chung chung nhưng có các đặc điểm rất phù hợp với Internet nên được sử dụng nhiều để viết các ứng dụng chạy trên Internet.

    Các ngôn ngữ khác

    Còn có rất nhiều các ngôn ngữ khác nữa với các đặc điểm khác nhau, được thiết kế cho một vài mục đích đặc biệt nào đó, ví dụ: Perl, SQL, HTML là các ngôn ngữ khá thông dụng, v.v...

Tags của đề tài này

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