Hoặc là tập đánh Pascal :))
Javascript làm được quá nhiều việc! Tôi cần một lý do để bớt thích nó
-
[1,50, 20, 5].sort() == [1, 20, 5, 50]
-
i = "10"; i+1 == "101"; i-1 == 9;
haha what an interesting example
CHUYÊN MỤC GIẢI THÍCH
-
Cái thứ nhất: Chịu thua
-
Cái thứ 2,
i = 10
:
-
i + 1 = "101"
: Chỗ này javascript đã chuyển1
thành"1"
thành ra :
i + 1 = i + "1" = "101"
-
i - 1 = 9
: Chỗ này javascript đã chuyển i từ"10"
thành10
, lí do vì chuỗi không trừ được chuỗi, thành ra:
i - 1 = 10 - 1 = 9
“Không phải số” là số. Hay lắm Javascript! Nhưng hợp lý!
Tất cả đều có lý do. Riêng khoản so sánh ==
cũng đủ nổ não.
Còn lý do mà Math.max()
và Math.min()
trả về 2 giá trị ngược ngạo thì cũng dễ hiểu.
Tìm số lớn nhất thì biến cần trả về ban đầu phải là nhỏ nhất, tìm số nhỏ nhất thì ban đầu phải lớn nhất. Không có gì để tìm thì trả về giá trị ban đầu thôi.
Ngôn ngữ nào cũng có ưu nhược điểm .
JS đa năng nhưng mà hiệu năng ko cao, điển hình là mấy app viết bằng RN chạy thỉnh thoảng lag lag (vd điển hình là Momo).
Ko biết hết đời mình có ô nào chế đc ngôn ngữ nào hoàn hảo ko, tiêu chí của m như này:
- Viết ngắn gọn (như python)
- Build đa nền tảng, hiệu năng như C
- Đẹp như C#
- Memory Safety như rust
Khi mà JS vẫn đang độc bá ở Client, React native chậm ko phải do JS đâu Bạn,Tốc độ biên dịch JS ra mã máy rất nhanh nhá, máy ảo JS cũng rất nhanh rồi, mà do kiến trúc RN Bridge chậm chạp
riêng cái ngắn gọn như python là thấy ko thể nào hiệu năng như C rồi , phải chạy trực tiếp giảm bớt công đoạn thì hiệu năng mới cao đc điển hình viết bằng assembly rồi build luôn chỉ chạy bao hiệu năng nhưng khó viết , chưa kể chế ra ngôn ngữ mới mà ít người dùng cộng đồng sử dụng ít thì cũng vứt nên riêng cá nhân mình nghĩ ko bao giờ có loại ngôn ngữ nào hoàn hảo để đạp đổ mọi ngôn ngữ cả …
https://dev.to/johnfound/why-assembly-programs-are-faster-than-hll-programs-despite-that-the-compilers-are-so-advanced-51ha
http://apfel.mathematik.uni-ulm.de/~lehn/sghpc/gemm/index.html
- Rust cũng nhanh, build đa nền tảng, nhưng một số không hỗ trợ bới llvm nên kém C khoản này.
- Đẹp thì … tùy mắt nhìn mỗi người, có người thích
camelCase
nhưng cũng có người thíchsnake_case
, tôi thấysnake_case
đẹp và dễ nhìn hơn. ngoài ra, Rust là Keyword First Syntax tìm kiếm chỉ cần ctrl-F là ra - Ngắn gọn như python … chắc do python là dynamic typed thôi chứ bình thường thấy nó cũng không ngắn gọn cho lắm
có Crystal gì đấy: ngắn gọn, đep như Ruby, nhanh: thua C vài chục %, còn mem safety như Rust hay đa nền tảng thì chịu =]
PyCrush = Python + C + Rust + C-Sharp.
PyCrush = @I love Python
.
Chỗ này hình như cợưgn ión thì phải, phải chuyển từ “10” thành 10 mới tính toán số học được chứ.
Nhiều lý do để JavaScript là một ngôn ngữ “điên” lắm, mình thấy bực mình với anonymous function, rồi còn có callback, lại thêm trò sử dụng biến thoải mái trước khi khai báo nó,… nói chung nó linh hoạt & giống như… phò.
JS chưa biên dịch được ra mã máy bạn, mới chỉ biên dịch sang dạng Wasm bytecode thôi. Còn trong RN hay trình duyệt hiện nay vẫn là thông dịch.
Kiến trúc RN Bridge đã có đề xuất thay thế từ 2018 (TurboModules với Fabric) mà đến hiện tại thì vẫn chưa release nên là vẫn chưa ai dám sài trên product.
Thế mới là ước mơ mà bạn, mấy cái hàm của python mê quá, m toàn phải code lại mấy hàm của python sang ngôn ngữ khác để sài :)).
Một bài phân tích khá chi tiết về Javascript meme
chuẩn, hiệu ứng spotlight .
khi ta vừa phát kiến ra cái gì đó thú vị ta thường nghĩ ai cũng nên như thế.
nhưng thực tế thì nếu JS là đỉnh cao thì không còn lí do gì những thứ kia còn tồn tại =]]