编程软件

本文介绍各个编程方向优质的软件介绍。各个编程方向的简述会在其余文章中展现。

前端编程

对于前端来说,一般需要浏览器以及 IDE 即可,附加一些网络工具。

关于 IDE(或编辑器),可以使用 OSS codeopen in new window (微软 Visual Studio Codeopen in new windowaur 的开源版本,此外有社区构建的 VSCodiumopen in new windowaur 可供选择),webstormopen in new windowaur 或者 atomopen in new window

浏览器方面有 firefoxopen in new windowchromiumopen in new windowgoogle-chromeopen in new windowaurvivaldiopen in new windowfirefox-developer-editionopen in new windowEdgeopen in new windowaur,以及 operaopen in new window 可供选择。

网络工具常使用 charlesopen in new windowaurpostmanopen in new windowaur以及 wireshark-qtopen in new window

至于 yarnopen in new windownpmopen in new window 等前端常用工具,也均可用 pacman 安装。

OSS code 存在的问题:官方 wikiopen in new window。一个普遍问题是删文件 UI 会卡住很久,原因是 electron 在 linux 下默认使用 gio 删除,但是 KDE 用户一般都不装这个。解决办法是把 ELECTRON_TRASH=kioclient5 环境变量加在~/.pam_environment 里。

后端编程

Jetbrains 家的全家桶基本都有支持可以在源中或 AUR 中自行搜索,如IntelliJ Ideaopen in new windowPyCharmopen in new windowGoLandopen in new windowaur等。 较为老式的 IDE 有 Netbeansopen in new window 以及 eclipse,eclipse 有多种版本,可在 AUR 中自行搜索。

关于数据库相关软件,也有多种选择。

安卓客户端编程

目前来说,安卓开发已经统一到了 Android Studioopen in new window 进行开发。当然老式的 Eclipse 也可以用来使用。

桌面应用编程

目前桌面开发较为流行的是 electron 和 Qt 应用。electron 可直接用 OSS Code 进行开发,Qt 应用使用 Qt Creatoropen in new window 进行开发。

机器学习

安装 jupyter-notebookopen in new window 以及所需要的相关库如numpyopen in new window即可,均可在源中找到。机器学习常用开源框架有Pytorchopen in new window, Tensorflowopen in new window等 (Wikiopen in new window)。

科学计算

对于科研人士而言,做数值计算(或者叫科学计算)是使用 linux 的一大动力。目前科学计算的几大主流编程语言分别是

  • Matlab (在 Linux 下安装 Matlab 时可能遇到符号链接损坏的问题,需要重新下载安装文件并利用 'unzip -X -K matlab_R20*_glnxa64.zip' 命令重新解压)
  • Fortran
  • Julia
  • Python(以 Numpy 库为主)。 另外还有 Mathematica 作数学计算用。 考虑到有部分朋友容易把“语言”和“软件”混为一谈,在此稍作说明:Matlab 和 Mathematica 既是软件名称,也是一种语言。暂时可以认为这些软件就是写这些语言的 IDE。 而 Python 之类则仅仅是“编程语言”。至于我们下载的 Python3.9 之类的包,则是 python 语言对应的库,并不是一个“写 python 的软件”。

开源软件替代:SageMathopen in new window

SageMath(原名 Sage)是免费的、开源的数学软件,支持代数、几何、数论、密码学、数值计算和相关领域的研究和教学。Sage 的开发模式和 Sage 本身的技术都非常强调开放性、社区性、合作性和协作性:我们在制造汽车,而不是重新发明轮子。Sagemath 的总体目标是为"4M"(即 Maple、Mathematica、Magma 和 Matlab)提供一个可行的、免费的、开源的替代品。

SageMath 为目前科学计算领域的大多数开源软件/库统一重写了接口,提供了一种类兼容 python 的语法,可以说集开源数学软件之大成。目前已可部分替代"4M"。

Arch Wikiopen in new window

中文教程及文档open in new window

Matlab 与 Mathematica 则是商业软件,使用正版需要付费购买。二者均有 linux 版本可供安装。

另外,Intel 在 2020 年推出了名为 OneAPI 的“统一应用程序编程接口的开放标准”。OneAPI 的组件亦可在 Archlinux 上安装。如果自己的电脑 CPU 是 Intel 家的,使用 OneAPI 提供的编译器(如 i++),可提升语言编译速度。 如有朋友对 AMD 在这方面有所了解,欢迎补充。