Trở lên trên
Viết bình luận15 Bình luận
  • vadaihiep
    Machine learning toàn viết bằng Python. Hôm trước cũng mày mò thử, công nhận là viết cái này nhanh thật.
    • aaveidt
      @vadaihiep linh tinh nào, tensorflow chỉ xài Python làm API language.
      còn core của nó code = C++ và CUDA (Nvidia's language for GPU programming).
      Xài Python performance = 1/20 C++

      Python đc mỗi cái code ngắn, còn so với mấy thằng cùng lớp scripting như nodejs, php còn thua xa, chứ tuổi tôm mà leo lên ngồi hàng static như C++, Java, Go, Swift ...

      Nhìn chung làm cái j cần tới intensive CPU (game engine) và cần performane, ko ông nào qua nổi C, C++.

      Việc thống kê most viewed questions trong bài này ko nói lên điều gì và cần đặt câu hỏi về tính chính xác.

      Thống kê chính thức trên Stackoverflow 2016, Javascript cũng là no 1, python còn thua xa Java, PHP
      https://goo.gl/whSb3T

      Tổng quan thì Javascript mới đứng ở vị trí số 1. Thống kê ít nhất 3 năm nay với độ bá đạo của NodeJS và React
      https://goo.gl/pss81Z
    • TrNgo
      @aaveidt Riêng về ngôn ngữ, bài này người ta đang bàn đến việc tốc độ growth và dự báo. Thực tế những cái trên bác nói không sai nếu đem so sánh về hiệu năng nhưng lại không đúng lắm cho trường hợp dùng nó vào việc gì. Ví dụ người ta chả dại gì dùng Py để code web, tương tự như nodeJS dùng để code web cũng được nhưng tốt nhất không nên. Thằng Py nó growth nhanh đơn giản nó có những thế mạnh như bác nói đấy code ngắn, thoải mái, sử dụng trong các api làm việc với data ngon ..vv Đặc điểm nữa là cộng đồng làm nó đang lớn dần dẫn đến việc kế thừa lẫn nhau rất tốt.

      Chả dại gì 1 job có cả ngàn thằng khác làm rồi, giờ mình đi code lại bằng C, C++ cho mệt
    • vadaihiep
      @aaveidt Em nói machine learning lib nói chung chứ ko nói riêng thằng tensorflow. Về lĩnh vực này thì em ko rành nhưng xem showcase trên github thì khá nhiều repo viết = python chứ không chỉ là api đâu ạ.
      https://goo.gl/bDbA6E

      Còn về độ phổ biến thì em nghĩ nó sẽ sớm vượt các ngôn ngữ khác vì sự dễ học, dễ đọc, dễ viết. 1 ông kỹ sư Google cũng nói “Python where we can, C++ where we must.”
      https://goo.gl/prmDbj
    • aaveidt
      @trngo Nếu so ra về tuổi đời thì Python còn già hơn cả php, javascript, nên so sánh growth rate thì nên kèm thời gian vào, tính trên thời gian thì mới ra đc thằng nào nhanh hơn thằng nào. Còn mình nói thống kê vào tags, trends ở trên lại không chính xác là vì sao?

      VD JS: người ta sẽ tạo câu hỏi về cả công nghệ, framework của JS, bao gồm react, node, npm ... chỉ có tag javascript khi gần tham vấn về syntax.
      Tương tự với C++, C#, Java ... search C# sẽ tụt như tụt quần qua các năm, nhưng không phải growth rate của cnó giảm, Unity vẫn xài C#, Unreal, Cocos xài C++, Android = Java, dev nó sẽ gán tag, đặt câu hỏi về framework, engine nhiều hơn là về ngôn ngữ.

      Những ngôn ngữ đã trường thành nó không có gì thay đổi nhiều, document lại vốn đã rõ ràng và quá nhiều rồi, nên lượng question về nó ít là dễ hiểu (vì hỏi loanh quanh về syntax cũng chỉ có nhiêu đó).

      Lượng question mới đc tag python tăng có thể vì những năm qua quá ít người xài, giờ Tensorflow chọn nó và 1 số thứ ứng dụng được thì sẽ raise lên đc 1 đống, nhưng khi ổn định rồi thì sẽ lại chả ai hỏi về nó cả.

      @vadaihiep bạn mở kỹ từng lib
      List cho bạn trong top 10 ở chính link bạn gửi
      4 cái là C++, 2 cái Javascript, 1 Scala, 3 cái Python thì có 1 cái run on Tensorflow (C++) (https://goo.gl/WzZbn2)
      1 cái thì chỉ 33% viết = Python, 32% = C++ (https://goo.gl/b8CvTG)

      Performance muốn ngon, không trượi đi đâu ngoài C/C++ đc.
      Còn thứ gì Python làm được thì vô số ngôn ngữ # cũng làm được và ở performance cao hơn.
    • TrNgo
      @aaveidt em thì thấy giờ nó được quan tâm nhiều đấy. Thấy các trường ĐH vn cũng đưa vào giảng dạy cả rồi
    • aaveidt
      @trngo Cái này thì mình công nhận, ở Mỹ cũng vậy mà, vì Python dễ học nhất, như trước đây từng dạy PHP thời bùng nổ internet-web thôi.

      Phổ cập lập trình thì nên dạy thứ dễ tiếp cận, chứ không khổ như xưa, tương ngay C++ vào nhập môn, sau thì C#, Java. Nhưng lên level cao hơn thì #, ít chú chịu follow lắm, vì Python không là không đủ, kiểu gì cũng phải học thêm. Với mình performance là tối quan trọng, thứ 2 là dev time.

      Hiện chỉ có Javascript là đáp ứng tốt nhất: Web đc, app được, server side đc, gaming đc nốt.
      Bạn code Python ngắn hơn đc 10% thì dev time cho multiple platforms tăng gấp 10 lần cũng chả để làm gì.
      Còn nếu cứ cho là có lợi thế chỉ về AI không thì tính ứng dụng quá giới hạn.
    • giongto35
      @aaveidt ngôn ngữ dễ học, dễ bắt đầu, Thời đại này nhiều người mới học tin hơn xưa, 90% sẽ bắt đầu bằng python nên đi hỏi nhiều. Python hỗ trợ thực nghiệm tốt, phù hợp làm toán, viết ML nói chung chứ ko chỉ tensorflow. Scripting cũng đơn giản, đỡ hơn viết bash.
      Startup cần phát triển sản phẩm nhanh, Django Python vẫn là codebase của 1 đống startup gần đây.
      ML trong production thì khác, lên mức độ đó thì ko còn hẳn là ML nữa mà là 1 sản phẩm production cần high performance. Khi đó thì phải đụng đến C++. Chứ đối với một thứ hàn lâm như ML, cái cần biết trước hết vẫn là Python.
    • kspm
      @aaveidt bác ngược em vãi. Javascript em chả làm được gì ngoài cái proxy server. Code backend thì quá phức tạp và khó debug. Chưa kể quá nhiều libs khác nhau, và thường outdate rất nhanh nên tháng trước tháng sau build fail là thường.

      Code python thì ông internship đọc code ông senior 10 năm kinh nghiệm cũng hiểu quá nửa, vì nói chung chỉ có 1 cách diễn giải hợp lý nhất cho mỗi vấn đề. Còn với JS, riêng việc cãi nhau xem làm bằng ES6 hay Typescript hay JS cổ cũng hết vài tuần, mà khổ cái lý lẽ nào cũng có lý . Được cái mấy front-end lib/framework ngon, chứ cái nào fulllstack ... vứt hết.

      Nhưng kể cả front-end thì cũng vẫn gặp vấn đề code 'bậy bạ', mạnh ai nấy quất, thôi dẹp cho nhanh.
    • XOIZONE
      :3 C++ vô đối thế thôi cấm cãi
  • vnn95
    Mình bây giờ còn mỗi tí C# .NET
  • tradade
    falling in love with Go
  • ntmj27
    Hề hề, ngôn ngữ nó là cái tool và toy, cái nào tiện thì ta xài, quan trọng gì. Giờ là thời của polyglot (lập trình dùng kết hợp nhiều ngôn ngữ khác nhau, kết hợp thế mạnh của từng cái).

    5 năm trước mình cũng sống chết với java (mình theo java tầm 12-13 năm, từ thời JDK 1.3 cơ), giờ nhìn lại mới thấy mình hơi ngu dại. Bây h thì cái gì cũng chiến, web thì php, js, backend thì nodejs, xử lý ngôn ngữ, hệ thống thì python, scripting cho logic thì xài lua hoặc nodejs, high performance thì java/c++.

    Cái quan trọng giờ là tư duy, cách xử lý vấn đề chứ không phải cách xài tool và toy nữa rùi.

    Không liên quan, nhưng có 1 site thuộc hàng top, visit tầm 100m/tháng đang xài wordpress đó, và nó chạy ngon ầm ầm, performance cao đủ để cho mấy thằng khác nhìn xấu hổ mà chết
    • kspm
      @ntmj27 bác cứ đùa, toy là toi thế nào
      12-13 năm java của bác chắc thừa hiểu junior vs senior chênh lệch như nào, riêng java thôi nhé ạ . Sao bạn junior có thể hiểu sâu về tool & toy để quyết định xài nó trong bài toán nào

      em là em cực lực phản đối tư tưởng coi nhẹ ngôn ngữ
    • ntmj27
      @kspm nó tùy kiến trúc bạn chọn thôi, nếu bạn làm với mình thì với kiến trúc mình build (dạng service mesh) ngôn ngữ đúng là tool và toy, bạn thích code cái gì cũng đc , miễn là phải đảm bảo tính maintenance (ít nhất có 1 người khác biết ngôn ngữ đấy backup cho bạn). Bạn có thể thấy trong 1 dự án dùng 3-4 loại ngôn ngữ khác nhau luôn

      Với các task phân chia đủ tốt thì junior cũng làm ngon gần bằng senior (task khó ko nói, mà thực ra task khó không nhiều), junior cũng chẳng cần hiểu + nắm cả hệ thống nếu có kiến trúc đủ tốt.

      Giờ với mình, ngôn ngữ nó như cái khối lego, mỗi ngôn ngữ/framework chỉ là 1 mảnh ghép, ghép với nhau ra cái gì mới quan trọng.