Cha Đẻ Của Ngôn Ngữ Lập Trình
Ngôn ngữ lập trình (tiếng Anh: programming language) là ngôn ngữ hình thức bao gồm một tập hợp các lệnh tạo ra nhiều loại đầu ra khác nhau. Ngôn ngữ lập trình được sử dụng trong lập trình máy tính để thực hiện các thuật toán.
Nên học ngôn ngữ lập trình nào?
Nếu bạn đang có định hướng theo mảng lập trình và mới bắt đầu tìm hiểu về ngôn ngữ lập trình thì để việc học dễ dàng hơn một chút, bạn nên chọn các ngôn ngữ lập trình bậc cao.
Lý do chọn ngôn ngữ lập trình bậc cao là chúng có cú pháp gần gũi với ngôn ngữ tự nhiên nên sẽ dễ dàng hơn cho người mới bắt đầu.
Ngoài ra, 10 ngôn ngữ lập trình phổ biến đã được đề cập bên trên cũng chính là những loại ngôn ngữ được sử dụng rộng rãi, ứng dụng cao, tính ổn định cao.
Đặc biệt là cộng đồng người học các loại ngôn ngữ này đông đảo, nhiều cộng đồng luôn sẵn sàng hỗ trợ về kinh nghiệm cũng như tài liệu tham khảo phong phú.
Việc học ngôn ngữ lập trình sẽ mang lại cho bạn nhiều trải nghiệm thú vị hơn là bạn nghĩ. Khi bạn có kiến thức nền tảng về một loại ngôn ngữ sẽ là tiền đề giúp bạn lĩnh hội các ngôn ngữ khác dễ dàng hơn.
Kể cả các lập trình viên chuyên nghiệp cũng phải sử dụng chuyển đổi qua lại nhiều loại ngôn ngữ lập trình trong sự nghiệp của họ.
Quy tắc đặt tên trong ngôn ngữ lập trình
Trong lập trình, việc đặt tên cho biến, hàm, lớp, module hay các thành phần khác rất quan trọng vì nó ảnh hưởng đến độ dễ đọc, dễ hiểu và dễ bảo trì của mã nguồn. Sau đây là một số quy tắc đặt tên thông dụng:
Những quy tắc này giúp cho mã nguồn trở nên dễ đọc, dễ hiểu và dễ bảo trì hơn trong quá trình phát triển phần mềm.
Ngôn ngữ lập trình bậc cao (High-level programming language)
Ngôn ngữ lập trình bậc cao là ngôn ngữ lập trình hiện đại, tự nhiên, độc lập và không phụ thuộc vào công cụ dịch hay thiết bị sử dụng. Ví dụ về một số loại ngôn ngữ lập trình bậc cao có thể kể đến là: Java, PHP, C, C++,…
Mặt khác, ngôn ngữ lập trình bậc cao có thể được phân loại theo phương pháp xây dựng và thực hiện chương trình như:
Tiềm năng của nghề lập trình hiện nay
Ngành công nghệ thông tin và lập trình năm 2023 đang phát triển với tốc độ nhanh chóng và có tiềm năng lớn trong tương lai. Một số tiềm năng dành cho người học lập trình như:
Với các tiềm năng trên, ngành lập trình đang trở thành một trong những ngành hot hiện nay. Và người học lập trình có cơ hội tiếp cận với nhiều cơ hội việc làm và phát triển sự nghiệp.
Ngôn ngữ lập trình nào dễ học dành cho những người mới bắt đầu?
Mỗi ngôn ngữ lập trình có độ khó khác nhau. Tuy nhiên, có những ngôn ngữ lập trình được coi là dễ hơn cho người mới bắt đầu như Python và JavaScript.
Một số thành tố thường thấy khác của một ngôn ngữ lập trình hiện đại
Nhiều ngôn ngữ lập trình hiện đại, nhất là các ngôn ngữ viết cho Windows, thường có cung cấp thêm một số lượng rất lớn các thư viện bao gồm nhiều hàm để hỗ trợ giao diện người dùng và các thiết bị đầu cuối.
Các ngôn ngữ chuẩn thường không đề cập tới sự cung cấp thư viện giúp cho việc thiết lập giao diện đồ họa (graphic interface). Nhưng hầu hết trong các ngôn ngữ hiện đại mà nhà sản xuất cung cấp cho các hệ điều hành đều có thêm thư viện các hàm và các biến toàn cục có thể dùng để nhanh chóng viết mã có giao diện phù hợp.
Tương tự trên, triết lý đằng sau của việc điều khiển theo sự kiện là để hỗ trợ cho việc đồng bộ sử dụng cùng lúc nhiều thiết bị đầu cuối như là chuột, bàn phím, máy in,... Việc nhận một mệnh lệnh từ chuột hay từ bàn phím phải được lập tức đồng bộ và thay đổi giao diện tức thời để cập nhật hoá.
Bản thân một ngôn ngữ sẽ không nói rõ là có hỗ trợ cho tính năng này hay không. Phản ứng và cập nhật dữ liệu theo thời gian thực là một hướng phát triển nhằm đáp ứng các nhu cầu đồng bộ hoá nhanh dữ liệu mà chúng có thể chia sẻ cho nhiều nơi hay là để thỏa mãn nhu cầu cần thiết đồng bộ hóa dữ liệu của các dịch vụ (ngân hàng, hàng không và quân sự chẳng hạn).
Ngoài các hỗ trợ cho các giao diện thì ngày nay hầu hết các hệ điều hành (Linux/UNIX, Netware và Windows) đều có khả năng đa luồng (multithreading) hay đa nhiệm (multitasking). Những khả năng này nâng cao hiệu quả của máy tính. Các ngôn ngữ, do đó thường có thêm các hàm, thủ tục hay các biến cho phép người lập trình tận dụng chúng. Việc viết mã cho kiến trúc đa luồng và đa nhiệm không đơn giản như viết mã cho các hệ thống thông thường. Người lập trình ngoài kỹ năng viết mã, còn phải luyện tập cách xử lý và đồng bộ nhiều thao tác được thi hành đồng thời trong một chương trình mà không gây ra ách tắc hay vi phạm các nguyên tắc quản lý bộ nhớ hay các quy tắc lập trình theo đa luồng hay đa nhiệm.
Lưu ý: Hầu hết các hệ điều hành hỗ trợ kiến trúc đa luồng hay đa nhiệm đều có khả năng thực thi những chương trình được tạo ra từ mã viết theo kiểu thông thường mà không đá động tới các chức năng đa luồng hay đa nhiệm. Điểm khác nhau là khi không dùng tới các ưu điểm đa luồng hay đa nhiệm thì chương trình đó sẽ không tận dụng được ưu thế phần cứng và phần mềm hỗ trợ (thường thì chương trình đó chạy chậm hơn).
Một phương ngữ (tiếng Anh: dialect) của một ngôn ngữ lập trình hay ngôn ngữ trao đổi dữ liệu là một biến thể (tương đổi nhỏ) hay phần mở rộng của ngôn ngữ đó mà không làm thay đổi bản chất bên trong của nó.
Lập hồ sơ tội phạm (profiling) được gọi là "hóa thân thành kẻ phạm tội". Đây là tập hợp các phương pháp giúp xác định nhiều dữ kiện khác nhau liên quan đến nhân thân của kẻ tội phạm, dựa trên các chứng cứ và chi tiết thoạt nhìn có vẻ không quan trọng, chẳng hạn như độ tuổi, ngoại hình, nghề nghiệp, thói quen, nơi cư trú, tình trạng hôn nhân, đặc điểm tính cách, các rối loạn tâm lý và nhiều yếu tố khác. Càng xác định được nhiều dữ kiện như vậy, hình ảnh kẻ tội phạm do nhà tội phạm học tạo ra càng chính xác, từ đó có thể so sánh với danh tính của các nghi phạm để xác định ai thực sự là kẻ phạm tội.
Lập hồ sơ tội phạm cũng có thể áp dụng đối với nạn nhân của tội ác. Ví dụ, khi tìm thấy thi thể không xác định, không có giấy tờ tùy thân, đầu tiên cảnh sát cần biết nạn nhân là ai để sau đó tìm hiểu chuyện gì đã xảy ra với người này, và nếu đó là một vụ giết người, thì tìm kẻ phạm tội. Nhưng làm sao để xác định danh tính của người chết, nếu không biết gì về người đó? Trong trường hợp này, những chi tiết nhỏ nhất cũng có thể có tác dụng: đối chiếu chúng với nhau, chuyên gia phân tích hồ sơ tội phạm có thể nói nhiều điều về người này. Càng có nhiều chi tiết, chân dung của nạn nhân càng chính xác. Người ta có thể biết người đó làm gì lúc sinh thời, sống ở đâu, có người thân và bạn bè hay không… Khi xác định được tất cả những yếu tố đó - dù chỉ là sơ bộ - sẽ dễ dàng tìm được người nào đó quen biết nạn nhân và xác định danh tính của nạn nhân.
Ngoài ra, các chuyên gia lập hồ sơ tội phạm còn có thể áp dụng kiến thức của mình khi giao tiếp với những người còn sống nhưng không quen. Trong những trường hợp này, họ có thêm nhiều yếu tố để phân tích: phong cách nói chuyện của người đó, từ ngữ sử dụng, cử chỉ, nét mặt và nhiều thứ khác. Tất cả những yếu tố này có thể hỗ trợ việc điều tra tội phạm, cũng như ngăn ngừa tội phạm: phương pháp này được các cơ quan an ninh tại sân bay, ga tàu, vệ sĩ của các nhân vật quan trọng sử dụng để phát hiện những kẻ khủng bố trong đám đông. Ngoài ra, phân tích hồ sơ tội phạm cũng mang lại lợi ích trong các cuộc phỏng vấn xin việc hoặc trong việc giải quyết xung đột ở một tập thể lao động.
Nỗ lực đầu tiên để lập hồ sơ kẻ phạm tội nhằm xác định danh tính của y được thực hiện vào cuối thế kỷ XIX, khi thuật ngữ "profiling" còn chưa xuất hiện. Điều này diễn ra trong quá trình điều tra các tội ác của Jack Đồ tể - tên sát nhân chuyên săn lùng những phụ nữ sống trong các khu phố nghèo, và danh tính thật sự của y cho đến nay vẫn là một ẩn số. Y đã sát hại ít nhất 5 phụ nữ sống trong khu ổ chuột, và tất cả họ đều bị giết một cách tàn bạo, khiến cả thành phố rơi vào hoảng loạn. Tham gia điều tra các vụ án giết người này, Cảnh sát London nhận được sự trợ giúp của một số bác sĩ, kể cả những bác sĩ phẫu thuật giàu kinh nghiệm, họ cố gắng tìm hiểu xem Jack Đồ tể đã giết hại các nạn nhân và cắt bỏ nội tạng của họ như thế nào.
Ngay lập tức các bác sĩ nhận ra rằng kẻ sát nhân là một người rất thông thạo về giải phẫu học, và không chỉ trên lý thuyết. Một trong số họ, bác sĩ phẫu thuật Thomas Bond, đã cố gắng hình dung xem tên cuồng sát này nghĩ gì trong đầu. Ông đã chia sẻ ý kiến của mình với cảnh sát, nhưng cuối cùng vẫn không bắt được kẻ phạm tội, vì vậy không thể đánh giá những kết luận của Bond có chính xác hay không. Tuy nhiên, nhờ ông, trên thế giới xuất hiện ý tưởng về việc có thể "đặt mình vào vị trí kẻ phạm tội". Và muộn hơn, vào thế kỷ XX, ý tưởng này đã được thử nghiệm một lần nữa bằng việc áp dụng tất cả những kiến thức về tâm lý học tích lũy được cho đến thời điểm đó.
John Douglas - người kế tục của Thomas Bond
Sau Thomas Bond gần một thế kỷ, việc lập hồ sơ tâm lý tội phạm được điệp viên FBI John Douglas thực hiện. Xuất thân là chuyên gia đàm phán giải cứu con tin, có lẽ, nhờ vậy ông học được cách phân tích tâm lý tội phạm, biết dùng những từ ngữ nào để thuyết phục một kẻ giết người thả nạn nhân ra và đầu hàng. Sau đó, Douglas tham gia điều tra các vụ án nghiêm trọng và ngày càng đào sâu vào tâm lý học tội phạm. Ông nghiên cứu hiện trường tội phạm, các bằng chứng khác nhau và đưa ra các giả thuyết về những đặc điểm tính cách của kẻ phạm tội. Trong tất cả các trường hợp bắt giữ tội phạm, hầu hết những suy luận của John Edward đều đúng.
Nhận thấy điều đó, John Douglas quyết định khái quát các kết luận của mình về một số kẻ phạm tội và từ đó phát triển lý thuyết về phương pháp lập hồ sơ tội phạm. Douglas bắt đầu giảng dạy tâm lý học tội phạm, đưa lý thuyết của ông vào các bài giảng, đồng thời tiếp tục phát triển nó qua các cuộc điều tra và phỏng vấn những tên giết người hàng loạt đang thụ án trong tù.
Chính trong những năm này, ông tiếp tục áp dụng các nghiên cứu của mình vào thực tiễn. Năm 1981, tại thành phố Atlanta, Mỹ, cảnh sát truy tìm kẻ giết 2 người đàn ông. Sau khi nghiên cứu những bằng chứng ít ỏi có được lúc bấy giờ, Douglas tự tin tuyên bố rằng kẻ phạm tội là một thanh niên da đen. Sau đó, ông mô tả chi tiết người này, và nhờ những gợi ý của ông, cảnh sát đã bắt giữ một thanh niên tên là Wayne Williams. Mặc dù y phủ nhận tội ác, nhưng tại phiên tòa, John Douglas đã đặt những câu hỏi khiến y mất bình tĩnh và cuối cùng thừa nhận đã gây ra không chỉ 2 mà còn một số vụ giết người khác.
Ban đầu, nhiều nhà tội phạm học phê phán phương pháp của Douglas và gọi nó là “profiling”. Những kết luận của ông bị coi là hoang tưởng và vô căn cứ. Tình hình đó kéo dài cho đến khi ông giải quyết đủ số lượng vụ án và phát hiện ra rằng các cuộc điều tra sử dụng phương pháp profiling thường mang lại kết quả tốt.
Các phương pháp của John Douglas không chỉ giúp bắt giữ những kẻ sát nhân mà còn biện hộ cho những người vô tội bị buộc tội dựa trên các chứng cứ gián tiếp. Đôi khi, công lý được phục hồi sau nhiều năm, ví dụ như vụ án 3 người bạn bị buộc tội giết 3 cậu bé năm 1993. Các bị cáo khi đó còn là thiếu niên đã phủ nhận tội danh của mình, nhưng tòa vẫn kết luận họ giết trẻ em theo nghi lễ Satan giáo.
Tuy nhiên, năm 2006, Douglas đã xem xét lại vụ án này, ông nghiên cứu tất cả tài liệu liên quan và nhận ra rằng kẻ giết 3 trẻ em có thể là một người đàn ông đã trưởng thành mà các em quen biết. Một cuộc điều tra mới được bắt đầu, và năm 2011, kẻ giết người thực sự đã bị bắt, còn 3 thiếu niên vô tội được trả tự do.
Sau khi nghỉ hưu, John Douglas viết một số cuốn sách về profiling, trong đó có các cuốn sách giáo khoa mà hiện nay được sử dụng để giảng dạy bộ môn này cho các nhà tội phạm học tương lai.
Ở Nga, chuyên gia đầu tiên về lập hồ sơ tội phạm được coi là Tiến sĩ khoa học y học Aleksandr Bukhanovsky. Sau khi tốt nghiệp Học viện Y khoa Rostov, ông bảo vệ luận án tiến sĩ tâm thần học và nhiều năm liền làm việc trong cả lĩnh vực thực hành lẫn nghiên cứu hành vi của những người mắc rối loạn tâm thần. Ông đã làm việc với cả những người điên “hiền lành” không gây nguy hiểm cho xã hội, nhưng ông được biết đến trong lịch sử chủ yếu như là chuyên gia về những kẻ giết người hàng loạt. Ông cũng phát triển phương pháp giúp hiểu được logic của những kẻ điên và dự đoán hành động tiếp theo của họ, những phương pháp này đã được sử dụng trong việc điều tra tội phạm.
Giống như đồng nghiệp người Mỹ, Aleksandr Bukhanovsky lúc đầu cũng bị phê phán: một số bác sĩ tâm thần ở Nga cho rằng ông đã điều chỉnh các dữ liệu cho phù hợp với lý thuyết của mình, rằng hành vi của những người bệnh tâm thần phức tạp hơn nhiều, không thể dự đoán được. Tuy nhiên, Aleksandr Bukhanovsky chỉ cần giúp cảnh sát điều tra một vụ án nổi tiếng là những người phản đối đã phải công nhận sự đúng đắn của ông. Chính nhờ ông, tên sát nhân Andrey Chikatilo đã bị bắt, và chính Bukhanovsky là người đã khiến hắn phải thú nhận tội lỗi của mình.
Khi Andrey Chikatilo đang bị truy lùng và cảnh sát chưa biết tất cả các nạn nhân của y, Aleksandr Bukhanovsky đã có thể phác thảo được chân dung tâm lý của y, nhờ đó các cán bộ điều tra đã tìm ra manh mối. Sau này, khi tên sát nhân bị bắt, người ta lại đề nghị Bukhanovsky làm tư vấn. Các điều tra viên hỏi bác sĩ tâm thần làm thế nào để thuyết phục y khai báo, nhưng thay vì đưa ra lời khuyên cho họ, ông quyết định tự mình trò chuyện với kẻ bị bắt.
Trước khi Bukhanovsky đến, Chikatilo đã bị thẩm vấn suốt 10 ngày, nhưng không khai báo gì, vì vậy các điều tra viên nghi ngờ rằng cuộc trò chuyện với bác sĩ tâm thần sẽ có kết quả. Tuy nhiên, Aleksandr Bukhanovsky tự tin vào khả năng của mình, ông không cần phải nỗ lực nhiều để lấy được lòng tin của tên giết người, khiến hắn tự nguyện kể ra những tội ác của mình.
Cuối cùng, sau cuộc "trò chuyện tin cậy" với Bukhanovsky, Chikatilo đã đồng ý cung cấp lời khai và thú nhận đã giết 56 người.
Ngày nay, phương pháp lập hồ sơ tội phạm được ứng dụng rộng rãi trong việc điều tra các vụ án khác nhau. Các chuyên gia làm việc theo phương pháp này thường được mời tham gia các cuộc điều tra nội bộ trong các công ty lớn, nơi ban lãnh đạo không muốn báo cảnh sát và "vạch áo cho người xem lưng". Ngoài ra, các chuyên gia lập hồ sơ tội phạm cũng có thể giúp xác định một người có nói thật hay không chính xác hơn cả máy phát hiện nói dối.
Tuy nhiên, không nên phóng đại năng lực “siêu phàm” của các chuyên gia lập hồ sơ tội phạm Họ không thể đọc được suy nghĩ hay nhìn thấu con người - họ chỉ đơn giản là nắm vững tâm lý con người và biết cách tiếp cận từng cá nhân một cách phù hợp.
Ngôn ngữ lập trình là nhóm ngành được quan tâm hàng đầu. Bài viết này sẽ giúp các bạn hiểu được ngôn ngữ lập trình là gì và giải đáp thắc mắc nên học ngôn ngữ lập trình nào. Cùng tìm hiểu thông qua bài viết dưới đây nhé!
Ngôn ngữ lập trình (programming language) là một tập hợp các quy tắc, cú pháp và ký hiệu được sử dụng để viết mã nguồn cho các chương trình máy tính hoặc phần mềm.
Các ngôn ngữ lập trình cho phép các nhà phát triển viết các hướng dẫn cho máy tính thực hiện các tác vụ nhất định, bao gồm cả tính toán, xử lý dữ liệu, lưu trữ, truy xuất cơ sở dữ liệu và giao tiếp với người dùng.
Mỗi ngôn ngữ lập trình có cú pháp, cách viết khác nhau và được thiết kế để phù hợp với các nhu cầu khác nhau. Các ngôn ngữ lập trình được sử dụng rộng rãi trong việc phát triển phần mềm, ứng dụng web và các sản phẩm khác.
Hằng năm, có hàng ngàn ngôn ngữ lập trình khác nhau được tạo ra. Những ngôn ngữ này có thể là dạng mệnh lệnh hoặc dạng khai báo.