thảo luận Tất tần tật về Go (Golang)

tôi không hiểu bạn quote tôi làm gì? bảo là bên tôi dùng golang cho nên golang là nhất? hay nói vì tôi dùng golang cho nên performance của golang cao?
Để ns golang phù hợp nhất với việc phát triển các dịch vụ hiện tại hoàn toàn có cơ sở, cái quan trọng nhất của một ngôn ngữ xuất phát từ định hướng căn bản ban đầu của ngôn ngữ đó chứ không phải là những thư viện hay frameworkd đồ sộ, đối với .Net hay java , định hướng căn bản của 2 nền tảng này là chạy trên 1 máy ảo nào đó, vì vậy khi triển khai hệ thống buộc phải cài thêm máy ảo vào, mọi chuyện sẽ chẳng có vấn đề gì khi mà toàng bộ stack của 1 hệ thống đều base hoàn toàn trên nền tảng đó, nhưng vấn đề đã hoàn toàn thay đổi nếu project là stack của nhiều ngôn ngữ khác nhau, khi một lập trình viên ở một ngôn ngữ khác muốn sử dụng 1 service được viết bằng .Net, nhưng lại ko biết làm thế nào để khởi chạy service đó ( họ sẽ phải cài .net runtime để có thể chay được), qua đó việc toàn bộ chương trình dược complie dưới dạng mã máy là 1 điều được hướng tới để đáp ứng với điều kiện không phụ thuộc vào bất kì nền tảng nào, chỉ cần copy binary và chạy, mọi thứ hoàn toàn đơn giản, những ngôn ngữ đáp ứng được yêu cầu này đang có c, c++ ,golang. Tuy nhiên c,c++ mắc một yếu điểm khá quan trong đó là project càng lớn, debug càng khó , thời gian biên dịch càng lâu, các vấn đề về con trỏ, leak memory, và vậy là chỉ còn mỗi golang giải quyết được vấn đề đó ( t đã làm qua những , js , c,c++,.Net,java,python còn những ngôn ngữ khác chưa làm nên chưa biết). Đó, trọng tâm của vấn đề nằm ở khả năng triển khai ứng dụng hơn là thư viện hay framwork vì những thứ đó có thể thay đổi hay cải tiến được, còn cái base thì ko bao h thay đổi. Và golang có 1 base quá tốt để phát triển.
 
Ông suy nghĩ vậy ngược với tôi vãi, tôi lại thấy cách mà ông nói là fail lại dễ hiểu, dễ dùng, cho performance tốt hơn, về vấn đề viết nhanh hay chậm cũng ko quan trọng lắm
ờ nói chung tuỳ nhu cầu sử dụng thôi, nếu bạn viết code để maintain lâu dài hoặc team nhiều người thì càng explicit càng tốt, tôi thì chủ yếu là solo hobby project thì tôi tìm thằng nào viết nhanh/tiện nhất có thể. mà ngoài read line ra tôi còn vài tiêu chuẩn nữa, ví dụ regex có hỗ trợ unicode đầy đủ không, mấy cái string library có unicode aware không, thư viện có đầy đủ không, thư viện không đầy đủ thì xử lý thế nào (lúc này thì khả năng viết binding tới c/c++ library, import/manipulate json/yml/txt, http server/client, socket, process các thứ lại đặt lên bàn cân)...

cơ mà nếu chỉ làm cho webdev thì dùng thằng đíu nào chả được, github/gitlab vẫn dùng ruby on rails, pornhub với đầy đủ tính năng socialnetwork, video playback, livestream các kiểu tôi thấy vẫn dùng php (cơ mà thằng này tôi thì chưa đọc bài nào về stack nó dùng, cho nên không dám chắc lắm, chỉ biết là nó vẫn dùng php)... cho nên tôi thấy ngôn ngữ nào bạn dùng cảm thấy thoải mái nhất, phù hợp nhất thì cứ dùng thôi, cãi nhau về cái này thì chắc đíu bao giờ có ngày kết :/

btw, tôi là thuộc loại early adopter, https://en.wikipedia.org/wiki/Early_adopter , tôi biết risk ở đâu và xử lý risk như thế nào, các bạn nào mà không quá tự tin vì vụ này thì tốt nhất đừng đú theo tôi, để rồi lại kêu gào khóc lóc. Với lại có nhiều người (giống tôi) thì programming không chỉ là job mà còn là hobby nữa, nhiều khi chém gió là đặt vào vị trí mình là hobbyist chứ không phải là professional, các bạn áp đặt tư tưởng "tôi cần cái này cho công việc công ty" vào thì nói chuyện không hợp đâu :(
 
Để ns golang phù hợp nhất với việc phát triển các dịch vụ hiện tại hoàn toàn có cơ sở, cái quan trọng nhất của một ngôn ngữ xuất phát từ định hướng căn bản ban đầu của ngôn ngữ đó chứ không phải là những thư viện hay frameworkd đồ sộ, đối với .Net hay java , định hướng căn bản của 2 nền tảng này là chạy trên 1 máy ảo nào đó, vì vậy khi triển khai hệ thống buộc phải cài thêm máy ảo vào, mọi chuyện sẽ chẳng có vấn đề gì khi mà toàng bộ stack của 1 hệ thống đều base hoàn toàn trên nền tảng đó, nhưng vấn đề đã hoàn toàn thay đổi nếu project là stack của nhiều ngôn ngữ khác nhau, khi một lập trình viên ở một ngôn ngữ khác muốn sử dụng 1 service được viết bằng .Net, nhưng lại ko biết làm thế nào để khởi chạy service đó ( họ sẽ phải cài .net runtime để có thể chay được), qua đó việc toàn bộ chương trình dược complie dưới dạng mã máy là 1 điều được hướng tới để đáp ứng với điều kiện không phụ thuộc vào bất kì nền tảng nào, chỉ cần copy binary và chạy, mọi thứ hoàn toàn đơn giản, những ngôn ngữ đáp ứng được yêu cầu này đang có c, c++ ,golang. Tuy nhiên c,c++ mắc một yếu điểm khá quan trong đó là project càng lớn, debug càng khó , thời gian biên dịch càng lâu, các vấn đề về con trỏ, leak memory, và vậy là chỉ còn mỗi golang giải quyết được vấn đề đó ( t đã làm qua những , js , c,c++,.Net,java,python còn những ngôn ngữ khác chưa làm nên chưa biết). Đó, trọng tâm của vấn đề nằm ở khả năng triển khai ứng dụng hơn là thư viện hay framwork vì những thứ đó có thể thay đổi hay cải tiến được, còn cái base thì ko bao h thay đổi. Và golang có 1 base quá tốt để phát triển.
ờ tóm lại là quote cho vui hả, ờ thế thì bỏ qua. chứ tôi lại tưởng phản đối tôi vì bảo golang official implemention performance nó ăn đứt llvm với gcc dù là compile time chỉ bằng 1/10 thì tôi thấy kinh tởm quá :s
 
Không liên quan mà @Nipin này là Ser Nya gì đó bên Voz cũ phải không nhỉ?

Cứ thread nào nào về programming language war là lại nhớ tay đó bên VOZ cũ, comment toàn là wall of text và rất hăng máu, cũng quảng bá Ruby, Crystal :sweat:
 
Không liên quan mà @Nipin này là Ser Nya gì đó bên Voz cũ phải không nhỉ?

Cứ thread nào nào về programming language war là lại nhớ tay đó bên VOZ cũ, comment toàn là wall of text và rất hăng máu, cũng quảng bá Ruby, Crystal :sweat:
ờ đúng rồi, ngoài tôi ra thì còn thằng nào viết wall of text nữa mà còn phải thắc mắc :-<
p/s: cơ mà tôi đíu hiểu lắm, cách comment của tôi ở diễn đàn quốc tế bình thường vkl, về việt nam toàn thấy bảo là hăng máu các kiểu.
 
Last edited:
giờ rảnh.

// đùa chứ các bạn vào hackernews xem mấy chúng nó comment toàn full màn hình, tôi đã là cái gì :(

Hợ hợ tôi chả cãi nhau nát vơi ông bên voz cũ :rolleyes:

Big community thì toxic là bt vì quá nhiều nước. Small thì quanh đi quẩn lại có mấy ông thôi. ko thương nhau đã chớ cắn nhau tối ngày. Nói chung thấy dev việt chỉ lo tối ngày cãi nhau nhanh chậm vô bổ.

có thời gian thì cải thiện cái này
Screen Shot 2020-05-19 at 11.10.47.png


độ đóng góp còn thua thằng Nigga châu phi, Iran hồi mọi nữa.

Trong khi là top 20 country clone + fork project nhiều của thế giới :censored:
 
Last edited:
ờ đúng rồi, ngoài tôi ra thì còn thằng nào viết wall of text nữa mà còn phải thắc mắc :-<
p/s: cơ mà tôi đíu hiểu lắm, cách comment của tôi ở diễn đàn quốc tế bình thường vkl, về việt nam toàn thấy bảo là hăng máu các kiểu.

Hăng máu là khen ông mà? Energetic, enthusiastic... đó :)
 
Hợ hợ tôi chả cãi nhau nát vơi ông bên voz cũ :rolleyes:

Big community thì toxic là bt vì quá nhiều nước. Small thì quanh đi quẩn lại có mấy ông thôi. ko thương nhau đã chớ cắn nhau tối ngày. Nói chung thấy dev việt chỉ lo tối ngày cãi nhau nhanh chậm vô bổ.

Editor wars, programming language wars...Tây ta gì chả nhiều. Không bao giờ giải quyết được điều gì, có mấy luận điểm cứ lặp đi lặp lại, không bao giờ đi đến đâu nhưng mà cứ khơi ra là lại có một đống comments.
Thread này cũng lên page 10 rồi đó :)
 
Editor wars, programming language wars...Tây ta gì chả nhiều. Không bao giờ giải quyết được điều gì, có mấy luận điểm cứ lặp đi lặp lại, không bao giờ đi đến đâu nhưng mà cứ khơi ra là lại có một đống comments.
Thread này cũng lên page 10 rồi đó :)
Nhưng mà tụi nó war nhiều thì cũng có nhiều community hỗ trợ nhau nhiều. Còn từ ngày tôi chơi voz cái gì mà thấy dính dáng tới lập trình thì cũng js cùi, go cùi, .net, java is da best. Quanh đi quẩn lại cũng vậy.
 
Nhưng mà tụi nó war nhiều thì cũng có nhiều community hỗ trợ nhau nhiều. Còn từ ngày tôi chơi voz cái gì mà thấy dính dáng tới lập trình thì cũng js cùi, go cùi, .net, java is da best. Quanh đi quẩn lại cũng vậy.
ờ có giai đoạn tôi cũng đéo thèm vào box cntt, quay đi quẩn lại chỉ có java, c# là nhất, chán chả buồn chém. kể ra như cậu naiveryan kia dùng rust ở vn là hàng hiếm lẽ ra cần nên nâng niu, nhưng mà tôi thói quen bashing rust rồi cho nên không kiềm chế được (mẹ mấy thằng rust trannies mỗi lần nói rust không tốt là nó downvote cho âm điểm)

p/s: on topic một tý thì bạn nào nếu đọc comment của tôi dùng nick cũ ở forum cũ thì có thể thấy là tôi khen golang chắc cũng từ năm 2015 rồi (giờ tôi chán rồi đéo khen nữa), đừng bảo là tôi bài go. cái chính là go nó không hợp ý tôi cho nên tôi không dùng thôi :/
 
ờ tóm lại là quote cho vui hả, ờ thế thì bỏ qua. chứ tôi lại tưởng phản đối tôi vì bảo golang official implemention performance nó ăn đứt llvm với gcc dù là compile time chỉ bằng 1/10 thì tôi thấy kinh tởm quá :s
Tuy perfomace ko bằng c,c++ thôi chứ đa phần các ngôn ngữ hiện tại ko thẻ bằng go đk
 
rust thì bỏ qua không nói, thằng golang kia compile như gió, chưa đầy 1s đã xong cái project mấy chục nghìn dòng, có thể dùng để thay thế mấy cái scripting language luôn được, lại compile ra được một cái static binary mang đi chạy khắp nơi mà không phải cài dependencies, phải nói là cực tiện. Đáng tiếc là syntax xấu, không expressive như mấy ngôn ngữ khác cho nên mấy thằng khác như crystal hay pony vẫn có cửa.

Tôi vẫn theo dõi bước tiến của Nim và Crystal. Theo tôi đấy vẫn là 2 ngôn ngữ có triển vọng tốt, dù rằng cần có hướng phát triển đúng đắn hơn!
 
Tuy perfomace ko bằng c,c++ thôi chứ đa phần các ngôn ngữ hiện tại ko thẻ bằng go đk
cái này thì thực sự rất khó nói, vì implementation của một ngôn ngữ nhiều khi nó chỉ phụ thuộc vào đã có bao nhiêu tài nguyên đổ vào optimize cho ngôn ngữ đó, chứ không phải là design, tất nhiên một số ngôn ngữ sử dụng non zero cost abstraction thì về lý thuyết là sẽ không nhanh bằng mấy thằng low level bare metal, nhưng mà ngày trước thằng luajit xuất hiện vả thẳng mặt các đàn anh thì câu chuyện nó trở nên phức tạp hơn khá nhiều.

quay lại thì c/c++ thực ra chỉ là reference, backend để biến c/c++ code sang executable thì nó là mấy cái compiler như gcc/clang tôi nói ở trên. Mà gcc/clang thì ngoài dùng cho c/c++ ra thì nó còn dùng cho cả tá ngôn ngữ khác nữa, trong đó có thằng nim và crystal kia (crystal thì chỉ dùng llvm thôi chứ không support gcc, nhưng mà cái này là ngoài lề), cho nên mấy ngôn ngữ mà backend là gcc hay llvm thì tốc độ hầu như là xêm xêm cả.

hai thằng gcc/clang thì như bạn cũng biết rồi đấy, ra code rất effective nhưng thời gian compile thì cực dài, go thì ngược lại, thời gian compile thì cực ngắn, nhưng vì thế thì cũng mất rất nhiều optimization, cho nên bảo go nhanh hơn mấy thằng kia nói thật với tôi rất khó tin, một thằng compile mất 10 phút mới ra binary mà chạy chậm hơn golang compile trong 2s thì còn mặt mũi nào với bàn dân thiên hạ?

btw, tôi cũng ít theo dõi golang, chỉ nhớ là thời gian đầu mấy cái benchmark thì tốc độ của go chỉ nhỉnh hơn mấy thằng interpreted, cơ mà mấy hôm trước check lại thì thấy cũng đã ngang ngửa java, thuộc tier 2 rồi, nói chung cũng khá shock, nhưng mà theo tôi thấy thì trừ khi golang vứt bỏ cái lợi thế compilation time (hoặc chia nhiều optimization level) ra thì kiểu gì cũng chậm hơn thôi, làm sao hack được physic?... cơ mà cái này cũng đíu chắc, lão Mike Pall viết luajit giờ sang làm cho google rồi, mà lão này thì trình viết language backend tởm vkl.

Hợ hợ tôi chả cãi nhau nát vơi ông bên voz cũ :rolleyes:

Big community thì toxic là bt vì quá nhiều nước. Small thì quanh đi quẩn lại có mấy ông thôi. ko thương nhau đã chớ cắn nhau tối ngày. Nói chung thấy dev việt chỉ lo tối ngày cãi nhau nhanh chậm vô bổ.

có thời gian thì cải thiện cái này View attachment 65183

độ đóng góp còn thua thằng Nigga châu phi, Iran hồi mọi nữa.

Trong khi là top 20 country clone + fork project nhiều của thế giới :censored:
không cãi nhau thì làm sao tiến bộ, tôi thấy cá biệt một số thành phần (ở vn thì đúng là nhiều) toàn cãi liều ra thì hầu hết người ta đều một tay gõ phím một tay lướt google, không cãi nhau thì làm sao biết concept mới mà mở rộng kiến thức, không nhiều kiến thức thì làm sao có hứng viết open source?
 

Cãi nhau trong voz này tôi gom lại rồi đó
js cùi, go cùi, .net, java is da best
. Vấn đề là cãi nhưng chả có giúp ich đc gì. Box thì toàn clone đi đa nhân cách, troll ngu

Như tôi tham gia mấy group FB thấy giá trị hơn nhiều, vì có người hỏi bài, có người chia sẻ thông tin, news. này nọ. bản thân tôi cũng ráng trả lời cái gì mình biết. FB group ăn đứt box cntt voz phải 5 lần.

ngôn ngữ nào thì chả có pros and cons. Nhưng tôi thấy trong đây chỉ thấy dựa vào cons rồi đánh giá nó thua cái ngôn ngữ X tao đang xài.
 
Last edited:
cái này thì thực sự rất khó nói, vì implementation của một ngôn ngữ nhiều khi nó chỉ phụ thuộc vào đã có bao nhiêu tài nguyên đổ vào optimize cho ngôn ngữ đó, chứ không phải là design, tất nhiên một số ngôn ngữ sử dụng non zero cost abstraction thì về lý thuyết là sẽ không nhanh bằng mấy thằng low level bare metal, nhưng mà ngày trước thằng luajit xuất hiện vả thẳng mặt các đàn anh thì câu chuyện nó trở nên phức tạp hơn khá nhiều.
...

Nhắc tới mấy cái optimize nhớ hồi còn học đại học thì học assembly/microprocessor. Cùng là code assembly nếu muốn optimize cũng ra performance rất khác nhau. Nhớ đại khái kiểu cùng lệnh MOV mà giữa register thì tốn vài ba clocks, còn chỗ khác thì tốn nhiều clocks, hay mấy lệnh đơn giản kiểu MOV thì tốn vài clocks còn mấy lệnh phức tạp kiểu DIV, MUL thì tốn cả trăm clocks. Nên ở assembly level cũng optimize kiểu thay lệnh phức tạp bằng các lệnh đơn giản để bớt được ít clocks, hay tận dụng dữ liệu ở register để thao tác, đủ các tricks để optimize từng chỗ...Mà mỗi dòng processor lại còn mỗi khác, chứ không phải code assembly nào cũng nhanh.

Cơ mà học xong thường là quên hết mịe nó vì có dùng bao giờ đâu, mấy cái low level ấy thực tế chả cần mấy (trừ chỗ rất cần nhưng chả đến lượt).
Giờ chỉ HTML/JS/CSS với cái backend bất kỳ là đã làm mệt nghỉ để kiếm sống rồi. Mấy cái war này nhiều khi xem thì cũng google đọc tí cho biết nhưng mà cuối cùng thì ngoài để chém gió thì cũng chả thấy được gì :)


không cãi nhau thì làm sao tiến bộ, tôi thấy cá biệt một số thành phần (ở vn thì đúng là nhiều) toàn cãi liều ra thì hầu hết người ta đều một tay gõ phím một tay lướt google, không cãi nhau thì làm sao biết concept mới mà mở rộng kiến thức, không nhiều kiến thức thì làm sao có hứng viết open source?

Thím cũng cãi nhau nhiều rồi vậy có cái opensource nào chưa để mình vào star :)
Với lại tóm tắt cái mấy cái kiến thức học được từ lang war/editor war dùng như thế nào trong project của thím với :)
 
Cãi nhau trong voz này tôi gom lại rồi đó . Vấn đề là cãi nhưng chả có giúp ich đc gì. Box thì toàn clone đi đa nhân cách, troll ngu

Như tôi tham gia mấy group FB thấy giá trị hơn nhiều, vì có người hỏi bài, có người chia sẻ thông tin, news. này nọ. bản thân tôi cũng ráng trả lời cái gì mình biết. FB group ăn đứt box cntt voz phải 5 lần.

Bên Group FB chỉ dành cho mấy cháu đang đi học thôi. Còn Voz là nơi tập trung những người đi làm rồi muốn nâng cao kiến thức. Mấy group FB tuổi gì mà so sánh.
 
Bên Group FB chỉ dành cho mấy cháu đang đi học thôi. Còn Voz là nơi tập trung những người đi làm rồi muốn nâng cao kiến thức. Mấy group FB tuổi gì mà so sánh.
Troll ngu nữa hả 😂

Ngoài twitter thì group fb giúp cập nhật kiến thức phai nói nhanh thứ 2. Siêng thì lươn reddit nữa.

Chứ có ai nói cập nhật kiến thức nhơ vào voz 😂
 
Back
Top