![]() |
|
|
Thread Tools |
|
#371
|
|||
|
|||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
C++ bị chính cha đẻ của C và go nó chửi cho như con vì thiết kế ngu như bò.
Anh thiết kế API, thì việc đầu tiên là việc đặt tên hàm nó phải có tính discoverable,. Vâỵ mà nó lúc thì chơi viết đủ, lúc thì chơi viết tắt Một số ví dụ như stringstream, và str(). Đều lá xử lý string nhưng thằng thì viết tắt thằng thì viết đủ. Từng đó đủ thấy những thằng thiết kế ra C++ là những thằng khoogn có kinh nghiệm về làm API. Vi phạm ngay 1 trong 5 nguyên tắc cốt lõi của API, là tính discoverable và consistent Ngoài ra OOP trong C++ là kiểu OOP nửa mùa, vi phạm nguyên tắc OOP tùm lum. Một ví dụ đơn giản là iterator nhưng vẫn sử dụng dereference. Hoặc đưa ra frieend để phá vỡ tính đóng gói Những thứ này chứng tỏ team phát triển C++ kém. Anh làm việc với C mà khoong hiểu nó tức là anh cần phải học lại cấu trúc máy tính, và operating system. Nó sẽ hướng dẫn anh cách quản lý memory, từ đó anh map kiến thức từ OS sẽ giải thích được các vấn đề trong C/ Vì cha đẻ của C và golang đã bảo rồi, Mấy lão muốn viết OS, nhưng các ngôn ngữ thời đó đều gặp rào cản, nên lão làm ra 1 ngôn ngữ mới, để viết OS. Nên các vấn đề trong C, đều có thể được giải thích được dễ dàng khi anh học về HĐH Quote:
__________________
Thầy đã quy y cửa phật. Dùng lập trình để phổ độ chúng sinh |
|
#372
|
|||
|
|||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
C++ với C tính ra dễ học chứ bộ. Học C rồi qua C++ viết code C++ kiểu phong cách C vẫn dc chấp nhận, đâu ai nói gì. Mà học C++ phải biết OOP với biết STL mới pro. So với tụi js hay tụi ngôn ngữ khác thì tính ra đã quen rồi thì C++ học rất là phê các ngôn ngữ mới, và rất pro. Chứ mới vô nhảy qua cái này cái nọ liền thì nát là tất yếu. Ko có gốc.
|
| pepguard-violon-v1.0 |
| View Public Profile |
| Find all posts by pepguard-violon-v1.0 |
|
#373
|
||
|
||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
Quote:
Mà Java thì hạn chế Reflection, giảm performance kha khá, mà đám profiler, inspector... nó chạy cũng mệt hơn. Thời đại cloud native như giờ thì đám AOT lên ngôi vì triển khai nhanh nên hạn chế dùng Reflection để đám compiler nó còn build native. Mà giờ build system cũng có ai dùng chỉ 1 ngôn ngữ nữa đâu. Bên tôi dùng cả Java, Python, Go, Nodejs. |
|
#374
|
|||
|
|||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
không phải quá khó hay phức tạp.Mà tất cả là do vụ quản lý memory thôi.
Những ứng dụng lớn, rất dễ memleak. vì cho dù kinh nghiệm đến cỡ nào. Viết chương trinhg cỡ enterprise thì thế nào cũng dính memleak. lỗi do chủ quan lẫn khách quan. hiện nay golang nó giải quyết tốt vụ memleak này, nên go nó hoàn toàn có thể thay thế C++. Bằng chứng là người ta chuyển qua sử dụng golang rất nhiều/
__________________
Thầy đã quy y cửa phật. Dùng lập trình để phổ độ chúng sinh |
|
#375
|
|||
|
|||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
base là asm + c, qua nn mới dễ bỏ mẹ luôn :"> python đọc doc sang ngày sau code backend vù vù
__________________
Blog: quyennv.com |
|
#376
|
||
|
||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
Quote:
thày tụng cho con vài trang kinh nghe với ạ
__________________
[QUOTE][B]Chỉ có trải qua sự mài giũa như ở địa ngục mới có thể rèn luyện sức mạnh của thiên đường; chỉ có những ngón tay từng chảy máu mới có thể diễn tấu ra tác phẩm để đời. ----- R.D.Tagore -----[/B][/QUOTE] |
| wind_from_heaven |
| View Public Profile |
| Find all posts by wind_from_heaven |
|
#377
|
|||
|
|||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
C++ anh bảo crossplatfrom là sai nhé. Bản chất C++ rất khó code crossplatform. Nguyên nhân là do binary compatibility.
Binary compatibility Nghĩa là sao?? Tức là khi anh compile, nó sẽ chuyển function và variable thành 1 dạng mã hóa, gọi là macro, ví dụ hàm functionA, nó sẽ chuyển thành function122333A Dẫn tới 1 việc là các máy khác nhau, các compiler khác nhau, sẽ compile ra các macro khác nhau. Nên build trên win nó ra macro khác, build trên linux nó ra macro khác, thậm chí compiler 3.x và 4.x nó cũng ra khác. Nếu anh sử dụng API của win trên linux thì gần như là điuề không thể. Hoặc thậm chí là 2 phiên bản linux khác nhau cũng mệt mỏi Cho nên rất khó để build C++ cho crossplatfrom. Các người ta hay làm hiện giờ là viết bằng C++. sau đó wrap lại bằng C (C thì nó sẽ sinh ra macro giống nhau, C là ngôn ngữ bin compability), sau đó từ C API này có thể chuyển thành python API, ruby API ... Hoặc API cho bất cứ ngôn ngữ nào 1 cách dễ dàng bằng cách dugnf COM, CORBA, ... Đây có thể gọi là 1 trong 2 yếu điểm chí mạng của C++. Thầy có đọc 1 blog của tác giả viết ra C++, và lão chỉ nói sau khi thảo luận thì quyết định làm vậy là để cho theiets kế compiler 1 cách thoải mái. Nhưng mà đây là quyết dịnh ngu ngốc nhất của các anh thiết kế ngôn ngữ C++. NÓ làm cho C++ khong thể bủng nổ được. Các anh nên nhớ phần lớn trường ĐH người ta dạy C/C++. có nghĩa là nó là ngôn ngữ được học và nắm bắt nhiều nhât, người ta sẽ quen với câu lệnh và tư duy C/C++ trước, rồi mới chuyển qua các ngôn ngữ khác. Với thuanatj lợi như vậy, nếu nó được thiết kế tốt, chắc chắn sẽ bùng nổ, Nhưng rất tiến 2 yếu điểm chí mạng của nó, làm người ta bắt buộc phải thiết kế ra các ngôn ngữ khác. Thêm nữa quyết định này đi ngược với triết lý thiết kế của C. Túm váy là C và C++ là do 2 nhóm khác nhau phát triển, Những ông phát triển C đúng là siêu nhâm. Còn C++ thì không phải vậy, nó được thiết kế rất láo và thiếu kinh nghiêmhj Chính cha đẻ của C, lão cũng rất ngứa mắt với C++, vì những quyết định tào lao của nhóm này, nên lão mới hợp tác với google để làm ra golang. Golang giải quyết triệt để 2 bài toán vướng mắc của C++ 1/ Quản lý memory, golang dùng 1 deamon để coder khỏi quan tâm tới free memory 2/ Golang là ngôn ngữ có bin compatibility. Tức là viết crossplatform dễ dàng I just love programming in Go. Its fast, its efficient, it prevents bad habits and defines a formatting schema. What a dream. Not only that, it offers cross platform compilation and runs on all operating systems without the need for Go to be installed. Its compiled!
__________________
Thầy đã quy y cửa phật. Dùng lập trình để phổ độ chúng sinh |
|
#378
|
||
|
||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
Quote:
còn hàm là do thằng viết ra nó đặt trên thư viện stl chả liên quan gì đến bản thân c++ cả
|
|
#379
|
|||
|
|||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
Mời anh phân tích, thầy làm C++ tính tới giờ là hơn 10 năm rồi anh ạ, từ application tới embedded system, cloud và network. Luận văn master của thầy cũng là về optimize C++ compiler trên linux.. Thầy khá hiểu ngóc ngách của nó.
__________________
Thầy đã quy y cửa phật. Dùng lập trình để phổ độ chúng sinh |
|
#380
|
||
|
||
|
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019
Quote:
Bên c++ a nên làm về memory thì sẽ hiểu dc c/c++ hoạt động thế nào, dễ nhất là các dự án của nhật làm nâng cấp các ứng dụng 16-32 bit lên 64 bit là a sẽ thấy nó map các struct class c/c++ từ data chứ kok phải kiểu đọc data phân tích rồi alloc ra đâu, nói chung về bản chất c++ cũng là c thôi, vì mình từng viết macro để apply cái oop của c++ xuống code c rồi |
![]() |
|
|