Linux环境编程语言概览

Linux桌面环境概览 Linux桌面生态系统百花齐放,从传统的GNOME、KDE到现代的Wayland原生环境,从轻量级的XFCE到国产的DDE(深度桌面)、UKUI,每种桌面环境都有其独特的设计理念和技术架构。对于Linux系统开发者而言,理解这些桌面环境的差异不仅有助于选择合适的开发环境,更能深入理解Linux图形栈的整体架构。本文将从技术视角对比主流桌面环境,分析其技术栈、窗口管理器、显示协议等核心组件。 阅读详情

本文出自 “elephant_liu” 博客,请务必保留此出处http://elephantliu.blog.51cto.com/1107116/868249 


Linux环境编程语言概览

我从最开始学习编程的时候,就是使用Linux。虽然我只有三年的编程经验,但是我觉得,使用Linux编程,真是一件令人心情愉悦的事情。

C语言

我接触C语言,仅仅是大学时的一门必修课。而C语言的简单、结构化和高效也使它从诞生至今四十余年,经久不衰。
C语言算得上是一门成熟完善的面向过程的编程语言,这主要体现在两个方面:
一、完善的条件分支结构和截断求值特性。这在许多基于函数来做条件判断的编程语言上是无法做到的。
二、支持递归的函数调用。C语言用栈的方式完美解决函数递归调用的问题。
对于Linux,C语言更是无比重要。Linux内核完全是用C语言编写。其它C语言编写的程序还有shell环境、大量CLI工具,著名的跨平台GUI库GTK,著名脚本语言PHP的解释器等。

C++

相比于C语言,C++添加了OOP、模板编程等高级特性,使C++独立于C语言形成了一门新的程序设计语言。它在仅增加少量性能损耗的条件下,大大增加了开发效率。Smalltalk、C++等语言的出现引领了设计模式的一次最大变革,也使得软件工程等相关学科有了一次质的飞跃。
而C++的应用领域相比C更加宽广。如今最优秀的跨平台图形界面库,Qt,就是C++库。而我,准确地说,主要是一名Qt程序员。

C语言与C++之争

Linux之父林纳斯·托瓦兹、图灵奖得主尼克劳斯·维尔特曾经批评C++。对于此事,我有一些自己的看法。
我认为,C++绝对可以称得上世界上最难的编程语言。曾经有位学长和我说,一位C++程序员想转行到其它编程语言是非常容易的,但是反过来却异常艰难。学习C++是艰难的,但是掌握C++以后,收获却仅不止C++本身而已。因为C++真的过于强大了。

shell

shell可以说是Linux系统上必不可少的工具之一。在图形界面如此流行的今天,shell仍然凭借着它的强大、方便、快捷发挥着无可替代的作用。一些没有安装图形界面的主机,就是靠shell来维护的。而bash、zsh、csh的出现,极大的丰富了shell的语法。加上一大批CLI工具,可以说,没有shell完不成的任务。

GNU构建工具链

感谢四十前来,世界顶尖的黑客们创造并发展壮大了Unix操作系统。而Linux将Unix的优秀设计全部继承下来,同时,也继承了大量简单好用的工具。
对于C/C++程序,在不同操作系统上编译、移植是一个非常复杂的过程。而GNU构建工具链提供了一个强大的解决方案,只需要几个简单的命令就可以完成构建过程。
GNU构建工具链包括GCC、make、autoconf等工具。GCC是一个强大的编译器,可以编译十几种编程语言。而它提供的大量扩展被Linux内核使用,导致现在GCC是唯一一个能够编译Linux内核的编译器。而许多使用Linux的服务器如此稳定、高效地运行了十几年,也证明了GCC的强大。
make是一个自动解决源文件依赖关系的工具。用户只需要编写一个简单的Makefile,make工具就可以依靠时间戳来判断出哪些目标需要重新构建。而且,真正的构建过程交给shell完成,这使得对于熟悉shell编程的程序员,编写Makefile变得十分简单。

lisp

lisp是一门古老的语言,历史甚至可以追溯到计算机出现以前。它为人工智能的发展做出了非常大的贡献。而lisp的语法也对之后产生的编程语言产生了深远的影响。例如,函数作为第一类值、闭包等概念影响到了之后出现的Lua、Javascript等语言。

Java

Java在Linux上的发展一直并不被大家看好,主要是因为Java的封闭态度。sun jdk一直不是自由软件,而openjdk在许多特性上支持不足,使得Linux环境中没有一种完美的Java编译器。

3P

Linux上的3P指的是PHP、Python、Perl三门编程语言。
先说PHP。PHP的语法非常简单,而且和C语言很像。这使得PHP的入门门槛大大降低。曾经有一家公司在招不到PHP程序员的情况下,招募一大批C程序员,仅提供3到5天的培训,就正式上岗了。PHP对CLI和GUI的支持很差,但它在网站编程上的专注,使得它在Web领域取得了非常大的成功,也成就了著名的LAMP框架。
Python可以说是OOP语言中非常另类的一门语言,而且它的诸多语法特性,让我觉得它是仅次于C++的第二难学的编程语言。但也正是这些语法特性,使它的功能非常强大,CLI、GUI、Web,无所不能。GUI领域,Python有PyQt等强大的库;Web领域,国内著名网站“豆瓣”就是用Python做的。
我对Perl的了解非常少,传说它在系统管理上发挥非常大的作用,正在一点点占据C语言在CLI中的份额。而且,Perl风格的正则表达式也称做经典,被很多编程语言引用。
 
我了解的编程语言基本也就这么多了。由于Linux的开放态度,Linux上优秀的编程语言层出不穷,百家争鸣。
swift linux环境配置 阅读详情

相关推荐

TXL编程语言环境安装

TXL(Tree Transformation Language)是一种专门用于源代码分析和转换的编程语言。它基于树形结构,可以帮助开发人员进行各种代码重构、代码生成、语法转换等操作。TXL具有强大的模式匹配和模式替换功能,因此在软件工程和编程语言研究领域得到广泛应用。例如,可以用TXL来自动化重构工作、实现编程语言之间的转换,或者进行源代码的静态分析等。

阿航的博客 875

Linux下快被人们忽略的编程语言

我们逐渐的被各大商业公司的技术所掩盖。事实并非如此,还有几种被人忽略的语言,他们实实在在的服务。本文简单介绍了Linux下快被人们忽略的C、Shell、Haskell、Perl语言

Linux环境下的编程语言概览

Linux环境下,有许多编程语言可以用来开发各种应用程序。这些语言各有特点和适用场景,可以满足不同开发需求。下面将介绍几种常用的Linux编程语言,并提供相应的源代码示例。以上是在Linux环境下常用的几种编程语言。根据具体需求和个人喜好,选择适合的编程语言进行开发,可以更加高效和便捷地实现各种功能。

TechRoar的博客 382

linux里的编程语言

绝大多数运行在LINUX下的编程语言都是C语言,所以本篇文章主要说明LINUX下的C语言 linux提供了多个编译器,最常用的是gcc编译器 gcc 编译器 功能: 调用C编译器,执行该命令后,将完成预处理、编译、优化、链接并且最终生成可执行代码。 [格式] : gcc [option] file - list 源代码文件要求带扩展名*.c 可执行代码默认存储在a.out文件中 常用选项: ...

NGUP_LEE的博客 2529

linux 编程语言知识巩固

linux 编程语言 知识巩固 第一课 日期 :2018.11.03 在虚拟机终端的指令下操作: 1.#与$:操作用户提示符 ; #root 为超级用户; $ su为普通用户; 超级用户与普通用户之间可以相互转换,其中超级用户具有最高权限,在新手期建议使用普通用户以防误删等错误操作; 2. vim 命令 的使用; vim为文件编辑器功能; vim + xx (xx为文件名) 即在虚拟机中创建一个名...

qq_38051737的博客 1928

从入门到精通:C语言Linux编程指南

C语言是一种通用的高级编程语言,由美国贝尔实验室的Dennis Ritchie在1972年至1973年间为了编写Unix操作系统而开发出来。C语言凭借其简洁、高效、跨平台等特点,成为了一种广泛应用的编程语言。C语言既具备高级语言的抽象能力,也具备低级语言的操作硬件的能力。同时,C语言的语法简单,易于学习,且具有很强的灵活性,适用于编写多种类型的软件。C语言还具有广泛的应用领域,包括系统软件、游戏开发、嵌入式开发、科学计算、图像处理、数据库管理等等。在Linux操作系统中,C语言是一种非常重要的编程语言

qq_61552113的博客 5330

嵌入式Linux开发的编程语言选择-续

欢迎大家关注我的公*号:embedded_bug 嵌入式Linux开发的编程语言选择2-高级语言比较 这里的嵌入式Linux环境是指非标准Linux发行版环境,比如通过buildroot创建的,相比于标准的Linux发行版比如ubuntu,debian,fedora,系统比较简陋,提供的库很有限,而且系统的各种配置文件和配置方式与标准Linux发行版差别很大,总之,这里的嵌入式Linux只保证系统能够基本的启动运行起来。 直接说结论,个人推荐:go>C++(11)+boost>c,其他语言目前还

tiantao433的博客 1029

Linux开发工具大全:从编程语言到IDE环境

本文全面介绍了Linux平台上的开发工具生态系统,涵盖主流编程语言的开发环境选择,包括轻量级编辑器、功能完整的IDE以及终端工具。详细分析了Visual Studio Code、JetBrains系列IDE、Vim/Neovim、Emacs等核心开发工具的特性与适用场景,并提供了Python、JavaScript/TypeScript、Java、C/C++、Go、Rust等语言的专用开发环境配置指...

gitblog_00530的博客 1597

Linux 系统中设置编程开发环境需要根据具体的编程语言和开发需求进行配置

保存并重启,进入安装程序,按照提示完成安装‌。在 Linux 系统中设置编程开发环境需要根据具体的编程语言和开发需求进行配置。通过以上步骤,您可以在 Linux 系统中快速搭建并配置适合多种编程语言的开发环境‌。安装 Fish Shell,开箱即用,与 FZF 和 Ripgrep 等工具兼容‌。通过以上方法,可以快速搭建 Linux 编程环境,无需复杂的配置过程‌。安装完成后,首先更新系统以确保所有软件包是最新的‌。创建一个新的普通用户,并赋予其 sudo 权限‌。如果未安装,使用以下命令安装‌。

[Blog][Domain] programb.blog.csdn.net 1374

Python环境Linux脚本编程语言

你是否还在为Linux系统管理中繁琐的重复性任务而烦恼?是否希望用更简洁的代码实现自动化运维?本文将带你掌握如何在Linux环境下搭建Python开发环境,并通过实用脚本案例展示Python在系统管理中的强大能力。读完本文,你将能够独立编写基础的系统监控脚本、文件批量处理工具,以及自动化任务调度程序。 ## 为什么选择Python作为Linux脚本语言Linux系统管理领域,Shell脚本...

gitblog_01165的博客 753

Linux——Linux桌面概览

Linux桌面概览 桌面组件 为了能协同工作,各种应用就需要有一些共性,而在几乎所有的Linux桌面组件中,这种共性就是X服务器(即X Window系统服务器)。你可以把它想象为桌面的“内核”,管理着窗口功能和显示配置,并处理来自键盘和鼠标等设备的输入。它是难以取代的。 X服务器只是一个服务器,它无法决定桌面的表现形式。相反,用户界面是由X客户端处理的。基本的X客户端应用如终端窗口和网页浏览器,会连接到X服务器,并请求它绘制窗口。这样X服务器就会算出窗口的位置并在该位置提供图形。X服务器也会在适当的时候将用

绝尘 1310

Linux系统中安装Go编程语言环境

Linux系统安装GO编程环境

qq_61984546的博客 1498

编程语言的开发环境

在使用某一种编程语言开发环境时,都需要搭建相关的开发环境,下面我们就来聊一聊一些主流编程语言编程环境。 C/C++ 在windows平台上搭建C/C++的开发环境非常简单,下载一个IDE即可,例如codeblocks、VC++等。这些IDE里整合了函数库、编译器、编辑器等。非常方便,根本不需要手动配置文件。 在linux平台上则稍微麻烦一点。需要自己下载安装编译器,例如gc...

780

线上环境部署概览

扫码关注后端技术精选,回复“学习资料”,领取100套小程序源码+小程序开发视频和基本Java经典书籍电子版 谈到线上环境,一般开发同学,不太容易接触到。即使接触到,也只是其中的冰山一角! 所以,其实说起线上环境的部署,咱们好像都有点懂,但是又都不一定完全懂!网上的知识无穷无尽,但往往都是各司一职,对于普通同学,很难窥其全貌! 所以,我今天就来说说,一些普通的线上环境的部署步骤,和一些脚本小...

Java笔记虾 1727

一文了解Python编程语言及安装

Python是一种高级编程语言,由荷兰人Guido van Rossum于1989年创造。Python是一种高级、面向对象的、可扩展的、解释型的、跨平台的编程语言。Python的语法设计更注重程序的可读性和简洁性,让程序员可以更加专注于解决问题本身,而不用花费太多时间关注语言细节

大虾好吃吗 1138

Linux开发和编程指南:搭建环境Shell脚本与常见编程语言配置及使用

本文详细介绍了在Linux系统上进行程序开发和编程的相关知识,包括搭建开发环境、掌握Shell编程和脚本编写技巧,以及常见编程语言(如Python、Java、C/C++和PHP)在Linux上的配置和使用方法。掌握这些技能对于软件开发者来说至关重要,因为Linux系统在各个领域得到广泛应用,成为必备的开发技能。

qq_41308872的博客 1万+

linux安装编程语言,如何在Linux中安装Rust编程语言

Rust 通常被称为 rust-lang。Rust 是一个由 Mozilla Research 赞助的通用的、多范式、现代的、跨平台和开源系统编程语言。它旨在实现安全性、速度和并发性等目标。Rust 在语法上与 C++ 相似,但它的设计者希望它在保持性能的同时提供更好的内存安全性。Rust 目前在许多组织中使用,例如 Firefox、Chef、Dropbox、Oracle、GNOME 等。如何在 ...

weixin_39745933的博客 318
上一篇: [回顾]清华申请退学博士作品:完全用Linux工作
下一篇: 什么是声明?什么是定义?
cbsheng
博客等级 码龄15年 221粉丝 104原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值