Đặc điểm ngôn ngữ lập trình C#

Một phần của tài liệu Hệ thống bãi giữ xe thông minh và access control ứng dụng công nghệ RFID (Có code) (Trang 77)

4.1.2.1 C# là ngôn ngữ khá đơn giản

Chỉ khoảng 80 từ khóa và hơn mười kiễu dữ liệu được dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần, lập trình hướng đối tượng và hơn nữa nó được sáng tạo ra dựa trên những ưu điểm của C++, Java, Smalltalk và bổ sung thêm những phần mới. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại.

Trong C#, kiểu giá trị được cấp phát trên stack (ngăn xếp) và thời gian sống của chúng bị giới hạn trong phạm vi mà chúng khai báo.

Kiểu Mô tả

Object Lớp cơ sở của tất cả các đối tượng trong C# String Dãy các ký tự ở dạng Unicode

Sbyte Số nguyên có dấu 8 bits Short Số nguyên có dấu 16 bits Int Số nguyên có dấu 32 bits Long Số nguyên có dấu 64 bits Byte Số nguyên không dấu 8 bits Ushort Số nguyên không dấu 16 bits Unit Số nguyên không dấu 32 bits Ulong Số nguyên không dấu 64 bits Float Số chấm động có độ chính xác đơn Double Số chấm động có độ chính xác đôi Bool Kiểu logic – True or False

Char Ký tự Unicode

Decimal Số tập phân có 28 chữ số có nghĩa Bảng 4..1 Các kiểu cũa C#

4.1.2.2 C# là ngôn ngữ hướng đối tượng:

Không như các ngôn ngữ thủ tục, C# không quan tâm đến dữ liệu toàn cục hay các hàm toàn cục. Tất cả dữ liệu và phương thức được chứa trong khai báo cấu trúc hoặc class. Đây là khái niệm chính trong bất kỳ ngôn ngữ hướng đối tương nào. Tất cả dữ liệu và các phương thức khai báo trên dữ liệu cần phải được đóng gói như một đơn vị chức năng. Các dơn vị chức năng này là những đối tượng có thể sữ dụng lại, chúng độc lập và có thể tự hoạt động.

4.1.2.3 Khai báo lớp trong C#:

Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp và cho việc thực thi, đóng gói, kế thừa và đa hình – ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng nào. Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp đều được tìm thấy trong phần khai báo của nó. Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++. Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document của lớp. C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho phép đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện. Khi một lớp thực thi một giao diện thì nó hứa là nó sẽ cung cấp chức năng thực thi giao diện.

abstract default foreach object sizeof unsafe

as delegate goto operator stackalloc ushort

base do if out static using

bool double implicit override string virtual

break esle in params struct volatile

byte enum int private switch void

case event interface protected this while

catch explicit internal public throw

char extern is readonly true

checked false lock ref try

class finally long return typeof

const fixed namespace sbyte unit

continue float new sealed ulong

decimal for null short unchecked

Bảng 4.2 Từ khóa của ngôn ngữ C#

4.1.2.4: Hỗ trợ cấu trúc trong C#:

Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái nệm về ngữ nghĩa của nó thay đổi khác với C++. Trong C#, một cấu trúc được giới hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với lớp. Một cấu trúc thì không thể kế thừa từ một lớp hay được kế thừa nhưng một cấu trúc có thể thực thi một giao diện.

4.1.2.5 Cung cấp những đặc tính hướng thành phần:

Thành phần ở đây là những thuộc tính, những sự kiện. Lập trình hướng đối thành phần được hỗ trợ bở CLR (Common Languge Runtime) cho phép lưu trữ matedata với mã nguồn cho một lớp. Metadata mô tả cho một lớp, bso gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác. Mã nguồn chứa đựng (adsbygoogle = window.adsbygoogle || []).push({});

những logic cần thiết để thực hiện những chức năng của nó. Do vậy, một lớp được biên dịch như là một khối self – contained, nên môi trưởng hosting biết được cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó.

4.1.2.6 Hỗ trợ việc truy cập bộ nhớ trực tiếp:

Việc hỗ trợ bằng cách sử dụng kiểu con trỏ của C++ và từ khóa cho dấu […] trong toán tử. Các mã nguồn này là không an toàn, Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tương được tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng.

4.2 Giới thiệu các ngôn ngữ lập trình web: 4.2.1 Ngôn ngữ HTML: 4.2.1 Ngôn ngữ HTML:

HTML (Hyper Text Markup Language, tức là “ngôn ngữ đánh dấu siêu văn bản”) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web, nghĩa là các mẫu thông tin được trình bày trên Word Wide Web. Được định nghĩa như là một ứng dụng đơn giản của SGML, vốn được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp, HTML giờ đây đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì. Phiên bản mới nhất của nó là HTML 5. Tuy nhiên HTML không còn được phát triển tiếp. Người ta thay nó bằng XHTML.

HTML nói chung tồn tại như các tập tin văn bản chứa trên các máy tính nối vào mạng Internet. Các file này có chứa thẻ đánh dấu, nghĩa là, các chỉ thị cho chương trình hiển thị hay xử lý văn bản ở dạng văn bản thuần túy. Các file này thường được truyền đi trên mạng Internet thông qua giao thức mạng HTTP, và sau đó thì phần HTML của chúng sẽ được hiển thị thông qua một trình duyệt web (một loại phần mềm trực quan đảm nhiệm công việc đọc văn bản của trang cho người dùng), phần đọc email, hay một thiết bị không dây như điện thoại di động.

HTML động hoặc Ajax, có thể được tạo ra bởi số lượng lớn các công cụ, từ một chương trình soạn thảo văn bản đơn giản – bạn có thể gõ vào ngay từ những dòng đầu tiên – cho đến những công cụ xuất bản WYSIWYG (What You See Is What You Get) phức tạp.

Trong đề tài chúng em sử dụng HTML để làm các trang đăng nhập, trang menu và phần trang trí bổ sung.

4.2.2: Ngôn ngữ PHP: 4.2.2.1 PHP là gì? 4.2.2.1 PHP là gì?

Cái tên PHP ban đầu được viết tắt bởi cụm từ “Personal Home Page” và được phát triển từ năm 1994 bởi Rasmus Lerdorf. Lúc đầu chỉ là một bộ đạc tả Perl, được sử dụng để lưu dấu vết người dùng trên các trang web. Sau đó Rasmus Lerdorf phát triển PHP như là một máy đặc tả (script engine). Vào giữa năm 1997, PHP phát triển nhanh chóng trong sự yêu thích của nhiều người, PHP đã không còn là dự án cá nhân của Rasmus Lerdorf và đã trở thành một công nghệ web quan trọng. Zeev Suraski và Andi Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồi thánh 6 năm 1998, PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3). Cho đến tận thời điểm đó, PHP chưa một lần được phát triển chính thức, một yêu cầu viết lại bộ đặc tả được đưa ra, ngay sau đó PHP4 ra đời (phiên bản này có phần mở rộng không phải là *.php4 mà là *.php). PHP4 nhanh hơn so với PHP3 rất nhiều. PHP bây giờ gọi là PHP Hypertext PreProcesor. Đến ngày 14 tháng 7 năm 2005, PHP5 được công bố, ở phiên bản này có thêm PDO (PHP Data Object). Và cho đến nay phiên bản PHP6 được kỳ vọng sẽ lắp đầy những khuyết điểm của PHP ở các bản trước đây. Ví dụ như hỗ trợ namespace, hỗ trợ Unicode, sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viên PECL…

Hình 4.3 Rasmus Lerdorf Đoạn mã sau minh họa cách viết PHP lồng vào các trang HTML:

<html>

<head>

<title> Mã mẫu </title> </head>

<body>

<?php

echo “HELLO WORLD”;

?>

</body> </html>

Thẻ <?php và ?> sẽ đánh dấu sự bắt đầu và kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần mềm giao diện ứng dụng HTTP.

4.2.2.2 Tại sao phải sử dụng PHP?:

Như chúng ta đã biết, có rất nhiều trang web được xây dựng bởi ngôn ngữ HTML. Đây chỉ là những trang web tĩnh, nghĩa là chúng chỉ chưa đựng nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh và có thể được hỗ trợ bời ngôn ngữ JavaScript hoặc Java Apple. Những trang web như vậy người ta thường gọi là client – side. Tuy nhiên, Internet và Intranets đã được sử dụng cho các ứng dụng cần tới cơ sở dữ liệu. Các trang ứng dụng như vậy gọi là trang web động, bởi nội dung của chúng thya đổi tùy thuộc vào dữ liệu và người sử dụng. PHP là ngôn ngữ làm được điều như vậy. Bằng cách chạy PHP trên máy chủ Web server, bạn có thể tạo ra các ứng dụng có sự tương tác với cơ sở dữ liệu để tạo ra những trang web và đây gọi là trang web động.

Trong đề tài luận vằn này, chúng em sử dụng PHP để tạo các trang giao tiếp cơ sở dữ liệu cho phép thêm/xóa/sửa/cập nhật/tìm kiếm nhân viên và config thiết bị.

Hình 4.4 Quá trình thông dịch trang PHP

4.2.2.3 Sự khác nhau giữa web tĩnh (HTML) và web động (PHP):

Hình 4.6 Phương thức hoạt động của web động PHP

4.2.2.4 Những điểm mạnh của PHP:

 PHP thực hiện với tốc độ rất nhanh và hiệu quả. Một server bình thường có thể đáp ứng được hàng triệu truy cập tới trong một ngày.

 PHP hỗ trỡ kết nối tới rất nhiều hệ CSDL khác nhau.

 PHP cung cấp một hệ thống thư viện phong phú. Do PHP ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nen PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc dễ dàng như: gửi/nhận email, làm việc với cookie và nhiều thứ khác nữa (adsbygoogle = window.adsbygoogle || []).push({});

 PHP là ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với ngôn ngữ khác như Perl, Java. Nếu bạn đã biết ngôn ngữ C thì mọi việc sẽ hoàn toàn thuận lợi.

 PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể viết chúng trên Linux, Unix và các phiên bản Windows. Và có thể đem mã PHP này chạy trên các hệ điều hành khác mà không phải sửa đổi lại mã

 PHP là ngôn ngữ mã nguồn mở.

4.2.3 Ngôn ngữ JavaScript:

JavaScript theo phiên bản hiện hành là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được sử dụng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành Live Script và cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn là Java. Phần mở rộng .js thường được dùng cho tập tin mã nguồn JavaScript.

Phiên bản mới nhất của JavaScript là phiên bản 1.5, tương ứng với ECMA – 262 bản 3. ECMAScript là phiên bản chuẩn hóa của JavaScript. Trình duyệt Mozilla phiên bản 1.8 beta 1 có hỗ trợ không đầy đủ cho E4X – phần mở rộng cho JavaScript hỗ trợ làm việc với XML, được chuẩn hóa trong ECMA – 357

4.2.3.1 Java, JavaScript và Jscript:

Cùng thời điểm Netscape bắt đầu sử dụng công nghệ Java trên trình duyệt Netscape, LiveScript đã được đổi tên thành JavaScript để được chú ý hơn bời ngôn ngữ Java lúc đó đang được coi là một hiện tượng. JavaScript được bổ sung vào trình duyệt Netscape bắt đầu từ phiên bản 2.0b3 của trình duyệt này vào tháng 12 năm 1995. Trên thực tế, hai ngôn ngữ Java và JavaScript không liên quan gì đến nhau, ngoại trừ cú pháp của hai ngôn ngữ cùng được phát triển dựa trên cú pháp của C. JavaScript gồm 2 mảng là client – server thực hiện lệnh trên máy của end – user và web – server.

Sau thành công của JavaScript, Microsoft bắt đầu phát triển Jscript, một ngôn ngữ có cùng ứng dụng và tương thích với JavaScript. Jcript được bổ sung vào trình duyệt Internet Explorer bắt đầu từ Internet Explorer phiên bản 3.0 được phát hành tháng 8 năm 1996.

DOM (Document Object Model), một khái niệm thường được nhắc đến với JavaScript trên thực tế không phải là một phần của chuẩn ECMAScript, DOM là một chuẩn riêng biệt có liên quan chặt chẽ với XML.

4.2.3.2 Ứng dụng:

JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C. Giống như C, JavaScript có khái niệm từ khóa, do đó, V gần như không thể được mở rộng. Cũng như C, JavaScript không có bộ xử lý nhập/xuất (input/output) riêng. Trong khi C sử dụng thư viện nhập/xuất chuẩn, JavaScript dựa vào phần mềm ngôn ngữ được gắn vào để thực hiện nhập/xuất.

Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện chỉ với HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh….Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt giống như bộ gõ hiện đang sử dụng trên trang Wikipedia tiếng Việt. Tuy nhiên, trong mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo tiêu chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt. Một số công nghệ nổi bật dòng JavaScript tương tác với DOM bao gồm DHTML, Ajax và SPA.

Bên ngoài trình duyệt, JavaScript có thể sử dụng trong tập tin PDF của Adoba Acrobat và Adobe Reader. Điều khiển Dashboard trên hệ điều hành Max OS X phiên bản 10.4 cũng có sử dụng JavaScript. Công nghệ kịch bản động (active script) của Microsoft có hỗ trợ ngôn ngữ Jcript làm một ngôn ngữ kịch bản dùng cho hệ điều hành. Jscript.NET là một ngôn ngữ tương thích với CLI gần giống JavaScript nhưng có thêm nhiều tính năng lập trình hướng đối tượng. Mỗi ứng dụng này đều cung cấp mô hình đối tương riêng cho phép tương tác mới môi trường chủ, với phần lõi là ngôn ngữ lập trình JavaScript gần giống nhau.

4.3 Giới thiệu ngôn ngữ lập trình Python: 4.3.1 Lịch sử: 4.3.1 Lịch sử:

Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ động do vậy nó tương tự Perl, Ruby, Scheme, Smalltalk và Tcl. Python được phát triển trong một dự án mã nguồn mở do tổ chức phi lợi nhuận Python Software Foundation quản lý.

Theo đánh giá của Eric S. Raymond, Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu, như nhận định của chính Guido van Rossum trong một bài phỏng vấn của ông.

Ban đầu Python được phát triển chạy trên Unix. Nhưng rồi theo thời gian, nó đã “bành trướng” sang mọi hệ điều hành từ MS – DOS đến Mac OS, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của Python có sự đóng góp của nhiều cá nhân, nhưng Guido

Một phần của tài liệu Hệ thống bãi giữ xe thông minh và access control ứng dụng công nghệ RFID (Có code) (Trang 77)