再次反對以Rust或Golang等新語言作為母語

m
magagop
楼主 (未名空间)

語言的功能不重要,語言的使用人數和應用歷史很重要。沒人為了幾個功能而改變自己的語言,就像沒人因為旅遊而改變母語一樣。語言本就沒有區別。

「it’s not about the language itself,it’s about the eco-system。Python平
心而论很多人都说Python是一个很烂的语言,但是它有社区,它的整个的eco-system非常好,如果我要装Python,我有Anaconda;如果我要用Python visualization,我有
Matplotlib;如果我要有numerical computation我有NumPy和SciPy,如果我要做图像
处理,我有Scikit-image。 所以说最后我们发现这个eco-system很重要,当年
Luatorch遇到的很大的一个瓶颈是没有人知道怎么写Lua。大家都很懒,我也很懒,我
不想为了学一个新语言而学一个新语言。」

- 賈揚清
d
dumbCoder

"母语"这里指的是一个程序员用的最熟的语言么? 但是这个会变吧.
"母语"这个词感觉文化内涵很重啊, 有时候用熟一个语言多半因为项目需要
k
kaiser1644

python的ecosystem不也是从无到有?chicken-and-egg problem

g
guvest

我的母語都是漢語 and I am proud of it !

【 在 dumbCoder(HumbleCoder 不懂就问-_-) 的大作中提到: 】
<br>: "母语"这里指的是一个程序员用的最熟的语言么? 但是这个会变吧.
<br>: "母语"这个词感觉文化内涵很重啊, 有时候用熟一个语言多半因为项目需要
<br>

r
ratzinger

每个语言都有他特定的优越性,迄今没有哪个觉得特别好的

公司里做项目,基本是程序猿熟悉哪个用哪个,或者看项目有关的现有程序是用哪个写的就接着用。因为有deadline,用哪个不是干活呢,除非正好今年项目不忙,有空玩玩新鲜玩意儿
w
walkrandom

都学一遍有什么难的
学了go,任何语言的concurrency一目了然
学了rust,体会到人工GC的不容易
学习本身是快乐的
f
fantasist

就连go这么简单的语法,两年不用也忘光了。
我觉得编程语言跟真正的语言还是有很大不同的,母语更是成年以后几年不用也不会忘掉的吧。我学的小语种平时根本不用,但有时想一下还能回忆起10年前学的单词和语法。
d
dumbCoder

学到“有所收获" 和学到"能上prod" 还是有一定区别

【 在 walkrandom (walkrandom) 的大作中提到: 】
: 都学一遍有什么难的
: 学了go,任何语言的concurrency一目了然
: 学了rust,体会到人工GC的不容易
: 学习本身是快乐的

b
bihai

照你这么说我的母语是BASIC,根本不会忘

【 在 fantasist (一) 的大作中提到: 】
: 就连go这么简单的语法,两年不用也忘光了。
: 我觉得编程语言跟真正的语言还是有很大不同的,母语更是成年以后几年不用也不会忘
: 掉的吧。我学的小语种平时根本不用,但有时想一下还能回忆起10年前学的单词和语法。

n
netghost

別人願意用自己的時間學東西,你能怎麼招吧。說到沒歷史,這世界上沒歷史的東西流行的多了,怎麼也輪不到go和rust

【 在 magagop (magagop) 的大作中提到: 】
: 語言的功能不重要,語言的使用人數和應用歷史很重要。沒人為了幾個功能而改變自己
: 的語言,就像沒人因為旅遊而改變母語一樣。語言本就沒有區別。
: 「it’s not about the language itself,it’s about the eco-system。Python平
: 心而论很多人都说Python是一个很烂的语言,但是它有社区,它的整个的eco-system非
: 常好,如果我要装Python,我有Anaconda;如果我要用Python visualization,我有: Matplotlib;如果我要有numerical computation我有NumPy和SciPy,如果我要做图像
: 处理,我有Scikit-image。 所以说最后我们发现这个eco-system很重要,当年
: Luatorch遇到的很大的一个瓶颈是没有人知道怎么写Lua。大家都很懒,我也很懒,我
: 不想为了学一个新语言而学一个新语言。」
: - 賈揚清

n
netghost

你第一個學go是沒用的,得學匯編和os。

第二個學rust也沒用,學go到有點用。

【 在 walkrandom (walkrandom) 的大作中提到: 】
: 都学一遍有什么难的
: 学了go,任何语言的concurrency一目了然
: 学了rust,体会到人工GC的不容易
: 学习本身是快乐的

w
walkrandom

go比python还简单
python还有点花哨的写法
rust稍微难点,也比c++简单
用他们做prod,不比python,c++难

【 在 dumbCoder (HumbleCoder 不懂就问-_-) 的大作中提到: 】
: 学到“有所收获" 和学到"能上prod" 还是有一定区别

w
walkrandom

go不用cgo的话,不需要考虑系统。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 你第一個學go是沒用的,得學匯編和os。
: 第二個學rust也沒用,學go到有點用。

m
minquan

现在Python和go是联立的体系。
中国很多互联网公司在python做出了业绩后,用go去逐渐替换之。
m
minquan

对于个人来说,掌握C++是重要的砝码,可以让别人看不懂自己的代码,可以高薪在公
司少干活一直养老下去。

然而C++对公司这么糟,谷歌的犹太佬不懂吗?为啥要推出来go替代C++?不就是要尽量减少C++职位吗?
m
magagop
https://news.ycombinator.com/item?id=26421922

Quote:
The Lindy effect is a theorized phenomenon by which the future life
expectancy of some non-perishable things like a technology or an idea is
proportional to their current age, so that every additional period of
survival implies a longer remaining life expectancy. If a book has been in
print for forty years, I can expect it to be in print for another forty
years. But, and that is the main difference, if it survives another decade, then it will be expected to be in print another fifty years. This, simply,
as a rule, tells you why things that have been around for a long time are
not "aging" like persons, but "aging" in reverse. Every year that passes
without extinction doubles the additional life expectancy. This is an
indicator of some robustness. The robustness of an item is proportional to
its life!

“I’m hesitant towards Cpp as it seems an ancient programming language and I don’t know for how long it will be around.” -> Twenty years ago, I
learned Delphi rather than Cpp, because I thought Cpp is an ancient language, and Delphi was modern. Now Delphi is basically dead, and Cpp is still
around.

Cpp is going to stay. Software development for automotive is done in C/Cpp
as the MISRA standard more or less mandates it. And I do not know of any
effort to change that, even by newer players in the field. Scientists still use Fortran, bankers still use COBOL, silicon designers still use Perl and
Tcl... The sheer amount of historic Cpp code out there, and the difficulty
of replacing that code with any of the potential alternatives mean the
language is still likely to have decades of life in it, even if it did not
continue to change and evolve. For example, game engines are written in Cpp. Many low-level performance critical things like database engines are
written in Cpp. C/Cpp is all over CAD/CAM/CAE, 3D modeling and animations,
VFX, everything related to multimedia (video streaming, multimedia
processing, video editing, web browsers, operating systems kernels and
drivers)

【 在 minquan(三民主义) 的大作中提到: 】

: 对于个人来说,掌握C 是重要的砝码,可以让别人看不懂自己的代码,可以高
薪在公

: 司少干活一直养老下去。

: 然而C 对公司这么糟,谷歌的犹太佬不懂吗?为啥要推出来go替代C ?不就是要尽量

: 减少C 职位吗?

m
minquan

专挑一面之词。

你去找找从C++转去编go的大佬怎么说?

难以维护是C++最大的缺点。

go是对C++的限制,是开发另一个版本的C+,是提供另一种可能性。

它的纪律是——语法和结构尽量简单统一,且替大部分程序员去处理他们的智力无法处理的问题(如内存管理)

你说手动档还是出租车首选,能否认自动档的市占率吗?

【 在 magagop (magagop) 的大作中提到: 】
: https://news.ycombinator.com/item?id=26421922
: Quote:
: The Lindy effect is a theorized phenomenon by which the future life
: expectancy of some non-perishable things like a technology or an idea is
: proportional to their current age, so that every additional period of
: survival implies a longer remaining life expectancy. If a book has been in
: print for forty years, I can expect it to be in print for another forty
: years. But, and that is the main difference, if it survives another decade,
: then it will be expected to be in print another fifty years. This, simply,
: as a rule, tells you why things that have been around for a long time are : ...................

i
iDemocracy

C++是最天然的语言,但它也是老板们的敌人。
能授权写C/C++的都是公司最资深的程序员,或者是创始人本人。

【 在 minquan (三民主义) 的大作中提到: 】
: 对于个人来说,掌握C++是重要的砝码,可以让别人看不懂自己的代码,可以高薪在公
: 司少干活一直养老下去。
: 然而C++对公司这么糟,谷歌的犹太佬不懂吗?为啥要推出来go替代C++?不就是要尽量
: 减少C++职位吗?
n
netghost

我不知道你們爲什麼覺得語言和這件事有關係。。google,fb都是C++ shop,問題是這兩家老闆也不是白癡啊。

【 在 iDemocracy (DEMO) 的大作中提到: 】
: 标 题: Re: 再次反對以Rust或Golang等新語言作為母語
: 发信站: BBS 未名空间站 (Fri Mar 12 01:34:01 2021, 美东)
:
: C++是最天然的语言,但它也是老板们的敌人。
: 能授权写C/C++的都是公司最资深的程序员,或者是创始人本人。
:
: 【 在 minquan (三民主义) 的大作中提到: 】
: : 对于个人来说,掌握C++是重要的砝码,可以让别人看不懂自己的代码,可以高薪
在公
: : 司少干活一直养老下去。
: : 然而C++对公司这么糟,谷歌的犹太佬不懂吗?为啥要推出来go替代C++?不就是要尽量
: : 减少C++职位吗?
: --
: 非公民键盘侠就是在任何国家都没有投票权的人。
m
minquan

go是google主推的语言,三个创始人在google拿薪水的
像你说的,google若用c++这么顺手,吃饱了撑的雇人去创立go语言?

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 我不知道你們爲什麼覺得語言和這件事有關係。。google,fb都是C++ shop,問題是這
: 兩家老闆也不是白癡啊。
: 在公
: 尽量

m
magagop

Quote: https://kornel.ski/rust-c-speed

Every operating system ships some built-in standard C/Cpp library that is ~
30MB of code that C/Cpp executables get for "free", e.g. a "Hello World" C
executable can't actually print anything, it only calls the printf shipped
with the OS. Rust/Go can't count on OSes having preloaded standard library, so Rust/Go executables normally run slower from cold start.

這個問題是決定性的,為啥Java在Windows上比Csharp體驗差,就是OS替程序預加載了
一堆東西,所以OS啟動越來越慢,但是app啟動飛快。C/Cpp跟BMC/UEFI/POSIX/OS/
Library緊密耦合,做對了效率非常高,也容易理解。

【 在 minquan(三民主义) 的大作中提到: 】

: go是google主推的语言,三个创始人在google拿薪水的

: 像你说的,google若用c 这么顺手,吃饱了撑的雇人去创立go语言?

n
netghost

別鬧了,你既不用C++,也不用GO,操這個心幹什麼呢?

我對這兩個東西都沒有什麼preference,誰愛用什麼用什麼。只要程序別崩就行。
【 在 minquan (三民主义) 的大作中提到: 】
: go是google主推的语言,三个创始人在google拿薪水的
: 像你说的,google若用c++这么顺手,吃饱了撑的雇人去创立go语言?

m
minquan

你的毛病和大陆人很像,都是否定不了观点,就否定提出观点的人。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 別鬧了,你既不用C++,也不用GO,操這個心幹什麼呢?
: 我對這兩個東西都沒有什麼preference,誰愛用什麼用什麼。只要程序別崩就行。

n
netghost

因爲你的問題在於對於自己完全沒有經驗的東西有很強的觀點,這樣得出的結論有什麼意義嗎?

C++你基本上是不太會的,Go你也不會,真的不知道哪裏來的自信指點江山。
【 在 minquan (三民主义) 的大作中提到: 】
: 你的毛病和大陆人很像,都是否定不了观点,就否定提出观点的人。

m
minquan

我这观点是引述Go的创始人的观点。
youtube上有大量讲为啥Google推Go的,当然是从正面讲的。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 因爲你的問題在於對於自己完全沒有經驗的東西有很強的觀點,這樣得出的結論有什麼
: 意義嗎?
: C++你基本上是不太會的,Go你也不會,真的不知道哪裏來的自信指點江山。

m
magagop

The Xilinx Vitis HLS tool chain allows C/C code and OpenCL functions that feed a Clang compiler along with HLS-specific pragmas (compiler directives) that eventually are deployed to a FPGA with its logic fabric, RAM blocks,
and DSP functions. The front end of Vitis is the Clang compiler combined
with the HLS LLVM intermediate representation (IR). The HLS LLVM IR layer
produces RTL results for spatial hardware deployment. The result of the
Vitis HLS Front-end is then fed to a Xilinx FPGA-specific optimization layer and layout back-end that is Xilinx specific and is not part of the open-
source code.

這個將會是跟Intel oneapi競爭的產品,也用cpp

m
minquan

做硬件驱动,当然用C或C++,不然连动态库都做不出来。
C++会和C继续保留,做底层架构。然而大部分应用会尽量绕过它们。

【 在 magagop (magagop) 的大作中提到: 】
: The Xilinx Vitis HLS tool chain allows C/C code and OpenCL functions
that
: feed a Clang compiler along with HLS-specific pragmas (compiler directives)
: that eventually are deployed to a FPGA with its logic fabric, RAM blocks, : and DSP functions. The front end of Vitis is the Clang compiler combined
: with the HLS LLVM intermediate representation (IR). The HLS LLVM IR layer : produces RTL results for spatial hardware deployment. The result of the
: Vitis HLS Front-end is then fed to a Xilinx FPGA-specific optimization
layer
: and layout back-end that is Xilinx specific and is not part of the open-
: source code.
: 這個將會是跟Intel oneapi競爭的產品,也用cpp

c
chebyshev

说白了就这么回事:例如web borwser都是cpp/c写的。
但是这种组全球屈指可数。
【 在 minquan (三民主义) 的大作中提到: 】
: 做硬件驱动,当然用C或C++,不然连动态库都做不出来。
: C++会和C继续保留,做底层架构。然而大部分应用会尽量绕过它们。
: that
: )
: layer

m
magagop

先看懂了再評論,HLS不是驅動,而是硬件算法和結構描述語言,跟SystemC或
SystemVerilog類似,做芯片本身的,不是芯片驅動。

【 在 minquan(三民主义) 的大作中提到: 】

: 做硬件驱动,当然用C或C ,不然连动态库都做不出来。

: C 会和C继续保留,做底层架构。然而大部分应用会尽量绕过它们。

: that

: )

: layer

m
minquan

说出来你可能不信,青云的虚拟机系统就是用go写的。

【 在 chebyshev (......) 的大作中提到: 】
: 说白了就这么回事:例如web borwser都是cpp/c写的。
: 但是这种组全球屈指可数。

g
guvest

这跟我说的没啥矛盾。用户数量不在一个级别。
不是一个类型的东西。

【 在 minquan(三民主义) 的大作中提到: 】
<br>: 说出来你可能不信,青云的虚拟机系统就是用go写的。
<br>

k
kkkuai

对opcode的抽象,有N多assembly和bytecode。对os和embedded的抽象,神存在只有C。对linux和gcc与libc的理解应用,基本算软工的下限。目前设计语言绕过C,旧时下一
个pascal酱紫。最近的vlang+deno和elm+elixir, 语言zealot和resumedrivendev了解下。
g
guvest

现状是很多人没学过c标准库。语言语法什么的其实容易。

【 在 kkkuai(sknow) 的大作中提到: 】

: 对opcode的抽象,有N多assembly和bytecode。对os和embedded的抽象,神存在
只有C。

: 对linux和gcc与libc的理解应用,基本算软工的下限。目前设计语言绕过C,旧
时下一

: 个pascal酱紫。最近的vlang deno和elm elixir, 语言zealot和
resumedrivendev了解

: 下。

w
wdong

man 2 system calls
man 3 C standard library

这些东西慢慢没人看了。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 现状是很多人没学过c标准库。语言语法什么的其实容易。
:
: 对opcode的抽象,有N多assembly和bytecode。对os和embedded的抽象,神存在
: 只有C。
:
: 对linux和gcc与libc的理解应用,基本算软工的下限。目前设计语言绕过C,旧
: 时下一
:
: 个pascal酱紫。最近的vlang deno和elm elixir, 语言zealot和
: resumedrivendev了解
:
: 下。
:

n
netghost

爲啥沒學過?因爲學C的人如果對計算機本省瞭解太少,基本上不可能寫出能用的程序
,都不會有幾乎去查C的lib。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 现状是很多人没学过c标准库。语言语法什么的其实容易。
:
: 对opcode的抽象,有N多assembly和bytecode。对os和embedded的抽象,神存在
: 只有C。
:
: 对linux和gcc与libc的理解应用,基本算软工的下限。目前设计语言绕过C,旧
: 时下一
:
: 个pascal酱紫。最近的vlang deno和elm elixir, 语言zealot和
: resumedrivendev了解
:
: 下。
:

g
guvest

其实都有公开课讲。我现在还经常看。For example:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-
087-practical-programming-in-c-january-iap-2010/index.htm
【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 爲啥沒學過?因爲學C的人如果對計算機本省瞭解太少,基本上不可能寫出能用的程序
: ,都不會有幾乎去查C的lib。

n
netghost

所以說美國其實好點的學校並不是不教C,而是在intensive地教C。

不過問題在於,現在的學生出了學校就沒見過物理機,學了也沒機會用,很快就廢了。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 其实都有公开课讲。我现在还经常看。For example:
: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-: 087-practical-programming-in-c-january-iap-2010/index.htm