由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - golang优势举例
相关主题
go真是好东西就GUI来讲,哪个平台的GUI最好编?
GoLang, Scala, Swift, Rust 哪个能在2015有关键性的突破?什么语言简练如python运行速度如C++
快速搭建一个website?[bssd] Go 的大并发处理网络碰到两个个问题
rust 1.0正式发布了。这个可是冲着c++来的Re: 大妈问一下JAVA的编程平台就是需要安装上JAVA就行了?
Andrei Alexandrescu, C++ guru, leaves Facebook to work on D language full-time我的赌博依然有效,还是我原帖的条件,5M TPS
兼谈轮子是第一生产力[bssd]使用clojure的一些个人体会
夕甲甲 zz取代C++!Google 开发自己的编程语言Golang了 (转载)
Swift: The Most Popular Language on GithubC++现在前进的方向是不是错误的?
相关话题的讨论汇总
话题: golang话题: java话题: rust话题: windows话题: 网络
进入Programming版参与讨论
1 (共1页)
g****t
发帖数: 31659
1
例如你想找一个在windows,mac,linux都能用的concurrent TCP server来用。
c/cpp肯定有开源的或者免费的代码。
但是第一,跨平台net programming的代码,那可不是一般的工作量。
可以说不多见。代码质量很难讲。
第二,维护多半不如golang自带的网络库靠谱。
这种情况,golang相当于提供了一个多个平台之上网络编程的接口。
当然,cpp之后的语言,java什么的也有。但是如果你需要一个static 编译的语言的话。
除了golang,你没别的选择。
当然,golang掩盖了很多OS提供的和网络有关的各种设置参数。但是,除非5年以上
netowork
programming经验的人,一般也不需要去调这些参数。
n******t
发帖数: 4406
2
這是跨平臺沒難度啊。20年前就這麼寫過了,幾個ifdef而已。ps. windows也是抄的
bsd的 socket,所以除了那個wsastartup,基本上是一樣的。

话。

【在 g****t 的大作中提到】
: 例如你想找一个在windows,mac,linux都能用的concurrent TCP server来用。
: c/cpp肯定有开源的或者免费的代码。
: 但是第一,跨平台net programming的代码,那可不是一般的工作量。
: 可以说不多见。代码质量很难讲。
: 第二,维护多半不如golang自带的网络库靠谱。
: 这种情况,golang相当于提供了一个多个平台之上网络编程的接口。
: 当然,cpp之后的语言,java什么的也有。但是如果你需要一个static 编译的语言的话。
: 除了golang,你没别的选择。
: 当然,golang掩盖了很多OS提供的和网络有关的各种设置参数。但是,除非5年以上
: netowork

n*********2
发帖数: 357
3
你的这个需求用基于Java的Netty库就可以了。

话。

【在 g****t 的大作中提到】
: 例如你想找一个在windows,mac,linux都能用的concurrent TCP server来用。
: c/cpp肯定有开源的或者免费的代码。
: 但是第一,跨平台net programming的代码,那可不是一般的工作量。
: 可以说不多见。代码质量很难讲。
: 第二,维护多半不如golang自带的网络库靠谱。
: 这种情况,golang相当于提供了一个多个平台之上网络编程的接口。
: 当然,cpp之后的语言,java什么的也有。但是如果你需要一个static 编译的语言的话。
: 除了golang,你没别的选择。
: 当然,golang掩盖了很多OS提供的和网络有关的各种设置参数。但是,除非5年以上
: netowork

g****t
发帖数: 31659
4
Java不是静态编译的。

【在 n*********2 的大作中提到】
: 你的这个需求用基于Java的Netty库就可以了。
:
: 话。

g****t
发帖数: 31659
5
光是Windows就有一堆网络参数在注册表里。对不同windows还未必一样。buff size什
么的弄错了会慢死。
Linux, macos除了配置参数,可能还有posix问题。
你查查Github,跟网络编程相关的库,cpp的同时支持windows,Linux, macos的很少见。
另外,除了开发,还有维护问题。以前这些东西主要都是cpp写的。确实20年前就有。
但是go毕竟有大公司维护,这是不一样的。


: 這是跨平臺沒難度啊。20年前就這麼寫過了,幾個ifdef而已。ps.
windows也是
抄的

: bsd的 socket,所以除了那個wsastartup,基本上是一樣的。

: 话。



【在 n******t 的大作中提到】
: 這是跨平臺沒難度啊。20年前就這麼寫過了,幾個ifdef而已。ps. windows也是抄的
: bsd的 socket,所以除了那個wsastartup,基本上是一樣的。
:
: 话。

n******t
发帖数: 4406
6
我20年前幹過的事情,你叫我看github?
你告訴我這東西的配置參數有啥? ip, port, 沒了。

【在 g****t 的大作中提到】
: 光是Windows就有一堆网络参数在注册表里。对不同windows还未必一样。buff size什
: 么的弄错了会慢死。
: Linux, macos除了配置参数,可能还有posix问题。
: 你查查Github,跟网络编程相关的库,cpp的同时支持windows,Linux, macos的很少见。
: 另外,除了开发,还有维护问题。以前这些东西主要都是cpp写的。确实20年前就有。
: 但是go毕竟有大公司维护,这是不一样的。
:
:
: 這是跨平臺沒難度啊。20年前就這麼寫過了,幾個ifdef而已。ps.
: windows也是
: 抄的

c*******v
发帖数: 2599
7
For example:
https://docs.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-
be-modified-to-improve-network-performance
Oracle也有相关文档,以前搞数据库我也看过。
问题的核心似乎是TCP底层有个算法dilemma,buffer size vs delay。
跟最早bbs人的反应时间有关。
70年代时候的原始作者在hacknews发过言。
以前我在本版贴过这条,
你找找看。

【在 n******t 的大作中提到】
: 我20年前幹過的事情,你叫我看github?
: 你告訴我這東西的配置參數有啥? ip, port, 沒了。

w********m
发帖数: 1137
8
Go是AIO
学java的都是弄BIO
zhaoce看到NIO的vertx
惊呼天人,一辈子都弄这个
他还没看过AIO
所以要open minded一点
各个语言都要学一点
ken thompson相当于这行业的祖师爷吧
尊敬一点没有坏处
n******t
发帖数: 4406
9
Linux改這些東西一般用setsockopt, windows也是支持的。不支持的,自己寫個
windows的wrapper,比依賴某個語言給你設的靠譜。
最關鍵的是,如果你真的想跨平臺還是做產品的,就應該儘量在不要改動系統缺損參數
的情況下,寫出用戶能用的程序,除非你有非常明確的目的。

can-

【在 c*******v 的大作中提到】
: For example:
: https://docs.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-
: be-modified-to-improve-network-performance
: Oracle也有相关文档,以前搞数据库我也看过。
: 问题的核心似乎是TCP底层有个算法dilemma,buffer size vs delay。
: 跟最早bbs人的反应时间有关。
: 70年代时候的原始作者在hacknews发过言。
: 以前我在本版贴过这条,
: 你找找看。

g****t
发帖数: 31659
10
以前我也是不改的。后来是网络服务出问题,一点点查,才学了一点经验。
我对这些仍然是半懂不懂,只是到有感觉“哪里可能会比较麻烦?”这个水平。

【在 n******t 的大作中提到】
: Linux改這些東西一般用setsockopt, windows也是支持的。不支持的,自己寫個
: windows的wrapper,比依賴某個語言給你設的靠譜。
: 最關鍵的是,如果你真的想跨平臺還是做產品的,就應該儘量在不要改動系統缺損參數
: 的情況下,寫出用戶能用的程序,除非你有非常明確的目的。
:
: can-

相关主题
夕甲甲 zz什么语言简练如python运行速度如C++
Swift: The Most Popular Language on Github[bssd] Go 的大并发处理网络碰到两个个问题
就GUI来讲,哪个平台的GUI最好编?Re: 大妈问一下JAVA的编程平台就是需要安装上JAVA就行了?
进入Programming版参与讨论
k***e
发帖数: 1931
11
这和tcp本身有关,性能极度追求的话不管在哪个平台都需要调参。

can-

【在 c*******v 的大作中提到】
: For example:
: https://docs.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-
: be-modified-to-improve-network-performance
: Oracle也有相关文档,以前搞数据库我也看过。
: 问题的核心似乎是TCP底层有个算法dilemma,buffer size vs delay。
: 跟最早bbs人的反应时间有关。
: 70年代时候的原始作者在hacknews发过言。
: 以前我在本版贴过这条,
: 你找找看。

k***e
发帖数: 1931
12
一般你遇到的出问题,和tcp底层的算法参数都没有关系,检查一下api用的对不对比较
靠谱。

【在 g****t 的大作中提到】
: 以前我也是不改的。后来是网络服务出问题,一点点查,才学了一点经验。
: 我对这些仍然是半懂不懂,只是到有感觉“哪里可能会比较麻烦?”这个水平。

l***p
发帖数: 358
13
container不香吗?
y****w
发帖数: 3747
14
网络参数大部分都在操作系统层面,应用里还是少碰底层接口。从这个角度也就那么几
个API。go自己也不是重新发明各个平台上的轮子,

【在 g****t 的大作中提到】
: 以前我也是不改的。后来是网络服务出问题,一点点查,才学了一点经验。
: 我对这些仍然是半懂不懂,只是到有感觉“哪里可能会比较麻烦?”这个水平。

a********c
发帖数: 3657
15
Java 1.0 bio
Java 1.4 nio
Java 1.7 aio
都是10多年前的事了。。。各个io都有自己的好,没哪个绝对好

【在 w********m 的大作中提到】
: Go是AIO
: 学java的都是弄BIO
: zhaoce看到NIO的vertx
: 惊呼天人,一辈子都弄这个
: 他还没看过AIO
: 所以要open minded一点
: 各个语言都要学一点
: ken thompson相当于这行业的祖师爷吧
: 尊敬一点没有坏处

a********c
发帖数: 3657
16
Java 出生就是aot,只不过sun为了marketing加了动态。。。但sun也一直保留了aot
的选项
btw说一个语言不是xx态本身就totally wrong,啥态跟compiler有关系,语言本身美态
。当然java有些feature确实不支持静态,比如reflection。

【在 g****t 的大作中提到】
: Java不是静态编译的。
g****t
发帖数: 31659
17
我這條說的不準確。
十個字十個字

【在 a********c 的大作中提到】
: Java 出生就是aot,只不过sun为了marketing加了动态。。。但sun也一直保留了aot
: 的选项
: btw说一个语言不是xx态本身就totally wrong,啥态跟compiler有关系,语言本身美态
: 。当然java有些feature确实不支持静态,比如reflection。

S**********r
发帖数: 284
18
Rust 呢, 你说的,rust都具备了。 说说看,为啥 golang 会比rust 好
g****t
发帖数: 31659
19
rust能走的板子不多。golang支持的cpu多。我之前看的时候是这样。而且我对rust的
网络库有点疑虑。当时看github issues讨论的印象。最后,rust学习成本高,安排人
帮忙维护下golang code容易,rust就很难了。

【在 S**********r 的大作中提到】
: Rust 呢, 你说的,rust都具备了。 说说看,为啥 golang 会比rust 好
s********g
发帖数: 9
20
Go最大的优势是工程上的实用性
1 (共1页)
进入Programming版参与讨论
相关主题
C# is light-years ahead of Java nowAndrei Alexandrescu, C++ guru, leaves Facebook to work on D language full-time
打算开始学golang 了兼谈轮子是第一生产力
c++ programmer们就不用悲愤了夕甲甲 zz
asynchronous vs non-blockingSwift: The Most Popular Language on Github
go真是好东西就GUI来讲,哪个平台的GUI最好编?
GoLang, Scala, Swift, Rust 哪个能在2015有关键性的突破?什么语言简练如python运行速度如C++
快速搭建一个website?[bssd] Go 的大并发处理网络碰到两个个问题
rust 1.0正式发布了。这个可是冲着c++来的Re: 大妈问一下JAVA的编程平台就是需要安装上JAVA就行了?
相关话题的讨论汇总
话题: golang话题: java话题: rust话题: windows话题: 网络