Trinh Bien Dich va Trinh Thong Dich

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Trinh Bien Dich va Trinh Thong Dich

Bài gửi  HongThuanPhong(I22B) on 12/3/2013, 09:56

- Compilation: có ưu điểm là tạo ra được các file thực thi có khả năng thực thi ngay trên những dòng máy sử dụng bộ vi xử lí có kiến trúc giống nhau (như x86, x64, powerchip ...) hay hệ điều hành giống nhau. Khả năng tối ưu mã lệnh để đạt hiệu suất cao nhất cho từng dòng CPU hay hệ điều hành là rất cao. Nhưng cái bất tiện của nó là phụ thuộc rất nhiều vào cấu trúc CPU và hệ điều hành.
Ví dụ: một chương trình viết bằng C hay Pascal được biên dịch trong windows nhưng khi đưa sang linux thì không thể chạy được. Mặt khác trình biên dịch khá tốn thời gian vào việc link.
- Interpretation có ưu điểm là ít phụ thuộc vào cấu trúc vi xử lí hay hệ điều hành. Các chương trình viết bằng ngôn ngữ thông dịch có khả năng chạy đa nền (multiflatform) chỉ cần máy tính đó có cài một trình thông dịch (interpreter) phù hợp. Nhưng một số người lại cho rằng ngôn ngữ thông dịch chạy quá chậm so với ngôn ngữ biên dịch! Tuy nhiên đó là trước đây, bây giờ các ngôn ngữ thông dịch và cả trình thông dịch đã được cải tiến rất nhiều cả về hiệu suất và tốc độ. Mặt khác, trình thông dịch chiếm dụng bộ nhớ nhiều hơn trình biên dịch. Về việc này thì có lẽ chỉ hơn ngôn ngữ biên dịch một chút thôi, vì còn phải cấp bộ nhớ cho interpreter hoạt động.

HongThuanPhong(I22B)

Tổng số bài gửi : 6
Join date : 12/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

Sự khác biệt giữa trình biên dịch và IDE – Difference between popular compliers and IDEs

Bài gửi  VoMinhDien(I22B) on 12/3/2013, 10:08

Chúng ta thường nhầm lẫn về sự khác biệt giữa trình biên dịch (Complier) và môi trường phát triển tích hợp (IDE). Có lẽ đó là do thực tế các IDE thường đi kèm với một trình biên dịch. Bài viết này sẽ nêu ra một số điểm khác biệt giữa compliers và IDEs để chúng ta hiểu rõ hơn về 2 khái niệm này.

Trước khi đi vào so sánh complier và IDE thì ta nên tìm hiểu về khái niệm của chúng.

1. Trình biên dịch (complier)

- Trình biên dịch, còn gọi là phần mềm biên dịch, compiler, là một chương trình máy tính làm công việc dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập trình (mã nguồn), thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới (ngôn ngữ đích) và thường là ngôn ngữ ở cấp thấp hơn, như ngôn ngữ máy. Chương trình mới được dịch này gọi mã đối tượng. Cuối cùng tạo ra được file thực thi mà bạn có thể chạy

2. Môi trường phát triển tích hợp (IDE):

- IDE là viết tắt của (Integrated Development Environment) tức môi trường phát triển tích hợp. image

- IDE là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triển phần mềm. (ví dụ như NetBeans IDE).

- IDE thường đi kèm với một trình biên dịch (complier) cũng như gỡ lỗi và một số tính năng cao cấp như tìm kiếm, thay thế, tự động hoàn tất (auto-completion).

- Một IDE thông thường gồm:

Một trình soạn thảo dùng để viết mã.
Một trình biên dịch (complier) hoặc thông dịch (interpreter).
Trình gỡ lỗi (debuger) hỗ trợ dò tìm lỗi….

3. So sánh complier và IDE:

- Compliers

+ Có rất nhiều trình biên dịch phổ biến, trong đó có GNU Complier Collection (GCC) bao gồm gcc và g++ (GNU C complier và GNU C++ complier) và Microsoft Visual C và Visual C++ comGNUpliers.

GNU là viết tắt của GUJARAT NATIONAL UNIVERSITY.

+ Có rất nhiều trình biên dịch có các tính chất khác nhau như: Borland C/ C++, Intel C++ và [Open]Watcom complier. Chúng ta sẽ tập trung vào gcc và Visual C trong bài viết này vì nó là phổ biến nhất.

- gcc / g++:

Miễn phí, nguồn mở – gcc có thể được sửa đổi, và nó có thể được phát triển bởi hoặc phân phối bởi bất kỳ ai theo cấp phép của GNU General Public License (GPL).
Đa nền tảng (cross-platform) – gcc là một mã nguồn mở (open source), do đó nó thành công trong việc chuyển đến nhiều nền tảng khác nhau như: Linux, Microsoft, MAC OS. Nếu bạn đang sử dụng Linux thì gần như chắc chắn gcc đã được cài đặt sẵn. Bạn có thể cài đặt g++ một cách riêng biệt.
Nhanh – hiện đại, tối ưu hóa trình biên dịch gcc cung cấp các mã tương đối hiệu quả.

- Microsoft visual C/ C++

Thường có một phiên bản miễn phí nằm trong bộ Visual Express và bản tính phí nằm trong bản chính thức của bộ visual studio.
Trình gỡ lỗi (debugger) – thông thường thì trình gỡ lỗi của bộ visual studio rất mạnh và được cộng đồng lập trình ca ngợi.

- Trình biên dịch khác

Tồn tại song song với những trình biên dịch kể trên, phải kể đến OpenWatcom và Intel C++. Watcom là đa nền tảng (Windows, MS-Dos, Linux…) tối ưu hóa các trình biên dịch có thể cung cấp mã 16 bit (điều này gcc không thể làm được). Intel C++ là một trình biên dịch cung cấp rất kỹ lưỡng khả năng tối ưu hóa.

- IDE (Integrated Development Environment)

Các IDE phổ biến gồm:

DEV-C++ (lưu ý: bạn có thể sử dụng wxDev-C++ thay vì Dev-C++ vì đã rất lâu Dev-C++ chưa có bản cập nhật nào).visual studio
Code:: Bocks.
NetBeans.
Microsoft Visual Studio (phiên bản mới nhất hiện nay là Visual studio 2010).
Eclipse.
KDevelop.

(Tham khảo cplusplus.com)

VoMinhDien(I22B)

Tổng số bài gửi : 34
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Trinh Bien Dich va Trinh Thong Dich

Bài gửi  levan(I22A) on 15/3/2013, 00:53

hj.phần biên dịch và thông dịch này mình thấy trên lớp thầy giảng khá hay,nhưng cho phép mình bổ sung thêm ví dụ cho dễ hiểu nha:
Thông dịch:dịch từng dòng lệnh,dùng cho các ngôn ngữ lập trình "cao cấp"(ví dụ:Javascript,Php,. . .)
ví dụ:Khi người nước ngoài nói chuyện với người Việt thì để hiểu được nhau cần có 1 người là Thông Dịch Viên.Người này sẽ dịch lại toàn bộ những gì mà người nước ngoài kia nói cho mình hiểu được bằng cách dịch trực tiếp từng câu của người nước ngoài kia
Biên dịch:Dịch thông qua 1 complier rồi mới đưa ra ngôn ngữ,dùng cho các ngôn ngữ lập trình "cấp thấp"(ví dụ:ngôn ngữ C)
ví dụ:Khi 1 người nước ngoài muốn soạn thảo 1 văn bản ra tiếng việt mà lại không hiểu rõ tiếng việt thì họ sẽ tìm 1 người để biên dịch.Người này phải nghe toàn bộ những gì mà người nước ngoài kia nói rồi mới tiến hành soạn thảo văn bản ra ngôn ngữ là tiếng việt

levan(I22A)

Tổng số bài gửi : 40
Join date : 09/03/2013
Age : 25
Đến từ : Ho Chi Minh city

Xem lý lịch thành viên http://www.phattien.com

Về Đầu Trang Go down

Trình biên dịch (Compliation) và Trình thông dịch (Interpretation)

Bài gửi  HongGiaPhu (I22A) on 15/3/2013, 12:29

1/ Trình biên dịch
-Trình biên dịch còn được gọi là phần mềm biên dịch (Complier) là một chương trình máy tính dịch một tập hợp lệnh được viết bằng một ngôn ngữ lập trình nào trước đó (mã nguồn) dịch thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới (ngôn ngữ đích) và thường là ngôn ngữ ở cấp thấp hơn, như ngôn ngữ máy tính. Và dễ hiểu Code sau khi biên dịch ra thành 1 file Executable như file exe và đem ra sử dụng.
- Trình biên dịch sẽ dịch toàn bộ chương trình, cho ra chương trình đích được lưu lại trong máy tính rồi mới thực hiện chương trình.

Ưu điểm:
- Ràng buộc chặt chẽ về kiểu dữ liệu trong ngôn ngữ.
- Do trình biên dịch phụ thuộc vào hệ điều hành nên các chương trình có thể tận dụng toàn bộ đặc điểm đặc trưng của hệ điều hành.
- Viêc thực thi dữ liệu khá tốt, nhanh chóng.
- Bảo mật tốt vì trình biên dịch không thể can thiệp vào mã nguồn nên không thể thay đổi chức năng của chương trình

Nhược điểm:
- Trình biên dịch chỉ chạy trên 1 hệ điều hành xác định sau khi biên dịch ra ngôn ngữ máy.
- Ttrình biên dịch sẽ dịch mã nguồn thành mã máy trên 1 hệ điều hành xác định nào đó nên trình biên dịch sẽ phụ thuộc vào cấu trúc, tài nguyên, nền tảng của hệ điều hành đó.


2/ Trình thông dịch
- Trình thông dịch là một chương trình để thông dịch ngôn ngữ. Trong trình thông dịch, mã nguồn của chương trình sẽ không được dịch trước thành ngôn ngữ máy, mà khi trong khi vận hành chương trình mã nguồn mới được dịch và thực thi từng dòng lệnh 1.
- Trình thông dịch sẽ dịch từng câu lệnh một và chương trình đích sẽ không được lưu lại.
- Tất cả các ngôn ngữ không biên dịch ra mã máy một lần duy nhất điều phải sử dụng trình thông dịch (PHP, WScripts, Linux Shell, Python...).
- Các ngôn ngữ trình thông dịch thường được gọi là Script (được gọi là ngôn ngữ kịch bản). Như vậy ta dễ dàng thấy các chương trình viết bằng ngôn ngữ Script phải có một trình thông dịch kèm theo khi chạy chương trình.

Ưu điểm:
- Phát triển nhanh chóng.
- Linh động trong việc sửa mã nguồn nhanh chóng.
- Xử lí cú pháp khá tối ưu.
- Có thể chạy trên hầu hết mọi nền tảng (Flatform, hệ điều hành) nếu có trình thông dịch tương ứng.
- Tại vì không phải là ngôn ngữ máy (chỉ là Fille văn bản) nên không bị phụ thuộc vào HĐH, điển hình là PHP, Python.

Nhược điểm:
- Ngôn ngữ thông dịch chạy mang tính tính chất "Line-by-Line" (theo từng dòng) nên tốc độ thực thi không nhanh bằng các chương trình viết bằng ngôn ngữ biên dịch (C, C++, VB...) chuyên trực tiếp viết ra ngôn ngữ máy.

HongGiaPhu (I22A)

Tổng số bài gửi : 25
Join date : 10/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

Thông dịch và Biên dịch

Bài gửi  NguyenThiThom(I22A) on 17/3/2013, 00:34

Trình biên dịch sẽ dịch mã nguồn sang mã máy 1 lần duy nhất, và sau đó chương trình sẽ chạy 1 mình trên HDH.
Còn trình thông dịch thì sẽ dịch chương trình sang mã máy mỗi khi chạy. Do vậy chương trình của bạn không tự chạy 1 mình được mà phải cần có bộ thông dịch nạp lên trước.
+ Xét về ưu điểm và nhược điểm :
Về không gian:
- Về file trên đĩa thì file exe thường có dung lượng to hơn file source nhiều. Tuy nhiên, file exe lúc này đã là mã máy, nên trên đĩa nó bao nhiêu thì load lên memory nó sẽ xấp xỉ bấy nhiêu. Với các chương trình thông dịch thì trên memory còn có bộ thông dịch, và bộ thông dịch phải load chương trình nguồn lên rồi dịch thành mã máy...cho nên thường quá trình chạy 1 chương trình thông dịch sẽ tốn memory hơn.

Về thời gian:
- Trình biên dịch tốn thời gian dịch, nhưng chỉ 1 lần duy nhất.
- Trình thông dịch thì mỗi lần chạy sẽ chuyển chương trình của bạn sang mã máy, mỗi lần dịch thì thời gian tốn ít thôi, nhưng bù lại có thể lần nào chạy cũng phải dịch (trừ khi bộ thông dịch cache lại kết quả của lần dịch trước đó).

NguyenThiThom(I22A)

Tổng số bài gửi : 28
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Trinh Bien Dich va Trinh Thong Dich

Bài gửi  Sponsored content Today at 06:44


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết