Thứ Hai, 28 tháng 3, 2016

Tìm hiểu: 21 xu hướng lập trình 'nóng' và 'lạnh'

Từ website đến hệ điều hành và đào tạo, hãy cộng tìm hiểu các xu hướng thời thượng và thoái trào trong lĩnh vực vững mạnh ứng dụng.những lập trình viên thường nhạo báng thế giới bắt mắt thay đổi xu thế xoành xoạch. Váy dài rồi ngắn, điểm chấm có rồi ko, cà vạt lớn rồi nhỏ. Còn trong thế giới kỹ thuật, sự chặt chẽ, công nghệ và luật lệ chính xác ko mang chỗ cho sở thích theo mùa.

Điều đó ko có nghĩa lập trình là nghề không sở hữu xu hướng. Điều khác biệt là các xu thế lập trình được dẫn dắt bởi tính hiệu quả cao hơn, khả năng tùy biến phổ biến hơn và dễ sử dụng hơn. các kỹ thuật mới cung ứng một hoặc rộng rãi đặc tính này khiến lu mờ các thế hệ trước. Đây là thế giới của tài năng chứ chẳng phải đồng bóng.

Ảnh minh họa.

Sau đây là danh sách những xu thế "nóng" và "lạnh" trong giới lập trình viên hiện tại. không hề ai cũng đồng ý danh sách này và ấy chính là điều làm nghề lập trình luôn hấp dẫn: thay đổi nhanh chóng, tranh luận sôi nổi, trở lại đột ngột.

Nóng: Tiền xử lý (preprocessors)
Lạnh: Ngôn ngữ vạn năng (full language stacks)

ko lâu trước đây các người tạo ra ngôn ngữ lập trình mới bắt buộc làm đủ mọi thứ nhằm biến mã lệnh thành những bit (0 hay 1) để đưa vào chip silicon. Sau đấy, ai đó nghĩ ra ý tận dụng thành quả trước đó. Giờ lại mang ý tưởng thông minh chỉ nên viết một bộ tiền xử lý biên dịch mã lệnh mới thành ngôn ngữ mã máy dựa trên tập thư viện và tập hàm API phong phú.

các ngôn ngữ kịch bản như Python hoặc JavaScript từng bị dừng chỉ dùng cho các dự án nhỏ, nhưng giờ chúng đang là nền tảng lớn mạnh ứng dụng quan trọng. những người ko thích JavaScript thì tạo ra CoffeeScript, một bộ tiền xử lý cho phép viết code mà chẳng hề vất vả ngắt loại. sở hữu hàng tá những biến thể phân tích và đoán cú pháp theo bí quyết khác nhau.

Groovy, một phiên bản đơn giản của Java ko phải ngắt mẫu. Hàng chục ngôn ngữ như Scala hoặc Clojure chạy trên máy ảo Java (JVM), nhưng JVM thì chỉ với 1. Máy ảo của .Net cũng cho phép chạy phổ biến ngôn ngữ. Vậy phải đâu cần buộc phải phát minh lại bánh xe!

Nóng: Docker
Lạnh: Hypervisor

Điều này ko đúng lắm. các hypervisor (hệ thống ảo hóa) sở hữu chỗ đứng của chúng, và nhiều môi trường đóng gói (docker container) chạy bên trong hệ điều hành trên hệ thống ảo hóa (hypervisor). Tuy nhiên, môi trường đóng gói nhỏ hơn rất nhiều so với "ảnh" máy ảo, dễ sử dụng và triển khai hơn.

khi với thể, các nhà phát triển thích chuyển giao chỉ môi trường đóng gói, do dễ dàng tùy biến trong giai đoạn triển khai. những công ty như Joyent đang tìm cách rút gọn môi trường đóng gói sao cho mang thể chạy trên "hệ thống tối thiểu", như lời họ kể.

Nóng: Nền tảng JavaScript MV* frameworks
Lạnh: Tập tin JavaScript

cực kỳ lâu trước đây, hầu hết người học viết Javascript để bật lên hộp thông báo hoặc kiểm tra xem địa chỉ email nhập vào sở hữu đựng dấu @ hay không. Giờ những ứng dụng HTML Ajax (dựa trên JavaScript) tinh vi đến mức chỉ ít người sở hữu thể viết từ đầu. dùng một nền tảng với sẵn và viết 1 ít mã tham chiếu để thực hiện thông minh nghiệp vụ thì đơn giản hơn. Hiện mang hàng chục nền tảng như Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS… mọi đều có thể xử lý các sự kiện và nội dung cho những ứng dụng website và trang website.

bên cạnh ra còn mang 1 số biến thể phân phối nền tảng vững mạnh cho điện thoại thông minh và máy tính bảng. các kỹ thuật như NativeScript, PhoneGap và Sencha Touch là 1 số lựa chọn để tạo ứng dụng theo công nghệ HTML5

Nóng: CSS framework
Lạnh: CSS tổng quát (Generic Cascading Style Sheets)

Đã sở hữu một thời, thêm một chút lôi cuốn cho trang web sở hữu nghĩa là mở tập tin CSS (Cascading Style Sheets) và điền vào câu lệnh như font-style: italic (kiểu chữ nghiêng). Giờ thì trang website ko còn tiêu dùng những tập tin thô sơ như vậy nữa. Chỉ bắt buộc một thao tác chỉnh màu sẽ tác động khắp những trang. hầu hết đồ vật được kết nối mang nhau.

đấy chính là ưu thế của các CSS framework như Sass và Compass. Chúng khuyến khích việc viết lệnh dễ đọc, ổn định bằng bí quyết phân phối những cấu trúc lập trình như biến thực, lồng nhau, kế thừa phổ biến lớp... mang vẻ như ko gì mới mẻ lắm về mặt lập trình, nhưng đấy là bước tiến lớn về mặt thiết kế.

Nóng: SVG + JavaScript trên Canvas
Lạnh: Flash

Flash đã làm cho người ta phát cuồng đa dạng năm qua, nhưng những nhà nghệ sĩ luôn thích kết quả đạt được. Việc dựng hình khử răng cưa cực kỳ tốt, và rất nhiều nghệ sĩ tài năng đã thiết kế hàng đống mã Flash tạo các hiệu ứng động và chuyển cảnh tinh tế.

Giờ thì JavaScript cũng với khả năng khiến cho phổ biến đồ vật như vậy, những hãng tăng trưởng trình duyệt và các nhà phát triển đang hô hào "dẹp" Flash. Họ thấy những định dạng mới như SVG (Scalable Vector Graphics) tích hợp rẻ hơn có lớp DOM (Document Object Model). SVG và HTML sở hữu đông đảo thẻ, thường dễ tiêu dùng hơn đối sở hữu những nhà phát triển website. Rồi còn mang tập hàm API lớn cung ứng bản vẽ công phu trên đối tượng Canvas, thường là mang sự trợ giúp của bo mạch video. kết hợp các điều trên làm ko còn đa dạng lý do để sử dụng Flash nữa.

Nóng: Dữ liệu gần lớn (phân tích ko bắt buộc Hadoop)
Lạnh: Dữ liệu to (cần Hadoop)

không ngạc nhiên lúc cụm từ "dữ liệu lớn" lan truyền trong giới quản lý, họ bắt đầu đòi hỏi các hệ thống dữ liệu to lớn nhất, mạnh mẽ nhất như thể họ mua một cái du thuyền hay tòa nhà chọc trời.

Điều buồn cười là nhiều vấn đề ko đủ to để sử dụng các giải pháp dữ liệu to sang chảnh. kiên cố, toàn bộ hành động lướt web của chúng ta đều bị các công ty như Google hay Yahoo theo dõi; họ có những cơ sở dữ liệu hàng petabyte (1015 bytes) hoặc yottabyte (1018 bytes). Nhưng đa số các doanh nghiệp với cơ sở dữ liệu đựng gọn trong bộ nhớ RAM của máy tính thông thường. Ví dụ một máy tính mang 16GB bộ nhớ RAM đủ đựng cả tỷ sự kiện (vài byte mỗi sự kiện). sở hữu mọi các thuật toán, dữ liệu không phải bắt buộc được đọc vào bộ nhớ bởi vì sở hữu thể lấy từ ổ SSD.

với các ví như bắt buộc thời gian xử lý nhanh của hàng chục máy chạy song song trên đám mây Hadoop, nhưng nhiều trường hợp với thể xử lý thấp chỉ có một máy duy nhất mà chẳng hề rắc rối mang việc phối hợp hoặc thông tin liên lạc.

Nóng: Spark
Lạnh: Hadoop

Việc Spark trở thành nóng lên làm cho mô hình Hadoop trở thành tương đối cũ kỹ 1 chút. Spark vay mượn 1 số ý tưởng thấp nhất của phương pháp Hadoop để trích xuất ngữ nghĩa từ khối lượng lớn dữ liệu và thực hiện một vài cải tiến khiến chương trình chạy nhanh hơn nhiều. Cải tiến to nhất có lẽ là bí quyết Spark giữ dữ liệu trong bộ nhớ với tốc độ truy xuất nhanh thay vì đòi hỏi tất cả vật dụng ghi vào hệ thống tập tin phân tán.
rộng rãi người đang hợp nhất hai phương thức bằng phương pháp dùng tốc độ xử lý của Spark trên dữ liệu được lưu trữ trong hệ thống tập tin phân tán của Hadoop. Chúng là đối tác hơn đối thủ của nhau.

Nóng: Trí tuệ nhân tạo/máy học (machine learning)
Lạnh: Dữ liệu lớn

ko ai biết cụm từ "trí tuệ nhân tạo" (AI) mang nghĩa là gì, và điều đó có ích cho những nhà tiếp thị. Họ tóm lấy những thuật ngữ của trí tuệ nhân tạo và nâng tầm phức tạp của các thuật toán xử lý khiến việc trên những file log và luồng click chuột của chúng ta. Dựa trên các thuật toán phức tạp sở hữu được từ nghiên cứu AI hàng nửa thế kỷ, chúng ta sở hữu cơ hội rẻ hơn bao giờ hết để phát hiện tín hiệu trong mớ hỗn độn. các công cụ đủ dòng từ framework máy học đến tính toán nhận thức, cho đến Watson của IBM, nhờ đấy giờ bạn có thể nhanh chóng giải quyết những vấn đề của mình. Mỗi công cụ mang độ hợp lý (máy) riêng, chúng hứa hẹn sẽ tiếp quản ngày càng rộng rãi việc phân tích dữ liệu và pháp y cho chúng ta.

Nóng: Game framework
Lạnh: lớn mạnh game từ đầu (native game development)

Đã mang một thời tăng trưởng game mang nghĩa là thuê phổ biến nhà phát triển để viết đa số thiết bị từ đầu bằng C. vững chắc tốn hàng đống tiền, nhưng kết quả mỹ mãn. Giờ không ai phung phí như vậy. toàn bộ các nhà phát triển trò chơi đã từ bỏ sự tự phụ trước đây và sử dụng những thư viện như Unity, Corona, hoặc LibGDX để tăng trưởng game. Họ không còn viết lệnh C phổ biến như lệnh gọi hàm thư viện. với gì xấu hổ lúc game không được viết từ đầu mà được làm ra từ cộng 1 nền tảng? đa số những nhà lớn mạnh đều thấy nhẹ nhõm và họ sở hữu thể dành thời gian hơn cho kịch bản, lời thoại, nhân vật và hình ảnh.

Nóng: Ứng dụng trang website đơn (Single-page web apps)
Lạnh: website

với nhớ khi URL trỏ tới những trang website chứa đầy hình ảnh và văn bản tĩnh? Thật đơn thuần khi đưa mọi thông tin vào trong 1 nhóm những trang web riêng biệt gọi là web. Đội ngũ làm vật lộn hàng giờ có sơ đồ site để làm sao cho nó thật dễ điều hướng.

những ứng dụng website thế hệ mới là "mặt tiền" của những cơ sở dữ liệu to với đầy nội dung. lúc ứng dụng website phải thông tin, nó lấy từ cơ sở dữ liệu và đổ nó vào khung tại chỗ. không bắt buộc đánh dấu dữ liệu có những thông tin thiết yếu để phục vụ cho 1 trang website. Lớp dữ liệu hoàn toàn tách biệt có lớp trình bày và định dạng. Ở đây, sự xuất hiện của điện toán di động lại là 1 yếu tố khác: một trang web duy nhất, làm đáp ứng khiến cho việc như một ứng dụng – nhờ vậy tránh được sự thao túng các nhà hàng ứng dụng.

Nóng: Ứng dụng web di động (Mobile web apps)
Lạnh: Ứng dụng di động thuần (Native mobile apps)

giả sử bạn với 1 ý tưởng xuất sắc cho nội dung di động. Bạn với thể vội vàng viết những phiên bản riêng biệt cho iOS, Android, Windows 8, và có thể cả hệ điều hành BlackBerry hoặc những hệ điều hành khác. Mỗi hệ điều hành bắt buộc 1 đội vững mạnh riêng tiêu dùng ngôn ngữ lập trình khác nhau. Sau ấy, cửa hàng ứng dụng của mỗi nền tảng "làm luật" trước khi ứng dụng có thể tới được người dùng.

Hoặc bạn sở hữu thể xây dựng 1 ứng dụng HTML và đặt nó trên một web để chạy trên toàn bộ nền tảng. nếu sở hữu thay đổi, bạn không phải cần quay lại cửa hàng ứng dụng, cầu xin một đánh giá nhanh cho bản sửa chữa lỗi. Giờ thì lớp HTML dựng nhanh hơn và chạy trên chip nhanh hơn, cách này với thể cạnh tranh sở hữu các ứng dụng thuần rẻ hơn.

0 nhận xét:

Đăng nhận xét