Wednesday, September 3, 2014

So sánh lập trình trên PC và lập trình trên di động - THDC_SIE_20141_LêĐắcToàn_20138452 baitaptuan2

Lập trình trên thiết bị di dộng:        
1,Giới thiệu:

Trong guồng quay hối hả của cuộc sống hiện nay, thiết bị di động với ưu thế nhỏ gọn nhưng tích hợp cả một thế giới văn phòng và giải trí mini đã nghiễm nhiên trở thành người bạn đồng hành thân thiết của hầu hết mọi người, đặc biệt là giới trẻ năng động. Với sự tăng trưởng mạnh mẽ của thị trường này, không chỉ các hãng sản xuất di động mà cả các nhà phân phối và những doanh nghiệp công nghệ khác cũng chen chân vào cuộc đua phát triển ứng dụng mobile để khai thác hết các tính năng của thiết bị di động đỉnh cao như: iPhone, iPad, Samsung Galaxy, Nokia Lumia, Blackberry, HTC, … Việt Nam cũng không nằm ngoài xu hướng này. Điều đó đặt ra một yêu cầu là phải có đội ngũ nhân sự lập trình giỏi để cho ra đời các tiện ích độc đáo và thiết thực, đáp ứng đòi hỏi ngày càng cao của người dung.
2,Khái niệm:
Trước hết thế nào là lập trình và lập trình là gì thì có thể hiểu đơn giàn là thiết bị máy móc (Devices) không tự biết phải làm gì đề phục vụ một nhu cầu nào đó của con người. Nó chỉ có thể làm những gì được định sẵn với khả năng thực hiện nhanh và chính xác hơn con người (Keeper sẽ nói về AI - Artificial Intelligence sau, AI = Trí tuệ nhân tạo; khái niệm giúp máy móc thiết bị tự quyết định và tự đưa ra giải pháp tùy tình huống mà không cần con người vạch sẵn) vậy nên chúng ta phải lập trình cho máy tính.
3,Cơ bản khi lập trình cho thiết bị di động:
Vì vậy nếu muốn thiết bị cho ra kết quả của phép nhân từ 2 con số thì người lập trình phải viết 1 đoạn code cung cấp cho thiét bị 2 variables(biến số) represents (đại diện) cho 2 con số muốn tính toán(Calculate) và cách thức (Method) để cho ra kết quả phép nhân. Thiết bị khi đó không cần biết 2 con số là gì mà nó chỉ biết khi người sử dụng nhập 2 con số và click Enter thì nó chỉ việc lấy 2 số này và áp dụng công thức đã được lập trình viên định sẵn và trả về kết quả. Như vậy nếu chỉ có công thức nhân mà không có công thức cộng trừ hay chia thì nó chỉ có thể cho ra kết quả nhân. Do đó muốn nó cho ra kết quả cộng trừ hay chia thì người lập trình buộc phải cung cấp thêm cho nó công thức công trừ hay chia.

Lập trình cho các thiết bị di động như Mobile Phones, Portable Devices, Mobility Devices...Được gọi là lập trình di động.

Tùy thuộc vào khả năng, tính chất của từng loại mobile devices mà có những cách lập trình, ngôn ngữ, môi trường khác nhau. Hiện tại phổ biến nhất vẫn là Java MIDP/CLDC technology.
Ngôn ngữ để sử dụng lập trình cho những thiết bị di động hỗ trợ MIDP/CLDC được gọi là Java J2ME(Java 2 Micro Edition) và nó khác với J2SE , J2EE ... ở chỗ nó chỉ có những API và cơ chế tương thích với MIDP/CLDC và vì thế mới chạy được trên thiét bị hỗ trợ MIDP/CLDC.

Bên cạnh đó còn có Android SDK (Java Dalvik), iPhone SDK (iPhone OS) là những Software Development Kit dùng đề phát triển phần mềm cho các thiết bị chạy hệ điều hành Android hay iPhone OS.

Với loại này thì syntax, API, library và môi trường hoàn toàn khác với J2ME, và muốn lập trình cho Android hay iPhone OS... thì bắt buộc phải xem tài liệu về nó chứ không thể đem source code của J2ME rồi bắt chạy trên Android hay iPhone và ngược lại.

Mỗi chủng loại có những tools và material khác nhau nhưng programming concept thì không khác nhau. Tất cả đều vẫn phải sử dụng những thuật toán(Algorithm) như 

if satisfy this condition, do something, else, do something else

Các vòng loop như:

while this condition is still true, keep doing something until this condition is false

Programming concept thì như nhau nhưng khác nhau về câu lệnh(syntax) và library vì mỗi chủng loại khác nhau sẽ có những loại tài nguyên khác nhau giống như Window và Mac có giao diện khác nhau vì nó có library khác nhau do đó không thể sử dụng Window library mà cho ra giao diện của Mac 

          
Lập trình trên PC
1,Khái niệm:
Một lập trình viên viết mã nguồn bằng một ngôn ngữ lập trình cụ thể.
Các ngôn ngữ lập trình khác nhau hỗ trợ các phong cách lập trình khác nhau (còn gọi là các phương pháp lập trình). Một phần của công việc lập trình là việc lựa chọn một trong những ngôn ngữ phù hợp nhất với bài toán cần giải quyết. Các ngôn ngữ lập trình khác nhau đòi hỏi lập trình viên phải xử lý các chi tiết ở các mức độ khác nhau khi cài đặt các thuật toán. Thông thường, điều này dẫn tới thỏa hiệp giữa thuận lợi cho việc lập trình và hiệu quả của chương trình (thỏa hiệp giữa "thời gian lập trình" và "và thời gian tính toán").
Ngôn ngữ lập trình duy nhất mà máy tính có thể thực thi trực tiếp là ngôn ngữ máy (còn gọi là "mã máy"). Thời kỳ đầu, tất cả các lập trình viên viết chương trình toàn bằng mã máy, nhưng hầu như không ai làm việc này nữa. Thay vào đó, các lập trình viên viết mã nguồn, và một máy tính (chạy một trình biên dịch, một trình thông dịch hoặc đôi khiassembler) dịch nó qua một hoặc vài bước để bổ sung đầy đủ các chi tiết, trước khi bản mã máy cuối cùng được thực thi trên máy tính đích. Thậm chí khi cần điều khiển mức thấp của máy tính đích, các lập trình viên viết bằng hợp ngữ. Các lệnh của ngôn ngữ này có tính gợi nghĩa và tương ứng một-một với các lệnh trong ngôn ngữ máy.
Một số ngôn ngữ, thay vì được dịch ra mã máy, lại được dịch ra dạng nhị phân p-code (hoặc byte-code). Có các trình thông dịch tương ứng để thực thi dạng nhị phân này. Bytecode được sử dụng trong ngôn ngữ lập trình Java của Sun Microsystems cũng như họ ngôn ngữ lập trình .NET gần đây của Microsoft  Visual Basic trước phiên bản.NET


Sự khác nhau: cơ bản đó là lập trình trên thiết bị di động ngày nay đang la xu thế và được ưa chuộng hơn nhờ tính năng cơ động của nó,đem lại sự tiện lợi cho người sử dụng,đồng thời dung lượng cũng như bộ nhớ của các thiết bị di động nhỏ hơn nên khi lập trình cần tối thiểu input và tối đa output.Tuy nhiên lập trình trên pc vẫn là 1 chương trình gốc,nền tảng cho các lập trình trên di động sau này.

No comments:

Post a Comment