Javascript làm được quá nhiều việc! Tôi cần một lý do để bớt thích nó

Hoặc là tập đánh Pascal :))

1 Like
  • [1,50, 20, 5].sort() == [1, 20, 5, 50]
    
  •  i = "10";
     i+1 == "101";
     i-1 == 9; 
    

:face_with_raised_eyebrow:

8 Likes

haha what an interesting example

Thêm mấy ví dụ cho cậu nữa:

5 Likes

CHUYÊN MỤC GIẢI THÍCH

  1. Cái thứ nhất: Chịu thua :rofl:

  2. Cái thứ 2, i = 10:

  • i + 1 = "101": Chỗ này javascript đã chuyển 1 thành "1" thành ra :
    i + 1 = i + "1" = "101"

  • i - 1 = 9: Chỗ này javascript đã chuyển i từ "10" thành 10, lí do vì chuỗi không trừ được chuỗi, thành ra:
    i - 1 = 10 - 1 = 9

3 Likes

“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()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. :smile:

4 Likes

Ngôn ngữ nào cũng có ưu nhược điểm :smiley:.
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
8 Likes

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

2 Likes

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ả … :smiley:

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

4 Likes
  • 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. :face_with_raised_eyebrow:
  • Đẹ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ích snake_case, tôi thấy snake_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 :smirk:
  • 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 :rofl: :rofl:
5 Likes

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 =]

4 Likes

PyCrush = Python + C + Rust + C-Sharp.
PyCrush = @I love Python. :penguin:

7 Likes

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ò.

3 Likes

@superthin À chỗ đó ghi nhầm :rofl:

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.

6 Likes

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 :)).

1 Like

Một bài phân tích khá chi tiết về Javascript meme :kissing:

5 Likes

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 =]]

2 Likes


2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?