Skip to content

Latest commit

 

History

History
61 lines (34 loc) · 6.75 KB

File metadata and controls

61 lines (34 loc) · 6.75 KB

Programming

What many people don't know is that Linux is almost the most suitable operating system for programming, and its programming support for all directions is in place (except Microsoft and Apple's proprietary system programming), which can save you a lot of pain. This article introduces high-quality software introductions in various programming directions. We recommend that readers use free software for programming, and only free software is listed in this section.

Front-end programming

For the front end, a browser and IDE (or editor) are generally required, with some network tools attached.

For IDE (or editor), you can use OSS code, which is an open source build generated from the official repository. vscodium-binAUR is a community driven version of vs code.

Binary builds of Microsoft Visual Studio Code are actually proprietary software. Many people have misunderstandings here. Such tricks are increasingly being explored and used by more companies. [1]

On the browser side there are firefox, chromium, firefox -developer-edition, braveAUR and many other software to choose from.

Network tools often use httptoolkitAUR (as a replacement for charles), and wireshark-qt.

As for front-ends such as yarn, npm Common tools can also be installed with pacman.

Back-end programming

Jetbrains' open source IDE can be found in the official archlinux repository, such as IntelliJ Idea, PyCharm, et al. More traditional IDEs include Netbeans and eclipse, which has multiple versions and can be searched in the AUR.

There is no need to say much about the programming language itself, except that the C language and C++ are supported by the installed system, java, node, etc. can be easily installed.

In addition to the default installed gcc, you can also install clang and llvm for use

When it comes to database-related software, there are also a variety of options.

For big data, packages such as hadoopAUR can be installed. If the package has not been updated for a long time or the package does not exist, such as hbase and hive, you can only go to the official website to download and configure it yourself.

Regarding software testing, common software such as junit can also be easily installed and used with your favorite IDE.

Android client programming

At present, Android development has been unified to Android StudioAUR for development. Of course traditional Eclipse can also be used. Common Android emulators can also use Anbox or Waydriod .

Desktop application programming

At present, the more popular desktop development is electron and Qt application. Electron can be developed directly with OSS Code, and Qt applications can be developed with Qt Creator.

Machine Learning and Deep Learning

For programming in machine learning, the IDE can use the same software as in backend programming. Machine learning commonly used jupyter-notebook and required related libraries such as numpy, sklearn, pandas, etc., can also be found in the source. Meanwhile, tensorflow, pytorch And deep learning related packages such as its related cuda support package can also be installed and used.

Scientific Computing

SageMath (formerly Sage) is free, liberating mathematical software that supports research and teaching in algebra, geometry, number theory, cryptography, numerical computing, and related fields, and is available as Alternative to MATLAB. Both Sage's development model and Sage's own technology place a strong emphasis on openness, community, cooperation, and collaboration: we're building cars, not reinventing the wheel. The overall goal of Sagemath is to provide a viable, free, free alternative to the "4M" (i.e. Maple, Mathematica, Magma, and Matlab). SageMath rewrites the interface for most open source software/libraries in the field of scientific computing, and provides a python-compatible syntax, which can be said to be the culmination of open source mathematical software. At present, it can partially replace "4M".

Arch Wiki ||| Chinese Tutorial and Documentation

Reverse Engineering

The well-known ghidra can be installed as an alternative to IDA. For more alternative options, please refer to alternativeto. In addition, introduce a useful hex editor Bless.