Linux适合编程吗

2024年11月14日 15:05
有5个网友回答
网友(1):

如果只是从人工智能的角度来说,linux的优势并不大。我能想到的几个可能的优势有:

1) 包管理。比如你要用c++的一个库opencv,linux下面直接apt-get install libopencv,然后在makefile里面加上-I `pkg-config opencv`就好了。如果是(老版)visual studio里面你要先打开浏览器,搜索opencv的网站,下载,解压,记住路径,回到vs右击工程,点属性,vc++ directories,点编辑,点添加,把路径粘贴进去。蛋都要碎了。
但是!这个优势只在vs2010发布以前有效。新版的vs你只需要右击工程,点nu-get package manager,然后搜索opencv点确定就没了。
2) 各种自动化。比如你写了个训练svm的程序,有1000个svm要训练。在linux下面可以把这个训练的程序编译成可执行文件trainsvm,接口是类似./trainsvm input1.txt svm1.dat。然后在命令行下面seq 1 1000 | xargs -I{} -n 1 -P 12 bash -c './trainsvm input{}.txt svm{}.dat'一下就开了12个进程一块训练,某个进程训练完了以后立马会有下一个补上有木有。(就是管程的概念)我在windows下面用c#实现这样的功能要将近100行,还没有xargs灵活。批量处理超级方便啊。用parallel还可以在多台机器上分布式训练。
但是!你在windows上装个cygwin这些也全都有。。
3) 有时候数据量太大了需要去amazon租ec2并行计算。windows机器比linux贵啊摔。还有配置相对慢。linux弄个小脚本分分钟就把环境都配好了(夹个私货,比如这是我的ec2 linux配直脚本 https://github.com/grapeot/debianinit )。价格这个无解。。配置方面windows的非官方包管理器chocolatey还比较弱,如果有谁知道如何快速配置windows环境欢迎指教。
所以基本结论是,如果只是想日人工智能,老老实实拱算法先,哪个熟用哪个。如果蛋痛想折腾,linux可玩性和逼格都要更胜一筹。而且用熟了以后完成任务(get things done)的能力会加强不少。

网友(2):

适合,Linux 系统下编程过程给我体验最深的是,缺少某个软件是,使用自带的包管理工具,可以很快地找到相应的安装包并安装。并且你可以根据自己的喜欢,随意搭配各种环境。可以看下Linux的相关介绍,如《Linux就该这么学》多了解下Linux。

网友(3):

Linux环境下有Shell编程、C语言系统编程和Gtk+编程。

网友(4):

看项目需求,有些项目需要跨平台运行需要在不同的平台运行

网友(5):

可以。而且系统也很稳定。