Những xu hướng lập trình phổ biến trong năm 2018
Python, Javascript phổ biến hơn cả; Go hứa hẹn là ngôn ngữ tiềm năng của tương lai; hệ điều hành Android chiếm ưu thế trong lập trình mobile.
Mới đây, khảo sát The State of Developer Ecosystem – được JetBrain s.r.o thực hiện đầu năm 2018 – đã công bố những thống kê về xu hướng học và sử dụng ngôn ngữ lập trình, mô hình phát triển phần mềm phổ biến trong năm 2018. Kết quả khảo sát từ hơn 6.000 nhà phát triển phần mềm trên thế giới.
Bài phân tích của Thạc sĩ Khoa học máy tính Trần Quốc Tuấn – Mentor Đại học trực tuyến FUNiX dựa trên kết quả này cung cấp thêm thông tin để học sinh, sinh viên đam mê lập trình tham khảo và lựa chọn định hướng học tập, phát triển trong lĩnh vực phần mềm.
Go là ngôn ngữ lập trình hứa hẹn trong tương lai
Theo thống kê từ JetBrain, ngôn ngữ lập trình cơ bản luôn được các nhà phát triển phần mềm lựa chọn là Javascript. Tuy nhiên, ngôn ngữ hứa hẹn phát triển mạnh nhất trong tương lai lại là Go. Trong biểu đồ dưới, phần màu cam cho thấy tỷ lệ phần trăm lập trình viên sẽ học thêm một ngôn ngữ mới. Với 16% lựa chọn sẽ học Go thời gian tới, đây sẽ là ngôn ngữ lập trình có tỷ lệ tăng lớn nhất so với các ngôn ngữ còn lại.
Ưu điểm của Go là tốc độ xử lý. Ngôn ngữ lập trình này cũng biên dịch như Java, nhưng không như Java phải cần Java Virtual Machine để thực thi vì Java biên dịch ra Byte code, Go biên dịch ra mã máy (Machine code) nên có thể chạy ngay với hệ điều hành do nó biên dịch ra mà không cần cài đặt gì thêm.
Điều này có nghĩa từ máy tính của mình, có thể biên dịch ra các chương trình chạy trên Mac, Window, Linux. Sau khi biên dịch, chỉ cần một file, copy đến hệ điều hành đích là chạy, rất đơn giản. Đây là tính năng ấn tượng, bao gồm cả việc build rất nhanh.
Với 16% lựa chọn sẽ học Go thời gian tới, đây sẽ là ngôn ngữ lập trình có tỷ lệ tăng lớn nhất so với các ngôn ngữ còn lại.
Python và Javascript phổ biến nhất
Theo thống kê, Python và Javascript là hai ngôn ngữ được lập trình viên lựa chọn học nhiều nhất trong một năm trở lại đây, với tỷ lệ lần lượt là 30% và 29%. Java vẫn là sự lựa chọn ổn định, như cách các nhà phát triển phần mềm lựa chọn phiên bản Java để phát triển (Java 9 đã ra đời được một thời gian không ngắn nhưng chỉ 13% số người khảo sát lựa chọn trong khi 84% vẫn dùng Java 8 và 33% vẫn dùng Java 7).
Lý do là vì Javascript rất đa năng, ứng dụng rộng rãi từ website tới Server-side. Python là một ngôn ngữ có tốc độ xử lý nhanh; hình thức sáng sủa, cấu trúc rõ ràng, cú pháp ngắn gọn nên dễ hiểu và dễ học. Python tương thích mạnh mẽ với Unix, phần cứng với số lượng thư viện khổng lồ (400 triệu người sử dụng).
Video đang HOT
Tương phản với những con số ấn tượng này, tỷ lệ học tiếp với những ngôn ngữ C, C lần lượt là 6%, 12%. C và C là những ngôn ngữ khá khó học với phần lớn đối tượng, thường áp dụng nhiều trong lập trình hệ thống nên số lượng người tái sử dụng không cao bằng Python hay Javascript.
Android chiếm ưu thế trong lập trình mobile
Lập trình mobile đang rất được yêu thích trong những năm gần đây. 86% số người được phỏng vấn lập trình trên hệ điều hành Android, 48% số người được phỏng vấn lập trình trên hệ điều hành iOS và 35% trong số những người được hỏi đều lập trình trên cả Android và iOS.
86% số người được phỏng vấn lập trình trên hệ điều hành Android.
72% số người được phỏng vấn lập trình trên công cụ gốc của ngôn ngữ lập trình còn 43% số người được hỏi thì linh hoạt trong việc lựa chọn tools phù hợp.
Xu hướng tương tác qua ứng dụng điện thoại đang ngày một tăng. Giá thành mặt bằng chung của các loại điện thoại ngày càng giảm. Mặc dù tỷ lệ sử dụng thiết bị di động ở Việt Nam cao nhưng hứa hẹn vẫn còn tăng. Với số lượng người dùng tăng, chắc chắn cơ hội với các nhà phát triển phần mềm và các sinh viên công nghệ thông tin trong mảng lập trình mobile vẫn còn rất lớn.
Khảo sát của The State of Developer Ecosystem cũng thống kê về mô hình phần mềm mà các nhà phát triển đang sử dụng. Theo đó, có 41% các nhà phát triển phần mềm đang sử dụng mô hình Scrum, 10% sử dụng Kabaan. Ngôn ngữ lập trình quan trọng bao nhiêu thì mô hình phát triển phần mềm quan trọng bấy nhiêu. Một phần mềm tốt khi ra đời là kết quả từ những kỹ sư xuất sắc bên cạnh mô hình phát triển phù hợp.
Các ngôn ngữ lập trình và mô hình phát triển này đều được giảng dạy và giới thiệu trong chương trình học của Đại học trực tuyến FUNiX, như nội dung lập trình hướng đối tượng, lập trình di động, nhập môn công nghệ phần mềm, phân tích yêu cầu phần mềm…
Theo VNE
Sáu ngôn ngữ lập trình quan trọng cho khoa học dữ liệu và phân tích
Bạn có nhiều cơ hội việc làm với mức lương cao khi nắm vững một trong sáu ngôn ngữ như Python, chương trình R, Matlab, Java, Julia hay Scala.
Khoa học dữ liệu cung cấp phương pháp tiếp cận khoa học mới mà qua đó, các doanh nghiệp có thể chuyển một lượng lớn dữ liệu có sẵn ở nhiều dạng khác nhau thành loại thông tin hữu ích và có thể sử dụng được. Để thực hiện điều này, vai trò của các nhà khoa học dữ liệu trở nên quan trọng hơn. Họ phải có kiến thức cần thiết để áp dụng các thuật toán thống kê cũng như hiểu được tập hợp lớn các dữ liệu. Các thuật toán thống kê này được thực hiện bằng một số ngôn ngữ lập trình nổi tiếng.
Dưới đây là sáu ngôn ngữ lập trình tốt nhất cho việc phân tích khoa học dữ liệu.
Python
Trong bảng xếp hạng các công cụ khoa học dữ liệu tốt nhất, Python chiếm ngôi đầu. Ngôn ngữ này là trụ cột của các nhiệm vụ liên quan đến lập trình chung như phát triển các ứng dụng web hay máy tính để bàn.
Với Python, bạn có quyền truy cập vào một loạt các thư viện phân tích dữ liệu thông qua mục Python Package như các mô-đun phổ biến NumPy và SciPy. Hai mô-đun này cho phép bạn thực hiện các nhiệm vụ cơ bản trong phân tích dữ liệu là số hóa trên các mảng và ma trận đa chiều cũng như thực hiện tính toán các tín hiệu, hình ảnh. Có nhiều thư viện Python khác giúp cho việc phân tích dữ liệu của bạn đơn giản hơn như bộ công cụ ngôn ngữ tự nhiên (NLTK), cho phép phân tích và thống kê các ngôn ngữ tự nhiên.
Tính vô hạn của các thư viện Python dành riêng cho khoa học dữ liệu khiến Python trở thành một lựa chọn tiên quyết của người mới bắt đầu và các nhà khoa học dữ liệu chuyên nghiệp.
Chương trình R
Ross Ihaka và Robert Gentleman lần đầu ra mắt ngôn ngữ R với mục đích thiết kế chương trình để thực hiện phân tích dữ liệu, thống kê và tính toán trực quan trên các tập dữ liệu lớn tốt hơn và thân thiện với người dùng.
Nền tảng vững chắc của ngôn ngữ trong lĩnh vực thống kê và hiển thị dữ liệu đã khiến nó trở nên phổ biến nhanh chóng trong phân tích dữ liệu thương mại và là lựa chọn của đa số các nhà khoa học dữ liệu. Đối với người mới bắt đầu, R có cách thức hoạt động khá dễ, nguồn tài liệu mở rộng và nhiều chức năng giúp đơn giản hóa các quy trình phân tích dữ liệu phức tạp cho lập trình viên.
Matlab
Matlab được phát triển bởi Jack Little, Moler và Steve Bangert, người sáng lập MathWorks. Ngôn ngữ này tập hợp chức năng tính toán, hình dung và lập trình vào ứng dụng duy nhất.
Điều này khiến Matlab trở thành một công cụ hữu ích để phân tích, thăm dò và hiển thị dữ liệu mà không cần thư viện hoặc mô-đun ngoài. Trên thực tế, Matlab đã trở thành công cụ phân tích dữ liệu chính cho cộng đồng học thuật trong vài thập kỷ qua.
Java
Java là một trong những ngôn ngữ lâu đời và được sử dụng nhiều nhất trên thế giới. Java đặc biệt dành riêng cho các nhà khoa học dữ liệu có triển vọng. Đôi khi, công ty yêu cầu bạn làm một nghiên cứu dữ liệu dựa trên nguồn dữ liệu trong cơ sở hạ tầng sẵn có. Điều đó có nghĩa là các mô hình thống kê của bạn phải được viết với ngôn ngữ Java để có khả năng tương tác cao.
Các framework như Apache Spark, Hadoop và Hive ngày càng phổ biến trong môi trường thương mại, khiến Java trở thành một trong những ngôn ngữ được các nhà khoa học dữ liệu yêu cầu.
Julia
Đây là ngôn ngữ lập trình được phát triển từ ứng dụng nền tảng dành riêng cho khoa học dữ liệu. Ngôn ngữ hướng tới các chức năng tính toán khoa học, khai thác dữ liệu, học máy và tính toán song song.
Julia nhanh chóng trở thành một trong những ngôn ngữ với khả năng vận hành "thần tốc" trên các tập dữ liệu lớn. Chúng giải quyết bất kỳ lỗi thường gặp nào mà các ngôn ngữ lập trình khác không được thiết kế đặc biệt mà khoa học dữ liệu hay mắc phải.
Scala
Scala nổi lên trong giới khoa học dữ liệu sau khi chức năng Spark - một công cụ xử lý dữ liệu viết hoàn toàn bằng Scala được các nhà phát triển cập nhật. Spark cho phép thu thập dữ liệu một cách trực quan hơn; làm sạch, xử lý dữ liệu; ngoài ra, mã được viết bằng ngôn ngữ Scala thường vận hành nhanh hơn.
Điều đó có nghĩa là bạn có thể phân tích số lượng dữ liệu lớn nhanh hơn so với các ngôn ngữ khác. Ngoài ra, việc viết mã Scala tương đối dễ do cú pháp đơn giản, dễ dàng duy trì các kho lưu trữ lớn của mã Scala.
Hiện nay, nhiều những khoá học miễn phí trên Internet dạy bạn học những ngôn ngữ này, tuy nhiên để có lộ trình học bài bản, cũng như áp dụng những ngôn ngữ trên trong tư duy lập trình, phân tích dữ liệu chuyên sâu, bạn có thể tham khảo một số chương trình học của các trường đại học công nghệ thông tin. Tham khảo tại đây.
Hiền Mai
Theo Vnexpress
Nghiên cứu buồn: IQ của người trẻ trên thế giới đang dần tuột dốc Tại sao lại có chuyện này xảy ra? Bản chất thật của IQ là gì? Xã hội phát triển, con người ngày càng đầu tư nhiều hơn cho giáo dục. Tuy nhiên theo một nghiên cứu mới đây, quá trình này dường như mang đến một kết quả trái ngược: IQ của người trẻ ngày nay đang giảm dần so với thời kỳ...