tek4

Học ngôn ngữ lập trình nào cho người mới bắt đầu?

by - September. 21, 2021
Kiến thức
Học
<p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">N&ecirc;n học lập tr&igrave;nh với ng&ocirc;n ngữ n&agrave;o? Học ng&ocirc;n ngữ lập tr&igrave;nh n&agrave;o cho người mới bắt đầu? l&agrave; những c&acirc;u hỏi được đặt ra nhiều nhất về việc học lập tr&igrave;nh. Việc lựa chọn ng&ocirc;n ngữ lập tr&igrave;nh đầu ti&ecirc;n kh&aacute; quan trọng với những người mới bắt đầu. L&iacute; do l&agrave; để th&agrave;nh thạo một ng&ocirc;n ngữ lập tr&igrave;nh khi mới lập tr&igrave;nh đ&ograve;i hỏi hằng trăm, thậm ch&iacute; h&agrave;ng ng&agrave;n giỡ nỗ lực v&agrave; luyện tập. R&otilde; r&agrave;ng cuộc sống của ch&uacute;ng ta kh&ocirc;ng c&oacute; qu&aacute; nhiều h&agrave;ng ng&agrave;n giờ như vậy. Do đ&oacute;, vấn đề lựa chọn một ng&ocirc;n ngữ lập tr&igrave;nh để khởi đầu l&agrave; một chủ đề c&oacute; &yacute; nghĩa rất lớn. Trong b&agrave;i tiếp theo của series <a href="https://tek4.vn/tu-khoa/lap-trinh-c-tu-0-den-1/">Lập tr&igrave;nh C từ 0 đến 1</a> n&agrave;y ch&uacute;ng ta sẽ c&ugrave;ng Tek4.vn b&agrave;n luận để trả lời hai c&acirc;u hỏi tr&ecirc;n.<br /></span></p> <p style="text-align: justify;"><img class="aligncenter wp-image-361" src="https://tek4.vn/wp-content/uploads/2018/08/programming-language.jpg" alt="lap-trinh-c-tu-0-den-1-bai-4-hoc-ngon-ngu-lap-trinh-nao-cho-nguoi-moi-bat-dau-1" width="625" height="299" /></p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1"></span>Ở <a href="https://tek4.vn/lap-trinh-c-tu-0-den-1-bai-3-hoc-lap-trinh-co-kho-khong-hoc-lap-trinh-nhu-nao/">b&agrave;i viết trước</a> ch&uacute;ng ta đ&atilde; biết rằng việc học lập tr&igrave;nh thực chất l&agrave; học c&aacute;ch giải th&iacute;ch cho m&aacute;y t&iacute;nh hiểu được c&aacute;c bước thực hiện một c&ocirc;ng việc n&agrave;o đ&oacute;. V&agrave; để tiện cho con người trong việc diễn giải với m&aacute;y t&iacute;nh th&igrave; c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh ra đời. C&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh l&agrave; c&aacute;c c&ocirc;ng cụ trung gian cho ph&eacute;p con người dễ hiểu v&agrave; dễ biểu diễn trước khi chuyển ngữ &yacute; muốn của m&igrave;nh sang ng&ocirc;n ngữ m&aacute;y th&ocirc;ng qua c&aacute;c tr&igrave;nh bi&ecirc;n dịch hoặc th&ocirc;ng dịch.&nbsp;<span id="result_box" class="" lang="vi" tabindex="-1"><span class="">Học một ng&ocirc;n ngữ lập tr&igrave;nh li&ecirc;n quan đến việc hiểu c&uacute; ph&aacute;p v&agrave; ngữ nghĩa của một ng&ocirc;n ngữ lập tr&igrave;nh nhất định.</span>&nbsp;</span></p> <p style="text-align: justify;">Cũng giống như ng&ocirc;n ngữ tự nhi&ecirc;n của con người, c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh cũng cực kỳ phong ph&uacute;, c&oacute; thể kể ra h&agrave;ng ng&agrave;n ng&ocirc;n ngữ lập tr&igrave;nh&nbsp; kh&aacute;c nhau, trong đ&oacute; nhiều ng&ocirc;n ngữ thậm ch&iacute; ngay cả những lập tr&igrave;nh vi&ecirc;n kỳ cựu cũng chưa hề nghe n&oacute;i tới (giống như c&aacute;c tiếng d&acirc;n tộc thiểu số đối với đa số cộng đồng vậy), nhiều ng&ocirc;n ngữ đ&atilde; từng rất phổ biến nhưng dần dần bị thay thế (như Visual Basic, Delphi, Ada, Prolog,.. hay thậm ch&iacute; l&agrave; Ruby trước khi frame work Rails ra đời l&agrave;m hồi sinh n&oacute;).</p> <p><img class="wp-image-4264 aligncenter" src="https://tek4.vn/wp-content/uploads/2019/02/lap-trinh-c-tu-0-den-1-bai-4-hoc-ngon-ngu-lap-trinh-nao-cho-nguoi-moi-bat-dau-1.jpg" alt="lap-trinh-c-tu-0-den-1-bai-4-hoc-ngon-ngu-lap-trinh-nao-cho-nguoi-moi-bat-dau" width="424" height="296" /></p> <p style="text-align: justify;">Để xem x&eacute;t v&agrave; lựa chọn một ng&ocirc;n ngữ lập tr&igrave;nh ph&ugrave; hợp để bắt đầu, ch&uacute;ng ta dựa tr&ecirc;n ba ti&ecirc;u ch&iacute; sau đ&acirc;y:</p> <ul class="postList"> <li id="c74c" class="graf graf--li graf-after--p" style="text-align: justify;">Thị trường việc l&agrave;m đối với ng&ocirc;n ngữ: điều n&agrave;y kh&aacute; quan trọng, đặc biệt với những ai coi c&ocirc;ng việc lập tr&igrave;nh l&agrave; một c&ocirc;ng việc để kiếm sống th&igrave; vấn đề n&agrave;y c&agrave;ng quan trọng. Việc theo đuổi một ng&ocirc;n ngữ kh&ocirc;ng c&oacute; thị trường sẽ l&agrave;m ch&uacute;ng ta vất vả hơn khi t&igrave;m kiếm c&aacute;c c&ocirc;ng việc ph&ugrave; hợp (tất nhi&ecirc;n hầu như với mọi thứ chỉ cần bạn l&agrave; người giỏi nhất th&igrave; bạn sẽ kh&ocirc;ng bao giờ sợ thiếu cơ hội - tuy nhi&ecirc;n đ&acirc;y l&agrave; cả một qu&aacute; tr&igrave;nh d&agrave;i). Khi thị trường l&agrave;m việc hạn chế th&igrave; số lượng cộng đồng hỗ trợ cho ng&ocirc;n ngữ đ&oacute;, giải đ&aacute;p c&aacute;c thắc mắc khi học cũng trở l&ecirc;n kh&oacute; khăn hơn để t&igrave;m kiếm.</li> <li id="bb89" class="graf graf--li graf-after--li" style="text-align: justify;">Mức độ dễ học, dễ hiểu của ng&ocirc;n ngữ: điều n&agrave;y rất quan trọng đối với người mới bắt đầu. Khi bắt đầu học một ng&ocirc;n ngữ qu&aacute; kh&oacute; hiểu ch&uacute;ng ta thường sẽ rơi v&agrave;o t&igrave;nh trạng học vẹt v&agrave; tất nhi&ecirc;n l&agrave; nhiều khả năng sẽ nản v&agrave; bỏ cuộc ở một thời điểm n&agrave;o đ&oacute;.</li> <li id="4810" class="graf graf--li graf-after--li" style="text-align: justify;">Mục đ&iacute;ch của việc học v&agrave; c&aacute;c ứng dụng dự định x&acirc;y dựng để c&oacute; thể chia sẻ với bạn b&egrave;: điều n&agrave;y kh&aacute; quan trọng, n&oacute; gi&uacute;p cho ch&uacute;ng ta định hướng sẽ học c&aacute;i g&igrave; v&agrave; gi&uacute;p ch&uacute;ng ta t&iacute;ch cực hơn khi được khoe khoang c&aacute;c th&agrave;nh quả của m&igrave;nh với bạn b&egrave; khi l&agrave;m được một ứng dụng g&igrave; đ&oacute; hay ho hoặc đi gần hơn với mục ti&ecirc;u được l&agrave;m việc cho Google, Facebook...</li> </ul> <p style="text-align: justify;">Dưới đ&acirc;y ch&uacute;ng ta bắt đầu xem x&eacute;t từng kh&iacute;a cạnh đặt ra ở tr&ecirc;n.</p> <p style="text-align: justify;">C&oacute; lẽ, yếu tố đầu ti&ecirc;n ch&uacute;ng ta x&eacute;t đến khi lựa chọn một ng&ocirc;n ngữ lập tr&igrave;nh l&agrave; t&iacute;nh phố biến của n&oacute;. Kh&ocirc;ng c&oacute; ai cấm ch&uacute;ng ta lựa chọn học tiếng M&egrave;o thay v&igrave; tiếng Anh l&agrave;m ng&ocirc;n ngữ thứ hai, tuy nhi&ecirc;n chắc hẳn rất &iacute;t người c&oacute; lựa chọn n&agrave;y (trừ khi người đ&oacute; muốn học cho vui hoặc li&ecirc;n quan đến c&aacute;c vấn đề nghi&ecirc;n cứu về văn h&oacute;a d&acirc;n tộc M&egrave;o). Điều n&agrave;y cũng giống như khi ch&uacute;ng ta lựa chọn một ng&ocirc;n ngữ lập tr&igrave;nh, sẽ rất kh&oacute; để ch&uacute;ng ta sử dụng được c&aacute;c ng&ocirc;n ngữ thiếu phổ biến một c&aacute;ch th&agrave;nh thạo bởi ch&uacute;ng ta kh&ocirc;ng c&oacute; cộng đồng đủ mạnh để hỗ trợ học tập v&agrave; r&egrave;n luyện kinh nghiệm cho việc sử dụng ch&uacute;ng v&agrave; tất nhi&ecirc;n c&aacute;c thư viện hỗ trợ cũng đặc biệt ngh&egrave;o n&agrave;n. Tuy vậy, trong một số trường hợp y&ecirc;u cầu cho b&agrave;i to&aacute;n cụ thể một số ng&ocirc;n ngữ vẫn c&oacute; thể được lựa chọn v&igrave; một l&iacute; do n&agrave;o đ&oacute;. Mặc d&ugrave; vậy th&igrave; để bắt đầu học lập tr&igrave;nh, về cơ bản ch&uacute;ng ta vẫn n&ecirc;n bắt đầu với c&aacute;c ng&ocirc;n ngữ phổ biến do t&iacute;nh cộng đồng v&agrave; khả năng hỗ trợ cao, nguồn thư viện phong ph&uacute;, v&agrave; tất nhi&ecirc;n l&agrave; cơ hội sử dụng n&oacute; để l&agrave;m một việc g&igrave; đ&oacute; (kiếm tiền chẳng hạn) sẽ cao hơn rất nhiều.</p> <p style="text-align: justify;">Do vậy, trước khi đi đến việc lựa chọn ng&ocirc;n ngữ lập tr&igrave;nh n&agrave;o, c&oacute; lẽ điều đầu ti&ecirc;n ch&uacute;ng ta cần biết đến một số ng&ocirc;n ngữ lập tr&igrave;nh phổ biến. C&oacute; đến hơn 600 ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c nhau, v&agrave; đ<span id="result_box" class="" lang="vi" tabindex="-1">ể thu hẹp một ch&uacute;t, ch&uacute;ng ta xem x&eacute;t ph&acirc;n t&iacute;ch dữ liệu t&igrave;m kiếm phổ biến nhất của Google li&ecirc;n quan đến việc học lập tr&igrave;nh, trong 12 năm qua:</span></p> <p>&nbsp;</p> <p>[caption id="attachment_378" align="aligncenter" width="693"]<img class=" wp-image-378" src="https://tek4.vn/wp-content/uploads/2018/08/học-lập-tr&igrave;nh-như-thế-n&agrave;o.png" alt="học lập tr&igrave;nh như thế n&agrave;o" width="693" height="238" /> Nguồn: Quincy Larson - Medium[/caption]</p> <p style="text-align: justify;">Ở đ&acirc;y c&oacute; thể thấy:</p> <ul> <li style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Java đ&atilde; c&oacute; những giai đoạn tăng giảm.</span></li> <li style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Python đ&atilde; dần dần vươn l&ecirc;n trở th&agrave;nh sự lựa chọn phổ biến nhất.<br /></span></li> </ul> <p>C&ograve;n đ&acirc;y l&agrave; bảng thống k&ecirc; những ng&ocirc;n ngữ lập tr&igrave;nh được sử dụng phổ biến nhất của IEEE 2017:</p> <p style="text-align: justify;"><img class="wp-image-364 aligncenter" src="https://tek4.vn/wp-content/uploads/2018/08/ng&ocirc;n-ngữ-lập-tr&igrave;nh.png" alt="ng&ocirc;n ngữ lập tr&igrave;nh phổ biến nhất" width="485" height="284" /></p> <p class="graf graf--p graf-after--figure">Dưới đ&acirc;y ch&uacute;ng ta xem x&eacute;t một số ng&ocirc;n ngữ lập tr&igrave;nh phổ biến nhất v&agrave; c&aacute;c đặc điểm của n&oacute;.</p> <h2 style="text-align: justify;">Một số ng&ocirc;n ngữ lập tr&igrave;nh phổ biến</h2> <h3 style="text-align: justify;">1. Python</h3> <p style="text-align: justify;"><img class="wp-image-362 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/Python_small-300x300.png" alt="Python_small-300x300" width="203" height="203" /></p> <p style="text-align: justify;"><strong>Python</strong> l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh bậc cao cho c&aacute;c mục đ&iacute;ch lập tr&igrave;nh đa năng. Python được ph&aacute;t triển từ cuối những năm 1980 do Guido van Rossum tạo ra v&agrave; lần đầu ra mắt v&agrave;o năm 1991. <span class="" lang="vi" tabindex="-1"><span class="">Python l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh th&ocirc;ng dịch bậc cao, hướng đối tượng </span></span>được thiết kế với ưu điểm mạnh l&agrave; dễ đọc, dễ học v&agrave; dễ nhớ. Python l&agrave; ng&ocirc;n ngữ c&oacute; h&igrave;nh thức rất s&aacute;ng sủa, cấu tr&uacute;c r&otilde; r&agrave;ng, thuận tiện cho người mới học lập tr&igrave;nh. Cấu tr&uacute;c của Python c&ograve;n cho ph&eacute;p người sử dụng viết m&atilde; lệnh với số lần g&otilde; ph&iacute;m tối thiểu.</p> <p>Python ho&agrave;n to&agrave;n tạo kiểu động v&agrave; d&ugrave;ng cơ chế cấp ph&aacute;t bộ nhớ tự động; do vậy n&oacute; tương tự như Perl, Ruby. Python được ph&aacute;t triển trong một dự &aacute;n m&atilde; mở, do tổ chức phi lợi nhuận Python Software Foundation quản l&yacute;.</p> <p style="text-align: justify;">Ban đầu, Python được ph&aacute;t triển để chạy tr&ecirc;n nền Unix. Nhưng rồi theo thời gian, n&oacute; đ&atilde; ph&aacute;t triển sang mọi hệ điều h&agrave;nh từ MS-DOS đến Mac OS, OS/2, Windows, Linux v&agrave; c&aacute;c hệ điều h&agrave;nh kh&aacute;c thuộc họ Unix. Mặc d&ugrave; sự ph&aacute;t triển của Python c&oacute; sự đ&oacute;ng g&oacute;p của rất nhiều c&aacute; nh&acirc;n, nhưng Guido van Rossum hiện nay vẫn l&agrave; t&aacute;c giả chủ yếu của Python. &Ocirc;ng giữ vai tr&ograve; chủ chốt trong việc quyết định hướng ph&aacute;t triển của Python.</p> <h4>Ai sử dụng Python?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:&nbsp;</strong> <ul> <li>Lập tr&igrave;nh vi&ecirc;n Python, kỹ sư phần mềm, c&aacute;c lập tr&igrave;nh vi&ecirc;n back end,...</li> <li>Hỗ trợ gần như mọi nền tảng v&agrave; m&ocirc;i trường lập tr&igrave;nh</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng Python để ph&aacute;t triển ứng dụng:</strong> Google, Pinterest, Instagram, YouTube, DropBox, NASA, ESRI</li> <li style="text-align: justify;"><strong>Một số lĩnh vực đặc biệt c&oacute; lợi thế của Python:</strong> Ph&aacute;t triển ứng dụng Web v&agrave; Internet (c&aacute;c frameworks, micro-frameworks v&agrave; c&aacute;c hệ thống quản l&yacute; nội dung n&acirc;ng cao); c&aacute;c ng&agrave;nh t&iacute;nh to&aacute;n khoa học như khoa học dữ liệu, khoa học thống k&ecirc;; thiết kế giao diện đồ họa người d&ugrave;ng (GUIs)</li> </ul> <h4>Tại sao học Python lại quan trọng?</h4> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1"><span class="">Python cho ph&eacute;p ch&uacute;ng ta l&agrave;m việc nhanh ch&oacute;ng trong việc t&iacute;ch hợp c&aacute;c hệ thống như một ng&ocirc;n ngữ kịch bản.</span> N&oacute; cũng th&iacute;ch hợp cho ph&aacute;t triển nhanh c&aacute;c ứng dụng (Rapid Application Develop - RAD). Ngo&agrave;i ra Python c&ograve;n hỗ trợ rất nhiều nền tảng thư viện cho t&iacute;nh to&aacute;n khoa học v&agrave; khoa học dữ liệu mạnh mẽ.<br /></span></p> <ul> <li>Core engine của game Civilization 4 bao gồm c&aacute;c th&agrave;nh phần logic b&ecirc;n trong, c&aacute;c yếu tố AI được thực thi bằng Python.</li> <li>Python được NASA sử dụng trong hệ thống lập lịch t&iacute;ch hợp.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Dễ học, dễ đọc, dễ hiểu.</li> <li>Hỗ trợ c&aacute;c Web frame work cho ph&aacute;t triển c&aacute;c ứng dụng nền tảng web.</li> <li>C&oacute; tr&igrave;nh th&ocirc;ng dịch miễn ph&iacute; v&agrave; nhiều thư viện ti&ecirc;u chuẩn phong ph&uacute;.</li> <li>Cộng đồng ph&aacute;t triển đ&ocirc;ng đảo.</li> <li>Đa nền tảng v&agrave; mạnh mẽ, hỗ trợ nhiều m&ocirc;i trường ph&aacute;t triển.</li> <li>Hỗ trợ c&aacute;c thư viện mạnh mẽ cho khoa học dữ liệu v&agrave; ph&acirc;n t&iacute;ch thống k&ecirc;, t&iacute;nh to&aacute;n khoa học.</li> </ul> </li> </ul> <h3>2. C</h3> <p style="text-align: justify;"><img class=" wp-image-363 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/The_C_Programming_Language_logo.svg-e1458850872533-150x150.png" alt="Lập tr&igrave;nh C cơ bản" width="180" height="180" /></p> <p style="text-align: justify;"><strong>Ng&ocirc;n ngữ lập tr&igrave;nh C</strong> l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh c&oacute; cấu tr&uacute;c, bậc trung, được sử dụng nhiều nhất trong việc x&acirc;y dựng c&aacute;c ứng dụng ở tầng thấp. C được ph&aacute;t triển từ đầu thập ni&ecirc;n 1970 <span id="result_box" class="" lang="vi" tabindex="-1">tại Bell Labs</span> bởi Dennis Ritchie để d&ugrave;ng trong hệ điều h&agrave;nh UNIX v&agrave; lan rộng ra nhiều hệ điều h&agrave;nh kh&aacute;c, trở th&agrave;nh một trong những ng&ocirc;n ngữ lập tr&igrave;nh được sử dụng phổ biến nhất cho tới hiện nay.</p> <p style="text-align: justify;">C l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh tương đối nhỏ gọn vận h&agrave;nh gần với phần cứng v&agrave; n&oacute; giống với ng&ocirc;n ngữ Assembler hơn hầu hết c&aacute;c ng&ocirc;n ngữ bậc cao. Hơn thế, C đ&ocirc;i khi được đ&aacute;nh gi&aacute; như l&agrave; "c&oacute; khả năng di động", cho thấy sự kh&aacute;c nhau quan trọng giữa n&oacute; với ng&ocirc;n ngữ bậc thấp như l&agrave; Assembler, đ&oacute; l&agrave; việc m&atilde; C c&oacute; thể được dịch v&agrave; thi h&agrave;nh trong hầu hết c&aacute;c m&aacute;y t&iacute;nh, hơn hẳn c&aacute;c ng&ocirc;n ngữ hiện tại trong khi đ&oacute; th&igrave; Assembler chỉ c&oacute; thể chạy trong một số m&aacute;y t&iacute;nh đặc biệt. V&igrave; l&yacute; do n&agrave;y C được xem l&agrave; ng&ocirc;n ngữ bậc trung.</p> <p style="text-align: justify;">C l&agrave; ng&ocirc;n ngữ rất c&oacute; hiệu quả v&agrave; được ưa chuộng nhất để viết c&aacute;c phần mềm hệ thống, mặc d&ugrave; n&oacute; cũng được d&ugrave;ng cho việc viết c&aacute;c ứng dụng. Ngo&agrave;i ra, C cũng thường được d&ugrave;ng l&agrave;m phương tiện giảng dạy trong khoa học m&aacute;y t&iacute;nh mặc d&ugrave; ng&ocirc;n ngữ n&agrave;y kh&ocirc;ng được thiết kế d&agrave;nh cho người nhập m&ocirc;n.</p> <p><span id="result_box" class="" lang="vi" tabindex="-1">&nbsp;<span class="">C l&agrave; nền tảng cho việc ph&aacute;t triển nhiều ng&ocirc;n ngữ lập tr&igrave;nh n&acirc;ng cao như: C ++, Java, C #, JavaScript v&agrave; Pearl.</span></span></p> <h4>Ai sử dụng C?</h4> <ul> <li style="text-align: justify;"><strong>C&aacute;c c&ocirc;ng việc: </strong>Lập tr&igrave;nh vi&ecirc;n, kỹ sư m&aacute;y t&iacute;nh, c&aacute;c nh&agrave; ph&acirc;n t&iacute;ch v&agrave; ph&aacute;t triển hệ thống, Quản trị web v&agrave; hệ thống th&ocirc;ng tin, c&aacute;c kỹ sư ph&aacute;t triển hệ thống nh&uacute;ng.</li> <li><strong>C&aacute;c tổ chức sử dụng C trong ph&aacute;t triển ứng dụng:</strong> Microsoft, Apple, Oracle, Cisco, Raytheon</li> <li style="text-align: justify;"><strong>C&aacute;c lĩnh vực được sử dụng C nhiều nhất:&nbsp;</strong>C&aacute;c hệ thống nh&uacute;ng, lập tr&igrave;nh hệ thống, tr&iacute; tuệ nh&acirc;n tạo, tự động h&oacute;a, đồ họa m&aacute;y t&iacute;nh, h&agrave;ng kh&ocirc;ng vũ trụ, xử l&yacute; ảnh v&agrave; lập tr&igrave;nh game.</li> </ul> <h4>Tại sao học C lại quan trọng?</h4> <p style="text-align: justify;">Ng&ocirc;n ngữ C được sử dụng để ph&aacute;t triển c&aacute;c ứng dụng hệ thống, hệ điều h&agrave;nh như Windows, UNIX v&agrave; Linux cũng như c&aacute;c phần mềm nh&uacute;ng. C&aacute;c ứng dụng bao gồm c&aacute;c g&oacute;i đồ họa, bộ xử l&yacute; văn bản, bảng t&iacute;nh, ph&aacute;t triển hệ điều h&agrave;nh, hệ thống cơ sở dữ liệu, tr&igrave;nh bi&ecirc;n dịch, th&ocirc;ng dịch, tr&igrave;nh assemblers v&agrave; c&aacute;c tr&igrave;nh điều khiển mạng...</p> <ul> <li>Hệ thống TAO của Facebook được lập tr&igrave;nh hầu hết bằng ng&ocirc;n ngữ C.</li> <li>Hầu hết c&aacute;c tr&igrave;nh điều khiển thiết bị vẫn được ph&aacute;t triển bằng ng&ocirc;n ngữ C.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Dễ học, chỉ bao gồm khoảng 32 từ kh&oacute;a</li> <li>Dễ sử dụng để viết c&aacute;c chương tr&igrave;nh hệ thống chẳng hạn như c&aacute;c tr&igrave;nh bi&ecirc;n dịch v&agrave; th&ocirc;ng dịch.</li> <li>L&agrave; ng&ocirc;n ngữ nền tảng cơ bản được dạy cho hầu hết những người bắt đầu.</li> </ul> </li> </ul> <h3>3. Java</h3> <p><img class=" wp-image-365 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/Java_logo_small-e1458850657277-147x150.png" alt="Lập tr&igrave;nh Java" width="187" height="190" /></p> <p>Java được ph&aacute;t triển từ những năm 1990 tại Sun Microsystems v&agrave; được biết đến đầu ti&ecirc;n với t&ecirc;n gọi l&agrave; Oak. Java được ph&aacute;t triển để tăng khả năng sử dụng cho ng&ocirc;n ngữ C++. Tư tưởng thiết kế của Java l&agrave; WORA (Write Once Run Anywhere) - Viết một lần chạy mọi nơi. Java được giới thiệu ra c&ocirc;ng ch&uacute;ng lần đầu v&agrave;o năm 1995 v&agrave; thuộc sở hữu của Oracle.</p> <p style="text-align: justify;"><strong>Java</strong> l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh bậc cao, đa dụng, hướng đối tượng (OOP) v&agrave; dựa tr&ecirc;n c&aacute;c lớp (class). Kh&aacute;c với phần lớn ng&ocirc;n ngữ lập tr&igrave;nh th&ocirc;ng thường, thay v&igrave; bi&ecirc;n dịch m&atilde; nguồn th&agrave;nh m&atilde; m&aacute;y hoặc th&ocirc;ng dịch m&atilde; nguồn khi chạy, Java được thiết kế để bi&ecirc;n dịch m&atilde; nguồn th&agrave;nh bytecode, bytecode sau đ&oacute; sẽ được m&ocirc;i trường thực thi (runtime environment) chạy.</p> <p style="text-align: justify;">Trước đ&acirc;y, Java chạy chậm hơn những ng&ocirc;n ngữ dịch thẳng ra m&atilde; m&aacute;y như C v&agrave; C++, nhưng sau n&agrave;y nhờ c&ocirc;ng nghệ "bi&ecirc;n dịch tại chỗ" - Just in time compilation, khoảng c&aacute;ch n&agrave;y đ&atilde; được thu hẹp, v&agrave; trong một số trường hợp đặc biệt Java c&oacute; thể chạy nhanh hơn. Java c&oacute; khả năng chạy nhanh hơn những ng&ocirc;n ngữ th&ocirc;ng dịch như Python, Perl, PHP gấp nhiều lần v&agrave; tương đương so với C#, một ng&ocirc;n ngữ kh&aacute; tương đồng về mặt c&uacute; ph&aacute;p v&agrave; qu&aacute; tr&igrave;nh dịch/chạy.</p> <p style="text-align: justify;">C&uacute; ph&aacute;p Java được vay mượn nhiều từ C &amp; C++ nhưng c&oacute; c&uacute; ph&aacute;p hướng đối tượng đơn giản hơn v&agrave; &iacute;t t&iacute;nh năng xử l&yacute; cấp thấp hơn. Do đ&oacute; việc viết một chương tr&igrave;nh bằng Java dễ hơn, đơn giản hơn, đỡ tốn c&ocirc;ng sửa lỗi hơn.</p> <p style="text-align: justify;">Trong Java, hiện tượng r&ograve; rỉ bộ nhớ hầu như kh&ocirc;ng xảy ra do bộ nhớ được quản l&yacute; bởi Java Virtual Machine (JVM) bằng c&aacute;ch tự động "dọn dẹp r&aacute;c". Người lập tr&igrave;nh kh&ocirc;ng phải quan t&acirc;m đến việc cấp ph&aacute;t v&agrave; x&oacute;a bộ nhớ như C, C++. Tuy nhi&ecirc;n khi sử dụng những t&agrave;i nguy&ecirc;n mạng, file IO, database (nằm ngo&agrave;i kiểm so&aacute;t của JVM) m&agrave; người lập tr&igrave;nh kh&ocirc;ng đ&oacute;ng (close) c&aacute;c streams th&igrave; r&ograve; rỉ dữ liệu vẫn c&oacute; thể xảy ra.</p> <h4>Ai sử dụng Java?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:</strong> <ul> <li>Kỹ sư phần mềm, Lập tr&igrave;nh vi&ecirc;n Java.</li> <li>C&aacute;c lĩnh vực sử dụng: viễn th&ocirc;ng, gi&aacute;o dục, t&agrave;i ch&iacute;nh, khoa học sức khỏe, b&aacute;n lẻ,...</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng Java trong ph&aacute;t triển ứng dụng:</strong> V2COM, Eclipse Information Technologies, eBay, Eurotech.</li> <li><strong>C&aacute;c lĩnh vực sử dụng Java nhiều nhất:</strong> Internet of Things (IoT), Ứng dụng quản l&yacute; doanh nghiệp, Điện to&aacute;n đ&aacute;m m&acirc;y.</li> </ul> <h4>Tại sao học Java lại quan trọng?</h4> <p style="text-align: justify;">Java được sử dụng rất rộng r&atilde;i trong việc ph&aacute;t triển c&aacute;c ứng dụng doanh nghiệp, game v&agrave; ứng dụng di động (đặc biệt l&agrave; Android), cũng như c&aacute;c ứng dụng dựa tr&ecirc;n nền tảng Web với JSP (Java Server Pages). Khi được sử dụng trực tuyến, Java cho ph&eacute;p c&aacute;c applet c&oacute; thể được tải v&agrave; sử dụng th&ocirc;ng qua một tr&igrave;nh duyệt, v&agrave; sau đ&oacute; thực thi một chức năng kh&ocirc;ng thường c&oacute; sẵn.</p> <ul> <li>C&aacute;c ứng dụng được viết bằng Java c&oacute; thể kể đến như: Adobe Creative Suite, Eclipse, Lotus Notes, Minecraft and OpenOffice.</li> <li>Java l&agrave; l&otilde;i của việc lập tr&igrave;nh c&aacute;c ứng dụng Android.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>C&aacute;c ứng dụng c&oacute; t&iacute;nh mềm dẻo, khả chuyển giữa c&aacute;c m&ocirc;i trường</li> <li>L&agrave; ng&ocirc;n ngữ mạnh mẽ</li> <li>Hỗ trợ thư viện mạng b&ecirc;n ngo&agrave;i</li> </ul> </li> </ul> <h3>4. C++</h3> <p style="text-align: justify;"><img class="wp-image-366 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/1200px-ISO_C_Logo.png" alt="Lập tr&igrave;nh C++" width="173" height="194" /></p> <p style="text-align: justify;">C++ được ph&aacute;t triển bởi Bjarne Stroustrup tại Bell Labs với t&ecirc;n nguy&ecirc;n thủy l&agrave; "<em>C với c&aacute;c lớp</em>" trong suốt thập ni&ecirc;n 1980 v&agrave; được coi l&agrave; một bản n&acirc;ng cao của ng&ocirc;n ngữ C hay phi&ecirc;n bản hướng đối tượng của C. Những bổ sung n&acirc;ng cao của C++ so với C bao gồm kh&aacute;i niệm lớp, h&agrave;m ảo, nạp chồng to&aacute;n tử, đa kế thừa, v&agrave; xử l&yacute; ngoại lệ. Ti&ecirc;u chuẩn của ng&ocirc;n ngữ C++ đ&atilde; được th&ocirc;ng qua năm 1998 trong <em>ISO/IEC 14882:1998</em>. Phi&ecirc;n bản hiện đang lưu h&agrave;nh l&agrave; phi&ecirc;n bản C++14, <em>ISO/IEC 14882:2014</em> ph&aacute;t h&agrave;nh ng&agrave;y 15/12/2014. C++ được thiết kế với mục đ&iacute;ch bi&ecirc;n dịch nhỏ gọn, m&atilde; nguồn hiệu quả nhưng vẫn giữ được mức trừu tượng cao cho ph&eacute;p dễ quản l&yacute;, dễ đọc cho c&aacute;c dự &aacute;n ph&aacute;t triển phần mềm lớn.</p> <p style="text-align: justify;">C++ l&agrave; ng&ocirc;n ngữ lập tr&igrave;nh bậc trung, hướng đối tượng, đa năng. C++ l&agrave; mở rộng của ng&ocirc;n ngữ C, do đ&oacute; n&oacute; c&oacute; c&aacute;c khả năng v&agrave; t&iacute;nh chất của ng&ocirc;n ngữ C, hỗ trợ c&aacute;c c&uacute; ph&aacute;p kiểu C. Người d&ugrave;ng c&oacute; thể sử dụng đồng thời c&uacute; ph&aacute;p của C v&agrave; C++ trong một chương tr&igrave;nh m&agrave; vẫn đảm bảo chương tr&igrave;nh được bi&ecirc;n dịch v&agrave; chạy đ&uacute;ng. C++ hỗ trợ lập tr&igrave;nh thủ tục, lập tr&igrave;nh hướng đối tượng, v&agrave; đa h&igrave;nh, đồng thời cung cấp c&aacute;c c&ocirc;ng cụ để can thiệp s&acirc;u v&agrave;o bộ nhớ. Từ thập ni&ecirc;n 1990, C++ đ&atilde; trở th&agrave;nh một trong những ng&ocirc;n ngữ thương mại ưa th&iacute;ch v&agrave; phổ biến nhất của lập tr&igrave;nh vi&ecirc;n.</p> <p style="text-align: justify;"><strong>C++</strong> được thiết kế với ưu ti&ecirc;n cho lập tr&igrave;nh hệ thống v&agrave; c&aacute;c hệ thống nh&uacute;ng, t&agrave;i nguy&ecirc;n hạn chế, với hiệu suất, hiệu quả v&agrave; t&iacute;nh linh hoạt cao. C++ c&oacute; thể sử dụng để ph&aacute;t triển c&aacute;c ứng dụng hạn chế t&agrave;i nguy&ecirc;n, c&aacute;c ứng dụng d&agrave;nh cho m&aacute;y t&iacute;nh để b&agrave;n, m&aacute;y chủ (v&iacute; dụ: thương mại điện tử, t&igrave;m kiếm tr&ecirc;n web hoặc m&aacute;y chủ SQL) v&agrave; c&aacute;c ứng dụng quan trọng về hiệu suất (v&iacute; dụ: chuyển mạch thoại hoặc thiết bị thăm d&ograve; kh&ocirc;ng gian). C ++ l&agrave; một ng&ocirc;n ngữ được bi&ecirc;n dịch, c&oacute; thể sử dụng tr&ecirc;n nhiều nền tảng.</p> <p>Nhiều ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c được ph&aacute;t triển dựa tr&ecirc;n nền tảng C ++, bao gồm C #, D, Java v&agrave; c&aacute;c phi&ecirc;n bản mới hơn của C.</p> <h4>Ai sử dụng C++?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:</strong> <ul> <li>C&aacute;c kỹ sư phầm mềm C++ , Kỹ sư lập tr&igrave;nh nh&uacute;ng, c&aacute;c nh&agrave; ph&acirc;n t&iacute;ch chương tr&igrave;nh.</li> <li>Lĩnh vực ứng dụng: C&ocirc;ng nghệ th&ocirc;ng tin, kỹ thuật, thiết kế, quản l&yacute; chất lượng...</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng C++ trong ph&aacute;t triển ứng dụng:</strong> Google, Mozilla, Firefox, Winamp, Adobe Software, Amazon, Lockheed Martin</li> <li style="text-align: justify;"><strong>C&aacute;c lĩnh vực lợi thế của C++:</strong> C&aacute;c phần mềm, ứng dụng hệ thống, ph&aacute;t triển c&aacute;c tr&igrave;nh điều khiển Drivers, C&aacute;c ứng dụng Client-Server, C&aacute;c hệ nh&uacute;ng firmware...</li> </ul> <h4>Tại sao học C++ quan trọng?</h4> <p style="text-align: justify;">C++ l&agrave; ng&ocirc;n ngữ được sử dụng để tạo ra c&aacute;c chương tr&igrave;nh m&aacute;y t&iacute;nh v&agrave; c&aacute;c g&oacute;i phần mềm như game, c&aacute;c ứng dụng văn ph&ograve;ng, đồ họa v&agrave; phần mềm chỉnh sửa video, hệ điều h&agrave;nh,...</p> <ul> <li>Hệ điều h&agrave;nh Blackberry OS được ph&aacute;t triển dựa tr&ecirc;n C++.</li> <li>Phi&ecirc;n bản mới nhất của bộ Microsoft Office được ph&aacute;t triển bằng C++.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Thường l&agrave; một trong những ng&ocirc;n ngữ lập tr&igrave;nh đầu ti&ecirc;n được giảng dạy trong c&aacute;c trường đại học.</li> <li>Hỗ trợ cơ chế bi&ecirc;n dịch v&agrave; xử l&yacute; nhanh</li> <li>Hỗ trợ bộ thư viện chuẩn mạnh mẽ.</li> </ul> </li> </ul> <h3>5. C#</h3> <p><img class=" wp-image-367 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/csharp-e1458852305738.png" alt="Lập tr&igrave;nh C#" width="183" height="202" /></p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">C# l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh hướng đối tượng được ph&aacute;t triển bởi Microsoft từ những năm 2000 như một phần của dự &aacute;n .NET framework; cho tới năm 2003 n&oacute; được đưa v&agrave;o trong chuẩn ISO. C# l&agrave; một ng&ocirc;n ngữ mạnh mẽ được x&acirc;y dựng tr&ecirc;n nền tảng của c&aacute;c ng&ocirc;n ngữ C, C++ v&agrave; Java. Kh&aacute;c với C++, C# l&agrave; ng&ocirc;n ngữ hướng đối tượng </span><span id="result_box" class="" lang="vi" tabindex="-1">hoặc hướng th&agrave;nh phần bắt buộc (tức l&agrave; mọi kiểu dữ liệu trong C# đều l&agrave; c&aacute;c đối tượng trong khi với C++ điều n&agrave;y kh&ocirc;ng bắt buộc). </span></p> <p style="text-align: justify;">C#, theo một hướng n&agrave;o đ&oacute;, l&agrave; ng&ocirc;n ngữ lập tr&igrave;nh phản &aacute;nh trực tiếp nhất đến .NET Framework m&agrave; tất cả c&aacute;c chương tr&igrave;nh .NET chạy, v&agrave; n&oacute; phụ thuộc mạnh mẽ v&agrave;o framework n&agrave;y. Mọi dữ liệu cơ sở đều l&agrave; đối tượng, được cấp ph&aacute;t v&agrave; hủy bỏ bởi tr&igrave;nh dọn r&aacute;c Garbage-Collector (GC), v&agrave; nhiều kiểu trừu tượng kh&aacute;c chẳng hạn như class, delegate, interface, exception... phản &aacute;nh r&otilde; r&agrave;ng những đặc trưng của .NET runtime.</p> <p style="text-align: justify;">T&ecirc;n "C sharp" được lấy cảm hứng từ k&yacute; hiệu &acirc;m nhạc, trong đ&oacute; một dấu thăng sau nốt nhạc "#" nghĩa l&agrave; một nốt được chơi cao hơn nửa cung. Điều n&agrave;y tương tự như trường hợp đặt t&ecirc;n của ng&ocirc;n ngữ của C++, trong đ&oacute; "++" chỉ ra rằng gi&aacute; trị của một biến n&ecirc;n được tăng l&ecirc;n 1. Biểu tượng # cũng giống với bốn k&yacute; tự "+" (trong một lưới 2x2), ngụ &yacute; rằng ng&ocirc;n ngữ l&agrave; một phi&ecirc;n bản tăng cường của C++ (gấp đ&ocirc;i C++). Bởi v&igrave; giới hạn kỹ thuật của việc hiển thị (c&aacute;c font chuẩn, tr&igrave;nh duyệt...) v&agrave; sự thật l&agrave; k&yacute; tự thăng (<span class="nowrap">U+266F</span> ♯ (HTML&nbsp;&amp;#9839;)) kh&ocirc;ng hiện diện trong đa số c&aacute;c b&agrave;n ph&iacute;m, k&yacute; tự (<span class="nowrap">U+0023</span> # <span class="smallcaps">NUMBER SIGN</span> (HTML&nbsp;&amp;#35<code>;</code>)) đ&atilde; được chọn để diễn đạt một c&aacute;ch tương đương trong c&aacute;ch viết t&ecirc;n ng&ocirc;n ngữ.</p> <p style="text-align: justify;">Hậu tố "#" đ&atilde; được sử dụng bởi một số ng&ocirc;n ngữ kh&aacute;c của .NET l&agrave; c&aacute;c biến thể của c&aacute;c ng&ocirc;n ngữ hiện tại, bao gồm J# (một ng&ocirc;n ngữ .NET cũng được thiết kế bởi Microsoft c&oacute; nguồn gốc từ Java 1.1), A# (từ Ada) v&agrave; ng&ocirc;n ngữ lập tr&igrave;nh chức năng F#. Việc triển khai ban đầu của Eiffel for .NET được gọi l&agrave; Eiffel#. Hậu tố cũng đ&atilde; được sử dụng cho c&aacute;c thư viện, chẳng hạn như Gtk# (một wrapper NET cho GTK+ v&agrave; c&aacute;c thư viện GNOME kh&aacute;c) v&agrave; Cocoa#. (Theo Wikipedia)</p> <p>Microsoft ph&aacute;t triển C# dựa tr&ecirc;n C++ v&agrave; Java. C# được mi&ecirc;u tả l&agrave; ng&ocirc;n ngữ c&oacute; được sự c&acirc;n bằng giữa C++, Visual Basic, Delphi v&agrave; Java.</p> <p>C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến tr&uacute;c sư phần mềm nổi tiếng với c&aacute;c sản phẩm Turbo Pascal, Delphi, J++, WFC.</p> <h4>Ai sử dụng C#?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:</strong> <ul> <li>Lập tr&igrave;nh vi&ecirc;n C#, kỹ sư phần mềm, lập tr&igrave;nh vi&ecirc;n .NET.</li> <li>Lĩnh vực ứng dụng: C&ocirc;ng nghệ th&ocirc;ng tin, c&aacute;c ng&agrave;nh kỹ thuật, thiết kế, c&aacute;c hệ thống quản l&yacute; chất lượng.</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng C# trong ph&aacute;t triển ứng dụng:</strong> Microsoft Intel, Hewlett Packard</li> <li><strong>Lĩnh vực lợi thế của C#:</strong> C&aacute;c ứng dụng dựa tr&ecirc;n nền tảng Windows đặc biệt l&agrave; c&aacute;c ứng dụng quản l&yacute;.</li> </ul> <h4>Tại sao học C# lại quan trọng ?</h4> <p style="text-align: justify;">C# gi&uacute;p c&aacute;c lập tr&igrave;nh vi&ecirc;n c&oacute; thể tạo ra c&aacute;c ứng dụng web XML v&agrave; c&aacute;c ứng dụng kết nối trong Microsoft.NET cho hệ điều h&agrave;nh Windows v&agrave; internet</p> <ul> <li>Được sử dụng để ph&aacute;t triển một số lượng lớn c&aacute;c phần mềm ứng dụng tr&ecirc;n m&ocirc;i trường ph&aacute;t triển Visual Studio.</li> <li>L&agrave; ng&ocirc;n ngữ duy nhất được sử dụng bởi &nbsp;Windows Presentation Foundation (WPF).</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>C&oacute; khả năng tương tự như Java.</li> <li>L&agrave; ng&ocirc;n ngữ l&yacute; tưởng cho người mới bắt đầu do t&iacute;nh dễ hiểu, dễ sử dụng.</li> <li>Khả năng l&agrave;m việc v&agrave; tương th&iacute;ch với m&ocirc;i trường Windows.</li> </ul> </li> </ul> <h3>6. R</h3> <p style="text-align: justify;"><img class="wp-image-368 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/r-prog.jpg" alt="Lập tr&igrave;nh R" width="200" height="200" /></p> <p style="text-align: justify;"><strong>R</strong> l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh v&agrave; m&ocirc;i trường phần mềm d&agrave;nh cho t&iacute;nh to&aacute;n v&agrave; đồ họa thống k&ecirc;. R do Ross Ihaka v&agrave; Robert Gentleman tạo ra tại Đại học Auckland, New Zealand, đến nay do <em>R Development Core Team</em> chịu tr&aacute;ch nhiệm ph&aacute;t triển. T&ecirc;n của ng&ocirc;n ngữ một phần lấy từ chữ c&aacute;i đầu của hai t&aacute;c giả (Robert Gentleman v&agrave; Ross Ihaka), một phần cũng l&agrave; c&aacute;ch chơi chữ từ t&ecirc;n S (một ng&ocirc;n ngữ lập tr&igrave;nh l&agrave; nền tảng cho R).</p> <p style="text-align: justify;">Ng&ocirc;n ngữ R đ&atilde; trở th&agrave;nh một ng&ocirc;n ngữ ti&ecirc;u chuẩn được sử dụng bởi c&aacute;c nh&agrave; thống k&ecirc; v&agrave; được sử dụng rộng r&atilde;i để ph&aacute;t triển phần mềm thống k&ecirc; v&agrave; ph&acirc;n t&iacute;ch dữ liệu.</p> <p style="text-align: justify;">R l&agrave; một bộ phận của dự &aacute;n GNU. M&atilde; nguồn của n&oacute; được c&ocirc;ng bố tự do theo Giấy ph&eacute;p C&ocirc;ng cộng GNU, v&agrave; c&oacute; c&aacute;c phi&ecirc;n bản dịch sẵn cho nhiều hệ điều h&agrave;nh kh&aacute;c nhau. R sử dụng giao diện d&ograve;ng lệnh, tuy nhi&ecirc;n cũng c&oacute; một v&agrave;i giao diện đồ họa người d&ugrave;ng d&agrave;nh cho n&oacute;.</p> <p style="text-align: justify;">R c&oacute; chứa nhiều loại kỹ thuật thống k&ecirc; (m&ocirc; h&igrave;nh h&oacute;a tuyến t&iacute;nh v&agrave; phi tuyến, kiểm thử thống k&ecirc; cổ điển, ph&acirc;n t&iacute;ch chuỗi thời gian, ph&acirc;n loại, ph&acirc;n nh&oacute;m, v.v.) v&agrave; đồ họa. R, giống như S, được thiết kế xoay quanh một ng&ocirc;n ngữ m&aacute;y thực thụ, v&agrave; n&oacute; cho ph&eacute;p người d&ugrave;ng th&ecirc;m c&aacute;c t&iacute;nh năng bổ sung bằng c&aacute;ch định nghĩa c&aacute;c h&agrave;m mới. Cũng c&oacute; một số kh&aacute;c biệt quan trọng đối với S, nhưng nhiều m&atilde; viết bằng S vẫn chạy được m&agrave; kh&ocirc;ng cần thay đổi. Nhiều hệ thống trong R được viết bằng ch&iacute;nh ng&ocirc;n ngữ của n&oacute;, gi&uacute;p cho người d&ugrave;ng dễ theo d&otilde;i c&aacute;c giải thuật. Để thực hiện c&ocirc;ng việc chuy&ecirc;n về t&iacute;nh to&aacute;n, R c&oacute; thể li&ecirc;n kết được với ng&ocirc;n ngữ C, C++ v&agrave; Fortran để c&oacute; thể được gọi trong khi chạy. Người d&ugrave;ng th&ocirc;ng thạo c&oacute; thể viết m&atilde; C để xử l&yacute; trực tiếp c&aacute;c đối tượng của R.</p> <p style="text-align: justify;">R cũng c&oacute; t&iacute;nh mở rộng cao bằng c&aacute;ch sử dụng c&aacute;c g&oacute;i cho người d&ugrave;ng đưa l&ecirc;n cho một số chức năng v&agrave; lĩnh vực nghi&ecirc;n cứu cụ thể. Do được thừa hưởng từ S, R c&oacute; nền tảng lập tr&igrave;nh hướng đối tượng mạnh hơn đa số c&aacute;c ng&ocirc;n ngữ t&iacute;nh to&aacute;n thống k&ecirc; kh&aacute;c. Việc mở rộng R cũng dễ d&agrave;ng nhờ c&aacute;c luật đ&oacute;ng khối từ vựng.</p> <p style="text-align: justify;">Một điểm mạnh kh&aacute;c của R l&agrave; nền tảng đồ họa của n&oacute;, c&oacute; thể tạo ra những đồ thị chất lượng cao c&ugrave;ng c&aacute;c biểu tượng to&aacute;n học. R cũng c&oacute; định dạng văn bản ri&ecirc;ng tương tự như LaTeX, d&ugrave;ng để cung cấp t&agrave;i liệu hướng dẫn to&agrave;n diện, được cung cấp trực tuyến ở c&aacute;c định dạng kh&aacute;c nhau v&agrave; cả bản in.</p> <p style="text-align: justify;">R được d&ugrave;ng chủ yếu với mục đ&iacute;ch t&iacute;nh to&aacute;n thống k&ecirc; v&agrave; ph&aacute;t triển phần mềm, tuy nhi&ecirc;n n&oacute; cũng c&oacute; thể d&ugrave;ng l&agrave;m một c&ocirc;ng cụ t&iacute;nh to&aacute;n ma trận th&ocirc;ng thường tương tự như GNU Octave v&agrave; MATLAB. Giao diện RWeka đ&atilde; được th&ecirc;m v&agrave;o phần mềm khai ph&aacute; dữ liệu phổ biến Weka, cho ph&eacute;p đọc/ghi định dạng arff v&igrave; vậy cho ph&eacute;p sử dụng t&iacute;nh năng khai ph&aacute; dữ liệu trong Weka v&agrave; thống k&ecirc; trong R.</p> <h4>Ai sử dụng R?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:</strong> <ul> <li>Lập tr&igrave;nh vi&ecirc;n R, c&aacute;c nh&agrave; khoa học dữ liệu.</li> <li>Lĩnh vực ứng dụng: C&aacute;c ng&agrave;nh bảo hiểm, t&agrave;i ch&iacute;nh, ng&acirc;n h&agrave;ng, thống k&ecirc;, dự b&aacute;o.</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng R trong ph&aacute;t triển ứng dụng:</strong></li> </ul> <p>+ Facebook - Ph&acirc;n t&iacute;ch h&agrave;nh vi li&ecirc;n quan đến c&aacute;c cập nhật trạng th&aacute;i v&agrave; ảnh đại diện của người d&ugrave;ng.<br />+ Google - Dự đo&aacute;n kinh tế v&agrave; hiệu quả của c&aacute;c quảng c&aacute;o.<br />+ Twitter - Ph&acirc;n cụm ngữ nghĩa v&agrave; biểu diễn dữ liệu.<br />+ Microsoft - nhiều mục đ&iacute;ch<br />+ Uber - Ph&acirc;n t&iacute;ch thống k&ecirc;<br />+ Airbnb - Ph&acirc;n t&iacute;ch dữ liệu.<br />+ IBM - Tham gia R Consortium Group<br />+ ANZ - M&ocirc; h&igrave;nh h&oacute;a rủi ro t&iacute;n dụng</p> <ul> <li><strong>Lĩnh vực lợi thế của R:</strong> Ph&acirc;n t&iacute;ch thống k&ecirc; v&agrave; khoa học dữ liệu.</li> </ul> <h3><img class="size-full wp-image-369 aligncenter" src="https://tek4.vn/wp-content/uploads/2018/08/Companies-using-R.png" alt="Lập tr&igrave;nh R" width="460" height="236" /></h3> <h4>Tại sao học R lại quan trọng ?</h4> <p style="text-align: justify;">R l&agrave; ng&ocirc;n ngữ miễn ph&iacute; v&agrave; mạnh mẽ cho việc ph&acirc;n t&iacute;ch dữ liệu v&agrave; m&ocirc; h&igrave;nh h&oacute;a, biểu diễn dữ liệu thống k&ecirc;. N&oacute; l&agrave; một trong những c&ocirc;ng cụ phổ biến nhất trong việc x&acirc;y dựng c&aacute;c m&ocirc; h&igrave;nh thống k&ecirc; v&agrave; dự đo&aacute;n. V&agrave;o năm 2016, trong một thống k&ecirc; về lương của c&aacute;c nh&agrave; khoa học dữ liệu được thống k&ecirc; bởi O'Reilly, R l&agrave; ng&ocirc;n ngữ lập tr&igrave;nh đứng thứ 2 cho c&aacute;c nh&agrave; khoa học dữ liệu (SQL đứng đầu).Theo một khảo s&aacute;t kh&aacute;c của KDnuggets, R đứng đầu về mức độ phổ biến với 49% người d&ugrave;ng lựa chọn. Nếu muốn n&acirc;ng cao kinh nghiệm v&agrave; kỹ năng trong việc ph&acirc;n t&iacute;ch dữ liệu, R l&agrave; ng&ocirc;n ngữ lập tr&igrave;nh kh&ocirc;ng thể thiếu m&agrave; ch&uacute;ng ta n&ecirc;n tiếp cận.</p> <ul> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Hỗ trợ c&aacute;c thư viện ph&acirc;n t&iacute;ch thống k&ecirc; mạnh mẽ như SPSS, SAS hay Stata.</li> <li>T&iacute;ch hợp được với nhiều ng&ocirc;n ngữ kh&aacute;c như C, C++.</li> <li>L&agrave;m việc được tr&ecirc;n nhiều m&ocirc;i trường kh&aacute;c nhau v&agrave; đặc biệt ph&ugrave; hợp cho c&aacute;c b&agrave;i to&aacute;n ph&acirc;n t&iacute;ch dữ liệu.</li> </ul> </li> </ul> <h3>7. JavaScript</h3> <p style="text-align: justify;"><img class="size-full wp-image-370 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/JavaScript.jpg" alt="JavaScript" width="225" height="225" /></p> <p style="text-align: justify;">JavaScript l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh ph&iacute;a m&aacute;y kh&aacute;ch chạy tr&ecirc;n c&aacute;c tr&igrave;nh duyệt v&agrave; xử l&yacute; c&aacute;c lệnh tr&ecirc;n m&aacute;y t&iacute;nh của người d&ugrave;ng ứng dụng web. JavaScript được d&ugrave;ng để tạo ra c&aacute;c trang web c&oacute; t&iacute;nh tương t&aacute;c. C&aacute;c slideshow, pop-up quảng c&aacute;o v&agrave; t&iacute;nh năng autocomplete của Google l&agrave; những thứ được viết bằng JavaScript. N&oacute; thường được đặt b&ecirc;n trong c&aacute;c tệp HTML hoặc ASP. Mặc d&ugrave; t&ecirc;n của n&oacute; l&agrave; JavaScript tuy nhi&ecirc;n n&oacute; kh&ocirc;ng hề li&ecirc;n quan g&igrave; tới Java. JavaScript được tạo ra lần đầu ti&ecirc;n bởi Brendan Eich tại c&ocirc;ng ty Netscape v&agrave;o năm 1995 - được đặt t&ecirc;n l&agrave; Mocha trong qu&aacute; tr&igrave;nh ph&aacute;t triển, ph&aacute;t h&agrave;nh phi&ecirc;n bản beta với t&ecirc;n l&agrave; LiveScript v&agrave; cuối c&ugrave;ng được đặt t&ecirc;n l&agrave; JavaScript để lợi dụng sự phổ biến của Java (một ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c) v&igrave; l&yacute; do marketing.</p> <p style="text-align: justify;">Phi&ecirc;n bản mới nhất của JavaScript l&agrave; ECMAScript 7 . ECMAScript l&agrave; phi&ecirc;n bản chuẩn h&oacute;a của JavaScript. Tr&igrave;nh duyệt Mozilla phi&ecirc;n bản 1.8 beta 1 c&oacute; hỗ trợ kh&ocirc;ng đầy đủ cho E4X - phần mở rộng cho JavaScript hỗ trợ l&agrave;m việc với XML, được chuẩn h&oacute;a trong ECMA-357.</p> <p style="text-align: justify;">L&uacute;c đầu, c&aacute;c lập tr&igrave;nh vi&ecirc;n đ&atilde; kh&ocirc;ng coi JavaScript l&agrave; quan trọng, bởi v&igrave; n&oacute; kh&ocirc;ng được xem như l&agrave; một ng&ocirc;n ngữ ph&aacute;t triển nghi&ecirc;m t&uacute;c như c&aacute;c ng&ocirc;n ngữ ph&iacute;a m&aacute;y chủ như Java, Ruby hay Python. JavaScript giống như phần kem phết tr&ecirc;n bề mặt chiếc b&aacute;nh vậy, n&oacute; chỉ chịu tr&aacute;ch nhiệm về phần trải nghiệm người d&ugrave;ng. Nhưng ng&ocirc;n ngữ n&agrave;y tiếp tục ph&aacute;t triển v&agrave; ng&agrave;y c&agrave;ng trở n&ecirc;n phổ biến. Ch&uacute;ng ta c&oacute; thể nghe n&oacute;i đến một platform JavaScript phổ biến c&oacute; t&ecirc;n l&agrave; Node.js v&agrave; platform n&agrave;y giờ đ&acirc;y biến JavaScript th&agrave;nh một ng&ocirc;n ngữ c&oacute; thể được sử dụng ph&iacute;a m&aacute;y chủ (server-side).</p> <h4>Ai sử dụng JavaScript?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc: </strong>Lập tr&igrave;nh vi&ecirc;n JavaScript, lập tr&igrave;nh vi&ecirc;n Web, kỹ sư phần mềm.</li> <li><strong>C&aacute;c tổ chức sử dụng JavaScript trong ph&aacute;t triển ứng dụng:</strong> WordPress, Soundcloud, Khan Academy, Linkedin, Groupon, Yahoo,...</li> <li><strong>Lĩnh vực lợi thế của JavaScript:</strong> Ph&aacute;t triển giao diện Front End cho Website, lập tr&igrave;nh game.</li> </ul> <h4>Tại sao học JavaScript lại quan trọng?</h4> <p style="text-align: justify;">JavaScript được sử dụng chủ yếu trong việc ph&aacute;t triển c&aacute;c ứng dụng Web để thực thi c&aacute;c th&agrave;nh phần trang kh&aacute;c nhau v&agrave; l&agrave;m cho n&oacute; trở l&ecirc;n sống động hơn, bao gồm khả năng cuộn trang, xử l&yacute; c&aacute;c sự kiện, tạo lịch v&agrave; c&aacute;c t&aacute;c vụ kh&aacute;c m&agrave; HTML kh&ocirc;ng thể xử l&yacute; được (điều n&agrave;y đến nay kh&ocirc;ng hẳn đ&uacute;ng nữa khi HTML5 đ&atilde; hỗ trợ c&aacute;c phần xử l&yacute; n&acirc;ng cao hơn). JavaScript cũng được sử dụng để x&acirc;y dựng game v&agrave; c&aacute;c thư viện APIs. JavaScript c&oacute; thể được sử dụng để x&acirc;y dựng to&agrave;n bộ một trang web khi kết hợp với Node.js v&agrave; MongoDB (một loại cơ sở dữ liệu). Node.js l&agrave; bất đồng bộ, điều đ&oacute; l&agrave;m cho n&oacute; c&oacute; t&iacute;nh dễ mở rộng v&agrave; rất ph&ugrave; hợp cho tất cả c&aacute;c dữ liệu lớn. Việc gửi 600 email với Node.js chỉ mất 3 gi&acirc;y, trong khi đ&oacute; phải mất 30 gi&acirc;y với PHP. MongoDB l&agrave; một cơ sở dữ liệu hướng t&agrave;i liệu (document-oriented) được x&acirc;y dựng phục vụ cho khả năng mở rộng.</p> <p style="text-align: justify;">JavaScript hiện nay l&agrave; một trong những c&aacute;ch ưa th&iacute;ch để ph&aacute;t triển ứng dụng web. Đ&oacute; l&agrave; ng&ocirc;n ngữ được sử dụng nhiều nhất tr&ecirc;n Github. Rất nhiều c&aacute;c trang web được x&acirc;y dựng với Node, bao gồm cả c&aacute;c trang web lớn như Klout, Storify v&agrave; Yammer. Việc c&oacute; thể sử dụng c&ugrave;ng một ng&ocirc;n ngữ tr&ecirc;n cả phần front-end v&agrave; back-end l&agrave;m cho cuộc sống của c&aacute;c nh&agrave; ph&aacute;t triển phần mềm trở n&ecirc;n dễ d&agrave;ng hơn.</p> <p style="text-align: justify;">Ri&ecirc;ng bản th&acirc;n n&oacute;, JavaScript chịu tr&aacute;ch nhiệm về c&aacute;c hiệu ứng động như c&aacute;c cửa sổ pop-up v&agrave; với AJAX, những trang web c&oacute; thể hiển thị dữ liệu mới m&agrave; kh&ocirc;ng cần phải refresh lại trang. Bạn c&oacute; thể xem một v&iacute; dụ của AJAX trong thực tế ở đ&acirc;y - bạn thấy thế n&agrave;o khi nhấp chuột v&agrave;o một h&igrave;nh ảnh tr&ecirc;n trang đ&oacute;, th&igrave; địa chỉ URL thay đổi v&agrave; n&oacute; hiển thị dữ liệu mới tương ứng m&agrave; kh&ocirc;ng cần phải refresh lại to&agrave;n bộ trang. AJAX l&agrave; cụm từ viết tắt của Asynchronous JavaScript And Xml, v&igrave; vậy n&oacute; kh&ocirc;ng thể được sử dụng ngo&agrave;i JavaScript. Ngo&agrave;i ra c&oacute; thể kể đến một số ứng dụng kh&aacute;c của JavaScript như: Tweetmap, được tạo bởi Pete Smartv&agrave; Rob Hawkes sử dụng JavaScript, biểu diễn một bản đồ thế giới với tỉ lệ k&iacute;ch thước tương ứng với số lượng tweets.</p> <ul> <li>C&aacute;c t&iacute;nh năng: <ul> <li>C&aacute;c chức năng cơ bản dễ học</li> <li>Nhiều frameworks kh&aacute;c nhau</li> <li>Người d&ugrave;ng c&oacute; thể tham chiếu JQuery, một thư viện bao h&agrave;m cho Javascript.</li> <li>C&uacute; ph&aacute;p tương tự NodeJS một c&ocirc;ng nghệ đang v&ocirc; c&ugrave;ng nổi bật hiện nay.</li> <li>C&oacute; rất nhiều c&aacute;c thư viện nổi tiếng được sử dụng đặc biệt rộng r&atilde;i như: Agular, React,...</li> </ul> </li> </ul> <p>C&oacute; thể đ&aacute;nh gi&aacute; JavaScript l&agrave; một trong những ng&ocirc;n ngữ phổ biến nhất trong thực tế l&agrave;m việc v&agrave; c&oacute; xu hướng ng&agrave;y c&agrave;ng gia tăng mức độ ảnh hưởng c&ugrave;ng với sự ph&aacute;t triển của c&aacute;c c&ocirc;ng nghệ v&agrave; thư viện mới.</p> <h3>8. PHP</h3> <p style="text-align: justify;"><img class="wp-image-371 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/php-logo.png" alt="Lập tr&igrave;nh PHP" width="261" height="137" /></p> <p style="text-align: justify;"><strong>PHP</strong> - viết tắt hồi quy của <strong>"Hypertext Preprocessor"</strong>, l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh kịch bản được chạy ở ph&iacute;a server nhằm sinh ra m&atilde; html tr&ecirc;n client được ra đời v&agrave;o năm 1995. PHP đ&atilde; trải qua rất nhiều phi&ecirc;n bản v&agrave; được tối ưu h&oacute;a cho c&aacute;c ứng dụng web, với c&aacute;ch viết m&atilde; r&otilde; r&atilde;ng, tốc độ nhanh, dễ học n&ecirc;n PHP đ&atilde; trở th&agrave;nh một ng&ocirc;n ngữ lập tr&igrave;nh web rất phổ biến v&agrave; được ưa chuộng.</p> <p>&nbsp;PHP chạy tr&ecirc;n m&ocirc;i trường Webserver v&agrave; lưu trữ dữ liệu th&ocirc;ng qua hệ quản trị cơ sở dữ liệu n&ecirc;n PHP thường đi k&egrave;m với Apache v&agrave; MySQL.</p> <ul> <li>Apache l&agrave; một phần mềm web server c&oacute; nhiệm vụ tiếp nhận request từ tr&igrave;nh duyệt người d&ugrave;ng sau đ&oacute; chuyển giao cho PHP xử l&yacute; v&agrave; gửi trả lại cho tr&igrave;nh duyệt.</li> <li>MySQL cũng tương tự như c&aacute;c hệ quản trị cơ sở dữ liệu kh&aacute;c (Postgress, Oracle, SQL server...) đ&oacute;ng vai tr&ograve; l&agrave; nơi lưu trữ v&agrave; truy vấn dữ liệu.</li> </ul> <p>PHP l&agrave; một ng&ocirc;n ngữ kịch bản m&atilde; nguồn mở được thiết kế để tại c&aacute;c nội dung web động v&agrave; l&agrave;m việc một c&aacute;ch hiệu quả đối với c&aacute;c cơ sở dữ liệu. Tuy nhi&ecirc;n, PHP cũng c&oacute; thể được d&ugrave;ng như một ng&ocirc;n ngữ đa năng kh&aacute;c.</p> <h4>Ai sử dụng PHP?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:</strong> <ul> <li>Lập tr&igrave;nh vi&ecirc;n PHP, Lập tr&igrave;nh vi&ecirc;n Web</li> <li>C&aacute;c lĩnh vực ứng dụng: C&ocirc;ng nghệ th&ocirc;ng tin, c&aacute;c ng&agrave;nh kỹ thuật, thiết kế, dịch vụ, sức khỏe, quản l&yacute; v&agrave; t&agrave;i ch&iacute;nh...</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng PHP để ph&aacute;t triển ứng dụng:</strong> Facebook, Yahoo, CyberCoders, NextGen,...</li> <li><strong>Lĩnh vực lợi thế của PHP:</strong> Ph&aacute;t triển ứng dụng Web, X&acirc;y dựng kịch bản thực thi Server-Side.</li> </ul> <h4>Tại sao học PHP lại quan trọng?</h4> <p><span id="result_box" class="" lang="vi" tabindex="-1">PHP chủ yếu được sử dụng c&ugrave;ng với c&aacute;c trang web dữ liệu động để thu thập dữ liệu biểu mẫu. N&oacute; cũng được sử dụng trong ph&aacute;t triển ứng dụng để tạo nội dung trang động.</span></p> <ul> <li>PHP l&agrave; một phần của nền tảng LAMP được sử dụng bởi Facebook v&agrave; Yahoo.</li> <li>C&aacute;c nền tảng như: Joomla, WordPress v&agrave; Drupal sử dụng ng&ocirc;n ngữ PHP.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Dễ học (Đơn giản như c&aacute;c m&atilde; nh&uacute;ng trong HTML)</li> <li>Miễn ph&iacute; v&agrave; m&atilde; nguồn mở</li> <li>C&oacute; thể được sử dụng tr&ecirc;n hầu như tất cả c&aacute;c hệ điều h&agrave;nh v&agrave; m&aacute;y chủ web phổ biến.</li> </ul> </li> </ul> <h3>9. Go</h3> <p style="text-align: justify;"><img class="wp-image-372 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/go-programming-language.png" alt="Logo ng&ocirc;n ngữ Go" width="209" height="209" /></p> <p style="text-align: justify;"><strong>Go</strong> l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh mới do Google thiết kế v&agrave; ph&aacute;t triển. N&oacute; được kỳ vọng sẽ gi&uacute;p ng&agrave;nh c&ocirc;ng nghiệp phần mềm khai th&aacute;c nền tảng đa l&otilde;i của bộ vi xử l&yacute; v&agrave; hoạt động đa nhiệm tốt hơn.</p> <p style="text-align: justify;">Việc khai th&aacute;c sức mạnh của c&aacute;c bộ xử l&yacute; đa l&otilde;i v&agrave; phần cứng thế hệ mới đối với c&aacute;c ng&ocirc;n ngữ hiện c&oacute; được xem như l&agrave; việc kh&ocirc;ng thể được. Bởi những giới hạn vốn c&oacute; của c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh tr&ecirc;n m&aacute;y t&iacute;nh như C, C++, Java,... Bấy l&acirc;u nay, c&aacute;c vấn đề xử l&yacute; đa l&otilde;i vẫn l&agrave; chuyện của hệ điều h&agrave;nh.</p> <p style="text-align: justify;">Google đưa ra ng&ocirc;n ngữ Go như l&agrave; một c&aacute;ch tiếp cận kh&aacute;c về vấn đề xử l&yacute; đa l&otilde;i. Thay v&igrave; chỉ c&oacute; hệ điều h&agrave;nh được ph&eacute;p cấp t&agrave;i nguy&ecirc;n v&agrave; xử l&yacute;, th&igrave; c&aacute;c phần mềm cũng c&oacute; thể tương t&aacute;c trực tiếp với nền tảng đa l&otilde;i gi&uacute;p cho việc xử l&yacute; nhanh hơn.</p> <p style="text-align: justify;">Về mặt c&uacute; ph&aacute;p th&igrave; Go rất giống ng&ocirc;n ngữ C, tuy nhi&ecirc;n n&oacute; c&oacute; nhiều thay đổi trong thiết kế để an to&agrave;n hơn v&agrave; c&oacute; c&uacute; ph&aacute;p s&uacute;c t&iacute;ch v&agrave; dễ đọc. Go cho ph&eacute;p lập tr&igrave;nh vi&ecirc;n vừa khai b&aacute;o v&agrave; khởi tạo biến c&ugrave;ng một l&uacute;c m&agrave; kh&ocirc;ng cần phải chỉ định kiểu dữ liệu <code>i:=3</code> hoặc <code>name:="Hello, world!"</code>, điều n&agrave;y tr&aacute;i ngược với c&uacute; ph&aacute;p của ng&ocirc;n ngữ C <code>int i = 3;</code> v&agrave; <code>const char *s = "Hello, world!"</code> Ở Cuối mỗi d&ograve;ng lệnh cũng kh&ocirc;ng cần kết th&uacute;c bằng d&acirc;u chấm phẩy v&agrave; mỗi h&agrave;m c&oacute; thể trả về nhiều hơn một gi&aacute; trị.</p> <p style="text-align: justify;">Ng&ocirc;n ngữ lập tr&igrave;nh Go chỉ mới c&oacute; 6 năm tuổi đời n&ecirc;n sẽ c&ograve;n c&oacute; nhiều điều để ph&aacute;t triển so với c&aacute;c bậc tiền bối C, C++, Java.</p> <h4>Ai sử dụng Go?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:</strong> <ul> <li>Lập tr&igrave;nh vi&ecirc;n Go, Lập tr&igrave;nh vi&ecirc;n li&ecirc;n quan đến xử l&yacute; đa l&otilde;i</li> <li>C&aacute;c lĩnh vực ứng dụng: C&ocirc;ng nghệ th&ocirc;ng tin, c&aacute;c ng&agrave;nh kỹ thuật, thiết kế, dịch vụ, sức khỏe, quản l&yacute; v&agrave; t&agrave;i ch&iacute;nh...</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng Go để ph&aacute;t triển ứng dụng:</strong> Google, Docker, Dropbox, Heroku, Medium, Lyft, Uber,...</li> <li><strong>Lĩnh vực lợi thế của Go:</strong> Ph&aacute;t triển ứng dụng đa l&otilde;i v&agrave; thời gian thực.</li> </ul> <h4>Tại sao học Go lại quan trọng?</h4> <p id="3f3b" class="graf graf--p graf-after--p graf--trailing" style="text-align: justify;">Go được thiết kế đặc biệt cho c&aacute;c mục đ&iacute;ch tối ưu h&oacute;a lợi thế của c&aacute;c chip đa l&otilde;i. Đặc biệt hơn cũng giống như C/C++, đều l&agrave; c&aacute;c ng&ocirc;n ngữ bi&ecirc;n dịch do đ&oacute; n&oacute; c&oacute; thể thực thi với hiệu năng cao gần bằng c&aacute;c ng&ocirc;n ngữ bậc thấp. Tuy nhi&ecirc;n, kh&aacute;c với C v&agrave; C++, Go hỗ trợ cơ chế dọn r&aacute;c để cấp ph&aacute;t v&agrave; loại bỏ c&aacute;c đối tượng do đ&oacute;, việc quản l&yacute; bộ nhớ được diễn ra tự động v&agrave; an to&agrave;n hơn rất nhiều. Kh&ocirc;ng c&ograve;n sự xuất hiện của c&aacute;c c&acirc;u lệnh malloc() v&agrave; free(). Đ&acirc;y l&agrave; một ưu điểm rất lớn của Go.</p> <ul> <li>Docker đ&atilde; được viết bằng ng&ocirc;n ngữ lập tr&igrave;nh Go, cũng như một phần trong Google..</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Hiệu năng cao hỗ trợ t&iacute;nh to&aacute;n đa l&otilde;i</li> <li>Miễn ph&iacute; v&agrave; m&atilde; nguồn mở</li> <li>Dễ bảo tr&igrave;</li> <li>Kh&ocirc;ng sử dụng kh&aacute;i niệm class m&agrave; chỉ c&oacute; kh&aacute;i niệm cấu tr&uacute;c k&egrave;m theo c&aacute;c g&oacute;i.</li> </ul> </li> </ul> <h3>10. Swift</h3> <p style="text-align: justify;"><img class="wp-image-373 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/swift-og.png" alt="Logo Swift" width="166" height="166" /></p> <p style="text-align: justify;">Swift, l&agrave; ng&ocirc;n ngữ dựa tr&ecirc;n Objective-C, được giới thiệu trong hội nghị c&aacute;c&nbsp; nh&agrave; ph&aacute;t triển của Apple năm 2014 (WWDC). Phi&ecirc;n bản mới nhất hiện nay của n&oacute; l&agrave; Swift 2, được cung cấp dưới dạng ng&ocirc;n ngữ m&atilde; nguồn mở năm 2015.</p> <p style="text-align: justify;">Swift l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh hướng đối tượng bắt buộc giống như C# (Mọi thứ trong Swift đều l&agrave; hướng đối tượng, kể cả những gi&aacute; trị như số 1, 2, 3&hellip; cũng l&agrave; đối tượng). Swift được sử dụng với mục đ&iacute;ch ph&aacute;t triển c&aacute;c ứng dụng tr&ecirc;n nền tảng iOS v&agrave; OS X. Việc ra đời của Swift c&oacute; thể gi&uacute;p c&aacute;c lập tr&igrave;nh vi&ecirc;n dễ d&agrave;ng tiếp cận hơn khi ph&aacute;t triển c&aacute;c ứng dụng tr&ecirc;n nền tảng iOS hoặc OSX trước đ&acirc;y vốn được thực hiện tr&ecirc;n ng&ocirc;n ngữ Objective-C, đặc biệt n&oacute; l&agrave; m&atilde; nguồn mở. Apple vẫn cho&nbsp; ph&eacute;p chạy song song 2 ng&ocirc;n ngữ lập tr&igrave;nh Objective-C v&agrave; Swift trong ứng dụng tuy nhi&ecirc;n trong tương lai Objective C sẽ c&oacute; thể bị loại bỏ. Swift t&iacute;ch hợp với c&aacute;c t&ecirc;n tham số v&agrave; kiến tr&uacute;c hướng đối tượng với Objective-C tuy nhi&ecirc;n bổ sung th&ecirc;m tr&igrave;nh bi&ecirc;n dịch, bộ gỡ rối v&agrave; kiến tr&uacute;c nền tảng n&acirc;ng cao.</p> <p style="text-align: justify;">Hiện nay Swift được hỗ trợ bi&ecirc;n dịch ở 2 hệ điều h&agrave;nh MAC v&agrave; Ubuntu (14.04 hoặc 15.10 (64 bit) trở l&ecirc;n). Vẫn d&ugrave;ng X-Code để triển khai (Windows th&igrave; chưa, tuy nhi&ecirc;n c&oacute; thể compile tr&ecirc;n một số Cloud c&oacute; hỗ trợ).</p> <h4>Ai sử dụng Swift?</h4> <ul> <li><strong>C&ocirc;ng việc: </strong>Lập tr&igrave;nh vi&ecirc;n tr&ecirc;n nền tảng Swift, lập tr&igrave;nh vi&ecirc;n di động iOS, kỹ sư phần mềm,...</li> <li><strong>C&aacute;c tổ chức sử dụng Swift để ph&aacute;t triển ứng dụng:</strong> Apple, Getty Images, Slack, Dow Jones, Playlist Media</li> <li><strong>Lĩnh vực lợi thế của Swift:</strong> Ph&aacute;t triển ứng dụng tr&ecirc;n nền tảng iOS hoặc OS X.</li> </ul> <h4>Tại sao học Swift lại quan trọng?<del></del></h4> <p>Swift l&agrave; ưu ti&ecirc;n h&agrave;ng đầu của c&aacute;c lập tr&igrave;nh vi&ecirc;n khi x&acirc;y dựng c&aacute;c ứng dụng cho nền tảng iOS v&agrave; OS X.</p> <ul> <li>Dow Jones triển khai dự &aacute;n viết lại ứng dụng Wall Street Journal tr&ecirc;n di động sử dụng Swift.</li> <li>Getty Images x&acirc;y dựng ứng dụng kh&aacute;ch h&agrave;ng dựa tr&ecirc;n Swift.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li><span id="result_box" class="" lang="vi" tabindex="-1">Hỗ trợ t&igrave;nh năng 'playgrounds', một t&iacute;nh năng cho ph&eacute;p c&aacute;c lập tr&igrave;nh vi&ecirc;n thử nghiệm v&agrave; xem kết quả tức th&igrave;.</span></li> <li>C&uacute; ph&aacute;p dễ hiểu.</li> <li><span id="result_box" class="short_text" lang="vi" tabindex="-1"><span class="">L&yacute; tưởng để viết c&aacute;c m&atilde; sẵn s&agrave;ng cho triển khai sản phẩm ngay lập tức.<br /></span></span></li> </ul> </li> </ul> <h3>11. Objective-C</h3> <p style="text-align: justify;"><img class="wp-image-374 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/objective-C.png" alt="Logo objective C" width="195" height="188" /></p> <p style="text-align: justify;">Objective-C được ph&aacute;t triển bởi Apple v&agrave;o năm 1983 để giải quyết vấn đề thiếu hụt về m&ocirc; h&igrave;nh hướng đối tượng của ng&ocirc;n ngữ C. Objective-C l&agrave; ng&ocirc;n ngữ lập tr&igrave;nh tr&ecirc;n hệ thống Apple iOS v&agrave; OS X. Ng&ocirc;n ngữ n&agrave;y đ&atilde; được bi&ecirc;n soạn để c&oacute; thể x&acirc;y dựng tất cả mọi thứ từ tiện &iacute;ch d&ograve;ng lệnh đến giao diện đồ họa động v&agrave; c&aacute;c thư viện ho&agrave;n chỉnh. N&oacute; cũng c&oacute; thể tạo ra c&aacute;c c&ocirc;ng cụ để duy tr&igrave; c&aacute;c frameworks lớn. Objective-C l&agrave; một ng&ocirc;n ngữ đơn giản, đa mục ti&ecirc;u v&agrave; hướng đối tượng. N&oacute; sử dụng hệ thống truyền th&ocirc;ng điệp lấy &yacute; tưởng từ Smalltalk; khi một đối tượng trong Objective-C được gửi một th&ocirc;ng điệp, n&oacute; c&oacute; thể chọn để bỏ qua hoặc chuyển tiếp th&ocirc;ng điệp đến một đối tượng kh&aacute;c, thay v&igrave; trả lại một gi&aacute; trị.</p> <p style="text-align: justify;">Giống C++, Objective C được thiết kế để c&oacute; thể th&ecirc;m c&aacute;c t&iacute;nh năng v&agrave;o C, nhưng hai ng&ocirc;n ngữ n&agrave;y l&agrave;m điều n&agrave;y bằng 2 c&aacute;ch kh&aacute;c nhau. Objective C năng động hơn v&agrave; diều n&agrave;y được thể hiện tr&ecirc;n c&aacute;c mẫu thiết kế cơ bản cho nền tảng ph&aacute;t triển iOS v&agrave; OS X</p> <p style="text-align: justify;">Objective-C được đặt t&ecirc;n kh&aacute; d&agrave;i d&ograve;ng v&agrave; được đọc như ng&ocirc;n ngữ của con người hơn l&agrave; m&aacute;y t&iacute;nh. Điều n&agrave;y l&agrave;m cho code trong Objective-C rất dễ hiểu v&agrave; kh&oacute; c&oacute; thể bị nhầm lẫn.</p> <p style="text-align: justify;">Như c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c, Objective-C l&agrave; một ng&ocirc;n ngữ kh&aacute; đơn giản v&agrave; được hỗ trợ bởi một thư viện ti&ecirc;u chuẩn bổ sung đi k&egrave;m. C&oacute; rất nhiều c&aacute;c thư viện kh&aacute;c nhau, điển h&igrave;nh nhất l&agrave; hai thư viện thường được d&ugrave;ng nhất: Apple Cocoa v&agrave; Cocoa Touch.</p> <h4>Ai sử dụng Objective-C?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc: </strong>Quản trị hệ thống th&ocirc;ng tin hoặc quản trị Web, lập tr&igrave;nh vi&ecirc;n iOS v&agrave; Android, kỹ sư phần mềm...</li> <li><strong>C&aacute;c tổ chức sử dụng Objective-C để ph&aacute;t triển ứng dụng:</strong> Apple, CyberCoders</li> <li><strong>Lĩnh vực lợi thế của Objective-C:</strong> Ph&aacute;t triển ứng dụng di động.</li> </ul> <h4>Tại sao n&ecirc;n học Objective-C?</h4> <p>Objective-C l&agrave; ưu ti&ecirc;n h&agrave;ng đầu của c&aacute;c lập tr&igrave;nh vi&ecirc;n khi x&acirc;y dựng c&aacute;c ứng dụng cho nền tảng iOS v&agrave; OS X.</p> <ul> <li>Từ mọi ứng dụng của Twitter v&agrave; Facebook cho tới Wells Fargo v&agrave; Mint, th&igrave; objective-C l&agrave; ng&ocirc;n ngữ phổ biến nhất để viết c&aacute;c ứng dụng cho c&aacute;c sản phẩm của Apple.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Tăng t&iacute;nh mềm dẻo với chức năng soạn thảo động (dynamic typing)</li> <li>Thường được sử dụng c&ugrave;ng với c&aacute;c nền tảng: Cocoa hay Cocoa Touch</li> <li>L&agrave; một trong những ng&ocirc;n ngữ dễ cho người mới bắt đầu.</li> </ul> </li> </ul> <h3>12. Ruby/Ruby on Rails</h3> <p style="text-align: justify;"><img class="wp-image-375 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/2000px-Ruby-logo-R.svg-56a811b75f9b58b7d0f05e83.jpg" alt="Logo Ruby" width="161" height="161" /></p> <p style="text-align: justify;">Ruby được tạo ra bởi Yukihiro "Matz" Matsumoto từ 24 th&aacute;ng 2 năm 1993 v&agrave; đưa ra phi&ecirc;n bản ch&iacute;nh thức 0.95 ( Đ&acirc;y l&agrave; phi&ecirc;n bản c&ocirc;ng khai đầu ti&ecirc;n của Ruby được c&ocirc;ng bố tại Nhật Bản) v&agrave;o ng&agrave;y 21 th&aacute;ng 12 năm 1995. Ở phi&ecirc;n bản Ruby 0.95, n&oacute; đ&atilde; c&oacute; nhiều t&iacute;nh năng quen thuộc trong c&aacute;c phi&ecirc;n bản sau của Ruby, bao gồm thiết kế hướng đối tượng, c&aacute;c lớp với kế thừa, mixin , v&ograve;ng lặp, xử l&yacute; ngoại lệ v&agrave; thu gom r&aacute;c. T&aacute;c giả của Ruby m&ocirc; tả n&oacute; như một ng&ocirc;n ngữ nh&igrave;n bề ngo&agrave;i th&igrave; đơn giản nhưng b&ecirc;n trong lại v&ocirc; c&ugrave;ng phức tạp như cơ thể con người.</p> <p style="text-align: justify;"><strong>Ruby</strong> l&agrave; một ng&ocirc;n ngữ lập tr&igrave;nh th&ocirc;ng dịch v&agrave; hướng đối tượng, c&oacute; khả năng phản ứng. Theo t&aacute;c giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada v&agrave; Lisp.</p> <p style="text-align: justify;">Ruby cung cấp nhiều mẫu h&igrave;nh lập tr&igrave;nh, bao gồm lập tr&igrave;nh h&agrave;m, hướng đối tượng, mệnh lệnh, phản xạ. N&oacute; sử dụng hệ thống kiểu biến động v&agrave; quản l&yacute; bộ nhớ tự động.</p> <p style="text-align: justify;">Ruby l&agrave; một ng&ocirc;n ngữ &iacute;t phổ biến v&agrave; kh&aacute; cổ xưa, tuy nhi&ecirc;n với sự xuất hiện của framework Rails cho lập tr&igrave;nh Web th&igrave; Ruby đ&atilde; được sống lại v&agrave; thu h&uacute;t nhiều sự ch&uacute; &yacute; của c&aacute;c lập tr&igrave;nh vi&ecirc;n dưới t&ecirc;n gọi hiện nay đầy đủ l&agrave; Ruby on Rails.</p> <p>Ruby On rails l&agrave; một Framework cho ph&eacute;p ph&aacute;t triển ứng dụng Web gồm 2 phần cơ bản:</p> <ul> <li style="text-align: justify;">Phần ng&ocirc;n ngữ Ruby: &ldquo;Ruby l&agrave; một ng&ocirc;n lập tr&igrave;nh m&atilde; nguồn mở, linh hoạt, với một sự nổi bật về sự đơn giản dễ d&ugrave;ng v&agrave; hữu &iacute;ch. N&oacute; c&oacute; c&uacute; ph&aacute;p &ldquo;tao nh&atilde;&rdquo; v&agrave; tự nhi&ecirc;n dễ đọc v&agrave; dễ d&agrave;ng để viết&rdquo;.</li> <li>Phần Framework Rails bao gồm nhiều thư viện li&ecirc;n kết.</li> </ul> <p style="text-align: justify;">Ruby On Rails được ra đời một c&aacute;ch ho&agrave;n hảo d&agrave;nh cho những ai lu&ocirc;n &ldquo;mải miết đi t&igrave;m&rdquo; c&acirc;u trả lời: tại sao những lập tr&igrave;nh vi&ecirc;n lu&ocirc;n t&igrave;m mọi c&aacute;ch để ph&aacute;t triển những phần mềm, ứng dụng Web, &hellip; để người sử dụng được thuận tiện nhất, nhưng lại kh&ocirc;ng &ldquo;thuận tiện&rdquo; cho người lập tr&igrave;nh mỗi khi chương tr&igrave;nh c&agrave;ng đơn giản th&igrave; b&ecirc;n trong n&oacute; lại c&agrave;ng phức tạp, kh&oacute; chỉnh sửa khi cần thiết, l&agrave;m cho c&ocirc;ng việc của người lập tr&igrave;nh vi&ecirc;n &ldquo;cảm thấy mệt mỏi&rdquo; hơn. Ruby On Rails đ&atilde; trả lời được c&acirc;u hỏi đ&oacute;.</p> <h4>Ai sử dụng Ruby on Rails?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc:</strong> <ul> <li>Lập tr&igrave;nh vi&ecirc;n Ruby on Rails, kỹ sư phần mềm, kỹ sư khoa học dữ liệu...</li> <li>C&aacute;c lĩnh vực sử dụng Ruby on Rails: c&ocirc;ng nghệ, kỹ thuật, thiết kế, khoa học v&agrave; quản l&yacute; chất lượng...</li> </ul> </li> <li><strong>C&aacute;c tổ chức sử dụng Ruby on Rails trong ph&aacute;t triển ứng dụng:</strong> Github, Scribd, Groupon, NASA Langley Research Center, Blue Sequence (một phần của Toyota Motor Manufacturing), Motorola, Google (SketchUp)</li> <li><strong>Lĩnh vực lợi thế của Ruby on Rails:</strong> Ph&aacute;t triển ứng dụng Web, Robotics, Mạng, An to&agrave;n v&agrave; quản trị hệ thống.</li> </ul> <h4>Tại sao n&ecirc;n học Ruby on Rails?</h4> <p>Ruby được sử dụng cho m&ocirc; phỏng, m&ocirc; h&igrave;nh h&oacute;a 3D v&agrave; để quản l&yacute;, kiểm tra th&ocirc;ng tin.</p> <ul> <li>Basecamp, Amazon, Twitter v&agrave; Groupon được x&acirc;y dựng dựa tr&ecirc;n Ruby on Rails.</li> <li>NASA sử dụng Ruby để x&acirc;y dựng m&ocirc; phỏng.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Được ph&acirc;n phối v&agrave; sử dụng miễn ph&iacute;.</li> <li>Ng&ocirc;n ngữ trực quan v&agrave; linh hoạt.</li> <li><span id="result_box" class="" lang="vi" tabindex="-1">Ho&agrave;n to&agrave;n hướng đối tượng.<br /></span></li> </ul> </li> </ul> <h3>13. HTML</h3> <p style="text-align: justify;"><img class="wp-image-376 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/tao-html5-logo-voi-css3.jpg" alt="HTML logo" width="160" height="176" /></p> <p style="text-align: justify;">HTML được tạo ra bởi nh&agrave; vật l&yacute; Tim Berners-Lee v&agrave;o năm 1990 để cho ph&eacute;p c&aacute;c nh&agrave; khoa học c&oacute; thể chia sẻ t&agrave;i liệu trực tuyến. Trước khi HTML ra đời, tất cả c&aacute;c kết nối được truyền đều sử dụng dạng bản r&otilde;. HTML l&agrave;m tăng khả năng biểu diễn của văn bản (chẳng hạn như khả năng định dạng văn bản v&agrave; hiển thị h&igrave;nh ảnh).</p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">HTML l&agrave; ng&ocirc;n ngữ đ&aacute;nh dấu chuẩn được sử dụng để tạo c&aacute;c trang web; <span class="">n&oacute; đảm bảo định dạng th&iacute;ch hợp của văn bản v&agrave; h&igrave;nh ảnh (sử dụng thẻ) để c&aacute;c tr&igrave;nh duyệt Internet c&oacute; thể hiển thị ch&uacute;ng theo c&aacute;ch m&agrave; ch&uacute;ng được thiết kế.</span></span></p> <p style="text-align: justify;"><strong>HTML</strong> (viết tắt của <em>HyperText Markup Language</em>, hay "Ng&ocirc;n ngữ Đ&aacute;nh dấu Si&ecirc;u văn bản") l&agrave; một ng&ocirc;n ngữ đ&aacute;nh dấu được thiết kế ra để tạo n&ecirc;n c&aacute;c trang web với c&aacute;c mẩu th&ocirc;ng tin được tr&igrave;nh b&agrave;y tr&ecirc;n World Wide Web. C&ugrave;ng với CSS v&agrave; JavaScript, HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web. HTML được định nghĩa như l&agrave; một ứng dụng đơn giản của SGML v&agrave; được sử dụng trong c&aacute;c tổ chức cần đến c&aacute;c y&ecirc;u cầu xuất bản phức tạp. HTML đ&atilde; trở th&agrave;nh một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy tr&igrave;. Phi&ecirc;n bản ch&iacute;nh thức mới nhất của HTML l&agrave; HTML 4.01 (1999). Sau đ&oacute;, c&aacute;c nh&agrave; ph&aacute;t triển đ&atilde; thay thế n&oacute; bằng XHTML. Hiện nay, HTML đang được ph&aacute;t triển tiếp với phi&ecirc;n bản HTML5 hứa hẹn mang lại diện mạo mới cho Web.</p> <p style="text-align: justify;">Bằng c&aacute;ch d&ugrave;ng HTML động hoặc Ajax, lập tr&igrave;nh vi&ecirc;n c&oacute; thể được tạo ra v&agrave; xử l&yacute; bởi số lượng lớn c&aacute;c c&ocirc;ng cụ, từ một chương tr&igrave;nh soạn thảo văn bản đơn giản &ndash; c&oacute; thể g&otilde; v&agrave;o ngay từ những d&ograve;ng đầu ti&ecirc;n &ndash; cho đến những c&ocirc;ng cụ xuất bản WYSIWYG phức tạp.</p> <h4>Ai sử dụng HTML?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc: </strong>Lập tr&igrave;nh vi&ecirc;n web, bi&ecirc;n tập vi&ecirc;n kỹ thuật, người thiết kế email, kỹ sư phần mềm,...</li> <li><strong>C&aacute;c tổ chức sử dụng:</strong> Apple, CyberCoders, Apex Systems, CareerBuilder</li> <li><strong>Lĩnh vực lợi thế của HTML:</strong> Ph&aacute;t triển ứng dụng Web, lập tr&igrave;nh Email.</li> </ul> <h4>Tại sao n&ecirc;n học HTML?</h4> <p style="text-align: justify;">HTML được sử dụng để tạo ra c&aacute;c văn bản điện tử (c&aacute;c trang) hiển thị trực tuyến. Hầu hết c&aacute;c trang web đều tồn tại một phần hoặc to&agrave;n bộ l&agrave; ng&ocirc;n ngữ HTML.</p> <ul> <li>C&aacute;c t&iacute;nh năng: <ul> <li>Dễ học v&agrave; sử dụng HTML ở mức cơ bản.</li> <li>Miễn ph&iacute;</li> <li>Hỗ trợ nhiều phi&ecirc;n bản cho ph&eacute;p lựa chọn ph&ugrave; hợp.</li> </ul> </li> </ul> <h3>14. SQL</h3> <p><img class="wp-image-381 alignleft" src="https://tek4.vn/wp-content/uploads/2018/08/Introduction-to-SQL.jpg" alt="Lập tr&igrave;nh SQL" width="257" height="142" /></p> <p style="text-align: justify;">SQL được ph&aacute;t triển bởi trung t&acirc;m nghi&ecirc;n cứu IBM v&agrave;o năm 1974 v&agrave; đầu ti&ecirc;n được đặt t&ecirc;n l&agrave; SEQUEL. Phi&ecirc;n bản thương mại h&oacute;a đầu ti&ecirc;n được giới thiệu v&agrave;o năm 1979 bởi ORACLE.</p> <p style="text-align: justify;"><strong>SQL</strong> (<strong>Structured Query Language</strong>) hay ng&ocirc;n ngữ truy vấn mang t&iacute;nh cấu tr&uacute;c, l&agrave; một loại ng&ocirc;n ngữ m&aacute;y t&iacute;nh phổ biến để tạo, sửa, v&agrave; lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. Ng&ocirc;n ngữ n&agrave;y ph&aacute;t triển vượt xa so với mục đ&iacute;ch ban đầu l&agrave; để phục vụ c&aacute;c hệ quản trị cơ sở dữ liệu đối tượng-quan hệ. N&oacute; l&agrave; một ti&ecirc;u chuẩn ANSI/ISO. SQL cho ph&eacute;p tương t&aacute;c v&agrave; thực hiện c&aacute;c nhiệm vụ tr&ecirc;n cơ sở dữ liệu như th&ecirc;m, truy cập, quản trị nội dung trong cơ sở dữ liệu. N&oacute; cho ph&eacute;p người d&ugrave;ng Tạo (CREATE), Đọc (READ), Cập nhật (UPDATE), X&oacute;a (DELETE) dữ liệu trong cơ sở dữ liệu.</p> <h4>Ai sử dụng SQL?</h4> <ul> <li><strong>C&aacute;c c&ocirc;ng việc: </strong>Lập tr&igrave;nh vi&ecirc;n SQL server, kiểm thử cơ sở dữ liệu, lập tr&igrave;nh vi&ecirc;n, quản trị vi&ecirc;n cơ sở dữ liệu...</li> <li><strong>C&aacute;c tổ chức sử dụng:</strong> SQL được sử dụng bởi hầu hết c&aacute;c c&ocirc;ng ty v&agrave; tổ chức c&oacute; thu thập v&agrave; quản l&yacute; dữ liệu.</li> <li><strong>Lĩnh vực lợi thế:</strong> Ph&acirc;n t&iacute;ch dữ liệu v&agrave; khai ph&aacute; dữ liệu lớn.</li> </ul> <h4>Tại sao n&ecirc;n học SQL?</h4> <p style="text-align: justify;">SQL cho ph&eacute;p tương t&aacute;c với cơ sở dữ liệu của ứng dụng web. N&oacute; l&agrave; một ng&ocirc;n ngữ ti&ecirc;u chuẩn của xử l&yacute; cơ sở dữ liệu, v&agrave; lu&ocirc;n được sử dụng đi k&egrave;m với c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c. SQL l&agrave; ng&ocirc;n ngữ m&agrave; bất cứ tổ chức muốn sử dụng dữ liệu n&agrave;o đều cần quan t&acirc;m.</p> <ul> <li>C&aacute;c hệ quản trị cơ sở dữ liệu quan hệ như: MySQL (Oracle), Sybase, Microsoft SQL Server... đều sử dụng SQL.</li> <li>C&aacute;c t&iacute;nh năng: <ul> <li>C&uacute; ph&aacute;p đơn giản.</li> <li>Miễn ph&iacute;.</li> </ul> </li> </ul> <p class="graf graf--p graf-after--figure" style="text-align: justify;">Ngo&agrave;i c&aacute;c ng&ocirc;n ngữ phổ biến tr&ecirc;n, c&oacute; rất nhiều ng&ocirc;n ngữ kh&aacute;c cũng thường được sử dụng như: Visual Basic, Pearl hay Rust,... Mỗi ng&ocirc;n ngữ lại c&oacute; những lợi thế ri&ecirc;ng v&agrave; ph&ugrave; hợp với từng vấn đề kh&aacute;c nhau. V&agrave; gần như kh&ocirc;ng c&oacute; ng&ocirc;n ngữ n&agrave;o l&agrave; vượt trội về mọi ưu điểm so với phần c&ograve;n lại. V<span id="result_box" class="" lang="vi" tabindex="-1"><span class="">ới hơn 600 ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c nhau, việc quyết định ng&ocirc;n ngữ lập tr&igrave;nh tốt nhất để bắt đầu l&agrave; điều c&oacute; thể kh&aacute; kh&oacute; khăn v&agrave; c&oacute; thể l&agrave; phần kh&oacute; nhất trong giai đoạn ph&aacute;t triển ban đầu. </span></span>Ở phần ph&iacute;a tr&ecirc;n ch&uacute;ng ta đ&atilde; t&igrave;m hiểu về một số ng&ocirc;n ngữ lập tr&igrave;nh phổ biến m&agrave; ch&uacute;ng ta c&oacute; thể chọn trong số n&agrave;y để bắt đầu. Hầu hết c&aacute;c ng&ocirc;n ngữ n&agrave;y đều l&agrave; những ng&ocirc;n ngữ ph&ugrave; hợp cho người mới bắt đầu, chứa nhiều ưu điểm cũng như được sử dụng rộng r&atilde;i nhất hiện nay.</p> <h2 class="graf graf--p graf-after--figure" style="text-align: justify;">Độ kh&oacute; của c&aacute;c ng&ocirc;n ngữ</h2> <p class="graf graf--p graf-after--figure" style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1"><span class="">Hầu hết c&aacute;c lập tr&igrave;nh vi&ecirc;n đều đồng &yacute; rằng c&aacute;c ng&ocirc;n ngữ kịch bản bậc cao tương đối dễ học.</span> JavaScript c&ugrave;ng với Python v&agrave; Ruby l&agrave; c&aacute;c ng&ocirc;n ngữ trong kiểu n&agrave;y. V&agrave; tr&ecirc;n thực tế n&oacute; cũng tương đối dễ học cho người mới bắt đầu.</span></p> <p>[caption id="attachment_382" align="aligncenter" width="744"]<img class="size-full wp-image-382" src="https://tek4.vn/wp-content/uploads/2018/08/học-lập-tr&igrave;nh.png" alt="Học lập tr&igrave;nh dễ nhất" width="744" height="313" /> Nguồn: XKCD comic[/caption]</p> <p class="graf graf--p graf-after--figure" style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1"><span class="">Mặc d&ugrave; c&aacute;c trường đại học vẫn dạy c&aacute;c ng&ocirc;n ngữ như Java v&agrave; C ++ như ng&ocirc;n ngữ đầu ti&ecirc;n, nhưng ch&uacute;ng l&agrave; c&aacute;c ng&ocirc;n ngữ kh&oacute; học hơn.</span></span></p> <p class="graf graf--p graf-after--figure" style="text-align: justify;">Sở dĩ c&aacute;c ng&ocirc;n ngữ như C++ v&agrave; Java tương đối kh&oacute; học v&igrave; c&aacute;c kh&aacute;i niệm n&acirc;ng cao trong hướng đối tượng cũng như c&aacute;ch thức xử l&yacute; của n&oacute; với c&aacute;c b&agrave;i to&aacute;n.</p> <p class="graf graf--p graf-after--figure" style="text-align: justify;">Một lựa chọn đ&aacute;ng quan t&acirc;m kh&aacute;c l&agrave; ng&ocirc;n ngữ C. N&oacute; dễ hơn C++ mạnh mẽ v&agrave; dễ học vừa phải để gi&uacute;p những người mới bắt đầu l&agrave;m quen với kiến tr&uacute;c v&agrave; cơ chế hoạt động của m&aacute;y t&iacute;nh. Điều n&agrave;y rất quan trọng. Đa phần c&aacute;c ng&ocirc;n ngữ kh&aacute;c như Python hay JavaScript bỏ qua vấn đề n&agrave;y. Nếu bắt đầu với Python hoặc JavaScript bạn sẽ mất th&ecirc;m đ&ocirc;i ch&uacute;t thời gian để hiểu r&otilde; hơn về cơ chế hoạt động ph&iacute;a sau của m&aacute;y t&iacute;nh.</p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Khi chọn ng&ocirc;n ngữ lập tr&igrave;nh n&ecirc;n đảm bảo ng&ocirc;n ngữ đầu ti&ecirc;n l&agrave; ng&ocirc;n ngữ c&oacute; mức độ kh&oacute; vừa phải (kh&ocirc;ng qu&aacute; kh&oacute; v&agrave; kh&ocirc;ng qu&aacute; dễ). Đ&acirc;y l&agrave; lời khuy&ecirc;n dựa tr&ecirc;n quan điểm chủ quan của t&aacute;c giả. Sỡ dĩ như vậy l&agrave; v&igrave; khi học một ng&ocirc;n ngữ đủ kh&oacute; nhưng r&otilde; r&agrave;ng đầu ti&ecirc;n th&igrave; c&aacute;c ng&ocirc;n ngữ ph&iacute;a sau sẽ trở l&ecirc;n cực kỳ đơn giản. Tất nhi&ecirc;n nếu bạn chỉ muốn lập tr&igrave;nh với một ng&ocirc;n ngữ suốt đời th&igrave; c&oacute; thể bỏ qua lời khuy&ecirc;n n&agrave;y. Tuy nhi&ecirc;n, theo kinh nghiệm c&aacute; nh&acirc;n, t&aacute;c giả cho rằng để b&aacute;m theo một ng&ocirc;n ngữ đến suốt đời l&agrave; điều cực kỳ kh&oacute; v&agrave; nh&agrave;m ch&aacute;n. Do đ&oacute;, nếu c&oacute; thể, h&atilde;y nghĩ ngay đến những ng&ocirc;n ngữ lập tr&igrave;nh thứ hai, thứ ba,... v&agrave; khi đ&oacute; việc bắt đầu với một ng&ocirc;n ngữ lập tr&igrave;nh kh&oacute; sẽ gi&uacute;p &iacute;ch kh&aacute; nhiều v&agrave; h&atilde;y nhớ</span><span id="result_box" class="" lang="vi" tabindex="-1"><span class=""> kh&ocirc;ng bao giờ bắt đầu học lập tr&igrave;nh với một framework c&oacute; sẵn. Chẳng hạn ch&uacute;ng ta c&oacute; thể bắt đầu học Wordpress hay Dupral thay v&igrave; học PHP nhưng điều đ&oacute; sẽ l&agrave;m hạn chế khả năng tư duy thuật to&aacute;n cũng như việc nắm r&otilde; c&aacute;c kh&aacute;i niệm cơ sở trong lập tr&igrave;nh. Điều n&agrave;y sẽ cản bước ch&uacute;ng ta nếu muốn đi xa hơn. Kh&ocirc;ng những n&oacute; tạo ra sức &igrave; m&agrave; c&ograve;n tạo ra những th&oacute;i quen kh&oacute; bỏ khi lập tr&igrave;nh.<br /></span></span></p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Một framework giống như một phi&ecirc;n bản trừu tượng của một ng&ocirc;n ngữ lập tr&igrave;nh cụ thể v&agrave; do đ&oacute; chỉ cung cấp cho ch&uacute;ng ta c&aacute;c ứng dụng ở mức trừu tượng chứ kh&ocirc;ng phải l&agrave; kh&aacute;i niệm cốt l&otilde;i ch&iacute;nh của ng&ocirc;n ngữ n&oacute;i ri&ecirc;ng v&agrave; lập tr&igrave;nh n&oacute;i chung. Rất nhiều thứ cần học đ&atilde; c&oacute; sẵn v&agrave; được che dấu dưới mức độ trừu tượng v&agrave; tất cả những g&igrave; cần l&agrave;m b&acirc;y giờ chỉ l&agrave; sử dụng một sản phẩm cuối c&ugrave;ng nhưng kh&ocirc;ng hiểu r&otilde; được cấu tr&uacute;c b&ecirc;n trong của n&oacute; cũng như c&aacute;c kh&aacute;i niệm tương tự ở c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh kh&aacute;c. Điều n&agrave;y l&agrave; kh&ocirc;ng n&ecirc;n đối với một người mới bắt đầu học lập tr&igrave;nh. <span class="">Ch&uacute;ng ta sẽ cần r&egrave;n luyện vất vả nỗ lực trước khi c&oacute; thể trở n&ecirc;n thoải m&aacute;i như một chuy&ecirc;n gia. Kh&ocirc;ng c&oacute; con đường tắt cho việc học r&agrave; r&egrave;n luyện lập tr&igrave;nh.<br /></span></span></p> <h2 class="graf graf--p graf-after--figure" style="text-align: justify;">Mục đ&iacute;ch của việc học lập tr&igrave;nh</h2> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Một trong những yếu tố quan trọng nhất cần xem x&eacute;t khi bắt đầu học lập tr&igrave;nh l&agrave; mục ti&ecirc;u của việc học lập tr&igrave;nh. Mục ti&ecirc;u n&agrave;y c&oacute; thể đơn giản l&agrave; học cho vui, hay học để l&agrave;m lập tr&igrave;nh vi&ecirc;n web, học để ph&aacute;t triển ứng dụng game di động... H&atilde;y t&igrave;m hiểu về n&oacute; v&agrave; trả lời cho c&acirc;u hỏi: Bạn c&oacute; muốn trở th&agrave;nh nh&agrave; ph&aacute;t triển web, nh&agrave; ph&aacute;t triển ứng dụng, hay nh&agrave; ph&aacute;t triển thiết bị di động hay kh&ocirc;ng? </span></p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Một nh&agrave; ph&aacute;t triển web về cơ bản l&agrave;m việc với c&aacute;c ứng dụng web (chẳng hạn như <a href="https://tek4.vn/">trang web n&agrave;y</a>). C&ograve;n những nh&agrave; ph&aacute;t triển ứng dụng sẽ li&ecirc;n quan đến việc ph&aacute;t triển c&aacute;c phần mềm cho m&aacute;y t&iacute;nh để b&agrave;n (chẳng hạn như phần mềm xem phim tr&ecirc;n m&aacute;y t&iacute;nh,...). Trong khi c&aacute;c nh&agrave; ph&aacute;t triển ứng dụng v&agrave; thiết bị di động l&agrave;m việc tr&ecirc;n c&aacute;c ứng dụng cho thiết bị di động. V&agrave; kh&ocirc;ng chỉ c&oacute; c&aacute;c hướng đi n&agrave;y, c&oacute; rất nhiều hướng đi kh&aacute;c c&oacute; thể xem x&eacute;t như lập trinh hệ thống (ph&aacute;t triển c&aacute;c hệ điều h&agrave;nh hoặc phần mềm điều khiển), hay lập tr&igrave;nh nh&uacute;ng (ph&aacute;t triển c&aacute;c phần mềm nh&uacute;ng t&iacute;ch hợp tr&ecirc;n c&aacute;c thiết bị t&agrave;i nguy&ecirc;n hạn chế).... Ch&uacute;ng ta cần phải<span class=""> x&aacute;c định ch&iacute;nh x&aacute;c những g&igrave; m&igrave;nh muốn t&igrave;m hiểu trước khi c&oacute; thể quyết định ng&ocirc;n ngữ để bắt đầu.</span></span></p> <ul> <li style="text-align: justify;">Với đối tượng l&agrave; trẻ em, c&oacute; lẽ ng&ocirc;n ngữ lập tr&igrave;nh tốt nhất để bắt đầu l&agrave; Scratch. Scracth l&agrave; ng&ocirc;n ngữ trực quan v&agrave; h&igrave;nh ảnh cho ph&eacute;p trẻ em dễ tiếp cận v&agrave; hiểu r&otilde; c&aacute;c kh&aacute;i niệm cơ bản của lập tr&igrave;nh như rẽ nh&aacute;nh hay v&ograve;ng lặp.</li> <li style="text-align: justify;">Nếu bạn học lập tr&igrave;nh chỉ v&igrave; đơn thuần muốn t&igrave;m hiểu, học cho vui, cho biết, <ul> <li style="text-align: justify;">Chưa c&oacute; kh&aacute;i niệm trong đầu về c&aacute;c nền tảng sử dụng h&atilde;y bắt đầu với Python. Python đủ dễ hiểu v&agrave; hỗ trợ nhiều thư viện cho ph&eacute;p bạn c&oacute; thể l&agrave;m rất nhiều c&aacute;c ứng dụng tr&ecirc;n n&oacute; một c&aacute;ch đơn giản v&agrave; dễ hiểu. Ở mức độ kh&oacute; hơn đ&ocirc;i ch&uacute;t bạn c&oacute; thể chọn C hoặc Java. Sự kh&aacute;c biệt l&agrave; C bắt buộc bạn phải l&agrave;m mọi thứ từ khai b&aacute;o đến giải ph&oacute;ng bộ nhớ một c&aacute;ch thủ c&ocirc;ng c&ograve;n Java th&igrave; mọi việc được thực hiện tự động. V&agrave; do đ&oacute;, tất nhi&ecirc;n nếu sử dụng C, bạn sẽ c&oacute; kha kh&aacute; hiểu biết về kiến tr&uacute;c m&aacute;y t&iacute;nh cũng như hệ điều h&agrave;nh v&agrave; quản l&yacute; bộ nhớ. Một sự lựa chọn tương đối tốt. Ở mức độ kh&oacute; đ&aacute;ng kể, bạn c&oacute; thể chọn C++. Đ&acirc;y c&oacute; thể được coi l&agrave; một trong những ng&ocirc;n ngữ tương đối phức tạp. N&oacute; tương tự như C, nhưng việc xuất hiện kh&aacute;i niệm OOP v&agrave; đa kế thừa... đ&atilde; l&agrave;m n&oacute; trở l&ecirc;n kh&oacute; hơn. Tuy nhi&ecirc;n, nếu bắt đầu v&agrave; th&agrave;nh thạo với C++ việc học c&aacute;c ng&ocirc;n ngữ kh&aacute;c sẽ trở l&ecirc;n dễ d&agrave;ng hơn rất nhiều.</li> <li style="text-align: justify;">Trong trường hợp bạn đ&atilde; c&oacute; đ&ocirc;i ch&uacute;t kh&aacute;i niệm trong đầu về nền tảng lựa chọn h&atilde;y đi theo c&aacute;c nền tảng m&agrave; bạn muốn. Nếu muốn lập tr&igrave;nh web, h&atilde;y lựa chọn giữa JS v&agrave; PHP. JS cho ph&eacute;p x&acirc;y dựng c&aacute;c ứng dụng kh&aacute; đẹp đẽ v&agrave; gần đ&acirc;y với sự xuất hiện của c&ocirc;ng nghệ NodeJS th&igrave; JS c&ograve;n l&agrave; một ng&ocirc;n ngữ cho ph&eacute;p x&acirc;y dựng c&aacute;c ứng dụng thời gian thực với hiệu năng cao như Twitter,..trong khi PHP l&agrave; ng&ocirc;n ngữ kh&aacute; cổ v&agrave; kh&aacute; rắc rối. Với lập tr&igrave;nh di động, h&atilde;y quan t&acirc;m đền Java v&agrave; Objective-C v&agrave; gần đ&acirc;y l&agrave; Swift. Java cho ph&eacute;p lập tr&igrave;nh c&aacute;c ứng dụng tr&ecirc;n Android c&ograve;n Objective-C v&agrave; Swift ph&ugrave; hợp cho c&aacute;c ứng dụng tr&ecirc;n iOS. Tất nhi&ecirc;n bạn cũng c&oacute; thể sử dụng c&aacute;c c&ocirc;ng nghệ lập tr&igrave;nh hybrid như: Xamarin, Unity hay PhoneGap nhưng h&atilde;y chắc chắn về hiệu năng cũng như mức độ trừu tượng của n&oacute;. Với c&aacute;c ứng dụng thuộc lĩnh vực doanh nghiệp, ch&uacute;ng ta c&oacute; thể lựa chọn giữa Java v&agrave; C#. C# gi&agrave;nh cho những ai muốn sử dụng Windows c&ograve;n Java d&ugrave;ng cho mọi nền tảng. Để bắt đầu với lập tr&igrave;nh game 3D c&oacute; thể bắt đầu với C++ (tất nhi&ecirc;n c&oacute; thể cả Unity).</li> </ul> </li> <li style="text-align: justify;">Với mục đ&iacute;ch học lập tr&igrave;nh để kiếm tiền (l&agrave;m cho doanh nghiệp hoặc start up), h&atilde;y x&aacute;c định c&aacute;c nền tảng v&agrave; lĩnh vực ứng dụng muốn nhắm tới. Ở đ&acirc;y, mọi chuyện sẽ diễn ra tương tự như ở tr&ecirc;n. Với Web ch&uacute;ng ta chọn JS hoặc PHP, với di động ch&uacute;ng ta chọn Java hoặc Objective-C hoặc Swift, với ứng dụng doanh nghiệp l&agrave; C# v&agrave; Java. H&atilde;y đo&aacute;n xem, để đi l&agrave;m cho Goolge, ch&uacute;ng ta cần học ng&ocirc;n ngữ g&igrave;? Sẽ kh&ocirc;ng tuyệt lắm nếu biết rằng Google lu&ocirc;n muốn lập tr&igrave;nh vi&ecirc;n của họ biết c&agrave;ng nhiều c&agrave;ng tốt. Nhưng một gợi &yacute; l&agrave; Google v&agrave; Facebook vẫn n&ecirc;n bắt đầu với Python. C&ograve;n muốn l&agrave;m việc trong Microsoft ch&uacute;ng ta n&ecirc;n biết về C#, c&ograve;n Apple sẽ kh&ocirc;ng thể thiếu ng&ocirc;n ngữ C.</li> </ul> <p>T&oacute;m lại, những ng&ocirc;n ngữ đ&aacute;ng lưu t&acirc;m ở đ&acirc;y c&ograve;n lại bao gồm: Java, C, Python, C++, C# v&agrave; JavaScript.</p> <ul> <li style="text-align: justify;">C l&agrave; một ng&ocirc;n ngữ tuyệt vời để học c&aacute;ch m&aacute;y t&iacute;nh hoạt động, c&aacute;c nguy&ecirc;n l&yacute; quản l&yacute; bộ nhớ, v&agrave; hữu &iacute;ch cho c&aacute;c ứng dụng t&iacute;nh to&aacute;n hiệu năng cao.</li> <li style="text-align: justify;">C++ tương tự như C, v&agrave; đặc biệt hơn n&oacute; l&agrave; một ng&ocirc;n ngữ rất tốt cho lập tr&igrave;nh game, nhất l&agrave; c&aacute;c game 3D do tốc độ xử l&yacute; của n&oacute; kh&aacute; cao v&agrave; t&iacute;nh hướng đối tượng.</li> <li style="text-align: justify;">Python l&agrave; ng&ocirc;n ngữ ph&ugrave; hợp để học, v&agrave; c&oacute; ứng dụng đặc biệt trong khoa học dữ liệu v&agrave; thống k&ecirc;.</li> <li style="text-align: justify;">Java l&agrave; ng&ocirc;n ngữ quan trọng khi muốn l&agrave;m việc trong một c&ocirc;ng ty lớn về lập tr&igrave;nh.</li> <li style="text-align: justify;">C# đặc biệt ph&ugrave; hợp với c&aacute;c ứng dụng Windows</li> <li style="text-align: justify;">V&agrave; cuối c&ugrave;ng JavaScript l&agrave; ng&ocirc;n ngữ tuyệt với cho ứng dụng Web bao gồm cả việc x&acirc;y dựng front end hiển thị tốt lẫn back end hiệu năng cao.</li> </ul> <p style="text-align: justify;">Tiếp theo, t<span id="result_box" class="" lang="vi" tabindex="-1">rước khi chọn một ng&ocirc;n ngữ, h&atilde;y đảm bảo rằng ch&uacute;ng ta hiểu c&aacute;c nguy&ecirc;n tắc cơ bản của lập tr&igrave;nh như v&ograve;ng lặp, phương thức hoặc h&agrave;m, c&aacute;c m&ocirc; h&igrave;nh lập tr&igrave;nh v&agrave; nhiều kh&aacute;i niệm kh&aacute;c. C&aacute;c mức trừu tượng kh&aacute;c nhau của ng&ocirc;n ngữ lập tr&igrave;nh cũng n&ecirc;n được quen thuộc. H&atilde;y hiểu c&aacute;c kh&aacute;i niệm cốt l&otilde;i về lập tr&igrave;nh ngay trước cả khi bắt đầu. <span class="">Những kh&aacute;i niệm n&agrave;y cho ph&eacute;p ch&uacute;ng ta c&oacute; c&aacute;i nh&igrave;n r&otilde; r&agrave;ng hơn về c&aacute;ch c&aacute;c chương tr&igrave;nh được thực thi v&agrave; như vậy sẽ gi&uacute;p ch&uacute;ng ta chọn được c&aacute;c ng&ocirc;n ngữ ph&ugrave; hợp. H&atilde;y hiểu vấn đề trước khi bắt tay v&agrave;o l&agrave;m.</span></span></p> <h2 style="text-align: justify;">C&aacute;c trường học chọn ng&ocirc;n ngữ n&agrave;o?</h2> <p class="graf graf--p graf-after--figure">Trong m&ocirc;i trường giảng dạy cho c&aacute;c chuy&ecirc;n ng&agrave;nh khoa học m&aacute;y t&iacute;nh, cho đến năm 2014, Python đ&atilde; vượt qua Java để trở th&agrave;nh một ng&ocirc;n ngữ phổ biến nhất được giảng dạy trong c&aacute;c chương tr&igrave;nh của những trường top đầu về khoa học m&aacute;y t&iacute;nh tại Mỹ.</p> <p class="graf graf--p graf-after--p"><img class="wp-image-379 aligncenter" src="https://tek4.vn/wp-content/uploads/2018/08/Độ-phổ-biến-của-c&aacute;c-ng&ocirc;n-ngữ-lập-tr&igrave;nh.png" alt="Độ phổ biến của c&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh" width="481" height="309" /></p> <p id="b13e" class="graf graf--p graf-after--figure">Sự thay đổi vẫn tiếp tục diễn ra.</p> <p class="graf graf--p graf-after--figure" style="text-align: justify;">Sở dĩ Python ng&agrave;y c&agrave;ng được lựa chọn nhiều bởi t&iacute;nh hỗ trợ tốt của c&aacute;c thư viện t&iacute;nh to&aacute;n trong n&oacute;. Đa phần c&aacute;c chương tr&igrave;nh về khoa học m&aacute;y t&iacute;nh đều coi khoa học m&aacute;y t&iacute;nh l&agrave; khoa học thuật to&aacute;n v&agrave; li&ecirc;n quan đến to&aacute;n học. Do đ&oacute;, hầu hết c&aacute;c ng&ocirc;n ngữ li&ecirc;n quan đến xử l&yacute; t&iacute;nh to&aacute;n như Python hay Matlab thường được lựa chọn để l&agrave;m ng&ocirc;n ngữ đầu ti&ecirc;n cho việc học lập tr&igrave;nh trong c&aacute;c trường đ&agrave;o tạo khoa học m&aacute;y t&iacute;nh. Điều n&agrave;y diễn ra tương tự với C v&agrave; C++, bởi bản th&acirc;n C v&agrave; C++ l&agrave; ng&ocirc;n ngữ ph&aacute;t triển l&ecirc;n Matlab v&agrave; c&oacute; t&iacute;nh tương th&iacute;ch cao với Matlab.&nbsp; Hơn thế nữa, Python v&agrave; C c&oacute; kh&aacute; nhiều lợi thế do t&iacute;nh dễ học, r&otilde; r&agrave;ng, v&agrave; hỗ trợ đa nền tảng, đa mục ti&ecirc;u (Python c&oacute; thể được sử dụng để x&acirc;y dựng c&aacute;c ứng dụng web, ứng dụng th&ocirc;ng thường cho tới c&aacute;c ứng dụng ph&acirc;n t&iacute;ch dữ liệu v&agrave; t&iacute;nh to&aacute;n, c&ograve;n C hay C++ c&oacute; thể được sử dụng để x&acirc;y dựng c&aacute;c ứng dụng, đặc biệt rất ph&ugrave; hợp với việc lập tr&igrave;nh nh&uacute;ng, v&agrave; lập tr&igrave;nh hệ thống, hệ điều h&agrave;nh).</p> <p class="graf graf--p graf-after--figure" style="text-align: justify;">Tại Việt Nam, đa số c&aacute;c trường vẫn chọn C, C++ v&agrave; Pascal l&agrave; c&aacute;c ng&ocirc;n ngữ khởi đầu cho học vi&ecirc;n. C v&agrave; C++ c&oacute; thể gi&uacute;p cho việc học c&aacute;c ng&ocirc;n ngữ sau dễ d&agrave;ng hơn. Tuy nhi&ecirc;n vẫn n&ecirc;n xem x&eacute;t Python v&agrave; Java như những lựa chọn kh&aacute;c. Vẫn c&oacute; nhiều trường chọn Java l&agrave;m ng&ocirc;n ngữ thứ hai tuy nhi&ecirc;n Python gần như kh&ocirc;ng được giảng dạy trong c&aacute;c trường đại học tại Việt Nam.</p> <h2 class="graf graf--p graf-after--figure" style="text-align: justify;">C&aacute;c xu hướng chuyển dịch</h2> <p id="71fb" class="graf graf--li graf-after--p" style="text-align: justify;">Hầu hết c&aacute;c ng&ocirc;n ngữ đứng đầu trong danh s&aacute;ch đều l&agrave; c&aacute;c ng&ocirc;n ngữ phổ biến từ h&agrave;ng chục năm trước đ&acirc;y. Tuy nhi&ecirc;n, giống như mọi thứ trong x&atilde; hội, mọi thứ đều c&oacute; thể thay đổi, ngay cả trong học thuật.</p> <p class="graf graf--li graf-after--p"><span id="result_box" class="" lang="vi" tabindex="-1"><span class="">Nh&igrave;n v&agrave;o c&aacute;c ng&ocirc;n ngữ thực sự được sử dụng trong thực tế c&aacute;c doanh nghiệp, ta sẽ thấy một bức tranh rất kh&aacute;c:</span></span></p> <p class="graf graf--li graf-after--p"><img class="wp-image-383 aligncenter" src="https://tek4.vn/wp-content/uploads/2018/08/Cac-ngon-ngu-lap-trinh-1.png" alt="Cac ngon ngu lap trinh" width="501" height="474" /></p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Hơn một nửa số lập tr&igrave;nh vi&ecirc;n sử dụng JavaScript. Điều n&agrave;y li&ecirc;n quan đến sự b&ugrave;ng nổ của ứng dụng web. JavaScript giờ đ&acirc;y kh&ocirc;ng chỉ đơn giản được sử dụng để thiết kế c&aacute;c front - end hiển thị cho web m&agrave; c&ograve;n ng&agrave;y c&agrave;ng c&oacute; li&ecirc;n quan tới việc ph&aacute;t triển back-end th&ocirc;ng qua sự tương đồng với NodeJS c&ugrave;ng nhiều nền tảng kh&aacute;c. <span class="">V&agrave; n&oacute; nhanh ch&oacute;ng mở rộng trong c&aacute;c lĩnh vực như ph&aacute;t triển tr&ograve; chơi v&agrave; Internet of Things.</span></span></p> <h2>Lời kết</h2> <p style="text-align: justify;">C, Python v&agrave; Java l&agrave; những ng&ocirc;n ngữ đ&aacute;ng để chọn khi bắt đầu học lập tr&igrave;nh. C v&agrave; Java sẽ gi&uacute;p học c&aacute;c ng&ocirc;n ngữ kh&aacute;c dễ d&agrave;ng hơn, học C c&ograve;n gi&uacute;p hiểu r&otilde; hơn về kiến tr&uacute;c v&agrave; hoạt động của m&aacute;y t&iacute;nh, cơ chế quản l&yacute; bộ nhớ.</p> <p style="text-align: justify;"><img class="wp-image-384 aligncenter" src="https://tek4.vn/wp-content/uploads/2018/08/C&aacute;c-ng&ocirc;n-ngữ-lập-tr&igrave;nh.jpg" alt="C&aacute;c ng&ocirc;n ngữ lập tr&igrave;nh" width="560" height="268" /></p> <p style="text-align: justify;">Bạn cũng c&oacute; thể bắt đầu với bất kỳ một ng&ocirc;n ngữ n&agrave;o kh&aacute;c như: JavaScript hay C++ hay C#. Miễn l&agrave; đ&atilde; đủ hiểu r&otilde; về n&oacute; v&agrave; biết m&igrave;nh cần g&igrave;.</p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Vấn đề quan trọng nhất m&agrave; ngay cả những lập tr&igrave;nh vi&ecirc;n chuy&ecirc;n nghiệp cũng phải đối mặt l&agrave; cuộc h&agrave;nh tr&igrave;nh đầy thử th&aacute;ch. Qu&aacute; tr&igrave;nh học lập tr&igrave;nh lu&ocirc;n lu&ocirc;n đ&ograve;i hỏi mức độ nỗ lực cao. Khi mới bắt đầu c&oacute; thể một dấu chấm phẩy duy nhất c&oacute; thể l&agrave;m bạn nản ch&iacute; khi l&agrave;m chương tr&igrave;nh kh&ocirc;ng chạy được. Nhưng đừng nản ch&iacute;, h&atilde;y ki&ecirc;n định v&agrave; nhất qu&aacute;n.</span></p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Ngo&agrave;i ra, tr&aacute;nh xa qu&aacute; nhiều b&agrave;i đọc v&agrave; hướng dẫn m&agrave; kh&ocirc;ng cần triển khai thực sự. Bắt đầu một c&aacute;i g&igrave; đ&oacute; ngay sau khi bạn đ&atilde; hiểu một kh&aacute;i niệm, tạo ra một c&aacute;i g&igrave; đ&oacute; v&agrave; x&acirc;y dựng một c&aacute;i g&igrave; đ&oacute;. Đ&oacute; l&agrave; c&aacute;ch bắt đầu.</span></p> <p style="text-align: justify;"><span id="result_box" class="" lang="vi" tabindex="-1">Ngo&agrave;i ra, h&atilde;y đảm bảo nghi&ecirc;n cứu đủ s&acirc;u ng&ocirc;n ngữ đ&atilde; chọn v&agrave; ki&ecirc;n định với n&oacute; cho tới khi th&agrave;nh thạo v&igrave; c&aacute;c ng&ocirc;n ngữ mới tiếp tục xuất hiện ng&agrave;y c&agrave;ng nhiều v&agrave; một số người sẽ dễ d&agrave;ng bị thuyết phục để chuyển sang học một ng&ocirc;n ngữ kh&aacute;c. <span class="">Kh&ocirc;ng được lan man trong việc lựa chọn ng&ocirc;n ngữ.</span> Đừng tiếp tục nhảy từ ng&ocirc;n ngữ n&agrave;y sang ng&ocirc;n ngữ kh&aacute;c. <span class="">Học tốt một ng&ocirc;n ngữ ban đầu v&agrave; đ&oacute; l&agrave; nền tảng chắc chắn mở ra những thay đổi nếu c&ocirc;ng cụ mới gi&uacute;p c&ocirc;ng việc của bạn dễ d&agrave;ng hơn.</span> Nhưng lu&ocirc;n lu&ocirc;n đảm bảo phải biết những điều cơ bản.</span></p> <p><span id="result_box" class="" lang="vi" tabindex="-1">Lập tr&igrave;nh l&agrave; một thế giới d&agrave;nh cho tất cả mọi người. H&atilde;y chọn một ng&ocirc;n ngữ ngay h&ocirc;m nay v&agrave; bắt đầu.</span></p> <p>H&atilde;y tiếp tục theo d&otilde;i <a href="https://tek4.vn/tu-khoa/lap-trinh-c-tu-0-den-1/">chuy&ecirc;n mục n&agrave;y để cập nhật những b&agrave;i viết mới nhất</a> v&agrave; đừng qu&ecirc;n để lại b&igrave;nh luận b&ecirc;n dưới nh&eacute; !</p> <p>&nbsp;</p>