THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 6

Ch

ng 1: L i đi c a ch

ng trình máy

ươ

ươ

tính

Tr v

ở ề M c l c

ụ ụ cu n sách

M c đích c a cu n sách này là h

ng d n b n suy nghĩ nh là m t nhà khoa h c máy tính. Tôi thích l i

ướ

ư

suy nghĩ c a nh ng nhà khoa h c máy tính vì đó có s k t h p nh ng đ c đi m hay nh t c a

ự ế ợ

ấ ủ toán h c,

kĩ thu t, và khoa h c t nhiên. Cũng nh nh ng nhà toán h c, nh ng nhà khoa h c máy tính dùng

ọ ự

ư

nh ng ngôn ng có quy cách đ di n đ t ý t

ng (đ c bi t là tính toán). Gi ng nh nh ng kĩ s , h

ể ễ

ưở

ư

ư ọ

cũng làm công vi c thi t k , g n k t các thành ph n t o nên m t h th ng và đánh giá nh ng u khuy t

ế ế ắ

ế

ầ ạ

ộ ệ ố

ư

ế

gi a các ph

ng án khác nhau. Gi ng nh nh ng nhà khoa h c, h kh o sát các đ ng thái c a h th ng

ươ

ư

ệ ố

ph c t p, đ ra các gi thi t, và ki m đ nh nh ng tính toán.

ứ ạ

ế

Kĩ năng quan tr ng nh t c a nhà khoa h c máy tính là

ấ ủ

gi i quy t v n đ

ế ấ

. Gi i quy t v n đ chính là

ế ấ

cách t o l p v n đ , suy nghĩ gi i pháp m t cách sáng t o, và trình bày gi i pháp m t cách rõ ràng và

ạ ậ

chính xác. Nh b n s th y, vi c h c l p trình chính là m t c h i tuy t v i đ b n luy n t p nh ng kĩ

ư ạ ẽ ấ

ệ ọ ậ

ộ ơ ộ

ệ ờ ể ạ

ệ ậ

năng gi i quy t v n đ . Đó là lí do t i sao ch

ng này l i có tên là “L i đi c a ch

ng trình máy tính”.

ế ấ

ươ

ươ

M t m t, b n s đ

c h c cách l p trình, v n b n thân nó là m t kĩ năng h u d ng. M t khác, b n s

ạ ẽ ượ ọ

ạ ẽ

dùng l p trình nh m t ph

ng ti n đ gi i quy t v n đ . Đi u này b n s d n d n làm đ

c trong quá

ư ộ

ươ

ể ả

ế ấ

ạ ẽ ầ

ượ

trình h c.

1.1 Ngôn ng l p trình là gì?

ữ ậ

Ngôn ng l p trình mà b n s h c là Java, v n là m t ngôn ng t

ng đ i m i (phiên b n đ u tiên do

ữ ậ

ạ ẽ ọ

ữ ươ

Sun phát hành vào tháng 5-1995). Java là m t ví d trong s các

ngôn ng l p trình b c cao

ữ ậ

; m t s

ộ ố

ngôn ng l p trình b c cao khác mà b n có th bi t đ n g m có Python, C, C++, và Perl.

ữ ậ

ể ế ế

Nh c đ n “ngôn ng l p trình b c cao”, có l b n cũng suy đoán đ

c r ng còn nh ng

ắ ế

ữ ậ

ẽ ạ

ượ ằ

ngôn ng l p

ữ ậ

trình b c th p

, đôi khi mà ta g i là “ngôn ng máy” ho c “h p ng ”. Nói nôm na, máy tính ch có th

th c hi n các ch

ng trình đ

c vi t b ng ngôn ng b c th p. Vì v y nh ng ch

ng trình đ

c vi t

ươ

ượ

ế ằ

ữ ậ

ươ

ượ

ế

b ng m t ngôn ng b c cao c n đ

c x lý tr

c khi chúng có th ch y đ

c. B

c ph tr này s t n

ữ ậ

ượ ử

ướ

ể ạ

ượ

ướ

ụ ợ

ẽ ố

thêm th i gian, đây là m t nh

c đi m nh c a các ngôn ng b c cao.

ượ

ỏ ủ

ữ ậ

Tuy v y, các u đi m là r t l n. Th nh t, vi c l p trình b ng ngôn ng b c cao d h n

ư

ấ ớ

ệ ậ

ữ ậ

ễ ơ nhi u

. Ch ng

ươ

trình đ

c vi t b ng ngôn ng b c cao đ

c vi t nhanh h n, n i dung ch

ng trình ng n h n, d đ c

ượ

ế ằ

ữ ậ

ượ

ế

ơ

ươ

ơ

ễ ọ

h n, và nhi u kh năng là chúng chính xác. Th hai, các ngôn ng b c cao có tính

ơ

ữ ậ

kh chuy n

theo

nghĩa ch y đ

c trên nhi u h máy tính khác nhau mà ít ho c không c n ph i s a đ i. Các ch

ng trình

ượ

ả ử

ươ

b c th p ch có th ch y trên m t lo i máy tính và ph i đ

c vi t l i n u mu n ch y trên các h máy

ể ạ

ả ượ

ế ạ ế

khác.
B i các u đi m nêu trên, h u h t các ch

ng trình đ u đ

c l p trình b ng ngôn ng b c cao. Các

ư

ế

ươ

ượ ậ

ữ ậ

ngôn ng b c th p ch đ

c dùng cho m t s ít nh ng ng d ng đ c bi t.

ữ ậ

ỉ ượ

ộ ố

Hai lo i ch

ng trình có nhi m v chuy n đ i các ngôn ng b c cao v d ng ngôn ng b c th p:

ươ

ữ ậ

ề ạ

ữ ậ

trình

thông d ch

trình biên d ch

. Trình thông d ch là m t ch ng trình máy tính, có nhi m v đ c m t

ươ

ụ ọ

ch

ng trình b c cao và th c hi n nó theo đúng nh ng gì mà ch

ng trình ch đ nh. Nó x lý ch

ng

ươ

ươ

ỉ ị

ươ

trình m t cách d n d n, nghĩa là đ c câu l nh đ n đâu thì th c hi n tính toán t i đó.

ế

Còn trình biên d ch thì có nhi m v đ c ch

ng trình và d ch nó hoàn toàn tr

c khi th c hi n b t kì

ụ ọ

ươ

ướ