歡迎您光臨本站 註冊首頁

Linux環境編程語言概覽

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

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上優秀的編程語言層出不窮,百家爭鳴.

本文出自 「elephant_liu」 博客,請務必保留此出處http://elephantliu.blog.51cto.com/1107116/868249


[火星人 ] Linux環境編程語言概覽已經有333次圍觀

http://coctec.com/docs/linux/show-post-45960.html