thảo luận nên học ngôn ngữ backend nào tiếp theo?

nvknvknvk

Junior Member
Chả là e là dev php thỉnh thoảng có code vuejs. thấy tình hình có vẻ php ko được lâu dài, muốn học 1 backend mới. Mong các bác chỉ giáo.
p/s: hồi đi học dc học mỗi java core nên biết 1 tí cơ mà thấy bảo cùng 1 chức năng code java dài lắm. ko biết phải ko ạ? :LOL:
 
typescript, node.js
golang nhanh gọn.
thích thể hiện, c#
swift cũng backend dc. Kotlin cũng dc.
nên thử golang, code giống c.
 

vanfsn

Member
p/s: hồi đi học dc học mỗi java core nên biết 1 tí cơ mà thấy bảo cùng 1 chức năng code java dài lắm. ko biết phải ko ạ? :LOL:
So sánh với ngôn ngữ nào mới được cơ chứ?
Đúng là Java dài dòng, nhưng vì dài dòng nên nó rõ ràng, sau này mọc ra nhiều kiểu viết ngắn gọn hơn. Nhưng tôi vẫn thích viết dài dòng!
P/S: Ý kiến cá nhân!
 

dangmt

Member
Chả là e là dev php thỉnh thoảng có code vuejs. thấy tình hình có vẻ php ko được lâu dài, muốn học 1 backend mới. Mong các bác chỉ giáo.
p/s: hồi đi học dc học mỗi java core nên biết 1 tí cơ mà thấy bảo cùng 1 chức năng code java dài lắm. ko biết phải ko ạ? :LOL:
Java dài dòng. Nhưng vì dài dòng nên nó dễ hiểu. Vậy bạn thích dễ hiểu hay ngắn gọn mà khó hiểu. Mình đảm bảo không có ngôn ngữ back end nào dễ hiểu = Java đâu. Chấp cả Python C# Ruby Pascal các kiểu.
 

nvknvknvk

Junior Member
Java dài dòng. Nhưng vì dài dòng nên nó dễ hiểu. Vậy bạn thích dễ hiểu hay ngắn gọn mà khó hiểu. Mình đảm bảo không có ngôn ngữ back end nào dễ hiểu = Java đâu. Chấp cả Python C# Ruby Pascal các kiểu.
So sánh với ngôn ngữ nào mới được cơ chứ?
Đúng là Java dài dòng, nhưng vì dài dòng nên nó rõ ràng, sau này mọc ra nhiều kiểu viết ngắn gọn hơn. Nhưng tôi vẫn thích viết dài dòng!
P/S: Ý kiến cá nhân!
xin lộ trình kèm giáo trình học java backend ạ
trước làm php + js toàn học 3 cái linh tinh, ko có roadmap rõ ràng
 

ThuyMy

Member
Java dài dòng. Nhưng vì dài dòng nên nó dễ hiểu. Vậy bạn thích dễ hiểu hay ngắn gọn mà khó hiểu. Mình đảm bảo không có ngôn ngữ back end nào dễ hiểu = Java đâu. Chấp cả Python C# Ruby Pascal các kiểu.
Cuối cùng anh này cũng có 1 cái comment ra hồn :rolleyes:. Riêng về khoảng dễ đọc, dễ hiểu, dễ maintain, dễ refactor thì bọn kia gọi Java bằng cụ.
Riêng khoảng IDE thì Java và C# mỗi thằng xưng bá 1 phương. Mấy ngôn ngữ kia đẻ cho lắm feature rồi cuối cùng cái IDE không ra hồn thì cũng vứt.
Như thằng Android chục năm về trước, đố các anh tìm đc ngôn ngữ ăn sẵn nào ngoài Java và C# giúp Android đuổi kịp Ios trong thời gian ngắn như vậy :rolleyes:
 
Last edited:

vipstarkpop

Member
Cuối cùng anh này cũng có 1 cái comment ra hồn :rolleyes:. Riêng về khoảng dễ đọc, dễ hiểu, dễ maintain, dễ refactor thì bọn kia gọi Java bằng cụ.
Riêng khoảng IDE thì Java và C# mỗi thằng xưng bá 1 phương. Mấy ngôn ngữ kia đẻ cho lắm feature rồi cuối cùng cái IDE không ra hồn thì cũng vứt.
Như thằng Android chục năm về trước, đố các anh tìm đc ngôn ngữ ăn sẵn nào ngoài Java và C# giúp Android đuổi kịp Ios trong thời gian ngắn như vậy :rolleyes:
Chuẩn rồi phen, đang làm java rồi nhảy qua php thấy các ông ấy code như shit, refactor khổ vl lại còn ko có unit test, chắc làm vài tháng rồi lại về lại máng lợn java thôi
 

fivelions

Junior Member
Ngáo Java à bác. Mình thấy C# cũng khác gì syntax Java đâu.
Thằng lềnh đấy ignore là vừa, phát biểu kiểu ngu học, gây war, ko đóng góp đc 1 chút kiến thức quần què gì, toàn đi chê mấy ngôn ngữ khác, tư duy cùi bắp, không trọng nền tảng, không quan tâm toán & giải thuật.

"Dev chẳng cần gì tới toán. Học lập trình thì chỉ cần biết chữ là học được.". :rolleyes:
"Con trỏ không có ưu điểm nào cả. Nhược điểm của nó là rất khó hiểu. Trong Java không có con trỏ. Nên rất dễ hiểu." :rolleyes:

Tư duy kiểu này mà đòi làm dev 🤣
 

ThuyMy

Member
Ngáo Java à bác. Mình thấy C# cũng khác gì syntax Java đâu.
Sai nhé bác, về mặt mental overhead thì thằng C# hơn Java rất nhiều. Ví dụ 1 số feature như extension method, automatic property, operator overloading, event/delegate, không phân rõ extends, implement... Nói chung thằng C# nhồi rất nhiều feature vô, tưởng là hay nhưng thật chất là gây nhiễu, làm code thêm rối.
Anh kotlin cũng tương tự, thêm nhiều feature vô cuối cùng code thì sướng thật nhưng lúc đọc lại mới biết mặt nhau =((
 

rola_takizawa

Junior Member
Sai nhé bác, về mặt mental overhead thì thằng C# hơn Java rất nhiều. Ví dụ 1 số feature như extension method, automatic property, operator overloading, event/delegate, không phân rõ extends, implement... Nói chung thằng C# nhồi rất nhiều feature vô, tưởng là hay nhưng thật chất là gây nhiễu, làm code thêm rối.
Anh kotlin cũng tương tự, thêm nhiều feature vô cuối cùng code thì sướng thật nhưng lúc đọc lại mới biết mặt nhau =((
Mình code gà, cũng có học OOP cỡ hơn chục niên trước, giờ hứng thú với Unity games mới học lại C#.
Công nhận với bạn là C# cho quá nhiều thứ feature mà tác dụng giống hệt nhau, cho vào vào chỉ tổ nhiễu =((
Có điều mình thích cái IDE của Microsoft, support hoàn hảo ngôn ngữ do chính ảnh tạo ra :sleep:
 
Last edited:

Nipin

Member
Làm gì cay dái thế fen :D.
cay cái gì đâu, cái metaprogramming is bad là câu mà người ta hay nói khi complain về ruby với rails.
nhưng những ngôn ngữ khác phần meta (template, macro etc) này hoạt động chủ yếu ở lúc compile program, có compiler check hết thông tin lại chả ngon choét.

nói chung là mấy thằng năm 2020 ra vẫn hở mồm nói metaprogramming is bad thì quan điểm của tôi là không nên lãng phí thời gian.

p/s: thử google "elixir metaprogramming is bad" không thấy kết quả, bù lại thì thấy bài này khá hay:
https://blog.appsignal.com/2019/07/16/elixir-alchemy-metaprogramming.html
 
Last edited:

ManhVoKiem

Junior Member
cay cái gì đâu, cái metaprogramming is bad là câu mà người ta hay nói khi complain về ruby với rails.
nhưng những ngôn ngữ khác phần meta (template, macro etc) này hoạt động chủ yếu ở lúc compile program, có compiler check hết thông tin lại chả ngon choét.

nói chung là mấy thằng năm 2020 ra vẫn hở mồm nói metaprogramming is bad thì quan điểm của tôi là không nên lãng phí thời gian.

p/s: thử google "elixir metaprogramming is bad" không thấy kết quả, bù lại thì thấy bài này khá hay:
https://blog.appsignal.com/2019/07/16/elixir-alchemy-metaprogramming.html
Em thấy thím hay code mấy ngôn ngữ không thịnh hành ở Việt Nam thế ợ. Mà làm toàn là những ngôn ngữ mới mẻ ( với mình, vs một số người nữa ). Em khá là ấn tượng. Trước giờ mình chỉ làm mãi 1 ngôn ngữ, 1 sản phẩm nên ko biết thế giới bên ngoài ra sao. Không rõ thím đã kinh qua những dự án gì mà được làm nhiều vậy.
Cũng đọc thấy thím dùng elixir, Crystal, Rồi Golang (không rõ làm chưa thấy thím chém một box nào đó), Nodejs ....
Rất mong được thím chia sẻ về ưu nhược điểm của các languge mà thím đã code :D
 

Nipin

Member
Em thấy thím hay code mấy ngôn ngữ không thịnh hành ở Việt Nam thế ợ. Mà làm toàn là những ngôn ngữ mới mẻ ( với mình, vs một số người nữa ). Em khá là ấn tượng. Trước giờ mình chỉ làm mãi 1 ngôn ngữ, 1 sản phẩm nên ko biết thế giới bên ngoài ra sao. Không rõ thím đã kinh qua những dự án gì mà được làm nhiều vậy.
Cũng đọc thấy thím dùng elixir, Crystal, Rồi Golang (không rõ làm chưa thấy thím chém một box nào đó), Nodejs ....
Rất mong được thím chia sẻ về ưu nhược điểm của các languge mà thím đã code :D
tôi chưa code golang, cơ mà golang thì ở vn mainstream vl ra sao lại bảo không thịnh hành nhỉ? đặc biệt là đợt trước blockchain đang trendy phải nói là tuyển rầm rộ.

elixir nếu chỉ làm webdev thì rất ngon, cơ mà làm cái gì ngoài webapp crud với realtime communication ra thì tôi thấy cũng khó có ứng dụng... cái sướng nhất tôi thấy là code elixir tôi không phải lãng phí đầu óc bao giờ, nếu bạn nào làm OOP phải cân nhắc cả ngày cái này nên là static method hay instance method, cái này nên inherit hay viết thành abstract/interface/mixin rồi include, thì sẽ thấy rất sướng vì trong elixir chỉ có module + function, tất cả function đều nhét ở trong module (ờ có file exs thì nó hơi khác, cơ mà file đó là script file không phải là library file). Nhân tiện thì nếu code elixir tử tế với pattern matching, typespec + guard clause ở khắp mọi nơi thì chắc cũng verbose ngang java, cho nên tôi mới tò mò mấy cậu kia đã dùng thử elixir chưa mà nói cứ như là verbose chỉ java mới có :-j

thằng elixir nếu đúng bài toán thì dùng cực sướng, cơ mà cần raw performance thì khá thọt, mà gần đây tôi làm cái translate engine (từ tàu sang vịt) cho nên cần tốc độ. thằng crystal cũng đíu phải là lựa chọn ban đầu của tôi (mặc dù tôi theo dõi nó từ 5 năm trước rồi), nhưng lúc đổi từ nodejs sang crystal thấy productive hẳn, ít nhất giờ cũng ra dc trang web tử tế thay vì lúc trước chỉ có cái mvp còi cọc (các bạn có thể check thử chivi.xyz xem sản phẩm :">)

cái project này tôi phải xử lý raw data cực nhiều, từ crawl html từ mấy trang nguồn truyện rồi parse ra dữ liệu, tới chỉnh sửa mớ từ điển. bởi vì dự án này là dính líu tới ngôn ngữ tự nhiên + con người cho nên exception nhiều vãi cứt, code outdate liên tục, sửa content cũng liên tục, dùng mấy thằng như java hay kể cả golang chắc tôi thắt cổ tự tử cmnr, crystal thì nhiều khi viết y như viết ruby script, đíu cần thêm type nó vẫn chạy được (vẫn type checking đầy đủ), chạy debug mode thôi performance cũng ỉa lên mặt ruby, same same nodejs, nói chung là tiện vl.

cơ mà tới giờ crystal vẫn đíu có windows support, IDE support (debugger mới xong, language server vẫn thọt), multithread vẫn coredump như cơm bữa (có thể là do WSL), nói chung risky vkl các bạn không nên dùng trừ khi là project cá nhân giống tôi :(
 
Top