Ngôn ngữ lập trình là gì. Ngôn ngữ lập trình và các loại của nó Lập trình cho quân đội, ngành hàng không vũ trụ

Khi bạn đang cố gắng tìm ra ngôn ngữ lập trình nào để bắt đầu học, bạn có thể sẽ gặp các thuật ngữ "cấp cao" và "cấp thấp". Mọi người lúc nào cũng nói về ngôn ngữ lập trình cấp cao và cấp thấp. Nhưng chính xác điều này có nghĩa là gì? Và việc học viết code có ý nghĩa gì? Hãy bắt đầu với các định nghĩa của từng.


Ngôn ngữ lập trình “Cấp cao” và “Cấp thấp”

Trong bài viết này tôi sẽ nói về ngôn ngữ “cấp cao” và “cấp thấp”. Nhưng không có tiêu chí đặc biệt nào để xác định điều này. Chỉ cần nhớ rằng điều này phần lớn phụ thuộc vào quan điểm của bạn. Nếu bạn là một lập trình viên C, Java có vẻ khá cao cấp. Nếu bạn đã quen với Ruby thì Java có thể giống như một ngôn ngữ cấp thấp.

Mã máy và ngôn ngữ cấp thấp

Cho dù một ngôn ngữ được coi là cấp cao hay cấp thấp (hoặc đâu đó ở giữa), thì đó là về tính trừu tượng. Mã máy không có tính trừu tượng - nó chứa hướng dẫn riêng, được chuyển vào máy tính. Và vì máy chỉ xử lý các số nên chúng được biểu diễn dưới dạng nhị phân (mặc dù đôi khi chúng được viết bằng ký hiệu thập phân hoặc thập lục phân).

Đây là một ví dụ về mã máy:

TRONG mã máy giao dịch phải được xác định chính xác. Ví dụ: nếu một phần thông tin cần được lấy từ bộ nhớ, mã máy sẽ phải cho máy tính biết nơi tìm thấy nó trong bộ nhớ.

Viết trực tiếp vào mã máy là có thể, nhưng rất khó.

Các ngôn ngữ lập trình cấp thấp thêm một chút trừu tượng vào mã máy. Sự trừu tượng hóa này ẩn các hướng dẫn mã máy cụ thể đằng sau các khai báo mà con người dễ đọc hơn. Hợp ngữ là ngôn ngữ cấp thấp nhất bên cạnh mã máy.

Trong mã máy, bạn có thể viết nội dung như "10110000 01100001", nhưng hợp ngữ có thể đơn giản hóa điều này thành "MOV AL, 61h". Vẫn có sự tương ứng gần như một-một giữa những gì được viết bằng hợp ngữ và các hướng dẫn được cung cấp cho máy.

Chuyển sang các ngôn ngữ lập trình phổ biến hơn, bạn sẽ kết thúc với ngôn ngữ nào đó như C. Mặc dù ngôn ngữ này không ở cấp độ thấp như ngôn ngữ hợp ngữ, nhưng vẫn có sự tương ứng mạnh mẽ giữa những gì được viết bằng C và mã máy. Hầu hết các thao tác viết bằng C có thể được thực hiện bằng một số lượng nhỏ lệnh mã máy.

Ngôn ngữ lập trình cấp cao

Giống như các ngôn ngữ cấp thấp hơn, các cấp độ cao hơn bao gồm nhiều khái niệm trừu tượng. Một số ngôn ngữ, chẳng hạn như Java (nhiều người coi đây là ngôn ngữ lập trình trung gian), vẫn cung cấp cho bạn nhiều quyền kiểm soát cách máy tính quản lý bộ nhớ và dữ liệu.

Những thứ khác, như Ruby và Python, rất trừu tượng. Chúng cung cấp cho bạn ít quyền truy cập hơn vào các hàm cấp thấp hơn, nhưng cú pháp dễ đọc và viết hơn nhiều. Bạn có thể nhóm các thứ thành các lớp kế thừa các đặc điểm nên bạn chỉ cần khai báo chúng một lần.

Các biến, đối tượng, chương trình con và vòng lặp được bộ phận quan trọng ngôn ngữ cấp độ cao. Những khái niệm này và những khái niệm khác sẽ giúp bạn nói với máy rất nhiều điều bằng những câu lệnh ngắn gọn, súc tích.

Trong khi hợp ngữ có sự ánh xạ gần như thống nhất giữa các lệnh của nó và các lệnh mã máy, thì một ngôn ngữ cấp cao hơn có thể gửi hàng tá lệnh chỉ bằng một dòng mã.

Điều quan trọng cần lưu ý là "ngôn ngữ lập trình cấp cao" có thể bao gồm bất kỳ thứ gì trừu tượng hơn ngôn ngữ hợp ngữ.

Nên học ngôn ngữ nào: trình độ thấp hay cao?

Đây chắc chắn là một câu hỏi phổ biến của các lập trình viên mới và đầy tham vọng. Học ngôn ngữ lập trình nào tốt hơn: cấp cao hay cấp thấp? Cũng như nhiều câu hỏi lập trình, câu hỏi về ngôn ngữ lập trình cấp cao và cấp thấp không đơn giản như vậy.

Cả hai loại ngôn ngữ đều có những ưu điểm quan trọng. Các ngôn ngữ cấp thấp, vì chúng đòi hỏi ít sự giải thích của máy tính, nên có xu hướng rất nhanh. Và chúng cung cấp cho các lập trình viên nhiều quyền kiểm soát đối với việc lưu trữ, bộ nhớ và truy xuất dữ liệu.

Tuy nhiên, các ngôn ngữ cấp cao rất trực quan và cho phép lập trình viên viết mã hiệu quả hơn nhiều. Những ngôn ngữ này cũng được coi là "an toàn hơn" vì có nhiều biện pháp bảo vệ hơn ngăn người lập trình đưa ra các lệnh được viết kém có thể gây ra thiệt hại. Nhưng chúng không cung cấp cho người lập trình quyền kiểm soát tương tự đối với các quy trình cấp thấp.

Với ý nghĩ đó, đây là danh sách các ngôn ngữ phổ biến theo thang điểm từ thấp đến cao:

  • JavaScript
  • Python

Tất nhiên, điều này một phần mang tính chủ quan. Và nó chỉ bao gồm một phần rất nhỏ các ngôn ngữ có sẵn.

Nhưng điều này sẽ giúp bạn biết được ngôn ngữ bạn quan tâm đang ở cấp độ nào.

Bạn muốn làm gì?

Khi quyết định bạn sẽ học ngôn ngữ nào, câu hỏi đầu tiên của bạn phải là: bạn muốn lập trình gì?

Nếu bạn muốn lập trình hệ điều hành, hạt nhân hoặc bất kỳ thứ gì cần chạy ở tốc độ cao nhất, ngôn ngữ cấp thấp hơn có thể là một lựa chọn tốt. Hầu hết Windows, OS X và Linux đều được viết bằng các ngôn ngữ có nguồn gốc từ C và C như C++ và Objective-C.

Nhiều ứng dụng hiện đại được viết bằng ngôn ngữ cấp cao hơn hoặc thậm chí là ngôn ngữ dành riêng cho miền. Python và Ruby đặc biệt phổ biến cho các ứng dụng web, mặc dù HTML5 đang trở nên mạnh mẽ hơn. Các ngôn ngữ như Swift, C#, JavaScript và SQL đều có điểm mạnh và điểm yếu riêng.

Gần đây tôi đang đọc một chủ đề trên một diễn đàn lập trình và tình cờ thấy đề nghị thú vị: Học cả hai cấp độ cùng một lúc. Bạn sẽ hiểu sâu hơn về các loại trừu tượng giúp ngôn ngữ cấp cao trở nên hiệu quả hơn.

Tất nhiên, việc học hai ngôn ngữ cùng một lúc không phải là điều dễ dàng, vì vậy bạn có thể muốn dàn trải việc học của mình một chút. Và việc chọn hai ngôn ngữ giống nhau nhất có thể hữu ích.

Một lần nữa, chúng ta sẽ quay lại điều tôi đã nói trước đó: chọn ngôn ngữ dựa trên những gì bạn muốn làm. Thực hiện một số nghiên cứu để tìm hiểu ngôn ngữ mà mọi người sử dụng trong lĩnh vực của họ. Sau đó, sử dụng thông tin này để chọn ngôn ngữ cấp cao và cấp thấp và bắt đầu học chúng.

Bạn sẽ sớm thấy những điểm tương đồng và bạn sẽ hiểu sâu hơn nhiều về cách hoạt động của chương trình.

Tập trung vào mục đích chứ không phải phương tiện.

Có nhiều tiêu chí bạn có thể sử dụng để chọn ngôn ngữ lập trình. Một trong những tiêu chí là mức độ cao và thấp. Nhưng trong hầu hết mọi trường hợp, tiêu chí bạn nên sử dụng là những gì bạn muốn lập trình.

Dự án của bạn có thể được hưởng lợi từ một ngôn ngữ cấp thấp. Hoặc nó có thể hiệu quả hơn nhiều ở mức độ cao. Bạn phải lựa chọn cho mình công cụ phù hợp cho công việc. Tập trung vào mục tiêu của bạn và chọn ngôn ngữ phù hợp mọi lúc.

Bạn có kinh nghiệm với các ngôn ngữ cấp cao và cấp thấp không? Bạn có thích cái này hơn cái kia không? Chia sẻ suy nghĩ của bạn trong phần bình luận bên dưới!

Sách giáo khoa gồm có hai phần: lý thuyết và thực hành. Phần lý thuyết của sách giáo khoa trình bày nền tảng của khoa học máy tính hiện đại như một ngành khoa học và kỹ thuật phức tạp, bao gồm nghiên cứu cấu trúc và tính chất chung của thông tin và quy trình thông tin, các nguyên tắc chung để xây dựng các thiết bị máy tính, các vấn đề về tổ chức và hoạt động của máy tính. thông tin và mạng máy tính được xem xét, bảo mật máy tính, các khái niệm chính về thuật toán hóa và lập trình, cơ sở dữ liệu và DBMS được trình bày. Để kiểm soát kiến ​​thức lý thuyết đã thu được, các câu hỏi và bài kiểm tra tự kiểm tra được đưa ra. Phần thực hành bao gồm các thuật toán cho các thao tác cơ bản khi làm việc với xử lý văn bản Phần mềm soạn thảo văn bản, trình soạn thảo bảng tính Microsoft Excel, chương trình tạo bản trình bày Microsoft Power Point, chương trình lưu trữ và chương trình chống virus. Như một sự củng cố của những gì đã được bảo hiểm khóa học thực hành Cuối mỗi phần bạn được yêu cầu làm bài độc lập.

Sách:

Các phần trên trang này:

8.2. Ngôn ngữ lập trình

Các loại lập trình

Sự tiến bộ của công nghệ máy tính đã quyết định quá trình xuất hiện các hệ thống ký hiệu mới và đa dạng để ghi lại các thuật toán - ngôn ngữ lập trình. Ý nghĩa của sự xuất hiện của một ngôn ngữ như vậy là một tập hợp các công thức tính toán được trang bị với thông tin bổ sung, biến tập hợp này thành một thuật toán.

Ngôn ngữ lập trình là ngôn ngữ được tạo ra một cách nhân tạo. Chúng khác với tự nhiên số lượng giới hạn"từ ngữ" và rất quy tắc nghiêm ngặt bản ghi các lệnh (toán tử). Tổng thể các yêu cầu như vậy tạo thành cú pháp của ngôn ngữ lập trình và ý nghĩa của từng lệnh cũng như các cấu trúc ngôn ngữ khác tạo thành ngữ nghĩa của nó.

Ngôn ngữ lập trình là ngôn ngữ chính thức để giao tiếp giữa con người với máy tính, được thiết kế để mô tả một tập hợp các hướng dẫn, việc thực thi chúng đảm bảo giải pháp chính xác cho nhiệm vụ được yêu cầu. Vai trò chính của họ là lập kế hoạch cho các hoạt động xử lý thông tin. Bất kỳ ngôn ngữ lập trình nào cũng dựa trên một hệ thống các khái niệm và với sự trợ giúp của nó, một người có thể bày tỏ suy nghĩ của mình.

Mối liên hệ giữa ngôn ngữ chúng ta suy nghĩ/lập trình với các vấn đề và giải pháp mà chúng ta có thể tưởng tượng ra trong đầu là rất chặt chẽ. Vì lý do này, việc giới hạn các thuộc tính của một ngôn ngữ chỉ nhằm mục đích loại bỏ các lỗi của lập trình viên là điều nguy hiểm nhất. Giống như các ngôn ngữ tự nhiên, ít nhất có thể sử dụng được song ngữ sẽ mang lại những lợi ích to lớn. Ngôn ngữ cung cấp cho người lập trình một bộ công cụ khái niệm; nếu chúng không đáp ứng được nhiệm vụ thì chúng sẽ bị bỏ qua. Ví dụ, những hạn chế nghiêm trọng của khái niệm con trỏ buộc người lập trình phải sử dụng vectơ và toàn bộ số học để thực hiện các cấu trúc, con trỏ, v.v. Thiết kế tốt và không có lỗi không thể được đảm bảo hoàn toàn bằng phương tiện ngôn ngữ.

Điều này có vẻ đáng ngạc nhiên nhưng một máy tính nhất định có khả năng chạy các chương trình được viết bằng ngôn ngữ máy gốc của nó. Hầu như có nhiều ngôn ngữ máy khác nhau như máy tính, nhưng chúng đều là những biến thể của cùng một ý tưởng—các thao tác đơn giản được thực hiện với tốc độ cực nhanh trên các số nhị phân.

Ngôn ngữ lập trình phụ thuộc máy

Ngôn ngữ phụ thuộc vào máy là ngôn ngữ có bộ toán tử và phương tiện trực quan phụ thuộc đáng kể vào đặc điểm của máy tính (ngôn ngữ bên trong, cấu trúc bộ nhớ, v.v.). Những ngôn ngữ này được gọi là ngôn ngữ lập trình cấp thấp. Họ tập trung vào một loại bộ xử lý cụ thể và tính đến các tính năng của nó. Các toán tử của ngôn ngữ như vậy gần với mã máy và tập trung vào các lệnh xử lý cụ thể, nghĩa là ngôn ngữ nhất định phụ thuộc vào máy móc. Ngôn ngữ cấp thấp là ngôn ngữ hội. Với sự trợ giúp của nó, các chương trình rất hiệu quả và nhỏ gọn sẽ được tạo ra, vì nhà phát triển có quyền truy cập vào tất cả các khả năng của bộ xử lý. Các ngôn ngữ tương tự được sử dụng để viết nhỏ ứng dụng hệ thống, trình điều khiển thiết bị, thư viện. Trong trường hợp dung lượng RAM và ROM nhỏ (trong khoảng vài kilobyte) thì không có giải pháp thay thế cho trình biên dịch mã. Chính những ngôn ngữ lập trình này cho phép bạn lấy mã chương trình ngắn nhất và nhanh nhất.

Ngôn ngữ lập trình độc lập với máy

Ngôn ngữ độc lập với máy là phương tiện mô tả các thuật toán giải quyết vấn đề và thông tin cần xử lý. Chúng dễ sử dụng cho nhiều đối tượng người dùng và không yêu cầu họ phải biết các chi tiết cụ thể về tổ chức hoạt động của máy tính và hệ thống máy tính.

Những ngôn ngữ như vậy được gọi là ngôn ngữ lập trình cấp cao. Các chương trình được biên dịch bằng các ngôn ngữ như vậy là các chuỗi câu lệnh được cấu trúc theo quy tắc xem ngôn ngữ (tác vụ, phân đoạn, khối, v.v.). Toán tử ngôn ngữ mô tả các hành động mà hệ thống phải thực hiện sau khi chương trình được dịch sang ngôn ngữ máy.

Các chuỗi lệnh (thủ tục, chương trình con), thường được sử dụng trong các chương trình máy, được thể hiện bằng các ngôn ngữ cấp cao bằng các câu lệnh riêng lẻ. Lập trình viên không thể mô tả chi tiết quá trình tính toán ở cấp độ hướng dẫn máy mà chỉ tập trung vào các tính năng chính của thuật toán.

Các ngôn ngữ lập trình cấp cao gần gũi và dễ hiểu hơn với con người. Chúng không tính đến các tính năng của kiến ​​trúc máy tính cụ thể, nghĩa là các ngôn ngữ này độc lập với máy. Điều này cho phép một chương trình từng được viết bằng ngôn ngữ đó có thể được sử dụng trên nhiều máy tính khác nhau.

Có thể viết chương trình trực tiếp bằng ngôn ngữ máy, mặc dù điều này rất khó. Vào buổi bình minh của tin học hóa (đầu những năm 1950), ngôn ngữ máy là ngôn ngữ duy nhất; vào thời điểm đó con người chưa phát minh ra thứ gì khác. Để cứu các lập trình viên khỏi sự khắc nghiệt của ngôn ngữ lập trình máy, các ngôn ngữ cấp cao (tức là ngôn ngữ không phải máy) đã được tạo ra, trở thành một loại cầu nối giữa con người và ngôn ngữ máy của máy tính. Các ngôn ngữ cấp cao hoạt động thông qua các chương trình dịch nhập “mã nguồn” (sự kết hợp giữa các từ tiếng Anh và biểu thức toán học được máy đọc) và cuối cùng khiến máy tính thực thi các lệnh tương ứng được đưa ra bằng ngôn ngữ máy.

Các ngôn ngữ lập trình cấp cao bao gồm: Fortran, Cobol, Algol, Pascal, Basic, C, C++, Java, HTML, Perl và các ngôn ngữ khác.

Bằng cách sử dụng ngôn ngữ lập trình, nó không phải là một chương trình hoàn chỉnh được tạo ra mà chỉ có văn bản của nó mô tả một thuật toán được phát triển trước đó. Để chương trình hoạt động được, bạn phải tự động dịch văn bản này sang mã máy rồi sử dụng nó riêng biệt với văn bản nguồn hoặc thực hiện ngay các lệnh ngôn ngữ được chỉ định trong văn bản chương trình. Các chương trình dịch thuật được sử dụng cho việc này.

Có hai loại trình dịch chính (Hình 8.4): trình thông dịch quét và kiểm tra mã nguồn trong một bước duy nhất và trình biên dịch quét mã nguồn để tạo ra văn bản chương trình ngôn ngữ máy sau đó được thực thi riêng biệt.


Hình 8.4. Các loại dịch giả

Khi sử dụng trình biên dịch, toàn bộ văn bản nguồn của chương trình được chuyển đổi thành mã máy và chính những mã này được ghi vào bộ nhớ của bộ vi xử lý. Khi sử dụng trình thông dịch, văn bản nguồn của chương trình sẽ được ghi vào bộ nhớ của bộ vi xử lý và việc dịch được thực hiện khi đọc câu lệnh tiếp theo. Đương nhiên, hiệu suất của trình thông dịch thấp hơn nhiều so với trình biên dịch, vì khi sử dụng toán tử trong vòng lặp, nó sẽ được dịch nhiều lần. Tuy nhiên, khi lập trình bằng ngôn ngữ cấp cao, số lượng mã cần lưu trữ trong bộ nhớ trong, có thể ít hơn đáng kể so với mã thực thi. Một ưu điểm khác của việc sử dụng trình thông dịch là khả năng di chuyển dễ dàng của các chương trình từ bộ xử lý này sang bộ xử lý khác.

Một ưu điểm thường được nhắc đến của việc triển khai diễn giải là nó cho phép thực hiện "chế độ tức thời". Chế độ trực tiếp cho phép bạn hỏi máy tính một tác vụ và trả lời cho bạn ngay khi bạn nhấn phím ENTER. Ngoài ra, trình thông dịch còn có các thuộc tính đặc biệt giúp việc gỡ lỗi trở nên dễ dàng hơn. Ví dụ, bạn có thể làm gián đoạn quá trình xử lý của một chương trình thông dịch, hiển thị nội dung của các biến nhất định, đọc lướt chương trình và sau đó tiếp tục thực thi. Tuy nhiên, ngôn ngữ thông dịch có nhược điểm. Ví dụ, cần phải luôn có một bản sao của trình thông dịch trong bộ nhớ, trong khi nhiều khả năng của trình thông dịch và do đó các khả năng của nó có thể không cần thiết để thực thi một chương trình cụ thể. Khi thực thi các câu lệnh của chương trình, trước tiên trình thông dịch phải quét từng câu lệnh để đọc nội dung của nó (người này yêu cầu tôi làm gì?) rồi thực hiện thao tác được yêu cầu. Các toán tử trong vòng lặp được quét quá mức.

Trình biên dịch là trình dịch văn bản sang ngôn ngữ máy để đọc văn bản nguồn. Nó đánh giá nó theo cấu trúc cú pháp của ngôn ngữ và dịch nó sang ngôn ngữ máy. Nói cách khác, trình biên dịch không thực thi các chương trình mà xây dựng chúng. Trình thông dịch không thể tách rời khỏi chương trình họ chạy; trình biên dịch thực hiện công việc của họ và rời khỏi hiện trường. Khi làm việc với một ngôn ngữ được biên dịch như Turbo BASIC, bạn sẽ thấy cần phải nghĩ về các chương trình của mình theo hai giai đoạn chính trong vòng đời của chúng: giai đoạn biên dịch và giai đoạn chạy. Hầu hết các chương trình sẽ chạy nhanh hơn bốn đến mười lần so với trình thông dịch tương đương của chúng. Nếu bạn nỗ lực cải thiện nó, bạn có thể đạt được hiệu suất cải thiện gấp 100 lần. Mặt trái của vấn đề là các chương trình dành phần lớn thời gian để xử lý các tập tin trên đĩa hoặc chờ dữ liệu đầu vào sẽ không thể hiển thị bất kỳ mức tăng tốc độ ấn tượng nào.

Quá trình tạo ra một chương trình được gọi là lập trình.

Có một số loại lập trình.

Thuật toán hoặc mô-đun

Ý tưởng cơ bản của lập trình thuật toán là chia chương trình thành một chuỗi các mô-đun, mỗi mô-đun thực hiện một hoặc nhiều hành động. Yêu cầu duy nhất đối với một mô-đun là việc thực thi nó luôn bắt đầu bằng lệnh đầu tiên và luôn kết thúc bằng lệnh cuối cùng (nghĩa là không thể truy cập các lệnh của mô-đun từ bên ngoài và chuyển điều khiển từ mô-đun sang các lệnh khác, bỏ qua cái cuối cùng).

Thuật toán trong ngôn ngữ lập trình đã chọn được viết bằng các lệnh mô tả dữ liệu, tính toán giá trị và kiểm soát trình tự thực hiện chương trình.

Văn bản chương trình là một chuỗi tuyến tính các câu lệnh gán, vòng lặp và điều kiện. Bằng cách này, bạn có thể giải quyết các vấn đề không quá phức tạp và tạo các chương trình chứa hàng trăm dòng mã. Sau đó, khả năng hiểu của văn bản nguồn giảm mạnh do cấu trúc chung của thuật toán bị mất sau các toán tử ngôn ngữ cụ thể thực hiện các hành động cơ bản, quá chi tiết. Nhiều câu lệnh điều kiện lồng nhau và toán tử vòng lặp phát sinh, logic trở nên hoàn toàn khó hiểu và khi cố gắng sửa một câu lệnh sai, một số lỗi mới xuất hiện liên quan đến đặc thù hoạt động của toán tử này, kết quả của chúng thường được tính đến trong nhiều nhất Những nơi khác nhau các chương trình.

Lập trình có cấu trúc

Khi tạo các ứng dụng cỡ trung bình (vài nghìn dòng mã nguồn), lập trình có cấu trúc được sử dụng, ý tưởng của nó là cấu trúc của chương trình phải phản ánh cấu trúc của vấn đề đang được giải quyết để có thể nhìn thấy rõ thuật toán giải pháp từ văn bản nguồn. Để làm được điều này, bạn cần có phương tiện để tạo một chương trình không chỉ sử dụng ba câu lệnh đơn giản mà còn sử dụng các công cụ phản ánh chính xác hơn cấu trúc cụ thể của thuật toán. Với mục đích này, khái niệm chương trình con đã được đưa vào lập trình - một tập hợp các toán tử thực hiện hành động mong muốn và độc lập với các phần khác của mã nguồn. Chương trình được chia thành nhiều chương trình con nhỏ (chiếm tối đa 50 câu lệnh - ngưỡng quan trọng để hiểu nhanh mục đích của chương trình con), mỗi chương trình con thực hiện một trong các hành động được chỉ định trong tác vụ ban đầu. Bằng cách kết hợp các chương trình con này, có thể hình thành thuật toán cuối cùng không phải từ các toán tử đơn giản mà từ các khối mã hoàn chỉnh có ý nghĩa ngữ nghĩa nhất định và các khối như vậy có thể được gọi bằng tên. Hóa ra các chương trình con là các toán tử mới hoặc các phép toán ngôn ngữ do người lập trình xác định.

Khả năng sử dụng các chương trình con phân loại ngôn ngữ lập trình thành ngôn ngữ thủ tục.

Sự hiện diện của các quy trình cho phép bạn thiết kế và phát triển một ứng dụng từ trên xuống - phương pháp này được gọi là thiết kế từ trên xuống. Đầu tiên, một số chương trình con được xác định để giải quyết các nhiệm vụ chung nhất (ví dụ: khởi tạo dữ liệu, phần chính và hoàn thành), sau đó mỗi mô-đun này được trình bày chi tiết ở mức thấp hơn, lần lượt chia nhỏ thành một số ít các phần khác. chương trình con, v.v. cho đến khi hoàn thành toàn bộ nhiệm vụ.

Cách tiếp cận này thuận tiện vì nó cho phép một người liên tục suy nghĩ ở cấp độ chủ đề mà không cần đi sâu vào các toán tử và biến cụ thể. Ngoài ra, một số người có thể không triển khai các chương trình con ngay lập tức mà tạm thời hoãn lại cho đến khi các phần khác được hoàn thành. Ví dụ: nếu cần tính toán phức tạp hàm toán học, thì một chương trình con riêng cho phép tính như vậy sẽ được phân bổ, nhưng nó được triển khai tạm thời bởi một toán tử, thao tác này chỉ đơn giản gán một giá trị được chọn trước. Sau khi toàn bộ ứng dụng được viết và gỡ lỗi, bạn có thể bắt đầu triển khai chức năng này.

Điều quan trọng nữa là các chương trình con nhỏ dễ gỡ lỗi hơn nhiều, điều này làm tăng đáng kể độ tin cậy tổng thể của toàn bộ chương trình.

Một đặc điểm rất quan trọng của chương trình con là khả năng tái sử dụng. Hệ thống lập trình tích hợp đi kèm với các thư viện lớn chứa các quy trình tiêu chuẩn có thể tăng năng suất đáng kể bằng cách tận dụng công việc của người khác để tạo ra các quy trình thường được sử dụng.

Có hai loại chương trình con - thủ tục và hàm. Chúng khác nhau ở chỗ thủ tục chỉ thực hiện một nhóm câu lệnh và ngoài ra, hàm còn tính toán một giá trị nhất định và chuyển nó trở lại chương trình chính (trả về một giá trị). Giá trị này có một loại nhất định (hàm được cho là có loại như vậy và loại như vậy).

Các chương trình con thực hiện ba nhiệm vụ quan trọng:

Loại bỏ nhu cầu lặp lại nhiều lần các đoạn tương tự trong văn bản chương trình;

Cải thiện cấu trúc của chương trình, làm cho nó dễ hiểu hơn;

Tăng khả năng chống lại các lỗi lập trình và những hậu quả không lường trước được trong quá trình sửa đổi chương trình.

Lập trình hướng đối tượng

Vào giữa những năm 80, một hướng mới trong lập trình đã xuất hiện dựa trên khái niệm về một đối tượng. Cho đến thời điểm đó, những hạn chế chính về khả năng tạo hệ thống lớnáp đặt sự mất đoàn kết trong chương trình dữ liệu và phương pháp xử lý chúng.

Các vật thể thực ở thế giới xung quanh có ba đặc điểm cơ bản: chúng có một tập hợp các thuộc tính, có khả năng thay đổi các thuộc tính này bằng các phương pháp khác nhau và phản ứng với các sự kiện phát sinh cả trong thế giới xung quanh và bên trong chính đối tượng đó. Ở dạng này, khái niệm về một đối tượng được triển khai trong các ngôn ngữ lập trình dưới dạng một tập hợp các thuộc tính (đặc điểm cấu trúc dữ liệu của đối tượng này), các phương thức xử lý chúng (các quy trình thay đổi thuộc tính) và các sự kiện mà đối tượng này có thể phản ứng và theo quy luật, dẫn đến thay đổi thuộc tính của đối tượng.

Sự xuất hiện của khả năng tạo đối tượng trong chương trình đã có tác động về mặt chất lượng đến năng suất của các lập trình viên. Khối lượng ứng dụng tối đa có sẵn để tạo bởi một nhóm gồm 10 lập trình viên đã tăng lên hàng triệu dòng mã trong vài năm, đồng thời có thể đạt được độ tin cậy chương trình cao và quan trọng là có thể tái sử dụng các đối tượng đã tạo trước đó trong các nhiệm vụ khác.

Các đối tượng có thể có cấu trúc giống hệt nhau và chỉ khác nhau về giá trị thuộc tính. Trong những trường hợp như vậy, chương trình sẽ tạo một kiểu mới dựa trên một cấu trúc đối tượng duy nhất. Nó được gọi là một lớp và mỗi đối tượng cụ thể có cấu trúc của lớp này được gọi là một thể hiện của lớp.

Sự vật- định hướng ngôn ngữ lập trình được đặc trưng bởi ba thuộc tính chính.

Trước khi muốn học bất kỳ ngôn ngữ lập trình nào, bạn cần biết một chút về lịch sử của chúng và nơi chúng được sử dụng.

Tôi trình bày cho bạn một cái nhìn tổng quan ngắn gọn về 25 ngôn ngữ lập trình nổi tiếng. Bắt đầu từ nổi tiếng nhất đến ít phổ biến nhất. Bài viết được thực hiện cho người mới bắt đầu trong lĩnh vực lập trình. Bạn có thể đọc về từng ngôn ngữ và chọn ngôn ngữ bạn thích nhất để học.

Trước khi bắt đầu học ngôn ngữ lập trình, tôi khuyên bạn nên tham gia một khóa học về .

1. JavaScript

Ngôn ngữ lập trình kịch bản hướng nguyên mẫu. JavaScript ban đầu được tạo ra để làm cho các trang web “sống động”. Trong trình duyệt, chúng kết nối trực tiếp với HTML và ngay khi tải trang, chúng sẽ được thực thi ngay lập tức.

Khi JavaScript được tạo ra, ban đầu nó có một tên khác: “LiveScript”. Nhưng sau đó ngôn ngữ Java rất phổ biến và các nhà tiếp thị quyết định rằng một cái tên tương tự sẽ khiến ngôn ngữ mới trở nên phổ biến hơn.

Người ta đã lên kế hoạch rằng JavaScript sẽ là một loại “em trai” của Java. Tuy nhiên, lịch sử đã có cách đi riêng của nó, JavaScript đã phát triển rất nhiều và giờ đây nó là một ngôn ngữ hoàn toàn độc lập, có đặc tả riêng và không liên quan gì đến Java.

2. Java


Một ngôn ngữ lập trình hướng đối tượng được đánh máy mạnh mẽ. Các ứng dụng Java thường được dịch sang mã byte đặc biệt để chúng có thể chạy trên mọi nền tảng. kiến trúc máy tính, sử dụng máy ảo Java.

Ưu điểm của phương pháp thực thi chương trình này là tính độc lập hoàn toàn của mã byte với hệ điều hành và phần cứng, cho phép bạn chạy các ứng dụng Java trên bất kỳ thiết bị nào có máy ảo tương ứng tồn tại. Một tính năng quan trọng khác Công nghệ Java là một hệ thống bảo mật linh hoạt trong đó việc thực thi chương trình được kiểm soát hoàn toàn bởi máy ảo.

Ngôn ngữ ban đầu được gọi là Oak và được phát triển bởi James Gosling để lập trình các thiết bị gia dụng. các thiết bị điện tử. Sau đó nó được đổi tên thành Java và bắt đầu được sử dụng để viết ứng dụng khách và phần mềm máy chủ.

3.PHP


Là một ngôn ngữ thông dịch phổ biến, mã nguồn mở, có mục đích chung ( ngôn ngữ kịch bản). PHP được tạo riêng để phát triển web và mã của nó có thể được nhúng trực tiếp vào mã HTML. Cú pháp của ngôn ngữ này đến từ C, Java và Perl và rất dễ học.

Mục đích chính của PHP là cho phép các nhà phát triển web nhanh chóng tạo các trang web được tạo động, nhưng phạm vi Ứng dụng PHP không chỉ giới hạn ở điều này.

4.Python

Ngôn ngữ lập trình đa năng cấp cao nhằm mục đích tăng năng suất của nhà phát triển, khả năng đọc mã và phát triển ứng dụng web. Cú pháp cốt lõi của Python là tối giản. Mã trong Python được tổ chức thành các hàm và lớp, có thể kết hợp thành các mô-đun.

5. C#


Ngôn ngữ lập trình hướng đối tượng. Được phát triển vào năm 1998-2001 bởi một nhóm kỹ sư do Anders Hejlsberg dẫn đầu tại Microsoft dưới dạng ngôn ngữ phát triển ứng dụng cho Microsoft .NET Framework. C# thuộc họ ngôn ngữ có cú pháp giống C, trong đó cú pháp của nó gần nhất với C++ và Java.

Ngôn ngữ này có kiểu gõ tĩnh, hỗ trợ đa hình, nạp chồng toán tử, đại biểu, thuộc tính, sự kiện, thuộc tính, kiểu và phương thức chung, trình vòng lặp, hàm ẩn danh có hỗ trợ đóng, LINQ, ngoại lệ, nhận xét ở định dạng XML.

6. C++


Một ngôn ngữ lập trình đa năng được biên dịch và gõ tĩnh. Đây là một trong những ngôn ngữ được sử dụng rộng rãi nhất trên thế giới. Google Chrome, Mozilla Firefox, Winamp và dòng sản phẩm Adobe được phát triển bằng C++. Ngoài ra, một số trò chơi và hệ điều hành hiện đại đã được phát triển bằng C++ do tốc độ xử lý và biên dịch nhanh.

7. Hồng ngọc


Đơn giản và ngôn ngữ có thể đọc được lập trình tập trung vào phát triển ứng dụng web. Được thiết kế bởi Yukihiro Matsumto vào năm 1995. Ngôn ngữ này có triển khai đa luồng độc lập với hệ điều hành, gõ động nghiêm ngặt và trình thu gom rác.

Mục đích chính của Ruby là tạo ra sự đơn giản và đồng thời chương trình dễ hiểu, điều quan trọng không phải là tốc độ của chương trình mà là thời gian phát triển ngắn, sự rõ ràng và đơn giản của cú pháp. Ngôn ngữ tuân theo nguyên tắc "ít bất ngờ nhất": chương trình phải hoạt động như người lập trình mong đợi.

8.CSS


Cascading Style Sheets là ngôn ngữ chính thức để mô tả hình thức của tài liệu được viết bằng ngôn ngữ đánh dấu.
Nó chủ yếu được sử dụng như một phương tiện mô tả và thiết kế giao diện của các trang web được viết bằng ngôn ngữ đánh dấu HTML và XHTML, nhưng cũng có thể được áp dụng cho bất kỳ tài liệu XML nào.

9.C


Một ngôn ngữ lập trình có mục đích chung được biên dịch, gõ tĩnh. Ngôn ngữ C được phát triển bởi Dennis Ritchie vào năm 1972 tại Bell Labs. Nó là tiền thân của các ngôn ngữ lập trình như C++, Java, C#, JavaScript và Perl. Vì lý do này, việc học ngôn ngữ này sẽ dẫn đến việc hiểu các ngôn ngữ khác. Ngôn ngữ C được sử dụng để phát triển các ứng dụng cấp thấp vì nó được coi là gần gũi nhất với phần cứng.

10. Mục tiêu-C


Một ngôn ngữ lập trình hướng đối tượng được biên dịch được sử dụng bởi Tập đoàn Apple, được xây dựng trên mô hình ngôn ngữ C và Smalltalk. Ngôn ngữ Objective-C là siêu ngôn ngữ của ngôn ngữ C, vì vậy mã C hoàn toàn có thể hiểu được bởi trình biên dịch Objective-C. Ngôn ngữ này được sử dụng chủ yếu cho Mac OS X (Cocoa) và GNUstep - triển khai giao diện OpenStep hướng đối tượng. Ngôn ngữ này cũng được sử dụng cho iOS (Cocoa Touch).

11. Vỏ

Nó không hẳn là một ngôn ngữ mà là một trình thông dịch lệnh (ngôn ngữ lệnh). Các tập lệnh của nó được sử dụng để tự động cập nhật phần mềm. Chứa các cấu trúc tiêu chuẩn cho các khai báo vòng lặp, phân nhánh và hàm. Họ hệ điều hành UNIX sử dụng SHELL làm ngôn ngữ kiểm soát công việc tiêu chuẩn.

12. R


Ngôn ngữ lập trình cho xử lý thống kê dữ liệu và đồ họa cũng như miễn phí môi trường phần mềm tính toán nguồn mở trong Dự án GNU. R được sử dụng rộng rãi làm phần mềm thống kê để phân tích dữ liệu và đã trở thành tiêu chuẩn thực tế cho các chương trình thống kê. R sử dụng giao diện dòng lệnh.

13. Perl


Một ngôn ngữ lập trình đa năng năng động được giải thích ở cấp độ cao. Tên của ngôn ngữ này là từ viết tắt của từ viết tắt của Practice Extraction and Report Language - “ngôn ngữ thực tế để trích xuất dữ liệu và viết báo cáo”. Tính năng chính của ngôn ngữ này là khả năng làm việc với văn bản phong phú, bao gồm cả việc làm việc với các biểu thức chính quy được tích hợp trong cú pháp. TRÊN khoảnh khắc này nó được sử dụng để thực hiện một loạt các nhiệm vụ bao gồm quản trị hệ thống, phát triển web, lập trình mạng, trò chơi, tin sinh học, phát triển giao diện người dùng đồ họa.

14. Scala


Một ngôn ngữ lập trình đa mô hình được thiết kế ngắn gọn và an toàn về kiểu để tạo phần mềm dựa trên thành phần một cách dễ dàng và nhanh chóng, kết hợp các khả năng của lập trình chức năng và hướng đối tượng. Các chương trình Scala tương tự như các chương trình Java ở nhiều điểm và có thể tương tác tự do với mã Java.

15. Đi


Một ngôn ngữ lập trình đa luồng được biên dịch do Google phát triển. Ngôn ngữ Go được phát triển làm ngôn ngữ lập trình hệ thống để tạo các chương trình hiệu quả cao chạy trên các hệ thống phân tán hiện đại và bộ xử lý đa lõi. Nó có thể được coi là một nỗ lực nhằm tạo ra sự thay thế cho ngôn ngữ C. Trong quá trình phát triển, người ta đặc biệt chú ý đến việc đảm bảo việc biên soạn có hiệu quả cao. Các chương trình Go được biên dịch thành mã đối tượng và không cần máy ảo để chạy.

16.SQL

Structured Query Language. một ngôn ngữ lập trình chính thức, phi thủ tục được sử dụng để tạo, sửa đổi và thao tác dữ liệu trong cơ sở dữ liệu quan hệ tùy ý được quản lý bởi hệ thống quản lý cơ sở dữ liệu thích hợp. SQL chủ yếu là ngôn ngữ logic thông tin được thiết kế để mô tả, sửa đổi và truy xuất dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ. Mỗi câu lệnh SQL là một yêu cầu dữ liệu từ cơ sở dữ liệu hoặc một lệnh gọi đến cơ sở dữ liệu khiến dữ liệu trong cơ sở dữ liệu thay đổi.

17. Haskell


Một ngôn ngữ lập trình có mục đích chung, thuần túy, chức năng và được tiêu chuẩn hóa. Đây là một trong những ngôn ngữ lập trình phổ biến nhất có hỗ trợ tính toán lười biếng. Đặc điểm nổi bật của ngôn ngữ là thái độ nghiêm túcđể điển hình hóa. Haskell là một ngôn ngữ tuyệt vời để học và thử nghiệm các kiểu dữ liệu chức năng phức tạp.

18. Nhanh


Một ngôn ngữ lập trình mở, đa mô hình, được biên dịch, có mục đích chung. Tạo bởi Apple chủ yếu dành cho các nhà phát triển iOS và OS X. Swift hoạt động với các framework Cocoa và Cocoa Touch, đồng thời tương thích với cơ sở mã Objective-C cốt lõi của Apple. Swift được dự định là một ngôn ngữ dễ đọc và ít lỗi hơn so với ngôn ngữ tiền nhiệm của nó, Objective-C. Swift vay mượn khá nhiều từ Objective-C, nhưng nó được xác định không phải bằng con trỏ mà bằng các loại biến mà trình biên dịch xử lý. Nhiều ngôn ngữ kịch bản hoạt động theo nguyên tắc tương tự.

19. Matlab


Ngôn ngữ lập trình thông dịch cấp cao bao gồm các cấu trúc dữ liệu dựa trên ma trận, nhiều tính năng, môi trường phát triển tích hợp, khả năng hướng đối tượng và giao diện với các chương trình được viết bằng các ngôn ngữ lập trình khác. Các chương trình viết bằng MATLAB có hai loại - hàm và tập lệnh. Các hàm có các đối số đầu vào và đầu ra cũng như các đối số riêng của chúng. không gian làm việcđể lưu trữ kết quả trung gian tính toán và các biến. Các tập lệnh sử dụng một không gian làm việc chung. Cả tập lệnh và hàm đều được lưu dưới dạng tập tin văn bản và được biên dịch thành mã máy một cách linh hoạt.

20. Trực quan cơ bản


Ngôn ngữ lập trình và môi trường phát triển phần mềm tích hợp được phát triển bởi Tập đoàn Microsoft. Ngôn ngữ hình ảnh Basic kế thừa tinh thần, phong cách và cú pháp của tổ tiên - ngôn ngữ BASIC, có nhiều phương ngữ. Trong cùng thời gian Ngôn ngữ lập trình kết hợp các thủ tục và các yếu tố của ngôn ngữ lập trình hướng đối tượng và hướng thành phần.

Visual Basic cũng là một công cụ tốt để phát triển nhanh các ứng dụng cơ sở dữ liệu RAD cho hệ điều hành Microsoft Windows. Nhiều thành phần làm sẵn được cung cấp cùng với môi trường được thiết kế để giúp lập trình viên bắt đầu ngay lập tức phát triển logic nghiệp vụ của ứng dụng mà không chuyển hướng chú ý sang việc viết mã khởi chạy chương trình.

21. Delphi


Một ngôn ngữ lập trình hướng đối tượng, có cấu trúc, mệnh lệnh với kiểu gõ biến tĩnh mạnh mẽ. Lĩnh vực sử dụng chính là viết phần mềm ứng dụng.

Ngày nay, cùng với việc hỗ trợ phát triển các chương trình 32 và 64 bit cho Windows, người ta có thể tạo các ứng dụng cho Apple Mac OS X, cũng như cho Google Android (được thực thi trực tiếp trên bộ xử lý ARM).

22. Hấp dẫn


Một ngôn ngữ lập trình hướng đối tượng được thiết kế cho nền tảng Java như một sự bổ sung cho ngôn ngữ Java với khả năng Python, Ruby và Smalltalk. Groovy sử dụng cú pháp giống Java với khả năng biên dịch động mã byte JVM và hoạt động trực tiếp với các thư viện và mã Java khác. Ngôn ngữ này có thể được sử dụng trong bất kỳ dự án Java nào hoặc làm ngôn ngữ kịch bản.

23. Visual Basic .NET


Một ngôn ngữ lập trình hướng đối tượng, có thể được coi là vòng phát triển tiếp theo của Visual Basic, được triển khai trên nền tảng Microsoft .NET. VB.NET không tương thích ngược với phiên bản cũ hơn (Visual Basic 6.0). Chỉ có thể phát triển các dự án phiên bản cũ hơn (*.vbp) sau khi chuyển đổi sơ bộ sang định dạng VB.NET bằng một trình hướng dẫn đặc biệt (Trình hướng dẫn di chuyển); tuy nhiên, sau khi chuyển đổi, cần phải sửa đổi văn bản một cách thủ công đáng kể.

24.D

Một ngôn ngữ lập trình được biên soạn đa mô hình được tạo bởi Walter Bright của Digital Mars. D ban đầu được hình thành như một sự tái cấu trúc của ngôn ngữ C++, tuy nhiên, bất chấp ảnh hưởng đáng kể của C++, nó không phải là một biến thể của nó. Ngôn ngữ cũng bị ảnh hưởng bởi các khái niệm từ ngôn ngữ Lập trình Python, Ruby, C#, Java, Eiffel.

25. Người lắp ráp


Ngôn ngữ hướng máy cấp thấp với các lệnh không phải lúc nào cũng tương ứng với lệnh máy, có thể cung cấp các tính năng bổ sung như macro; mã hóa tự động được mở rộng bởi các cấu trúc ngôn ngữ lập trình cấp cao, chẳng hạn như biểu thức, macro và các phương tiện đảm bảo tính mô đun của chương trình.

Hợp ngữ là một hệ thống ký hiệu được sử dụng để thể hiện các chương trình được viết bằng mã máy ở dạng con người có thể đọc được. Hợp ngữ cho phép lập trình viên sử dụng các mã thao tác ghi nhớ theo thứ tự bảng chữ cái, gán tên tượng trưng cho các thanh ghi và bộ nhớ máy tính theo ý mình, đồng thời thiết lập các sơ đồ địa chỉ thuận tiện cho bản thân. Ngoài ra, nó cho phép bạn sử dụng hệ thống khác nhau ký hiệu để biểu diễn các hằng số và cho phép gắn nhãn các dòng chương trình bằng các nhãn có tên tượng trưng để có thể truy cập chúng.

Không có gì ngạc nhiên khi lập trình viên nằm trong số những chuyên gia được trả lương cao nhất trên thế giới. Nga cũng không ngoại lệ. Lập trình viên giỏi cũng được đánh giá cao ở đây. Và nếu bạn quan tâm đến một nghề nghiệp phát triển nhanh chóng và sinh lợi, bạn có thể muốn học và trở thành một lập trình viên.

Để giúp bạn đưa ra lựa chọn này, tôi đã thu thập dữ liệu từ nhiều trang tìm kiếm việc làm khác nhau. Mặc dù nó không phải danh sách đầy đủ, nhưng nó cung cấp cái nhìn sâu sắc về các ngôn ngữ lập trình có nhu cầu cao nhất (do nhà tuyển dụng yêu cầu).

9 ngôn ngữ lập trình phổ biến nhất năm 2016

Không có gì đáng ngạc nhiên khi SQL đứng đầu danh sách vì nó được sử dụng ở hầu hết mọi nơi và trong phạm vi rộng. Các công nghệ cơ sở dữ liệu như MySQL, PostgreSQL và Microsoft SQL được sử dụng trên máy chủ của các doanh nghiệp lớn và nhỏ, bệnh viện, ngân hàng, trường đại học, v.v. Thật vậy, hầu hết mọi máy tính và người có quyền truy cập vào cơ sở dữ liệu cuối cùng đều chạm tới SQL. Ví dụ: tất cả điện thoại Android và iPhone đều có quyền truy cập vào cơ sở dữ liệu dữ liệu SQLđược gọi là SQLite và nhiều ứng dụng di độngĐược phát triển bởi Google, Skype và Dropbox sử dụng trực tiếp.

  1. Java

Cộng đồng công nghệ vừa kỷ niệm 20 năm thành lập Java. Đây là một trong những ngôn ngữ lập trình được áp dụng rộng rãi nhất, được gần 9 triệu nhà phát triển sử dụng và chạy trên 7 tỷ thiết bị trên toàn thế giới. Nó là một ngôn ngữ lập trình được sử dụng để phát triển tất cả các ngôn ngữ bản địa Ứng dụng Android. Sự phổ biến của các nhà phát triển Java xuất phát từ việc ngôn ngữ này có khả năng tương thích lâu dài, điều này đảm bảo rằng các ứng dụng cũ hơn sẽ tiếp tục hoạt động ở hiện tại và trong tương lai. Khó khăn duy nhất là ngôn ngữ này khá khó để thành thạo, đặc biệt là đối với người mới bắt đầu.

JavaScript là một trong những ngôn ngữ lập trình phổ biến và mạnh mẽ nhất và được sử dụng để làm cho các trang web trở nên sống động bằng cách làm cho chúng có tính tương tác. Ví dụ: JavaScript có thể được sử dụng để thêm hiệu ứng vào trang web, hiển thị thông báo bật lên hoặc tạo trò chơi có chức năng cơ bản. Cũng cần lưu ý rằng JavaScript là ngôn ngữ kịch bản của World Wide Web được tích hợp sẵn trong tất cả các trình duyệt web chính theo mặc định, bao gồm cả trình duyệt web IE, FireFox và Safari. Hầu hết mọi trang web đều bao gồm một số thành phần của JavaScript, điều này làm tăng thêm nhu cầu về nhà phát triển JavaScript. Trong những năm gần đây, JavaScript cũng bắt đầu được sử dụng làm nền tảng cho Node.js, một công nghệ phía máy chủ, trong số những thứ khác, cho phép giao tiếp theo thời gian thực.

C# (phát âm là C-Sharp) là ngôn ngữ lập trình tương đối mới được Microsoft phát triển cho nhiều ứng dụng. ứng dụng doanh nghiệp, chạy trên .NET Framework. Sự phát triển của C và C++, ngôn ngữ C# đơn giản, hiện đại, an toàn và hướng đối tượng.

C++ (phát âm là C-plus-plus) là ngôn ngữ lập trình hướng đối tượng có mục đích chung dựa trên ngôn ngữ C. Được phát triển bởi Bjarne Stroustrup tại Bell Labs, C++ được phát hành lần đầu tiên vào năm 1983. Stroustrup duy trì một danh sách rộng lớn các ứng dụng được viết bằng C++. Danh sách này bao gồm các ứng dụng Adobe và Microsoft, cơ sở dữ liệu MongoDB, hầu hết Mac OS/X và ứng dụng này. ngôn ngữ tốt nhấtđể nghiên cứu hiệu suất một cách nghiêm túc ứng dụng quan trọng, chẳng hạn như phát triển trò chơi "co giật" hoặc xử lý âm thanh/video.

Python là ngôn ngữ lập trình có mục đích chung được đặt theo tên của Monty Python. Python đơn giản và dễ đọc (dành cho những người biết tiếng Anh). Đó là một ngôn ngữ tuyệt vời cho người mới bắt đầu cũng như các chuyên gia dày dạn kinh nghiệm. Có rất nhiều khóa học lập trình dành cho Python, 8 trên 10 khoa khoa học máy tính dạy viết mã bằng Python. sử dụng Python. Do việc sử dụng Python trong giáo dục nên có rất nhiều thư viện được tạo ra cho Python liên quan đến toán học, vật lý, xử lý khoa học, v.v.

Được tạo ra bởi lập trình viên người Canada gốc Đan Mạch Rasmus Lerdorf vào năm 1994, PHP không có ý định trở thành một ngôn ngữ lập trình mới. Thay vào đó, nó được tạo ra để phục vụ như một bộ công cụ giúp người tạo ra nó duy trì trang cá nhân của mình trên Internet (bằng PHP). Ngày nay, PHP là ngôn ngữ kịch bản phía máy chủ có thể được sử dụng để tạo các trang web được viết ở định dạng HTML. PHP là một ngôn ngữ rất phổ biến vì nó dễ sử dụng đối với những lập trình viên mới nhưng nó cũng cung cấp nhiều tính năng nâng cao cho những lập trình viên có kinh nghiệm hơn.

Giống như Java hoặc ngôn ngữ C, Ruby là ngôn ngữ lập trình có mục đích chung. Ruby on Rails được sử dụng để viết các ứng dụng web và cũng cung cấp khả năng tích hợp với máy chủ web và cơ sở dữ liệu. Ruby on Rails có rất nhiều phẩm chất tích cực, bao gồm sự phát triển nhanh chóng và nhiều lựa chọn thư viện. Nó được sử dụng bởi nhiều công ty từ các công ty khởi nghiệp nhỏ đến các doanh nghiệp lớn. Hulu, Twitter, Github và Living Social sử dụng Ruby on Rails cho ít nhất một trong các ứng dụng web của họ.

Năm 2014, Apple quyết định phát minh ra sản phẩm của riêng mình ngôn ngữ riêng lập trình. Kết quả là Swift, một ngôn ngữ lập trình mới dành cho các nhà phát triển iOS và OS X. Các nhà phát triển khẳng định rằng nhiều phần của Swift quen thuộc với họ nhờ kinh nghiệm làm việc trong C++ và Objective-C. Nhiều công ty ở phương Tây, bao gồm American Airlines, LinkedIn và Duolingo, đã chuyển sang sử dụng Swift và ngôn ngữ này sẽ ngày càng trở nên phổ biến trong những năm tới.

Bất kỳ bậc thầy nào cũng có một bộ công cụ đầy đủ, mỗi công cụ phù hợp cho một nhiệm vụ cụ thể. Tương tự như vậy với lập trình, sẽ không bao giờ chỉ có một ngôn ngữ và mỗi ngôn ngữ sẽ phát triển và cải thiện theo thời gian để theo kịp sự đổi mới.

Đó là lý do tại sao nếu bạn quan tâm đến việc trở thành nhà phát triển, điều quan trọng là phải thành thạo nhiều ngôn ngữ lập trình để bạn có thể linh hoạt và dễ thích nghi, đồng thời tiếp tục học ngôn ngữ trong suốt sự nghiệp của mình.

Tiêu đề của báo cáo

Ngôn ngữ lập trình hiện đại và cách sử dụng chúng

Tác giả của dự án

Cấu trúc dự án

● Sơ đồ phân loại ngôn ngữ lập trình

● Phân loại ngôn ngữ lập trình

● Tổng quan về ngôn ngữ lập trình

● Tài nguyên hữu ích

Sơ đồ phân loại ngôn ngữ lập trình

Phân loại ngôn ngữ lập trình

Lập trình thủ tục- là sự phản ánh của kiến ​​trúc máy tính von Neumann. Một chương trình được viết bằng ngôn ngữ thủ tục là một chuỗi các lệnh xác định thuật toán để giải quyết vấn đề. Ý tưởng chính của lập trình thủ tục là sử dụng bộ nhớ để lưu trữ dữ liệu. Lệnh chính là gán, trong đó bộ nhớ của máy tính được xác định và thay đổi. Chương trình biến đổi nội dung của bộ nhớ, thay đổi nó từ trạng thái ban đầu sang trạng thái kết quả.

Có các ngôn ngữ lập trình thủ tục sau:

 Ngôn ngữ Fortran được tạo ra vào đầu những năm 50 của thế kỷ 20 để lập trình các bài toán khoa học kỹ thuật;

 COBOL – được tạo ra vào cuối những năm 60 của thế kỷ 20 để giải quyết các vấn đề xử lý lượng lớn dữ liệu được lưu trữ trên nhiều phương tiện lưu trữ dữ liệu khác nhau;

 ALGOL (1960) là ngôn ngữ lập trình nâng cao đa mục đích. Nó lần đầu tiên giới thiệu các khái niệm về “cấu trúc khối của một chương trình” và “ phân phối động ký ức";

 Vào giữa những năm 60 của thế kỷ 20, một ngôn ngữ lập trình chuyên biệt dành cho người mới bắt đầu đã được tạo ra - BASIC. Nó được đặc trưng bởi tính dễ học và sự hiện diện của các công cụ phổ quát để giải quyết các vấn đề khoa học, kỹ thuật và kinh tế, cũng như các vấn đề, chẳng hạn như trò chơi.

Tất cả các ngôn ngữ được liệt kê ở trên đều tập trung vào các lớp nhiệm vụ khác nhau, nhưng ở mức độ này hay mức độ khác, chúng gắn liền với một kiến ​​​​trúc máy tính cụ thể.

 Năm 1963-1966, ngôn ngữ phổ thông đa năng PL-1 ra đời. Ngôn ngữ này rất phù hợp cho việc nghiên cứu và lập kế hoạch cho các quá trình tính toán, mô hình hóa, giải vấn đề logic, phát triển hệ thống phần mềm.

 Ngôn ngữ Pascal (PASCAL) (1968-1971) là ngôn ngữ lập trình thủ tục phổ biến nhất cho PC và vẫn được sử dụng thành công cho đến ngày nay. Điều cơ bản ngôn ngữ Pascal cách tiếp cận dựa trên nhiệm vụ chungđến những cái riêng tư (đơn giản hơn và nhỏ hơn về khối lượng). Các nguyên tắc cơ bản mà Pascal có bao gồm: a) Lập trình có cấu trúc, dựa trên việc sử dụng các chương trình con và cấu trúc dữ liệu độc lập; b) Lập trình từ trên xuống, khi một bài toán được chia thành các bài toán đơn giản, được giải độc lập. Sau đó, một giải pháp được xây dựng vấn đề ban đầu hoàn toàn từ trên xuống dưới.

 Ngôn ngữ lập trình thủ tục bao gồm ngôn ngữ ADA (1979), ngôn ngữ này được đặt theo tên của lập trình viên đầu tiên Ada Lovelace, con gái của Byron. Nó được phân biệt bởi thiết kế mô-đun của nó.

 Ngôn ngữ SI (đầu thập niên 70) cũng thuộc ngôn ngữ lập trình thủ tục. Phiên bản ban đầu của nó được lên kế hoạch làm ngôn ngữ để triển khai hệ điều hành Unix thay vì ngôn ngữ hội. Một trong những đặc điểm của ngôn ngữ SI là sự khác biệt giữa các biểu thức và toán tử được làm mượt mà, khiến nó gần hơn với các ngôn ngữ lập trình hàm. Ngoài ra, ngôn ngữ SI không có khái niệm về thủ tục và việc sử dụng các chương trình con dựa trên khái niệm về hàm, có thể kết hợp các khả năng của thủ tục. Một mặt, dựa trên tập hợp các cấu trúc điều khiển và cấu trúc dữ liệu, nó có thể được phân loại là ngôn ngữ cấp cao, mặt khác, nó có một bộ công cụ để truy cập trực tiếp vào các đơn vị chức năng của máy tính. có nghĩa là nó có thể được sử dụng như một ngôn ngữ hoạt động.

Lập trình hướng đối tượng (OOP) là một phương pháp lập trình trong đó các thành phần chính của chương trình là các đối tượng. Trong các ngôn ngữ lập trình, khái niệm về một đối tượng được triển khai dưới dạng một tập hợp các thuộc tính (đặc điểm cấu trúc dữ liệu của một đối tượng nhất định), các phương thức xử lý chúng (các quy trình thay đổi thuộc tính của chúng) và các sự kiện mà một đối tượng nhất định có thể phản ứng và, như một quy luật, dẫn tới những thay đổi về thuộc tính của đối tượng. Việc kết hợp dữ liệu và các quy trình xử lý vốn có của chúng trong một đối tượng được gọi là đóng gói và là một trong những nguyên tắc quan trọng nhất của OOP.

Một khái niệm cơ bản khác là lớp học. Một lớp là một khuôn mẫu trên cơ sở đó một đối tượng phần mềm cụ thể có thể được tạo ra; nó mô tả các thuộc tính và phương thức xác định hành vi của các đối tượng thuộc lớp này. Mỗi đối tượng cụ thể có cấu trúc của lớp này được gọi là một thể hiện của lớp.

Các nguyên tắc quan trọng nhất tiếp theo của OOP là tính kế thừa và tính đa hình. Kế thừa liên quan đến việc tạo ra các lớp mới dựa trên các lớp hiện có và cho phép lớp con có (kế thừa) tất cả các thuộc tính của lớp cha.

Tính đa hình có nghĩa là các đối tượng sinh ra có thông tin về phương pháp nào chúng nên sử dụng tùy thuộc vào vị trí của chúng trong chuỗi.

Một nguyên tắc quan trọng khác của OOP là tính mô-đun - các đối tượng chứa định nghĩa đầy đủ về các đặc điểm của chúng, không có định nghĩa về phương thức và thuộc tính nào được đặt bên ngoài nó, điều này giúp bạn có thể tự do sao chép và triển khai một đối tượng này sang đối tượng khác.

Các ngôn ngữ lập trình hiện đại nhất là C++ và Java. Từ giữa những năm 90, nhiều ngôn ngữ hướng đối tượng đã được triển khai dưới dạng hệ thống thiết kế trực quan, trong đó phần giao diện sản phẩm phần mềmđược tạo ra một cách tương tác, hầu như không cần phải viết các câu lệnh chương trình. Các hệ thống thiết kế trực quan hướng đối tượng bao gồm Visual Basic, Delphi, C++ Builder, Visual C++. Ngôn ngữ VBA (Visual Basic for Application) – ngôn ngữ ứng dụng Microsoft Office(Excel, Word, Power Point, v.v.). VBA tuân theo cú pháp cơ bản của ngôn ngữ và các quy tắc lập trình của ngôn ngữ Cơ bản - phương ngữ, cho phép bạn tạo macro để tự động hóa việc thực hiện một số thao tác và GUI người dùng, tích hợp giữa các sản phẩm phần mềm khác nhau.

Ngôn ngữ lập trình khai báo

Chúng bao gồm các ngôn ngữ lập trình chức năng và logic. Lập trình hàm là cách viết chương trình trong đó hành động duy nhất là gọi hàm. Lập trình hàm không sử dụng bộ nhớ làm nơi lưu trữ dữ liệu và do đó không sử dụng các biến trung gian, câu lệnh gán hoặc vòng lặp. Khái niệm chính trong ngôn ngữ chức năng là biểu thức. Chương trình viết bằng ngôn ngữ chức năng, là một chuỗi mô tả các hàm và biểu thức. Biểu thức được tính bằng cách giảm phức tạp thành đơn giản. Tất cả các biểu thức đều được viết dưới dạng danh sách. Ngôn ngữ đầu tiên là ngôn ngữ Lisp (LISP, LIST Treatment) được tạo ra vào năm 1959. Ngôn ngữ này cho phép bạn xử lý một lượng lớn thông tin văn bản. Lập trình logic là lập trình theo logic. Năm 1973, ngôn ngữ trí tuệ nhân tạo Prolog (PROLOG) (Lập trình logic) được tạo ra. Một chương trình Prolog được xây dựng từ một chuỗi các sự kiện và quy tắc, sau đó một phát biểu được hình thành mà Prolog cố gắng chứng minh bằng cách sử dụng các quy tắc. Bản thân ngôn ngữ sẽ tìm kiếm giải pháp bằng cách sử dụng các phương pháp tìm kiếm và so khớp được nhúng trong đó. Các chương trình logic không được đặc trưng bởi hiệu suất cao, vì quá trình thực thi của chúng phụ thuộc vào việc xây dựng chuỗi suy luận tiến và lùi bằng các phương pháp tìm kiếm khác nhau.

Tổng quan về ngôn ngữ lập trình

Trình biên dịch

Ngôn ngữ lập trình máy tính được chia thành 2 nhóm chính:

1) ngôn ngữ cấp thấp;

2) ngôn ngữ cấp cao.

Ngôn ngữ cấp thấp bao gồm ngôn ngữ Assembly. Họ lấy tên từ chương trình hệ thống Assembler, chương trình này chuyển đổi trực tiếp các chương trình nguồn được viết bằng các ngôn ngữ đó thành mã lệnh máy. Các bộ phận ở đây là các toán tử và kết quả của việc lắp ráp là một chuỗi các lệnh máy. Ngôn ngữ lắp ráp kết hợp các ưu điểm của ngôn ngữ lệnh máy và một số tính năng của ngôn ngữ cấp cao. Trình biên dịch cung cấp khả năng sử dụng các tên tượng trưng trong chương trình nguồn và giúp người lập trình tránh khỏi công việc tẻ nhạt (không thể tránh khỏi khi lập trình bằng ngôn ngữ lệnh máy) là phân bổ bộ nhớ máy tính cho các lệnh, biến và hằng.

Trình biên dịch chương trình cũng cho phép sử dụng linh hoạt và đầy đủ các khả năng kỹ thuật của máy tính cũng như ngôn ngữ lệnh của máy. Người phiên dịch chương trình nguồn Ngôn ngữ hội đơn giản hơn trình dịch cần thiết cho ngôn ngữ lập trình cấp cao. Trong trình biên dịch chương trình, bạn có thể viết một chương trình có kích thước và thời gian thực hiện hiệu quả như một chương trình bằng ngôn ngữ lệnh máy. Ưu điểm này không có ở các ngôn ngữ cấp cao. Ngôn ngữ này thường được sử dụng để lập trình các hệ thống thời gian thực, quy trình công nghệ và thiết bị, đảm bảo hoạt động của hệ thống thông tin và đo lường. Những hệ thống như vậy thường có yêu cầu cao về dung lượng bộ nhớ máy tính mà chúng chiếm giữ. Thông thường, ngôn ngữ hội được bổ sung các công cụ để tạo lệnh macro, mỗi công cụ tương đương với toàn bộ nhóm lệnh máy. Ngôn ngữ này được gọi là ngôn ngữ macroassembly. Việc sử dụng các khối "xây dựng" dạng cây thuốc phiện đưa ngôn ngữ Assembly đến gần hơn với ngôn ngữ cấp cao. Hợp ngữ là ngôn ngữ phụ thuộc vào máy, tức là nó phản ánh các đặc điểm kiến ​​trúc của một loại máy tính cụ thể

Pascal

Ngôn ngữ lập trình Pascal được phát triển bởi Nicolas Wirth, giáo sư tại Khoa Khoa học Máy tính tại Viện Công nghệ Liên bang Thụy Sĩ, vào năm 1968 như một giải pháp thay thế cho các ngôn ngữ lập trình hiện có và ngày càng phức tạp như PL/1, Algol và Fortran. . Sự phát triển mạnh mẽ của Pascal dẫn đến sự xuất hiện tiêu chuẩn của nó dưới dạng thông điệp sửa đổi vào năm 1973, và số lượng người dịch từ ngôn ngữ này vào năm 1979 đã vượt quá 80. Vào đầu những năm 80, Pascal càng củng cố vị thế của mình với sự ra đời của Pascal. Trình dịch MS-Pascal và Turbo -Pascal cho PC. Kể từ đó, Pascal đã trở thành một trong những ngôn ngữ lập trình quan trọng và được sử dụng rộng rãi nhất. Điều quan trọng là ngôn ngữ này từ lâu đã vượt ra ngoài phạm vi mối quan tâm học thuật và chuyên môn hẹp và được sử dụng ở hầu hết các trường đại học ở các nước phát triển cao không chỉ như một công cụ làm việc của người dùng. Tính năng quan trọng nhất của Pascal là sự thể hiện ý tưởng lập trình có cấu trúc. Một tính năng quan trọng khác là khái niệm cấu trúc dữ liệu là một trong những khái niệm cơ bản.

Những lý do chính cho sự phổ biến của Pascal như sau:

Sự đơn giản của ngôn ngữ cho phép bạn nhanh chóng thành thạo nó và tạo các chương trình phức tạp về mặt thuật toán

Các phương tiện biểu diễn cấu trúc dữ liệu được phát triển đảm bảo dễ dàng làm việc với cả thông tin số, ký hiệu và bit

Sự hiện diện của các kỹ thuật đặc biệt để tạo ra các trình dịch từ Pascal đã đơn giản hóa sự phát triển của chúng và góp phần phổ biến rộng rãi ngôn ngữ này.

Các thuộc tính tối ưu hóa của trình dịch Pascal cho phép bạn tạo các chương trình hiệu quả. Đây là một trong những lý do sử dụng Pascal làm ngôn ngữ lập trình hệ thống

Ngôn ngữ Pascal triển khai các ý tưởng của lập trình có cấu trúc, giúp chương trình trở nên trực quan và mang lại cơ hội tốt để phát triển và gỡ lỗi

Nhân viên của Bell Labs, Denis Ritchie, đã tạo ra ngôn ngữ C vào năm 1972 khi làm việc với Ken Thompson như một công cụ để triển khai hệ điều hành Unix, nhưng sự phổ biến của ngôn ngữ này đã nhanh chóng vượt xa phạm vi của một hệ điều hành cụ thể và các tác vụ lập trình hệ thống cụ thể. Hiện tại, bất kỳ công cụ và hệ điều hành nào cũng không thể được coi là hoàn chỉnh nếu không có trình biên dịch ngôn ngữ C. Ritchie không chỉ nảy ra ý tưởng về C - nguyên mẫu là ngôn ngữ B do Thompson phát triển. Ngôn ngữ lập trình C được thiết kế như một công cụ dành cho các lập trình viên thực hành. Theo đó, mục tiêu chính của tác giả là tạo ra một ngôn ngữ thuận tiện và hữu ích về mọi mặt.

C là công cụ của lập trình viên hệ thống và cho phép bạn nghiên cứu sâu về các cơ chế xử lý thông tin tinh vi nhất trên máy tính. Mặc dù ngôn ngữ này đòi hỏi người lập trình phải có kỷ luật cao, nhưng nó không nghiêm ngặt về mặt hình thức và cho phép xây dựng các công thức ngắn gọn.

C là một ngôn ngữ hiện đại. Nó bao gồm những cấu trúc điều khiển được lý thuyết và thực hành lập trình khuyến nghị. Cấu trúc của nó khuyến khích người lập trình sử dụng thiết kế từ trên xuống, lập trình có cấu trúc và phát triển mô-đun tăng dần trong công việc của mình.

C là một ngôn ngữ mạnh mẽ và linh hoạt. Hầu hết hệ điều hành Unix, trình biên dịch và trình thông dịch của các ngôn ngữ Fortran, Pascal, Lisp và BASIC đều được viết với sự trợ giúp của nó.

C là một ngôn ngữ thuận tiện. Nó được cấu trúc đủ để hỗ trợ phong cách tốt lập trình và đồng thời không bị ràng buộc bởi những hạn chế nghiêm ngặt. Theo một nghĩa nào đó, ngôn ngữ C là ngôn ngữ phổ biến nhất, bởi vì... Ngoài một bộ công cụ vốn có trong các ngôn ngữ lập trình cấp cao hiện đại (cấu trúc, mô-đun, các kiểu dữ liệu nhất định), nó còn bao gồm các công cụ lập trình gần như ở cấp độ trình biên dịch mã. Một tập hợp lớn các toán tử và công cụ đòi hỏi người lập trình phải cẩn thận, chính xác và có kiến ​​thức tốt về ngôn ngữ với tất cả những ưu điểm và nhược điểm của nó.

Ngôn ngữ C++ xuất hiện vào đầu những năm 80. Được tạo bởi Bjarne Stroustrup với mục tiêu ban đầu là giải phóng bản thân và bạn bè khỏi việc lập trình bằng hợp ngữ, C hoặc nhiều ngôn ngữ cấp cao khác.

Theo tác giả của ngôn ngữ, sự khác biệt giữa hệ tư tưởng của C và C++ là như sau: chương trình C phản ánh “cách suy nghĩ” của bộ xử lý và C++ phản ánh cách suy nghĩ của lập trình viên. Đáp ứng yêu cầu của lập trình hiện đại, C++ chú trọng phát triển các kiểu dữ liệu mới phù hợp nhất với khái niệm của lĩnh vực kiến ​​thức đã chọn và các nhiệm vụ ứng dụng. Lớp là một khái niệm quan trọng trong C++. Mô tả lớp chứa mô tả về dữ liệu cần thiết để biểu diễn các đối tượng thuộc loại này và một tập hợp các thao tác để làm việc với các đối tượng tương tự.

Không giống như cấu trúc C và Pascal truyền thống, các thành viên của một lớp không chỉ là dữ liệu mà còn là các hàm. Các hàm thành viên của một lớp có quyền truy cập đặc quyền vào dữ liệu trong các đối tượng của lớp đó và cung cấp giao diện giữa các đối tượng này và phần còn lại của chương trình. Tại công việc tiếp theo Không cần thiết phải nhớ cấu trúc bên trong của lớp và cơ chế hoạt động của các hàm có sẵn. Theo nghĩa này, lớp học giống như một thiết bị điện - ít người biết về cấu trúc của nó nhưng mọi người đều biết cách sử dụng nó.

Ngôn ngữ C++ là một công cụ lập trình đối tượng, một kỹ thuật mới để thiết kế và thực hiện chương trình có khả năng thay thế lập trình thủ tục truyền thống trong thập kỷ hiện tại. Mục tiêu chính của người tạo ra ngôn ngữ, Tiến sĩ Björn Stroustrup, là trang bị cho ngôn ngữ C++ những cấu trúc giúp tăng năng suất của các lập trình viên và tạo điều kiện thuận lợi cho quá trình làm chủ các sản phẩm phần mềm lớn.

Tính trừu tượng, triển khai, kế thừa và đa hình là những đặc tính cần thiết của ngôn ngữ C++, do đó nó không chỉ phổ biến, giống như ngôn ngữ C, mà còn là ngôn ngữ đối tượng. Fortran Fortran là ngôn ngữ được sử dụng rộng rãi, đặc biệt là đối với những người dùng làm mô hình số. Điều này là do một số lý do:

Sự tồn tại của số tiền khổng lồ của các chương trình ứng dụng Fortran được tích lũy qua nhiều năm, cũng như sự hiện diện của một số lượng lớn các lập trình viên sử dụng ngôn ngữ này một cách hiệu quả;

Sự hiện diện của các trình dịch Fortran hiệu quả trên tất cả các loại máy tính và các phiên bản dành cho các máy khác nhau khá chuẩn hóa và việc chuyển chương trình từ máy này sang máy khác thường không khó lắm;

Trọng tâm ban đầu của Fortran là các ứng dụng vật lý, toán học và kỹ thuật; đặc biệt, điều này được thể hiện ở chỗ trong một thời gian dài, nó vẫn là ngôn ngữ duy nhất có sẵn kiểu biến phức tạp và bộ lớn các hàm dựng sẵn để làm việc với các biến như vậy.

Trong thời gian qua, một phương pháp và triết lý lập trình mới đã được hình thành. Kể từ đầu những năm 1970, Fortran đã phải hứng chịu nhiều lời chỉ trích. Năm 1977, một tiêu chuẩn ngôn ngữ mới, Fortran 77, đã được thông qua. Phải mất rất nhiều thời gian để tạo ra một tiêu chuẩn mới, nhưng bây giờ chúng ta có thể coi như quá trình phát triển của nó đã hoàn tất và tiêu chuẩn Fortran-90 mới đã bắt đầu đi vào thực tiễn của người dùng Fortran. Chỉ trên các máy như IBM PC mới có một số trình dịch, ví dụ như Watfor, Lap-Fortran, v.v. Nhưng được sử dụng rộng rãi nhất trên các máy thuộc loại này là các phiên bản khác nhau của trình dịch Fortran-77. Được phát hành vào năm 1990, trình dịch MS-Fortran 5.0 gần như hoàn toàn tuân thủ tiêu chuẩn Fortran-90. Hầu hết các ứng dụng khoa học và kỹ thuật chính đều được viết bằng Fortran vì nó có tính di động và mạnh mẽ, đồng thời vì nó có các hàm toán học và lượng giác tích hợp. Một phần bổ sung, không thể thiếu của bất kỳ chương trình ứng dụng Fortran nào là thư viện đồ họa mở rộng cho phép bạn sử dụng nhiều dữ liệu và hình ảnh đồ họa khác nhau.

Ngôn ngữ này được tạo ra chủ yếu vào năm 1975 - 1980 do một dự án hoành tráng do Bộ Quốc phòng Hoa Kỳ thực hiện với mục tiêu phát triển ngôn ngữ lập trình thống nhất cho cái gọi là hệ thống nhúng (tức là hệ thống điều khiển cho các tổ hợp tự động hoạt động trong thời gian thực) . Điều này trước hết có nghĩa là hệ thống điều khiển trên tàu dành cho các vật thể quân sự (tàu, máy bay, xe tăng, tên lửa, đạn pháo, v.v.). Vì vậy, những quyết định của tác giả Ada không nên được coi là phổ biến. Chúng cần được nhìn nhận trong bối cảnh đặc điểm của lĩnh vực chủ đề đã chọn. Ngôn ngữ Ada phát sinh từ một cuộc thi quốc tế về các dự án ngôn ngữ được tổ chức vào năm 1978-1979. Những người tham gia phải đáp ứng các yêu cầu khá nghiêm ngặt được phát triển chi tiết dưới sự bảo trợ của Bộ Quốc phòng Hoa Kỳ. Điều thú vị là tất cả các ngôn ngữ lọt vào vòng cuối cùng của cuộc thi này đều dựa trên Pascal. Về vấn đề này, Ada có thể được mô tả tạm thời là Pascal, được phát triển có tính đến năm yêu cầu cơ bản được liệt kê ở trên. Đồng thời, các tác giả chủ yếu đi theo con đường mở rộng Pascal với các phần tử mới. Kết quả là một ngôn ngữ phức tạp hơn đáng kể.

COBOL

COBOL là một ngôn ngữ tương đối lâu đời được phát triển chủ yếu cho nghiên cứu kinh tế. Ngôn ngữ cho phép bạn làm việc hiệu quả với lượng lớn dữ liệu, nó có nhiều khả năng tìm kiếm, sắp xếp và phân phối khác nhau. Các chương trình Cobol, dựa trên việc sử dụng rộng rãi ngôn ngữ tiếng Anh, được cho là có thể hiểu được ngay cả với những người không nói được Cobol, vì văn bản bằng ngôn ngữ lập trình này không cần bất kỳ nhận xét đặc biệt nào. Các chương trình tương tự thường được gọi là tự ghi lại tài liệu. Các ưu điểm khác của Cobol thường bao gồm cấu trúc của nó. Trình biên dịch khá mạnh mẽ của ngôn ngữ này được phát triển cho máy tính cá nhân. Một số trong số chúng hiệu quả đến mức một chương trình được gỡ lỗi trên máy tính cá nhân có thể dễ dàng được chuyển sang máy tính lớn.

Khi liệt kê những nhược điểm, người ta không thể không nhớ rằng chỉ những thứ đơn giản nhất mới có thể được lập trình trong Cobol. phép tính đại số. Ngôn ngữ này không phù hợp để tính toán kỹ thuật. Một lý do khác cản trở sự phát triển của ngôn ngữ ở một mức độ nào đó là sự hiện diện ở Hoa Kỳ của một ủy ban công nghiệp được thành lập đặc biệt để phát triển các tiêu chuẩn, việc tuân thủ các tiêu chuẩn này được giám sát bởi một ủy ban chính phủ. Như thường lệ xảy ra trong những trường hợp như vậy, các công ty tham gia phát triển phần mềm không vội điều chỉnh sản phẩm của mình theo yêu cầu nghiêm ngặt của ủy ban, không có sự cạnh tranh giữa các phiên bản và cuối cùng, sự phổ biến của ngôn ngữ sẽ mất đi.

PL/1 được IBM phát triển vào năm 1964-1965. PL/1 là một trong những ngôn ngữ phổ quát, tức là nó cho phép bạn giải quyết các vấn đề từ các lĩnh vực khác nhau: tính toán số, xử lý văn bản, các vấn đề kinh tế, v.v. Về khả năng của nó, nó bao gồm các ngôn ngữ như Fortran, Algol-60 (được tạo để tính toán số), Cobol (cho các vấn đề kinh tế), mặc dù vì một số lý do, nó không thể thay thế các ngôn ngữ này ​​PL/1.

PL/1 chứa tất cả các cấu trúc cơ bản đặc trưng của cái gọi là ngôn ngữ cấp cao, cũng như một số công cụ cụ thể thuận tiện cho việc sử dụng lập trình thực tế. Ngôn ngữ này giống như một hàm tạo với một số lượng lớn chi tiết - người dùng chỉ cần nắm vững những phần ngôn ngữ thực sự cần thiết đối với mình. Các toán tử của nó khá ngắn gọn, điều này thường cho phép chương trình được viết gọn hơn so với các ngôn ngữ khác. Một lập trình viên biết PL/1 có thể dễ dàng thành thạo bất kỳ ngôn ngữ nào khác cùng loại hoặc tương tự.

Đồng thời, PL/1 cũng có một số nhược điểm gây khó khăn cho việc học và sử dụng ngôn ngữ. Những cái chính là như sau. Thứ nhất, có nhiều công cụ trùng lặp nhau, khó nhớ, không rõ dùng khi nào, hơn nữa, điều này làm giảm cả tốc độ dịch và tốc độ thực hiện chương trình. Thứ hai, các chương trình không hoàn toàn độc lập với máy.

mô-đun

Chúng ta có thể coi rằng lịch sử của ngôn ngữ Modula bắt đầu từ năm 1980, khi Niklaus Wirth, một trong những nhà lý thuyết thông tin xuất sắc, được hầu hết các chuyên gia về lĩnh vực này biết đến. công nghệ máy tính chủ yếu với tư cách là người tạo ra ngôn ngữ Pascal, ông đã xuất bản bản mô tả về ngôn ngữ lập trình mới mà ông gọi là Modula. Không giống như Pascal, vốn được dự định là ngôn ngữ để dạy lập trình, Modula ngay từ đầu đã là ngôn ngữ dành cho các lập trình viên hệ thống chuyên nghiệp, tiếp tục truyền thống tốt nhất tiền thân của nó và làm phong phú thêm chúng bằng những ý tưởng mới đáp ứng các yêu cầu đối với ngôn ngữ lập trình như cấu trúc, tính mô đun và khả năng mở rộng. Giống như nhiều ngôn ngữ lập trình khác, Modula đã trải qua một quá trình phát triển, trong đó tên ban đầu của nó được đổi thành Modula-2. Đồng thời với sự phát triển của ngôn ngữ Modula, các trình biên dịch mới đã được tạo ra cho nó, tuy nhiên, không có trình biên dịch nào trong số chúng có thể cạnh tranh với các triển khai tốt nhất của ngôn ngữ Pascal và C, chẳng hạn như do Borland phát triển. Trong giai đoạn chuyển tiếp này đối với ngôn ngữ Modula, những triển khai tốt nhất được coi là do Logitech thực hiện, có đặc điểm kém hơn Turbo Pascal và Turbo C. Chỉ đến năm 1988, sau khi hệ thống Top Speed ​​xuất hiện trên thị trường Mỹ, Modula-2 mới chiếm được vị trí xứng đáng trong số các ngôn ngữ thủ tục dành cho lập trình hệ thống. Một số yếu tố góp phần vào sự phổ biến ngày càng tăng của hệ thống Tốc độ tối đa: môi trường hoạt động thuận tiện và dễ dàng thay đổi theo yêu cầu của người dùng, trình biên dịch nhanh và trình chỉnh sửa liên kết chọn lọc. Nhưng điều quan trọng nhất hóa ra là các chương trình được tạo ra rất nhanh và không chiếm nhiều dung lượng bộ nhớ.

NỀN TẢNG

BASIC (Cơ bản - Mã hướng dẫn ký hiệu đa năng cho người mới bắt đầu - “Mã hướng dẫn ký hiệu phổ quát cho người mới bắt đầu”). Là hậu duệ trực tiếp của Fortran và vẫn là ngôn ngữ lập trình phổ biến nhất cho máy tính cá nhân. BASIC xuất hiện vào năm 1963 (thật khó để nêu tên tác giả, nhưng công lao chính cho sự xuất hiện của nó chắc chắn thuộc về người Mỹ John Kemeny và Thomas Kurtz). Giống như bất kỳ ưu điểm nào, tính đơn giản của BASIC đã trở thành những khó khăn về cấu trúc, đặc biệt là trong các phiên bản đầu tiên; Ngoài ra, BASIC không cho phép đệ quy - một kỹ thuật thú vị cho phép bạn viết các chương trình ngắn và hiệu quả đồng thời.

Các trình biên dịch BASIC mạnh mẽ đã được phát triển, không chỉ cung cấp vốn từ vựng phong phú và hiệu suất cao mà còn có khả năng lập trình có cấu trúc. Theo một số lập trình viên, các phiên bản thú vị nhất là GWBASIC, Turbo-Basic và Quick Basic.

Có một thời, sự xuất hiện của Quick Basic đánh dấu sự ra đời của hệ thống lập trình thế hệ thứ hai bằng ngôn ngữ BASIC. Nó cung cấp khả năng lập trình mô-đun và thủ tục, tạo thư viện, biên dịch các chương trình làm sẵn v.v., điều này đã đưa nó lên ngang tầm với các ngôn ngữ lập trình cổ điển như C, Pascal, Fortran, v.v. Hơn nữa, do thiếu tiêu chuẩn chính thức cho ngôn ngữ BASIC nên việc triển khai nó dưới dạng Quick Basic đã trở thành tiêu chuẩn thực tế. Các phiên bản dẫn đầu không thể tranh cãi trong số các phiên bản khác nhau của BASIC là Quick Basic 4.5 và PDS 7.1 Microsoft, xuất hiện vào cuối những năm 80.

nói ngọng

Ngôn ngữ Lisp được J. McCarthy đề xuất vào năm 1960 và nhằm mục đích phát triển các chương trình giải quyết các vấn đề phi số. Tên tiếng Anh của ngôn ngữ này, LISP, là tên viết tắt của cụm từ LISt Treatment (xử lý danh sách) và làm nổi bật lĩnh vực chính của ứng dụng của nó. Khái niệm "danh sách" hóa ra rất có sức chứa. Thật thuận tiện để biểu diễn các biểu thức đại số, đồ thị, phần tử của nhóm hữu hạn, tập hợp, quy tắc suy luận và nhiều thứ khác dưới dạng danh sách vật thể phức tạp. Danh sách là hình thức biểu diễn thông tin linh hoạt nhất trong bộ nhớ máy tính. Do đó, không có gì đáng ngạc nhiên khi một ngôn ngữ thuận tiện được thiết kế đặc biệt để xử lý danh sách đã nhanh chóng trở nên phổ biến.

Sau sự xuất hiện của Lisp, nhiều tác giả đã đề xuất một số ngôn ngữ thuật toán khác tập trung giải quyết các vấn đề trong lĩnh vực trí tuệ nhân tạo, trong số đó có Planner, Snoball, Refal, Prolog. Tuy nhiên, điều này không ngăn cản Lisp tiếp tục là ngôn ngữ phổ biến nhất để giải quyết những vấn đề như vậy. Trong lịch sử gần bốn mươi năm tồn tại của nó, một số phương ngữ của ngôn ngữ này đã xuất hiện: LISP thông thường, LISP Mac, LISP Inter, LISP tiêu chuẩn, v.v. Sự khác biệt giữa chúng không phải là cơ bản và chủ yếu đến từ một sự khác biệt đôi chút. tập hợp các hàm dựng sẵn và một số điểm khác biệt trong các chương trình biểu mẫu ký hiệu. Do đó, một lập trình viên đã học cách làm việc trên một trong số chúng có thể dễ dàng thành thạo bất kỳ thứ nào khác. Ưu điểm lớn của Lisp là định hướng chức năng, tức là việc lập trình được thực hiện bằng cách sử dụng các hàm. Hơn nữa, hàm được hiểu là một quy tắc ghép các phần tử của lớp này với các phần tử tương ứng của lớp khác. Bản thân quá trình so khớp không có bất kỳ ảnh hưởng nào đến hoạt động của chương trình, chỉ có kết quả của nó là quan trọng - giá trị của hàm. Điều này làm cho việc viết và gỡ lỗi các hệ thống phần mềm lớn trở nên tương đối dễ dàng. Sự rõ ràng của các chương trình, sự phân định rõ ràng các chức năng của chúng và không có các tác dụng phụ phức tạp trong quá trình thực thi chúng là những yêu cầu bắt buộc để lập trình các tác vụ phức tạp về mặt logic như của trí tuệ nhân tạo. Kỷ luật trong lập trình trở nên đặc biệt quan trọng khi không chỉ một người mà cả một nhóm lập trình viên đang làm việc trên một chương trình.

Ngôn ngữ lập trình Lisp được thiết kế chủ yếu để xử lý thông tin tượng trưng. Vì vậy, việc trong thế giới Lisp các con số không còn đóng vai trò chính là điều đương nhiên. Các kiểu dữ liệu cơ bản trong Lisp được gọi là cặp nguyên tử và dấu chấm.

Lời mở đầu

Ngôn ngữ lập trình logic được thiết kế để biểu diễn và sử dụng kiến ​​thức về một lĩnh vực chủ đề nhất định. Các chương trình trong ngôn ngữ này bao gồm một tập hợp các quan hệ nhất định và việc thực thi nó được giảm xuống thành việc tạo ra một quan hệ mới dựa trên các quan hệ đã cho. Prolog thực hiện một cách tiếp cận khai báo, trong đó nó đủ để mô tả vấn đề bằng cách sử dụng các quy tắc và phát biểu liên quan đến đồ vật đã cho. Nếu mô tả này đủ chính xác thì máy tính có thể độc lập tìm ra giải pháp cần thiết.

Đối tượng PAL

Object PAL là một ngôn ngữ lập trình mạnh mẽ. Object PAL là ngôn ngữ lập trình trực quan, hướng sự kiện, hướng đối tượng. Ở cấp độ ban đầu của chức năng Object PAL, bạn có thể thực hiện các thao tác dữ liệu, tạo các menu đặc biệt và quản lý phiên nhập dữ liệu. Các sự kiện trong Object PAL tạo ra các lệnh mô phỏng tác dụng của việc sử dụng Paradox một cách tương tác. Có thể tự động hóa các tác vụ được thực hiện thường xuyên cũng như thực hiện các hành động trên bảng, biểu mẫu và báo cáo không có sẵn trong quá trình tương tác. Object PAL cũng cung cấp tất cả các tính năng của một ngôn ngữ lập trình đầy đủ tính năng trong môi trường Windows. Bạn có thể sử dụng Object PAL để tạo các hệ thống hoàn chỉnh triển khai hệ thống menu đặc biệt, hệ thống trợ giúp và kiểm tra dữ liệu khác nhau. Trong Object PAL, bạn có thể lưu công việc của mình trong một thư viện được liên kết động, có thể được truy cập bằng một số biểu mẫu. Bạn cũng có thể kết nối với những người khác thư viện động, chứa các chương trình được viết bằng các ngôn ngữ như C, C++ hoặc Pascal.

Object PAL có thể được sử dụng như một công cụ để tạo các chương trình độc lập. Bạn có thể viết một ứng dụng Windows hoàn chỉnh và chạy nó trong Paradox.

Object PAL hỗ trợ cơ chế trao đổi dữ liệu động với tư cách là máy khách và máy chủ. Ngoài ra, Object PAL còn hỗ trợ cơ chế làm việc với các tài liệu phức hợp với tư cách là một máy khách. Ngoài những điều trên, bạn có thể đưa đa phương tiện vào ứng dụng của mình bằng cách cung cấp cho ứng dụng đang chạy các hiệu ứng âm thanh và hoạt hình.

Việc triển khai ngôn ngữ dBase của Borland là sự kết hợp thành công giữa định hướng đối tượng và phương pháp lập trình truyền thống. Nó cho phép tạo ra các hệ thống sử dụng thiết kế đối tượng và sử dụng các kỹ thuật xử lý hồ sơ thông thường. Thành tựu to lớn của công ty Borland là nó đã kết hợp rất thành công các kỹ thuật lập trình đối tượng và thủ tục. Phiên bản đầu tiên dành cho Windows mang đến cho người dùng công cụ dựa trên đối tượng mạnh mẽ nhất trên thị trường phần mềm cơ sở dữ liệu. Nó cho phép bạn tạo các lớp đối tượng mới có các thuộc tính kế thừa, đóng gói và đa hình. Nó cũng cho phép bạn lập trình các đối tượng này bằng các lệnh dBase truyền thống, lý tưởng để quản lý cơ sở dữ liệu dạng bảng đơn giản. Tất cả điều này mang lại lợi thế không thể phủ nhận– thực hiện chuyển đổi sang các kỹ thuật lập trình đối tượng mà không gặp nhiều khó khăn, ví dụ như chuyển đổi phức tạp như trong Paradox DBMS.

Ngôn ngữ Java có nguồn gốc là một phần của dự án tạo ra phần mềm tiên tiến cho các thiết bị gia dụng khác nhau. Dự án được bắt đầu bằng C++, nhưng một số vấn đề sớm nảy sinh, cách tốt nhất Cuộc chiến chống lại điều đó là thay đổi chính công cụ - ngôn ngữ lập trình. Rõ ràng là cần có một ngôn ngữ lập trình độc lập với nền tảng, cho phép người ta tạo các chương trình không cần phải biên dịch riêng cho từng kiến ​​trúc và có thể được sử dụng trên các bộ xử lý khác nhau trong các hệ điều hành khác nhau. Ngôn ngữ Java được yêu cầu để tạo ra các sản phẩm tương tác cho Internet. Trong thực tế, hầu hết các quyết định kiến ​​trúc được đưa ra trong quá trình tạo Java, được quyết định bởi mong muốn cung cấp cú pháp tương tự như C và C++. Java sử dụng các quy ước gần như giống hệt nhau để khai báo các biến, truyền tham số, truyền toán tử và để kiểm soát luồng thực thi mã. Java bổ sung tất cả các tính năng hay của C++.

Ba yếu tố chính kết hợp với nhau để tạo thành công nghệ ngôn ngữ Java

Java cung cấp cho sử dụng rộng rãi applet của nó - các ứng dụng mạng hoạt động nhỏ, đáng tin cậy, năng động, độc lập với nền tảng được nhúng trong các trang Web. Các ứng dụng Java có thể được tùy chỉnh và phân phối tới người tiêu dùng dễ dàng như bất kỳ tài liệu HTML nào.

Java giải phóng sức mạnh của việc phát triển ứng dụng hướng đối tượng bằng cách kết hợp cú pháp đơn giản, quen thuộc với môi trường phát triển mạnh mẽ, dễ sử dụng. Điều này cho phép nhiều lập trình viên nhanh chóng tạo ra các chương trình mới và các ứng dụng mới.

Java cung cấp cho người lập trình một tập hợp phong phú các lớp đối tượng để trừu tượng hóa rõ ràng nhiều chức năng hệ thống, được sử dụng để làm việc với windows, kết nối mạng và I/O. Đặc điểm chính của các lớp này là chúng cung cấp sự trừu tượng hóa độc lập với nền tảng cho một loạt các giao diện hệ thống.

Ngôn ngữ lập trình cho mạng máy tính

Ngôn ngữ lập trình cho mạng máy tính được thông dịch. Phiên dịch viên cho họ được cung cấp miễn phí và bản thân các chương trình cũng có sẵn ở văn bản nguồn. Những ngôn ngữ như vậy được gọi là ngôn ngữ chữ viết.

Perl là một ngôn ngữ thông dịch được tạo ra bởi lập trình viên Larry Wall để xử lý các văn bản và tệp lớn và là viết tắt của Ngôn ngữ báo cáo và trích xuất thực tế. Ví dụ: với Perl, bạn có thể tạo một tập lệnh mở một hoặc nhiều tệp, xử lý thông tin và ghi kết quả.

Perl là ngôn ngữ được điều chỉnh để xử lý các tệp văn bản tùy ý, trích xuất thông tin cần thiết từ chúng và đưa ra thông báo. Perl cũng hữu ích cho việc viết các chương trình hệ thống khác nhau. Ngôn ngữ này dễ sử dụng, hiệu quả nhưng khó có thể nói là sang trọng và nhỏ gọn. Cú pháp của biểu thức Perl gần với cú pháp của C. Đệ quy có thể có độ sâu tùy ý. Mặc dù Perl được thiết kế để quét các tệp văn bản nhưng nó cũng có thể xử lý dữ liệu nhị phân. Perl cho phép bạn sử dụng biểu thức chính quy, tạo đối tượng, chèn các đoạn mã Perl vào chương trình C hoặc C++ và cũng cho phép bạn truy cập cơ sở dữ liệu, bao gồm cả Oracle.

Với sự phát minh của Thế giới Web rộng, Perl đã được chứng minh là một công cụ tuyệt vời để tương tác với các máy chủ web thông qua Giao diện cổng chung (CGI) - giao diện chung tương tác. Các lệnh Perl có thể dễ dàng lấy dữ liệu từ biểu mẫu HTML hoặc nguồn khác và thực hiện một số hành động với chúng.

Ngôn ngữ PHP(1995-1997) có các công cụ truy cập cơ sở dữ liệu và được sử dụng bởi những người tạo ra các trang web động trên khắp thế giới.

Ngôn ngữ Tcl/Tk(cuối thập niên 80) bao gồm các lệnh mạnh mẽ được thiết kế để hoạt động với các đối tượng trừu tượng chưa được gõ và cho phép bạn tạo các chương trình có giao diện đồ họa.

Ngôn ngữ VRML(1994) được tạo ra để tổ chức các giao diện ảo ba chiều trên Internet.

Ngôn ngữ XML. Từ năm 1996, công việc đã được tiến hành để tạo ra một ngôn ngữ cấu trúc tài liệu phổ quát. Có thể trở thành sự thay thế cho HTML.

Phần kết luận

Tài nguyên hữu ích

Đánh giá của Aizili

Báo cáo ở đâu?

Đánh giá Ranifka

Re: Báo cáo đâu?
Mọi chuyện sẽ như vậy :-D

Đánh giá của Shamagulova Elite

Đánh giá của Mishina Alexandra

Báo cáo tuyệt vời. Học được nhiều điều mới về ngôn ngữ lập trình.

Đánh giá của Alexandra Morozova

Tất nhiên tôi muốn xem một báo cáo hoặc ít nhất là một bài thuyết trình dưới một hình thức nào đó.