JavaScript là ngôn ngữ lập trình đầu tiên tôi chọn. Chà, tôi thực sự đã bắt đầu với HTML và CSS. Cũng giống như nhiều nhà phát triển web khác, sử dụng JavaScript là điều dễ hiểu. Điều này đơn giản là vì nó kết hợp rất tốt với HTML và CSS, đồng thời cũng thực sự nâng cao kỹ năng HTML/CSS của bạn. Tôi đã phát triển các ứng dụng và trò chơi bằng nhiều ngôn ngữ lập trình khác bao gồm Java, Swift, C++, Dart. Nhưng tính linh hoạt mà JavaScript mang lại là không thể so sánh được – mặc dù nó có thể bị coi là không tốt đối với người mới bắt đầu vì nó cung cấp nhiều tùy chọn hơn mức cần thiết để thực hiện một tác vụ đơn giản.
Ngày nay, JavaScript là một trong những ngôn ngữ mạnh nhất trên hành tinh vì hiệu suất và tính toàn năng của nó.
Cá nhân tôi cảm thấy JavaScript có tiềm năng thâm nhập vào rất nhiều ngành công nghiệp phổ biến như Học máy và Phân tích dữ liệu, nơi Python vẫn thống trị cuộc chơi. Nó thậm chí còn đang xảy ra với các công cụ như Tensorflow.js!
Tuy nhiên, điều này chắc chắn không phải là trường hợp của JavaScript trước đây. Trước đó, nó là một ngôn ngữ yếu, không hiệu quả và không được tán thành. JavaScript dành cho “những kẻ thua cuộc”.
Nhưng không còn nữa. Hãy xem JavaScript đã xoay chuyển tình thế như thế nào trong 10 năm qua, tại sao nó trở nên mạnh mẽ hơn bao giờ hết và tại sao nó vẫn tồn tại ở đây.
V8 thực sự là một công cụ JavaScript. Bạn có thể hỏi một công cụ JavaScript là gì? Công cụ JavaScript là trình thông dịch thực thi mã JavaScript. Công cụ JavaScript có thể được triển khai dưới dạng trình thông dịch tiêu chuẩn hoặc trình biên dịch just-in-time (JIT) để biên dịch JavaScript thành mã byte ở một số dạng.
V8 là công cụ JIT WebAssembly và JavaScript hiệu suất cao mã nguồn mở của Google, được viết bằng C++. Nó được sử dụng trong Chrome và trong Node.js, trong số những thứ khác. V8 có thể chạy độc lập hoặc có thể được nhúng vào bất kỳ ứng dụng C++ nào.
Đây là phần mềm tối ưu hóa cao mã JS của bạn và chuyển đổi nó thành mã máy để CPU thực thi. Một số tác vụ mà V8 xử lý là:
- Thu gom rác thải
- Biên dịch thành mã máy
- Bộ nhớ đệm nội tuyến
- nén con trỏ
- và tối ưu hóa nhiều hơn nữa
Trên thực tế, nén con trỏ là một kỹ thuật rất mới trong V8 để tăng cường tối ưu hóa bộ nhớ trong khi không ảnh hưởng đến hiệu suất. Nếu bạn là người đam mê, bạn có thể đọc thêm về cách nó được triển khai trên blog chính thức của V8.
Điều rút ra từ điều này là bạn có thể viết JavaScript và ngủ ngon giấc vào ban đêm vì mã JS của bạn nằm trong tay rất tốt.
JavaScript có một trong những hệ sinh thái trưởng thành nhất – nếu không muốn nói là trưởng thành nhất – mà một ngôn ngữ lập trình từng có. Cộng đồng JavaScript rất rộng lớn và rào cản gia nhập cực kỳ thấp.
Bạn có thể kích hoạt trình duyệt (được tìm thấy trên 100% máy tính cá nhân), mở bảng điều khiển và bạn sẽ thấy một công cụ JS đang chờ bạn chạy mã! Điều này chưa bao giờ xảy ra với bất kỳ ngôn ngữ lập trình phức tạp nào khác.
Như thể cộng đồng rộng lớn là không đủ, chúng tôi có npm
và yarn
hệ thống gói. Bạn đặt tên cho nó và có một gói cho nó trên npm
registry – mọi thứ từ tạo chuỗi ngẫu nhiên đến xử lý luồng và bộ đệm trong JavaScript. Có một câu nói rất nổi tiếng của các nhà phát triển JavaScript:
Những gì có thể được thực hiện bằng JavaScript, cuối cùng sẽ được thực hiện bằng JavaScript
Thật buồn cười, nhưng tôi tin điều này.
Nếu bạn tham gia với tư cách là người mới bắt đầu, có rất ít khả năng bạn gặp phải sự cố mà chưa ai gặp phải trước đây. Điều này là do tất cả các lỗi có thể xảy ra đối với các sự cố JavaScript đơn giản có thể đã được hỏi và lưu trữ trên các trang web như Stack Overflow.
Các framework và thư viện như React, Angular và Vue đang mở đường cho cách xây dựng các ứng dụng trong tương lai. Họ đang chuyển quan điểm sang lập trình khai báo thay vì mệnh lệnh, cái gì thay vì như thế nào. Điều này cho phép các nhà phát triển phát triển các ứng dụng chất lượng mà không phải lo lắng về mã hiệu suất cao bên dưới.
toàn năng
JavaScript có mặt trên:
- Giao diện người dùng (Trình duyệt)
- Mặt sau (Nút, Deno)
- Android/iOS (React Native, NativeScript, v.v.)
- Máy tính để bàn (Điện tử)
- Lai (Ionic)
Điều gì làm cho điều này có thể? Các công cụ JS như V8 được viết bằng C/C++ và thậm chí có thể được biên dịch trên các hệ thống nhúng! Đối với các nền tảng khác, vì các trình duyệt luôn hiện diện (như trên Andorid/iOS), chúng đi kèm với một công cụ JS mà sau đó có thể được sử dụng để chạy bất kỳ mã JS nào, ngay cả đối với các ứng dụng gốc trong trường hợp React Native.
Các tính năng và tiến bộ của cạnh chảy máu
Các tiêu chuẩn JavaScript được dẫn dắt bởi cộng đồng ECMA-262 TC39 và những người này thật nhanh! ECMAScript phát hành một tiêu chuẩn JavaScript mới mỗi năm (xem các tính năng mới của ECMAScript2020!). Bạn với tư cách là nhà phát triển thậm chí có thể yêu cầu thêm các tính năng mới vào ngôn ngữ.
Chẳng hạn, đây là một số tính năng tiên tiến đang chờ xử lý có thể đưa nó vào JavaScript trong tương lai gần:

Bạn có thể tìm thấy tất cả các đề xuất tại đây: Đề xuất TC39.
JavaScript NHANH CHÓNG và CÓ KHẢ NĂNG MỞ RỘNG
Tất nhiên, không có gì thực sự đánh bại C/C++/Rust, nhưng JavaScript rất nhanh – theo nghĩa là V8 có thể tạo mã được tối ưu hóa cao bằng cách theo dõi cách mã của bạn thực thi, trì hoãn các bit thực thi không được sử dụng và tối ưu hóa các đoạn mã được sử dụng nhiều lần. Đặc biệt là khi so sánh với các đối thủ cạnh tranh gần nhất của nó như Python. Với những tiến bộ trong V8, nó thậm chí còn trở nên hiệu quả hơn và bộ nhớ hiệu quả hơn.
JavaScript (Node) có khả năng mở rộng cao (với các siêu bộ như TypeScript). Chạy trên kiến trúc đơn luồng, mọi người thường chỉ trích Node vì thiếu môi trường phân luồng, nhưng thực tế thì điều đó không quan trọng lắm.
Cách bạn mở rộng ứng dụng Node không giống với cách bạn mở rộng ứng dụng đa luồng. Nút có nghĩa đen là “nút” – một nút duy nhất trong cây quy trình. Nút được thu nhỏ bằng cách chạy nhiều phiên bản của nó và quản lý cụm.
JavaScript dẫn đầu mô hình lập trình hướng sự kiện không đồng bộ của ngành và không cần các luồng để mở rộng quy mô. Thay vào đó, các quy trình Node riêng lẻ có thể được sinh ra để xử lý và sử dụng lõi CPU hoàn chỉnh. Tìm hiểu thêm về mở rộng quy mô Node sau!
Phần kết luận
Tôi yêu thích JavaScript và sử dụng nó, tôi đã tạo ra một nền tảng dành cho nhà phát triển dành cho những nhà phát triển như bạn. Ở đó, bạn không chỉ có thể học JavaScript mà còn nhiều ngôn ngữ khác như C, C++, Java, Node, Python, v.v.! Tham gia miễn phí tại đây và học hỏi với các nhà phát triển khác ngay trên trình duyệt của bạn!
JavaScript vẫn ở đây để tồn tại và thống trị ngành trong thập kỷ này. Bạn có đồng ý không? Nói với tôi về tôi Twitter và tay cầm Instagram – hãy kết nối!