因为需要读写二进制文件,emacs lisp肯定不适合
我以前用过common lisp的实现clisp,在单板机上实现了几个现如今不敢再回去看代码的功能后被HyperSpec和各种reference劝退
clojure也是一样,因为太依赖Java虚拟机,将来不会再用
现如今比较关注picolisp,语法和emacs lisp比较接近,而且可以用C语言做扩展,社区也比较活跃
不知道诸位认为还有哪种lisp值得使用?多谢大家
因为需要读写二进制文件,emacs lisp肯定不适合
我以前用过common lisp的实现clisp,在单板机上实现了几个现如今不敢再回去看代码的功能后被HyperSpec和各种reference劝退
clojure也是一样,因为太依赖Java虚拟机,将来不会再用
现如今比较关注picolisp,语法和emacs lisp比较接近,而且可以用C语言做扩展,社区也比较活跃
不知道诸位认为还有哪种lisp值得使用?多谢大家
既然提到clojure,有个有趣的题外话,Rich Hickey的退休金总算攒够了
Clojure这么原教旨的lisp要不是要用jdbc连数据库真不知道有什么理由用这个
至于NASA的支持,NASA一向是追涨杀跌,选编程语言如同炒股,NASA的做法基本上不能当作考量的因素
我觉得在选语言的时候可以先宏观的把一些条件列出来:
条件越多就越能看出来什么语言比较合适
为什么不敢在回去看代码,是代码写得太难看吗
对lambda和克里化没用到位
这些大概就是需求
Gerbil Scheme
嵌入式系统还是老老实实用c吧。。。别跟自己过不去。。。
你还是老老实实用C或者C++吧。其实随便乱写写的C还未必能比Java快,C要比Java快有两个办法
至于高性能I/O,你还需要确保使用对应平台上的异步I/O编程接口,否则很难达到最高性能。这点用Java也不是很方便,就算能做到性能上恐怕也会因为额外的抽象而损失一点。用LISP的话就更难了。
这个不错,我仔细研究一下,多谢!
这个我也研究一下,多谢!
C语言不大适合做算法,因为它本身做的就是在CPU和IO之间搬运数据的工作,要是想写出体现逻辑的代码还得是Lisp
用Vanilla Java都做不到比C++快,再加上那堆Java框架,不跑成宕机就不错了,所以Java是绝对不能用,与其这样我还不如选一种Lisp,至少出了问题我不用排查是我自己代码的问题还是框架的问题
快不快要测试了才知道,主观感觉常常是不准的。你不要小瞧了Java虚拟机这许多年的优化,纯数值运算,不涉及大量内存分配的,Java的速度不比C慢的(假如C不使用SIMD指令的话),至于比LISP快基本上是没有什么疑问的,除非你把LISP写成C或者汇编语言的形状,那样话其实也没有必要用LISP了。
听起来是要做个 mvp 版,那没有必要追求性能。要有 opencv 使用例子相关,偏主流一点的语言为佳。
Java纸面实力强,但用在真实场合就不知道了,Java声称的可以在单板机上平稳运行,但是当年Palm的WebOS就是基于Java,给至少一代人造成了心理阴影,美国人坑美国人都心狠手辣,我是真有点怕
其实OpenCV可以舍,输入格式统一使用bmp,主要是担心OpenCV这么大的框架在单板机上搞出乱子,目前只会用到读取功能而已
https://www.graalvm.org/, GraalVM compiles your Java applications ahead of time into standalone binaries. These binaries are smaller, start up to 100x faster, provide peak performance with no warmup, and use less memory and CPU than applications running on a Java Virtual Machine (JVM).
可以了解一下这个,native build 比较慢,可能还会有各种问题,已经很不错了。