Skip to content

Latest commit

 

History

History
65 lines (36 loc) · 6.43 KB

File metadata and controls

65 lines (36 loc) · 6.43 KB

编程软件

很多人不清楚的是,Linux 几乎是最适合编程的操作系统,其对于各个方向的编程支持非常到位(微软与苹果的专有系统编程除外),可以为你省去很多痛苦。本文介绍各个编程方向优质的软件介绍。我们建议读者使用自由软件进行编程工作,本节也仅列出自由软件。

前端编程

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

关于 IDE(或编辑器),可以使用 OSS code,它是由官方仓库的生成的开源构建。vscodium-binAUR是社区驱动的 vs code 版本。

微软公司 Visual Studio Code 的二进制构建实际为专有软件。很多人在此存在误解。如此偷梁换柱的手段越来越被更多公司发掘使用。[1]

浏览器方面有 firefoxchromiumfirefox-developer-editionbraveAUR等众多软件可供选择。

网络工具常使用 httptoolkitAUR(作为 charles 的代替),以及 wireshark-qt

至于 yarnnpm 等前端常用工具,也均可用 pacman 安装。

后端编程

Jetbrains 公司开源的 IDE 可在 archlinux 官方仓库中找到,如IntelliJ IdeaPyCharm等。
无开源版本的 Jetbrains 产品也可以在 AUR 社区中找到,如rubyminewebstorm。但可能只提供了安装而未提供卸载,如jetbrains-toolbox

Jetbrains 产品在 linux 下输入法均会产生光标不跟随的现象,Jetbrains 一直未修复该 bug,解决办法为替换 jbr

较为传统的 IDE 有 Netbeans 以及 eclipse,eclipse 有多种版本,可在 AUR 中自行搜索。

关于编程语言自身,更是不必多说,除了 c 语言和 c++安装好系统即支持外,java, node,等都可以被轻易安装。

除了默认安装好的 gcc,也可以安装 clang 以及 llvm 以供使用

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

针对大数据方面,可安装hadoopAUR等包。如有包长期没有更新或包不存在,如 hbase 和 hive,则只能去官网自行下载并配置。

关于软件测试,junit等常见软件也可轻松安装,配合你喜欢的 IDE 来使用。

安卓客户端编程

目前来说,安卓开发已经统一到了 Android StudioAUR 进行开发。当然传统的 Eclipse 也可以用来使用。常用的安卓模拟器则也可使用AnboxWaydriod

桌面应用编程

目前桌面开发较为流行的是 electronQt 应用。electron 可直接用 OSS Code 进行开发,Qt 应用使用 Qt Creator 进行开发。

机器学习与深度学习

针对机器学习方面的编程,IDE 可使用同后端编程中一样的软件。机器学习常用的jupyter-notebook 以及所需要的相关库如numpysklearnpandas等,也均可在源中找到。同时,tensorflowpytorch以及其相关的 cuda 支持包等深度学习相关的包也均可安装使用。

科学计算

SageMath(原名 Sage)是免费的、自由的数学软件,支持代数、几何、数论、密码学、数值计算和相关领域的研究和教学,可作为 MATLAB 的替代。Sage 的开发模式和 Sage 本身的技术都非常强调开放性、社区性、合作性和协作性:我们在制造汽车,而不是重新发明轮子。Sagemath 的总体目标是为"4M"(即 Maple、Mathematica、Magma 和 Matlab)提供一个可行的、免费的、自由的替代品。SageMath 为目前科学计算领域的大多数开源软件/库统一重写了接口,提供了一种类兼容 python 的语法,可以说集开源数学软件之大成。目前已可部分替代"4M"。

Arch Wiki ||| 中文教程及文档

逆向工程

可安装知名的ghidra作为 IDA 的替代,更多替代选项可参考alternativeto。除此之外再介绍一个好用的十六进制编辑器Bless