Hope Rust lang std library should contains network library like golang , better than java


#1

As a coder. I hope Rust lang provided us more powerful network library.

HTTP smtp http2 icmp udp

https://godoc.org/golang.org/x/net

If the library provided us by Rust lang official. it will be more stable, and better quality for us .

The most popular and success programming language had ver rich and powerful network library.

PHP, Golang, Python, Ruby, even java

I hope rust lang have a more powerful network library.


#2

Hyper is a popular library for HTTP and HTTP2. I’m not aware of a good or popular SMTP library—though there exist multiple email libraries. ICMP and UDP are not application protocols and cannot be compared directly, but Rust standard library provides std::net::UdpSocket. I’m less sure about raw sockets.

If the library provided us by Rust lang official. it will be more stable, and better quality for us .

It is not true. An example: Python standard library, where built-in libraries or “batteries” tend to be usable but not very good—people likes to use requests instead of urllib (or urllib2 if you used to Python 2) and arrow instead of time or datetime. The stabilization does not directly mean the quality.

I believe that the current concensus of Rust community is to embrace a rich ecosystem of good external libraries and to keep the standard library an essential minimum to get things done.

The most popular and success programming language had ver rich and powerful network library.

It is probably true, but the libraries are consequences (Go can be considered as a very marginal exception, but it’s better seen as kickstarting the ecosystem).


#3

If the official maintain a more strong library, It will take more benefit.

  1. Enough developers to maintains the code;
  2. Catch up with every new rust releases.
  3. Never afraid the third party author goes or abandon their project.
  4. Made more high quality base libraries.

#4

I feel this has a possibility to become more fruitless debate so this would be my last post about this. That said, I think I have to make my opinion about this explicit anyway :wink:


If the official maintain a more strong library, It will take more benefit.

You seem to consider the “official” people (whoever they are) as the ultimate authority to judge everything about the language. The development of Rust was the exact inverse; many features (even characteristic features like ownerships) were developed via a visible and in many parts community process, and this relieves the “official” team (this time I’m really referring to these) from being inefficient and/or stagnated.

``1. Enough developers to maintains the code;

Surprisingly enough, there are very small number of people working on such a new language in full time. Rust is a very happy case because Mozilla has strong incentive to make Rust better, but even after that fact there are only ten full-time developers or so AFAIK. (Can be wrong, but it was not 100+ anyway…) Moreover, there is absolutely no guarantee that they are experts in the area where the library would target. Hiring appropriate people alone (besides from whether it is possible!) would cost a lot.

``2. Catch up with every new rust releases.

Rust was very stable since 1.0 and it is known that most code written in Rust 1.0 continues to work through 1.11 (the latest). The real problem turned out to be the library dependencies and it is beyond the capability of the “official” people.

``3. Never afraid the third party author goes or abandon their project.

Given enough needs and participation the “abandoned” project can be revived. Example: for a long time Python had a de-facto image library named PIL. It was near-abandoned since 2005, but was revived as a fork named Pillow in 2010. Now the community interested in Python imaging maintains the fork and it seems to work well. Meanwhile we have also seen an entirely new imaging library like Wand, so it is not really a big problem.

``4. Made more high quality base libraries.

The “base” libraries are not of the greatest importance when we have a good distribution system for third-party libraries. (The base libraries instead would act as the firm ground which every library can depend.) Having Cargo strong seems to make the condition close to true.


I guess you are working with networking and frustrated about the state of affairs, right? I should note that, while Rust was in development since 2006 (!), the modern look and feel of Rust had only appeared in early 2015 (yes, very shortly before 1.0) and there are all sort of problems due to being a young language. If you are looking for the very usable language right now Rust might not be a good choice. Otherwise you can help the community by contributing to existing libraries, giving feedbacks to them and sometimes writing your own libraries (I did!). It is not an easy course but a necessary step to mature the language and ecosystem. Thank you for your consideration.