Read-only archive. Login and posting are unavailable.
Reply
 
Thread Tools
  #31  
Old 11-08-2018, 20:21
Senior Member
Join Date: 02-2013
Posts: 1,068
Re: Cách học Golang?

Quote:
Originally Posted by Nipin View Post
:facepalm: :facepalm: :facepalm: :facepalm: :facepalm: :facepalm: :facepalm:

Đề nghị google trước khi phát biểu.
Google cái gì? Google top 10 ngôn ngữ lập trình phổ biến nhất hay gg top 10 alexa?

Sent using vozFApp
Reply With Quote
  #32  
Old 11-08-2018, 20:23
Senior Member
Join Date: 03-2018
Posts: 1,564
Re: Cách học Golang?

Quote:
Originally Posted by Ikeda View Post
Google cái gì? Google top 10 ngôn ngữ lập trình phổ biến nhất hay gg top 10 alexa?

Sent using vozFApp
Google lịch sử của functional programing :|

Không nói đến chuyện lambda calculus nó ra từ những năm năm 1930, LISP nó có từ năm 1958 rồi, mà ngôn ngữ OOP đầu tiên (với concept hoàn toàn khác biệt với OOP kiểu java bây giờ) là Smalltalk ra đời năm 1972, C++ 1985, java thì khỏi nói còn trẻ hơn python :|

Chẳng qua gần đây máy móc khoẻ rồi performance/memory không còn là vấn đề quan trọng như trước cho nên FP mới dần xuất hiện ở các mainstream language thôi. Chứ mấy thằng LISP dialect (scheme, common lisp, clojure) hay ML family (haskell, ocaml, F#, Elm) vẫn thấy sống khoẻ vãi ra.
Reply With Quote
  #33  
Old 11-08-2018, 20:52
Senior Member
Join Date: 02-2013
Posts: 1,068
Re: Cách học Golang?

Quote:
Originally Posted by Nipin View Post
Google lịch sử của functional programing :|
Nó có chứng minh đc là FP trưởng thành hơn OOP không?

Sent using vozFApp
Reply With Quote
  #34  
Old 13-08-2018, 10:07
naiveryan's Avatar
Đã tốn tiền
Join Date: 07-2009
Posts: 352
Re: Cách học Golang?

Quote:
Originally Posted by Ikeda View Post
đùa chứ không biết FP có thọ hơn NoSql không nhỉ? OOP dù sao cũng trưởng thành hơn FP
Đánh giá thấp NoSQL và FP quá nha bạn

Ko bao giờ có từ "chết" luôn ấy, mình khẳng định.
__________________
Mua hà mã như trên avatar, bạn nào có pm nha ! ^^
Reply With Quote
  #35  
Old 13-08-2018, 17:34
Senior Member
Join Date: 01-2014
Posts: 285
Re: Cách học Golang?

FP muôn năm, giỡn chứ mình đang dùng kết hợp cả 2 trong project java, cái nào dùng được FP thì sẽ cố dùng vì code nó sạch sẽ hơn. dăm ba cái performance chừng nào chạy stable hẵng tính. Nhiều ông code cứ nghĩ performance này nọ cho đau đầu và kết quả đánh đổi là những dòng code thối không tả được

Sent from Sony F3116 using vozFApp
Reply With Quote
  #36  
Old 18-08-2018, 23:49
Senior Member
Join Date: 07-2013
Posts: 1,152
Re: Cách học Golang?

Anh em code outsource thì code gì nhanh và dễ ra tiền như ruby on rails, python ấy.
Còn anh em muốn động đến performance thì là phải đụng đến bài toán cụ thể, ko có thì vứt thôi. Đa phần anh em dev chuyển sang go chủ yếu là đang làm product, và thường do ko ngấm nối java hay C++ (Đơn giản là méo thích cú pháp) và gặp vấn đề với ngôn ngữ hiện tại.
Reply With Quote
  #37  
Old 19-08-2018, 01:17
Senior Member
Join Date: 03-2018
Posts: 1,564
Re: Cách học Golang?

Quote:
Originally Posted by RPG29 View Post
Pass kiểu value function to function thế này thì có thể mô phỏng kiểu pass immutable object, trong method thay đổi object thì clone ra object mới rồi trả về không nhỉ?
Có. Hiện tại thì các ngôn ngữ OOP/multi paradigm hiện đại cũng đang đi theo xu hướng này, cho nên mới sinh ra mấy cái immutable library, value object...

Hoặc như thằng crystal, khai báo struct là allocate trên stack, pass by value, khai báo class thì allocate trên heap, pass by reference, rất dễ hiểu.
Reply With Quote
  #38  
Old 20-08-2018, 17:40
BanhXe0_'s Avatar
Đã tốn tiền
Join Date: 05-2013
Posts: 4,277
Re: Cách học Golang?

Quote:
Originally Posted by Nipin View Post
Nói không có thì cũng không phải không có, làm cái vẹo gì chả có pattern. Nhưng cơ bản ở thế giới FP thì DP nó không bị thần thánh hóa lên như mấy thằng Java hay C#, bởi vì cơ bản nó không cần thiết.

Trong FP thì data và logic tách biệt hẳn ra (ờ thằng LISP logic cũng là data, có thể manipulate được, nhưng đây là chuyện khác), data được pass từ function này sang function khác, mỗi function này đọc data, có thể thêm sửa xóa gì gì đó, nhưng thay vì sửa cái data cũ thì nó để nguyên, trả về data mới, data mới này lại được truyền đến một function khác, thằng này lại thêm sửa xóa gì gì đó rồi đẩy cho thằng khác. Quá trình này có thể track được, và hầu như không có side effect (trừ khi làm việc với IO)

OO thì thường không pass data mà pass reference của object, pass vào function thì nó sửa luôn cái object này, cộng thêm việc gọi một cái method của object cũng thay đổi giá trị của object => rất khó theo dõi chuyện dữ liệu của object bị thay đổi lúc nào và bởi ai => phải có design pattern để tạo rule set cho mọi người cùng theo.

p/s: https://vimeo.com/113588389
1.Bac đánh giá thế nào về EIm, tui biết nó từ 2015, thế quái nào 2 năm sau vào thì gần như ko phát triển dc mấy, từ 17 vào thử thì cảm giác ngoài trừ cái nên tảng hao hao Redux +react(redux ăn cap của nó lol) thì vẫn thíu nhìu và vay mượn các các kiểu, thành ra cảm giác nếu ko có project dài thì dính vào gần như ko học dc mấy (18 thì gần hình như thêm dc mỗi cái hot loading siêu nhanh). Tính mua Meap của lão Feldman (hình như h là sếp của thằng author) mà mãi vẫn Meap đánh thôi.
2.Dùng Python áp vào FP có hạn chế gì quá nhìu ko bác.

ps: ông nào mà học dc cái thứ quái dị haskell thì ko phải là ng đâu
__________________
tu thân tề gia trị quốc bình thiên hạ
Reply With Quote
  #39  
Old 20-08-2018, 18:18
Senior Member
Join Date: 03-2018
Posts: 1,564
Re: Cách học Golang?

Quote:
Originally Posted by BanhXe0_ View Post
1.Bac đánh giá thế nào về EIm, tui biết nó từ 2015, thế quái nào 2 năm sau vào thì gần như ko phát triển dc mấy, từ 17 vào thử thì cảm giác ngoài trừ cái nên tảng hao hao Redux +react(redux ăn cap của nó lol) thì vẫn thíu nhìu và vay mượn các các kiểu, thành ra cảm giác nếu ko có project dài thì dính vào gần như ko học dc mấy (18 thì gần hình như thêm dc mỗi cái hot loading siêu nhanh). Tính mua Meap của lão Feldman (hình như h là sếp của thằng author) mà mãi vẫn Meap đánh thôi.
2.Dùng Python áp vào FP có hạn chế gì quá nhìu ko bác.
Ờ tôi dùng elixir/phoenix, lên elixirforum cũng đọc thấy rất nhiều người dùng Elm làm frontend, cũng xem qua vài lần nhưng cuối cùng cũng đếch care mấy. Cảm giác của tôi là mấy cái thằng ML family (kiểu như Elm hay Haskell) nó *pure* quá, thành ra giải quyết mấy vấn đề real world (aka stateful app) khá mệt, không đáng. Nhất là Elm nó chỉ dùng được trên frontend, compiler nghe nói cũng chậm, tôi thì thường project cũng chỉ viết vài trăm đến vài nghìn dòng javascript, đến dùng typescript cũng lười thì hứng thú đâu học Elm?

Python với FP hả.... ờ thì dùng cũng được nhưng đừng hi vọng gì nhiều. Sẽ không cảm giác được "dùng FP sướng vãi" đâu, mấy cái map reduce thậm chí không tiện bằng cái list comprehension có sẵn, tail call optimization cũng không có, lambda thì thụt do chỉ được 1 dòng.

Ví dụ ruby sum array có thể viết thế này:
Code:
[1,2,3].inject(:+)
python ngoài việc phải import cái thư viện ra, code giống thế này:
Code:
reduce(lambda sums,x: sums+[x+sums[-1]], l[1:], l[:1])
kill joy vãi.

Nhân tiện thì cái inject :+ của ruby kia không chỉ ruby có, mấy ngôn ngữ khác nó cũng có (e.g. fold (+) [1,2,3])
Reply With Quote
  #40  
Old 20-08-2018, 20:02
naiveryan's Avatar
Đã tốn tiền
Join Date: 07-2009
Posts: 352
Re: Cách học Golang?

Quote:
Originally Posted by BanhXe0_ View Post

ps: ông nào mà học dc cái thứ quái dị haskell thì ko phải là ng đâu
https://thanhdo89se.github.io/2018/h...-hidden-power/

https://thanhdo89se.github.io/2018/t...f-programming/

Ko là người thì là súc vật à, hay quái vật
__________________
Mua hà mã như trên avatar, bạn nào có pm nha ! ^^
Reply With Quote
Reply

« Previous Thread | Next Thread »

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT +7. The time now is 13:38.