在社区也混刚好过一年了,学到了好多东西,就是在社群知道 rust 的,然后现在深深爱上了 rust 了。不久前,在社群看到很多大神使用 Arch Linux,昨天一用不得了,又爱上了。
一直被为什么这么多人喜欢用 clojure 和 haskell 这个问题困扰了很久。好奇心驱动,事出必有因,为什么这么多人用 clojure 和 haskell?相反,正如大家很少谈论C/C++/Java这些烂大街的语言一样,这些大家都听过用过,故没有引起大家的热情讨论。
在企业应用上要用到吗?什么类型的公司要用到这些语言?
我是个业余的Clojure爱好者,Clojure在天朝好像太冷门了,
我就是感觉s表达式写起来真爽,就是Clojure和ChezScheme我不知道选哪个好,
学Emacs还要学EmacsLisp, 这玩样方言太多了
这叫臭味相投,玩冷门的就爱挑冷门😄
正好今天试验了几个语言的hellio world大小,动态链接,release 模式, macOS, -Os, stripped.
Rust: 257 KB
Nim: 82 KB
Go: 2.1 MB
Zig: 14 KB
OCaml: 202 KB
C: 49 KB
C++: 50 KB
FreePascal: 250 KB
没想到 clang 出来的 hello world 这么大,我记得以前用 windows 时,一个 hello world 2KB 的样子。
Zig 牛逼!
4 个赞
几个月没用了,
最先是对并发有兴趣,学了一会感觉不错
然后无聊写写4clojure练习,欧拉计划 ,Restful服务
再是想把Clojure作为主要开发语言,然后因为”没有银弹“的原因,暂时放弃了
所以才说我是业余爱好者
相反,是因为用 clojure 和 haskell 的人除了用 emacs 外没啥选择,唯一能比下的也就 vsc,甚至很多功能 vsc 还不如 emacs 丰富。能用来写 C 的 IDE 一堆,甚至想用 emacs 写 java 还很麻烦。
2 个赞
那看起来是时候试一下 clojure 和 haskell 了。
zsxh
2021 年1 月 5 日 01:23
9
youtube 上有些人用 vim 写 clojure/script,工作流看起来跟 emacs 也没啥区别
我这静态编译也就812kb,我怀疑你没有strip
c的静态编译strip后716k 下面图放错了
你这又不是 macOS。。。
macOS 下 clang 居然不能静态编译 C 源代码。。。
> clang -static -o hello5-static hello5.c
ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
因为 macOS 要求使用系统调用的程序,包括用汇编写的,动态链接到 /usr/lib/libSystem.B.dylib
,以保证跨系统版本还能运行
guo
2021 年1 月 5 日 04:20
14
为啥我的hello world只有8384字节
#include <stdio.h>
int main(int argc, char** argv) {
printf("Hello world!\n");
return 0;
}
gcc hello.c
ll a.out
-rwxrwxr-x 1 gxy gxy 8384 Jan 5 12:18 a.out*
说的对,我就是因为开始想学haskell 才知道Emacs,从此入坑。
也尝试过配置vim + hie (现在是hls)写haskell,但最后觉得还是emacs 最顺手。
Debian sid, amd64, strip 过了。
rust: 287 KB
nim: 71 KB
go: 1.4 MB
zig: 4.7 KB
ocaml: 290 KB
c: 15 KB
c++: 15 KB
fpc: 187 KB
ghc: 710 KB
gdc: 19 KB
编译命令:
cargo build --release
nim c -d:release hello.nim
go build hello.go
zig build-exe -O ReleaseSmall hello.zig
ocamlopt.opt -compact -o hello hello.ml
gcc -Os -o hello hello.c
g++ -Os -o hello hello.cpp
fpc -Os hello.pas
ghc hello.hs
gdc -Os -o hello hello.d
Zig 太牛了,Nim 也不错。
kimim
2021 年1 月 6 日 13:48
18
因为lisp,所用Clojure。目前在公司里用Clojure写写小应用。
1 个赞
go默认是静态编译的,,不大就怪了,,而且你这个应该是受了某些教程毒害用了fmt才这么大,,
知道 go 是静态编译,就是个对比。
golang 首页的 hello world 就用的 fmt,这毒害了所有 golang 用户吧。。。C 里也是 printf,没用 puts。
1 个赞