教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别

为了能在最快的时间里理解更多语言的相同点和不同点,我用大家最熟悉的Hello World来展示一下各个语言的奥妙

请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址

注意:整个教程是基于linux系统的(为了方便讲解,我选择用vmware虚拟机装了CentOS 7来演示,其他linux均可),包括编译器、依赖库安装过程、命令行,如果是使用windows或mac系统稍有差别,CentOS 7安装方法百度一下你就知道

万物之源的C语言

简述:C语言是编译执行的语言,linux下常用的编译器是gcc,c语言源代码可以直接被编译成可执行程序(机器码),说它是万物之源是因为其他各种语言都是用C语言写的,如java、php、python……

源代码:hello_world.c

#include <stdio.h>
int main(int argc, char* argv[])
{
    printf("hello world\n");
    return 0;
}

编译执行:

[root@centos7vm code]# gcc -o hello_world hello_world.c
[root@centos7vm code]# ./hello_world
hello world

最流行的java语言

简述:java语言曾一度家喻户晓,有人可以昂起头说我会java,如今虽然潮流已过,但java跨平台的优势以及强大的类库着实不容小觑,其他语言很难超越,java衍生除了非常多周边产品(如jsp),非常多的开源系统都是基于java(hadoop、hive、hbase、lucene等),java和c一样也是编译执行的语言,区别在于java编译出的字节码文件运行在一层java虚拟机之上,而虚拟机可以架设在各种操作系统上,所以java也就有了跨平台的优势,一处编译多处执行

环境准备:

[root@centos7vm code]# yum install java*

源代码:hello_world.java

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

编译执行:

[root@centos7vm code]# javac HelloWorld.java
[root@centos7vm code]# java HelloWorld
hello world

互联网时代的html语言

简述:html是超文本标记语言,通俗来说就是展示网页的,是一种解释执行的语言(读一句展示一句,不需要编译成其他形式),html通过一个个标签来指示浏览器怎样展示网页

源代码:hello_world.html

<html>
    <head>
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

用浏览器打开展示效果:

解释执行的脚本语言bash

简述:bash是shell脚本的一种(也叫bshell,类似还有csh和ksh),其实类似于dos里的bat批处理程序,把一堆顺序执行的命令写到一个文件里一起执行,同时扩展了一些分支、循环、函数等语言特性,在服务器端开发和运维中经常用到

源代码:hello_world.sh

#!/bin/bash
echo "hello world"

执行效果:

[root@centos7vm code]# sh hello_world.sh
hello world

即能编译执行又能解释执行的python语言

简述:python的强大在于它的不伦不类,说它是解释执行,它却会编译成文件,说它是脚本语言,它却具有面向对象的所有性质,如今python开源的类库已经非常强大了,什么功能都有,python也成了大数据方向必要的工具

源代码:hello_world.py

#!/usr/bin/python
print "hello world"

执行效果

[root@centos7vm code]# python hello_world.py
hello world

ps:python还可以交互式执行,也就是像在终端里执行python语句一样,如下:

[root@centos7vm code]# python
Python 2.7.5 (default, Nov 20 2015, 02:00:19)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
hello world

请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址

号称全世界最好的语言的php

简述:动态网页后端语言有很多,asp、asp.net、jsp、c#、python、php……,php可以说是最容易上手的语言

环境准备:

[root@centos7vm code]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
[root@centos7vm code]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@centos7vm code]# yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64

源代码:hello_world.php

<?php
print("hello world\n")
?>

执行效果:

[root@centos7vm code]# php hello_world.php
hello world

ps:实事上php程序不是这样用的,而是和http服务器一起通过接收http请求,并执行响应的php脚本,然后返回html标签给用户,实现动态网站,后面会详细讲解

网页样式语言css

简述:css是html的一个辅助语言,用来描述网页样式,html没有css也可以工作(可以通过标签的各种属性以及style属性定制样式),但css可以把样式做抽象,和html剥离,这样html单纯用作布局

源代码:

hello_world.html

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

style.css

h1 {
    color: red
}

用浏览器打开展示效果:

网页前端脚本语言javascript

简述:javascript是可以运行在网页前端的脚本语言,可以基于html之上实现更丰富的交互、异步回调、多线程、定时器、动画等

源代码:hello_world.html

<html>
    <head>
    </head>
    <body>
        <script type="text/javascript">
            document.write("<h1>Hello World!</h1>")
        </script>
    </body>
</html>

用浏览器打开展示效果:

总结

综上,挑选了几种典型语言来说明运行过程,针对不同的业务场景选用不用的语言,每种编程语言可以边用变查,不建议一开始就系统学习,而应该运用一段时间后再系统学习,从而补充一些没用过的特性。

有关编程语言更高阶的内容可以看看《编译原理》、《lex & yacc》

时间: 2024-10-05 05:41:41

教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别的相关文章

教你成为全栈工程师

教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师(2016-04-04) 教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别(2016-04-06) 教你成为全栈工程师(Full Stack Developer) 二-半小时学会网站开发(2016-04-08) 教你成为全栈工程师(Full Stack Developer) 三-网站后端服务器那些事(2016-04-10) 教你成为全栈工程师(Full Stac

怎样成为全栈工程师(Full Stack Developer)?

我的一个小兄弟写的原创.很棒.我帮他发表在这里.他现在也是一个在纳斯达克上市公司的技术总监了,年轻有为.在Reboot也经常分享技术内容. 欢迎加入Reboot运维开发千人群(365534424)  技术交流分享天天有 高中的时候喜欢踢球,班上有一个特别厉害的前锋,用我们对手的话就是:"挡也挡不住,跑也跑不过,绊都绊不倒".       嗯,我认为的一个"全栈工程师",不是仅仅能从汇编写到JavaScript,从PHP写到Objective-C.更是从代码到Phot

《Web全栈工程师的自我修养》读书笔记(转载)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/5243181.html [正文] 豆瓣链接:https://book.douban.com/subject/26598045/ [目录] 01 什么是全栈工程师 02 如何成为全栈工程师 03 从学生到工程师 04 野生程序员的故事 05 工程师事业指南 06 全栈工程师眼中的HTTP 07 高性能

“全栈”工程师 请不要随意去做

今天我来给大家说说 "全栈工程师" 的事儿. 写这篇文的背景原因: 很简单就是最近越来越多的人想做[全栈工程师],他们的目标就是全栈,他们才入行短短1-2年,甚至刚从培训班出来:我的目标是做全栈,我啥都要学会,啥都会写,这样我就是大牛了,可以挣大钱,就算创业,我也不用招那么多人,一个人搞定一个产品,融资上市 ,CEO白富美,balabala... 我给他的回复是: 去你xx的,你连JS 数组和对象用法都搞不清,抄几个效果,看几个视频教程摸索摸索就要做万能人了? "全栈&quo

全栈工程师?

作者:肖文峰链接:https://zhuanlan.zhihu.com/p/20091607来源:知乎 最近参加一个技术社区活动,在讨论到"CTO的技术深度和广度哪个更重要"的话题时,我想起社区里面常常提到的"全栈工程师"的事情,于是表达了一些观点.临场未必能够清晰表达,所以下笔,希望能够引起一些讨论,避免年轻工程师误入歧途. 长期以来,社区就有人在提"全栈工程师",还有一些公司直接挂出名为"全栈工程师"的招聘职位.那什么是全

《web全栈工程师的自我修养》阅读笔记

在买之前以为这本书是教你怎么去做一个web全栈工程师,以及介绍需要掌握的哪些技术的书,然而看的过程中才发现,是一本方法论的书.读起来的感觉有点像红衣教主的<我的互联网方法论>,以一些自己的经历和感悟来阐述web全栈工程师需要具备哪些素质,而不仅仅是需要哪些技术.这算是我买的书中看的最快的一本书. 在阅读这本书之前,我对全栈工程师的理解还停留在node阶段,随着node在服务端的风生水起,有一段时间会认为使用nodejs作为服务端开发,前后端统一使用js开发,便是所谓的全栈开发,比较流行的技术栈

读&lt;专栏&#183;谈谈全栈工程师&gt;

原文地址:http://leihuang.org/2014/12/12/read-Full-Stack-Developer/ 昨天晚上看海贼王给看睡着了(11点的左右),导致早上5点就醒了,怎么办呢,找点东西打发点时间,本来想看看知乎的,但是最近对知乎的氛围很失望,总感觉好浮躁的氛围,当然这些跟我关注的人有关系,改天清理清理. 犹豫了半天,想着还是看本薄点的书吧,下了个豆瓣阅读软件,因为以前没用过,本来想找书,结果点进了豆瓣专栏,还以为里面是书.进去之后才发现是别人写的专栏.也没想太多,看到有科

《web全栈工程师的自我修养》 读书笔记

作者:余果. 人民邮电出版社.2015年9月第1版. 值得轻快一读,另外此书里推荐的书籍很好.Full-Stack Engineer! 一.如何成为全栈工程师 1 定义:全栈工程师是指,一个能处理数据库.服务器.系统工程和客户端的所有工作的工程师.根据项目不同,可能分为移动栈.web栈,或原生应用程序栈. 2 研发流水线 产品经理 >交互设计>>视觉设计>>前端开发/后台开发>>测试>>发布 3 代表性的全栈框架 LAMP.MEAN 4 建议:先精后广

【转载】全栈工程师系列

这两天看了一篇文章,全栈工程师系列.可以参考. http://www.shareditor.com/bloglistbytag/?tagname=%E6%95%99%E4%BD%A0%E6%88%90%E4%B8%BA%E5%85%A8%E6%A0%88%E5%B7%A5%E7%A8%8B%E5%B8%88%28Full+Stack+Developer%29 ~]$ nc -l -p 8080 GET / HTTP/1.1 Host: 10.117.146.16:8080 Connection: