Javascript khù khoằm thế nhỉ!

javascript

(Trâu Gia Gia) #1

Mình từng học C/C++/Java. Chưa thấy ngôn ngữ nào mà nó khùng khoằm rắc rồi như javascrpt. :joy::joy::joy:


(Florastamine) #2

(‏) #3

độ tâm thần sao bằng C++ được :dizzy_face:

modern C++ mấy ngày nay đang bị chửi rần rần vì độ điên kìa :rofl:

nỗi cái đặt tên iota cho 1 hàm đơn giản điền mảng số từ a tới a+n ko đã bị chửi, 1 bên chửi iota là cái quái gì vậy đặt tên kì quái chứng tỏ mình thông minh à, 1 bên chửi lại nếu anh nói anh ko biết iota là gì thì anh nên xấu hổ về bản thân chứ còn đem khoe à :rofl:


(Trâu Gia Gia) #4

iota la gì vậy bạn ơi :joy::joy::joy: chưa nghe qua


(Florastamine) #5

Nên đưa C++ ra khỏi list “từng học” vì nếu học C++ mà chưa thấy nó cũng “khùng khoằm” không kém thì chỉ có thể gọi là mới học C và một chút classes thôi. Đây là talk của Scott Meyers giải thích về độ “khùng” của nó


(Trâu Gia Gia) #6

cần học những gì để thấy nó khùm khoằm vậy bạn :confused: vậy ra mình mới biết sơ sơ về c++. :joy::joy::joy::rofl:


(‏) #7

thử đọc “vài” cái code Boost rồi qua đọc vài mẫu code Qt là thấy ko ai giống ai rồi

parse chữ số La Mã kiểu tâm thần: https://www.boost.org/doc/libs/1_69_0/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html

forbidden black magic =): https://www.boost.org/doc/libs/1_69_0/libs/assign/doc/my_vector_example.html

    my_vector<int> vec;
    vec = 1,2,3,4,5,6,7,8,9,10;

functional programming:

  int count = 0;
  std::for_each(v.begin(), v.end(), if_(arg1 > 2 && arg1 % 2 == 1)
    [
      ++ref(count)
    ]);

tribool là lạ: https://theboostcpplibraries.com/boost.tribool

range-v3 bị chửi lên bờ xuống ruộng:

std::vector<int> vi{1,2,3,4,5,6,7,8,9,10};
auto rng = vi | view::remove_if([](int i){return i % 2 == 1;})
              | view::transform([](int i){return std::to_string(i);});
// rng == {"2","4","6","8","10"};
std::vector<int> vi{2,3,2,5,6,2,8,7,3};
vi |= action::sort | action::unique;
// vi == {2,3,5,6,7,8}

fmtlib, chưa thấy ai chửi

fmt::print("Don't {}\n", "panic");
fmt::print("I'd rather be {1} than {0}.", "right", "happy");
fmt::print("Hello, {name}! The answer is {number}. Goodbye, {name}.",
           "name"_a="World", "number"_a=42);

std::string message = "{0}{1}{0}"_format("abra", "cad");

(HK boy) #8

fmtlib giống format của Python, em chưa thấy ai chửi mặc dù cách xếp cú pháp kì cục :joy:

JS kể ra vẫn còn trong sáng chán :joy: rối rắm ở mấy thứ lạ lạ như promise, async, đến những cái rất nhảm nhí như array với dict đều là object (bữa nọ debug đến ngu cả người vì cái này :sweat:), túm lại đây là một ngôn ngữ khá lạ lùng :joy:


(lite2210) #9

Ngôn ngữ nào thì cũng có cái khù khoằm riêng của nó. Khi bạn đã quen với nó rồi thì nó là chân lý, những cái khác sẽ là khù khoằm.


(Trần Hoàn) #10

Sau khi kinh qua một vài ngôn ngữ, đào sâu 1 ngôn ngữ, mình xin xác nhận JS khá là trong sáng và dễ học :joy:
Ít nhất là so với C++


(Đào An) #11

JS chỉ có 1 khái niệm cần phải hiểu thêm là lập trình bất đồng bộ thôi, chứ các cái khác thì còn dễ hơn Java, C++ nhiều.
Mấy cái như prototype thì có thể ko đụng vào cũng đc vì đã có ES6 và typescript.


(Văn Dương) #12

Mình đọc mấy cái mã nguồn js để chôm chỉa ít kỹ năng mà phọt cơm :smile:


(Văn Dương) #13

atoi hay itoa còn biết chứ iota thì đúng là chịu :stuck_out_tongue:
Nói chung bị chửi cũng không oan mấy :smile:


(Hung) #14

Vô đây hít nè :kissing_smiling_eyes:
https://wiki.theory.org/index.php/YourLanguageSucks


(doanguyen) #15

Mình hiểu ý của bạn OP, bản thân mình cũng nghĩ Javascript là ngôn ngữ khó học, nhất là dành cho những người mới. Bản thân JS cũng có thể coi là 1 wrapper của 1 ngôn ngữ lower level hơn (như V8 codebase là C++) nên để nói hiểu rõ ngọn ngành JS thì cũng phải hiểu xem C++ quản lý bộ nhớ ntn, optimize bytecode ra sao bla bla, cho nên việc so sánh JS/C++ dễ học hay không theo mình mang tính tương đối. Sau 1 thời gian tìm hiểu sơ qua thì mình thấy:

  1. Cộng đồng JS quá lớn mà lại phân mảnh quá nhiều, rất khó để follow theo hướng nào chuẩn.
  2. JS không có standard library, cộng với cộng đồng như trên nên phân mảnh lại càng rõ ràng hơn.
  3. JS hỗ trợ DSL nên tồn tại những syntax khá kỳ lạ (ví dụ như JSX, coffescript,…).

Đó chỉ là 1 vài suy nghĩ thôi, JS vẫn là 1 ngôn ngữ thú vị với m.


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