tek4

Ngôn ngữ lập trình là gì?

by - September. 21, 2021
Kiến thức
Học
<p style="text-align: justify;">Ở <a href="https://tek4.vn/lap-trinh-la-gi-lam-da-lau-nhung-khong-phai-ai-cung-biet/">b&agrave;i trước</a> ch&uacute;ng ta đ&atilde; được biết rằng: lập tr&igrave;nh c&oacute; nghĩa l&agrave; tạo ra c&aacute;c chương tr&igrave;nh để ra lệnh cho m&aacute;y t&iacute;nh thực hiện một nhiệm vụ hoặc chức năng n&agrave;o đ&oacute;. C&oacute; thể l&agrave; in ra m&agrave;n h&igrave;nh một chuỗi số, hay di chuyển c&aacute;nh tay robot lắp liền với m&aacute;y hoặc vẽ ra một thế giới hoạt động theo một quy luật n&agrave;o đ&oacute;. Nếu như ch&uacute;a trời tồn tại, hẳn Người l&agrave; một lập tr&igrave;nh vi&ecirc;n rất vĩ đại. Người đ&atilde; vẽ ra một thế giới vận h&agrave;nh theo 3 định luật Newton v&agrave; thuyết tương đối của Eistein c&ugrave;ng v&ocirc; số c&aacute;c định luật vận h&agrave;nh kh&aacute;c.</p> <p>[caption id="attachment_4240" align="aligncenter" width="561"]<img class=" wp-image-4240" src="https://tek4.vn/wp-content/uploads/2019/02/Lập-tr&igrave;nh-C-từ-0-đến-1-Lập-tr&igrave;nh-bằng-ng&ocirc;n-ngữ-n&agrave;o_1.jpg" alt="Lập tr&igrave;nh C từ 0 đến 1 - Lập tr&igrave;nh bằng ng&ocirc;n ngữ n&agrave;o" width="561" height="293" /> Nguồn: Humble Bits[/caption]</p> <p style="text-align: justify;">Nhưng l&agrave;m thế n&agrave;o để ra lệnh cho m&aacute;y t&iacute;nh thực hiện những nhiệm vụ m&agrave; ch&uacute;ng ta mong muốn. Ch&uacute;ng ta kh&ocirc;ng thể bảo cục đ&aacute; b&ecirc;n đường di chuyển sang phải, kh&ocirc;ng thể bảo c&aacute;i c&acirc;y lặn xuống đất. Nh&igrave;n chung việc ra lệnh cho một vật v&ocirc; tri l&agrave;m một việc g&igrave; đ&oacute; l&agrave; điều bất khả thi. Bởi ch&uacute;ng kh&ocirc;ng thể hiểu những g&igrave; con người mong muốn v&agrave; cũng chẳng thể l&agrave;m theo được. Tuy nhi&ecirc;n, với động vật th&igrave; việc huấn luyện th&uacute; nghe hiểu v&agrave; l&agrave;m theo những g&igrave; con người mong muốn kh&ocirc;ng phải l&agrave; điều hiếm thấy. Vậy tại sao lại c&oacute; sự kh&aacute;c nhau giữa hai đối tượng n&agrave;y.</p> <p style="text-align: justify;">Hai sự kh&aacute;c biệt lớn nhất ở đ&acirc;y đ&oacute; l&agrave;: thứ nhất, con người kh&ocirc;ng hiểu ng&ocirc;n ngữ v&agrave; giao lưu được với vật v&ocirc; tri v&agrave; thứ hai l&agrave; giới hạn quy luật vận động v&agrave; khả năng của c&aacute;c vật v&ocirc; tri. Ngay cả giữa con người với con người, ch&uacute;ng ta kh&ocirc;ng thể bảo một anh Thụy Sĩ đi lấy hộ nước nếu ch&uacute;ng ta kh&ocirc;ng n&oacute;i bằng ng&ocirc;n ngữ m&agrave; anh ấy hiểu cũng như chẳng thể bảo anh ta h&atilde;y bay l&ecirc;n v&agrave; nhảy &agrave;o xuống biển lặn 10 giờ bởi giới hạn thể chất của anh ta kh&ocirc;ng đ&aacute;p ứng được như vậy.</p> <p style="text-align: justify;">Vậy m&aacute;y t&iacute;nh cũng l&agrave; một vật v&ocirc; tri gốm c&aacute;c mạch điện tử v&agrave; c&aacute;c thiết bị c&oacute; rất nhiều hạn chế th&igrave; ch&uacute;ng ta ra lệnh cho n&oacute; bằng c&aacute;ch n&agrave;o?</p> <p style="text-align: justify;">Đầu ti&ecirc;n, giải th&iacute;ch về mặt bản chất m&aacute;y t&iacute;nh c&oacute; rất nhiều hạn chế về việc thực hiện nhiệm vụ trong thế giới thực chẳng hạn như lặn xuống nước, bay l&ecirc;n trời,... nhưng để thực hiện c&aacute;c t&aacute;c vụ đ&oacute;, ch&uacute;ng được gắn k&egrave;m c&aacute;c thiết bị được chế tạo ri&ecirc;ng kh&aacute;c, do đ&oacute; về c&aacute;c hạn chế n&agrave;y ch&uacute;ng ta kh&ocirc;ng quan t&acirc;m đến n&oacute; ở đ&acirc;y. Đ&acirc;y l&agrave; nhiệm vụ của c&aacute;c nh&agrave; chế tạo m&aacute;y. Ở đ&acirc;y ch&uacute;ng ta chỉ quan t&acirc;m đến việc thổi v&agrave;o suy nghĩ cho m&aacute;y t&iacute;nh tức l&agrave; viết chương tr&igrave;nh để lập tr&igrave;nh cho m&aacute;y t&iacute;nh. Tức l&agrave; điều quan trọng nhất ch&uacute;ng ta - những lập tr&igrave;nh vi&ecirc;n - quan t&acirc;m l&agrave; c&aacute;ch thức giao tiếp để m&aacute;y t&iacute;nh hiểu được ch&uacute;ng ta muốn g&igrave; v&agrave; l&agrave;m như thế n&agrave;o để dạy cho n&oacute; c&aacute;ch suy nghĩ, c&aacute;ch l&agrave;m những c&ocirc;ng việc cụ thể theo từng bước.</p> <p style="text-align: justify;">Lấy v&iacute; dụ đơn giản khi&nbsp;bạn đang chỉ đường cho một anh ch&agrave;ng người Anh đang loay hoay ở phố cổ. Điều đầu ti&ecirc;n m&agrave; bạn cần biết l&agrave; bạn sẽ chỉ như thế n&agrave;o? Bạn cần biết sẽ phải rẽ tr&aacute;i, rẽ phải ở đ&acirc;u, đi như thế n&agrave;o? Đ&acirc;y l&agrave; c&aacute;c thuật to&aacute;n. Nghĩa l&agrave; trước khi ra lệnh cho m&aacute;y t&iacute;nh l&agrave;m g&igrave; ch&uacute;ng ta cần phải biết sẽ phải l&agrave;m như thế n&agrave;o để đạt được kết quả mong muốn? Ch&uacute;ng ta kh&ocirc;ng thể chỉ đường cho một ai đ&oacute; nếu ngay cả ch&uacute;ng ta cũng chẳng biết đường đ&oacute;. Đ&acirc;y l&agrave; bước đầu ti&ecirc;n: <strong>thiết kế thuật to&aacute;n cho chương tr&igrave;nh</strong>. Ch&uacute;ng ta sẽ t&igrave;m hiểu về thuật to&aacute;n ở c&aacute;c b&agrave;i sau v&agrave; chi tiết hơn ở trong series b&agrave;i học: "<strong>Thuật to&aacute;n từ 0 đến 1</strong>".</p> <p style="text-align: justify;">Tiếp theo, sau khi đ&atilde; c&oacute; c&aacute;c bước, ch&uacute;ng ta cần phải giải th&iacute;ch sao cho m&aacute;y t&iacute;nh hiểu được. Ch&uacute;ng ta đ&atilde; biết con đường nhưng l&agrave;m thế n&agrave;o để anh ch&agrave;ng n&agrave;y hiểu được rẽ tr&aacute;i, rẽ phải như thế n&agrave;o. Để l&agrave;m được việc n&agrave;y, bạn c&oacute; bốn c&aacute;ch. Một l&agrave; bạn giải th&iacute;ch cho anh ta bằng tiếng Anh, hai l&agrave; dạy anh ta hiểu tiếng Việt, ba l&agrave; sử dụng một ng&ocirc;n ngữ trung m&agrave; cả hai c&ugrave;ng hiểu (c&oacute; thể l&agrave; vẽ sơ đồ - h&igrave;nh ảnh c&oacute; thể l&agrave; một ng&ocirc;n ngữ chung cho tất cả mọi người) v&agrave; bốn l&agrave; nhờ một người dịch hộ. Đ&oacute; l&agrave; với con người, c&ograve;n đối với m&aacute;y t&iacute;nh th&igrave; sao?</p> <p style="text-align: justify;">M&aacute;y t&iacute;nh l&agrave; một cỗ m&aacute;y đặc biệt, n&oacute; tạo n&ecirc;n từ c&aacute;c mạch điện tử v&agrave; do đ&oacute; sẽ nhận c&aacute;c trạng th&aacute;i c&oacute; điện hoặc kh&ocirc;ng c&oacute; điện tương ứng với hai k&yacute; hiệu 0 v&agrave; 1 (Điều n&agrave;y sẽ kh&aacute;c đối với m&aacute;y t&iacute;nh lượng tử - bạn c&oacute; thể t&igrave;m hiểu th&ecirc;m về m&aacute;y t&iacute;nh lượng tử trong series b&agrave;i viết "<strong>M&aacute;y t&iacute;nh lượng tử</strong>"). Tương tự như con người c&oacute; c&aacute;c bảng chữ c&aacute;i của m&igrave;nh: 26 k&yacute; tự với tiếng Anh, 29 với tiếng Việt, 33 với tiếng Nga..., m&aacute;y t&iacute;nh sử dụng bảng chữ c&aacute;i chỉ gồm 2 k&yacute; tự 0 v&agrave; 1. Do đ&oacute;, dạng chương tr&igrave;nh duy nhất m&agrave; m&aacute;y t&iacute;nh c&oacute; thể hiểu v&agrave; thực thi trực tiếp được l&agrave; ng&ocirc;n ngữ m&aacute;y hay m&atilde; m&aacute;y được biểu diễn bằng d&atilde;y c&aacute;c số nhị ph&acirc;n. Đ&acirc;y l&agrave; ng&ocirc;n ngữ mẹ đẻ của m&aacute;y t&iacute;nh để n&oacute; c&oacute; thể hiểu v&agrave; thực thi một c&aacute;ch trực tiếp. Chẳng hạn để cộng 2 số th&igrave; m&aacute;y sẽ thực thi c&aacute;c t&iacute;n hiệu điện tương ứng với d&atilde;y số nhị ph&acirc;n: 000000 00001 00010 00110 00000 10000. M&aacute;y t&iacute;nh của ch&uacute;ng ta chỉ hiểu được ng&ocirc;n ngữ n&agrave;y. Nhưng việc học v&agrave; sử dụng ng&ocirc;n ngữ n&agrave;y đối với ch&uacute;ng ta th&igrave; kh&ocirc;ng dễ d&agrave;ng ch&uacute;t n&agrave;o. Đ&acirc;y ch&iacute;nh l&agrave; vấn đề đầu ti&ecirc;n của ch&uacute;ng ta:</p> <p style="text-align: justify;">[quote] "L&agrave;m thế n&agrave;o để giao tiếp với những chiếc m&aacute;y chỉ hiểu hai số 0 v&agrave; 1?" [/quote]</p> <p style="text-align: justify;">Cũng tương tự như ở tr&ecirc;n đối với con người, để ra lệnh cho m&aacute;y t&iacute;nh hiểu được ch&uacute;ng ta cũng c&oacute; 4 lựa chọn.</p> <p style="text-align: justify;">Đầu ti&ecirc;n l&agrave; học v&agrave; giải th&iacute;ch cho m&aacute;y t&iacute;nh bằng ng&ocirc;n ngữ m&aacute;y. Khi con người muốn m&aacute;y thực thi một nhiệm vụ g&igrave; đ&oacute; th&igrave; c&oacute; thể dịch n&oacute; ra ng&ocirc;n ngữ m&aacute;y v&agrave; đưa cho m&aacute;y thực thi trực tiếp. Như v&iacute; dụ ở tr&ecirc;n để cộng hai số, c&aacute;c lập tr&igrave;nh vi&ecirc;n sẽ phải đưa v&agrave;o m&aacute;y t&iacute;nh c&aacute;c t&iacute;n hiệu điện tương ứng với d&atilde;y nhị ph&acirc;n 000000 00001 00010 00110 00000 10000. C&acirc;u lệnh n&agrave;y c&oacute; nghĩa l&agrave;: cộng gi&aacute; trị ở thanh ghi thứ nhất v&agrave; thứ hai v&agrave; đặt kết quả v&agrave;o thanh ghi thứ 6 (theo <a href="https://en.wikipedia.org/wiki/Machine_code">Wikipedia</a>). M&aacute;y t&iacute;nh của ch&uacute;ng ta kh&ocirc;ng n&oacute;i được tiếng Việt, thậm ch&iacute; l&agrave; Anh hay bất cứ ng&ocirc;n ngữ tự nhi&ecirc;n n&agrave;o kh&aacute;c của con người, m&agrave; n&oacute; chỉ hiểu d&atilde;y 1 v&agrave; 0 n&oacute;i tr&ecirc;n. Việc lập tr&igrave;nh trực tiếp bằng m&atilde; m&aacute;y l&agrave; c&ocirc;ng việc kh&ocirc;ng hề dễ, tốn sức, dễ sai s&oacute;t, kh&oacute; kiểm tra kết quả v&agrave; lệ thuộc rất nhiều v&agrave;o phần cứng cụ thể. May thay, hầu như ng&agrave;y nay ng&ocirc;n ngữ m&aacute;y rất &iacute;t khi c&ograve;n được sử dụng để lập tr&igrave;nh nữa.</p> <p style="text-align: justify;">Biện ph&aacute;p thứ hai l&agrave; sử dụng một ng&ocirc;n ngữ chung m&agrave; cả người m&agrave; m&aacute;y đều hiểu. R&otilde; r&agrave;ng người v&agrave; m&aacute;y kh&ocirc;ng thể c&oacute; ng&ocirc;n ngữ chung, do về mặt bản chất cấu tạo người v&agrave; m&aacute;y ho&agrave;n to&agrave;n kh&aacute;c nhau do đ&oacute; ng&ocirc;n ngữ chung cho cả hai đều hiểu l&agrave; đi&ecirc;u rất kh&oacute; c&oacute; thể xảy ra.</p> <p style="text-align: justify;">Biện ph&aacute;p thứ ba đ&oacute; l&agrave; dạy cho m&aacute;y ng&ocirc;n ngữ của con người. Điều n&agrave;y đang diễn ra kh&aacute; ph&aacute;t triển với c&aacute;c tiến bộ của AI, machine learning cũng như c&aacute;c tiến bộ trong c&ocirc;ng nghệ giao tiếp người - m&aacute;y. Tuy vậy, về mặt bản chất tất cả những thứ tr&ecirc;n vẫn đều l&agrave; c&aacute;c chương tr&igrave;nh đ&atilde; được viết sẵn v&agrave; c&agrave;i đặt v&agrave;o m&aacute;y t&iacute;nh trước khi thực thi.</p> <p style="text-align: justify;">V&agrave; cuối c&ugrave;ng l&agrave; biện ph&aacute;p thứ tư, sử dụng một người dịch hay đối với m&aacute;y t&iacute;nh l&agrave; c&aacute;c <a href="https://tek4.vn/">chương tr&igrave;nh dịch</a> để dịch từ những ng&ocirc;n ngữ dễ hiểu đối với con người sang ng&ocirc;n ngữ m&agrave; m&aacute;y hiểu được. Một chương tr&igrave;nh dịch n&oacute;i đơn giản l&agrave; một chương tr&igrave;nh trung gian hiểu được ng&ocirc;n ngữ của con người ở mức n&agrave;o đ&oacute; v&agrave; biến đổi n&oacute; để cho m&aacute;y hiểu được theo ng&ocirc;n ngữ m&aacute;y. Tuy nhi&ecirc;n ng&ocirc;n ngữ con người th&igrave; mu&ocirc;n h&igrave;nh vạn trạng, thậm ch&iacute; c&oacute; độ trừu tượng kh&aacute;c nhau. Chẳng hạn con người c&oacute; thể ra lệnh cho m&aacute;y t&iacute;nh l&agrave; "H&atilde;y viết b&agrave;i văn hay đi" th&igrave; ngay cả con người cũng chẳng thể dịch được cụ thể cho m&aacute;y hiểu để l&agrave;m. Điều n&agrave;y l&agrave; hạn chế của ng&ocirc;n ngữ với m&aacute;y t&iacute;nh. M&aacute;y chỉ c&oacute; thể hiểu được một số lệnh thao t&aacute;c đơn giản m&agrave; th&ocirc;i. Ch&uacute;ng ta c&oacute; thể ra lệnh cho ch&uacute; c&uacute;n th&ocirc;ng minh của ch&uacute;ng ta: bắt tay, ngồi, đứng, nhảy... nhưng thật kh&oacute; để m&ocirc; tả cho n&oacute; l&agrave;m sao để đi chợ v&agrave; mua đồ về l&agrave;m b&aacute;nh. M&aacute;y t&iacute;nh cũng vậy, n&oacute; chỉ c&oacute; thể hiểu được một số hạn chế c&aacute;c lệnh. Do đ&oacute;, &yacute;<span class="fontstyle0"> tưởng của ch&uacute;ng ta l&agrave; tạo ra một ng&ocirc;n ngữ mới đơn giản hơn nhưng đủ để m&ocirc; tả th&agrave;nh c&aacute;c c&acirc;u đơn giản th&agrave;nh ng&ocirc;n ngữ nhị ph&acirc;n m&agrave; m&aacute;y c&oacute; thể hiểu được. Tất nhi&ecirc;n ch&uacute;ng ta cũng c&oacute; thể tạo ra những m&aacute;y t&iacute;nh hiểu được nhiều hơn c&aacute;c lệnh nhưng tất nhi&ecirc;n chi ph&iacute; bỏ ra kh&ocirc;ng nhỏ v&agrave; n&oacute; thực sự kh&ocirc;ng cần thiết nếu như chỉ cần nỗ lực bổ sung một ch&uacute;t thuật to&aacute;n ch&uacute;ng ta c&oacute; thể đ&atilde; l&agrave;m được mọi việc rồi. </span></p> <p style="text-align: justify;">Để l&agrave;m được điều đ&oacute; ch&uacute;ng ta sẽ quy ước một tập từ kh&oacute;a, tập ngữ ph&aacute;p (c&uacute; ph&aacute;p) ri&ecirc;ng được quy ước sao cho n&oacute; đủ để dịch c&aacute;c &yacute; tưởng của con người sang ng&ocirc;n ngữ m&agrave; m&aacute;y c&oacute; thể thực thi được.&nbsp; Đ&acirc;y l&agrave; việc của những chuy&ecirc;n gia khoa học m&aacute;y t&iacute;nh, những người tạo ra c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh <span class="fontstyle0">v&agrave; c&aacute;c chương tr&igrave;nh dịch. Họ ph&aacute;t triển ra c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh với hệ thống k&yacute; hiệu, từ kh&oacute;a v&agrave; c&uacute; ph&aacute;p cụ thể để lập tr&igrave;nh vi&ecirc;n dễ viết m&atilde; nguồn ở dạng văn bản m&agrave; kh&ocirc;ng qu&aacute; lệ thuộc v&agrave;o phần cứng, sau đ&oacute; </span>dịch<span class="fontstyle0"> ra m&atilde; m&aacute;y.</span></p> <p>[caption id="attachment_4243" align="aligncenter" width="465"]<img class="size-full wp-image-4243" src="https://tek4.vn/wp-content/uploads/2019/02/Lập-tr&igrave;nh-C-từ-0-đến-1-Ng&ocirc;n-ngữ-lập-tr&igrave;nh-l&agrave;-g&igrave;-Lập-tr&igrave;nh-bằng-ng&ocirc;n-ngữ-n&agrave;o.png" alt="[Lập tr&igrave;nh C từ 0 đến 1] Ng&ocirc;n ngữ lập tr&igrave;nh l&agrave; g&igrave; Lập tr&igrave;nh bằng ng&ocirc;n ngữ n&agrave;o" width="465" height="183" /> Nguồn: Codeforwin[/caption]</p> <p style="text-align: justify;"><span class="fontstyle0"><br />N&oacute;i đơn giản: Nếu bạn viết một lệnh bằng ng&ocirc;n ngữ lập tr&igrave;nh n&agrave;o đ&oacute; với nội dung:<br />[quote]&ldquo;Cộng gi&aacute; trị ở thanh ghi thứ nhất v&agrave; thứ hai v&agrave; đặt kết quả v&agrave;o thanh ghi thứ 6 &rdquo;[/quote]<br />th&igrave; chương tr&igrave;nh dịch sẽ chuyển th&agrave;nh những dạng như sau:<br />[quote]"000000 00001 00010 00110 00000 10000"[/quote]</span></p> <p style="text-align: justify;"><span class="fontstyle0">C&oacute; rất nhiều c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c nhau như: C, C++, C#, Java, Visual Basic, </span><span class="fontstyle0">Python, Ruby, Perl,...C&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh c&oacute; thể được chia th&agrave;nh nhiều cấp bậc kh&aacute;c nhau v&agrave; thường th&igrave; c&aacute;c ng&ocirc;n ngữ bậc c&agrave;ng cao th&igrave; c&agrave;ng gần với ng&ocirc;n ngữ của con người v&agrave; c&agrave;ng dễ sử dụng (tuy nhi&ecirc;n theo kinh nghiệm của t&aacute;c giả th&igrave; điều n&agrave;y kh&ocirc;ng phải bao giờ cũng đ&uacute;ng - c&oacute; những ng&ocirc;n ngữ rất giống ng&ocirc;n ngữ con người nhưng do n&oacute; qu&aacute; mềm dẻo n&ecirc;n rất kh&oacute; sử dụng). Ng&ocirc;n ngữ bậc cao gi&uacute;p ta dễ d&agrave;ng hơn trong sử dụng, nhưng n&oacute; vẫn c&oacute; một v&agrave;i thiếu s&oacute;t m&agrave; bạn sẽ thấy về sau. Tất cả c&aacute;c chương tr&igrave;nh được tạo ra từ c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh v&agrave; được lưu v&agrave;o dưới dạng một tệp tin gọi l&agrave; c&aacute;c tệp m&atilde; nguồn. Việc lập tr&igrave;nh ch&iacute;nh l&agrave; việc tạo ra c&aacute;c tệp m&atilde; nguồn c&oacute; khả năng dịch v&agrave; chạy được tr&ecirc;n m&aacute;y.&nbsp; C&aacute;c tệp</span><span class="fontstyle0"> m&atilde; nguồn n&agrave;y sẽ được dịch th&agrave;nh ng&ocirc;n ngữ nhị ph&acirc;n v&agrave; đưa v&agrave;o m&aacute;y thực thi khi cần thiết.</span></p> <p style="text-align: justify;"><span class="fontstyle0">C&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c nhau sẽ c&oacute; c&aacute;c tr&igrave;nh dịch kh&aacute;c nhau giống như ch&uacute;ng ta c&oacute; người dịch tiếng Anh, tiếng H&agrave;n nhưng rất hiếm khi c&oacute; ai đ&oacute; dịch được cả 2,3 thứ tiếng một l&uacute;c v&agrave; nếu c&oacute; dịch được th&igrave; c&aacute;ch để dịch n&oacute; cũng kh&aacute;c nhau. N&oacute;i c&aacute;ch kh&aacute;c, ch&uacute;ng ta kh&ocirc;ng thể dịch ng&ocirc;n ngữ C giống như Python được. C&oacute; thể c&oacute; một số tr&igrave;nh dịch dịch được cả C v&agrave; C++, tuy nhi&ecirc;n nếu để &yacute; 2 ng&ocirc;n ngữ n&agrave;y c&oacute; c&uacute; ph&aacute;p v&agrave; từ kh&oacute;a tương đối tương đồng. C&ugrave;ng một ng&ocirc;n ngữ cũng c&oacute; thể c&oacute; nhiều tr&igrave;nh dịch kh&aacute;c nhau. Giống như c&oacute; rất nhiều người dịch tiếng Anh, tiếng Nhật ngo&agrave;i kia. May thay đa phần ch&uacute;ng về cơ bản đều giống nhau v&agrave; c&oacute; rất &iacute;t sự kh&aacute;c biệt đ&aacute;ng kể.<br /></span></p> <p style="text-align: justify;">Ng&agrave;y nay việc lập tr&igrave;nh ứng dụng đa phần được hỗ trợ bởi nhiều c&ocirc;ng cụ kh&aacute;c nhau bao gồm c&aacute;c thư viện (chẳng hạn như thư viện xử l&yacute; kết nối mạng, thư viện đồ họa,...), giao diện lập tr&igrave;nh trực quan (visual), v&agrave; khả năng li&ecirc;n kết m&atilde; thực thi giữa c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c nhau. Việc n&agrave;y gi&uacute;p cho việc ph&aacute;t triển phần mềm trở l&ecirc;n tiện lợi v&agrave; dễ d&agrave;ng hơn. Tuy nhi&ecirc;n đề lập tr&igrave;nh tốt, tạo ra những phần mềm thực sự ấn tượng th&igrave; cần rất nhiều kỹ năng v&agrave; yếu tố kh&aacute;c. Lập tr&igrave;nh c&oacute; thể coi l&agrave; sự kết hợp của nghệ thuật, khoa học, to&aacute;n học, v&agrave; kỹ nghệ. V&agrave; lập tr&igrave;nh vi&ecirc;n l&agrave; những người c&oacute; khả năng tạo ra cả thế giới. C&oacute; thể ch&uacute;a trời cũng l&agrave; c&aacute;c lập tr&igrave;nh vi&ecirc;n cấp cao. Biết đ&acirc;u được.</p>