教你成为全栈工程师(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》
教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别的更多相关文章
- 教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师
作为一个编码12年的工程师老将,讲述整段工程师的往事,顺便把知识都泄露出去,希望读者能少走一些弯路. 这段往事包括:从不会动的静态网页到最流行的网站开发.实现自己的博客网站.在云里雾里的云中搜索.大数 ...
- 教你成为全栈工程师(Full Stack Developer) 四十五-一文读懂hadoop、hbase、hive、spark分布式系统架构
转载自http://www.shareditor.com/blogshow?blogId=96 机器学习.数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-red ...
- 《Web全栈工程师的自我修养》读书笔记(转载)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/5 ...
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...
- 《web全栈工程师的自我修养》阅读笔记
在买之前以为这本书是教你怎么去做一个web全栈工程师,以及介绍需要掌握的哪些技术的书,然而看的过程中才发现,是一本方法论的书.读起来的感觉有点像红衣教主的<我的互联网方法论>,以一些自己的 ...
- Java全栈工程师知识体系介绍
Java全栈工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer. 那么想要成为一名合格的Java全栈工程 ...
- 术语-IT术语-全栈工程师:全栈工程师
ylbtech-术语-IT术语-全栈工程师:全栈工程师 全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人. 1.返回顶部 1. 中文名:全栈工程师 外文名:Full Stack engin ...
- 阿里巴巴年薪800k大数据全栈工程师成长记
大数据全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack (需fanqiang).他把全栈工程师定义为对性能影响有着深入理解的技术通才.自那以后 ...
- “摆地摊“都找不到全栈工程师?JNPF帮你分分钟搞定!
大街上捕捉野生程序员 都这样了还找不到全栈工程师 全栈工程师(Full-Stack Engineer)图鉴: 全栈工程师,也叫全端工程师(同时具备前端和后台能力),英文Full Stack deve ...
随机推荐
- 制作iis自动安装包
原文:制作iis自动安装包 MS 一直没有提供可独立安装的 IIS 安装包,Windows 的缺省安装没有安装它,通常要到控制面板的"添加/删除 Windows 程序"中去选择安装 ...
- CSS知识点:font小细节
font是用来设置网页字体属性的关键字,使用频率非常高,大家也比较熟悉.它有两种写法,一种是简写,一种分开写. 简写--font:italic bold 12px/20px arial,sans-se ...
- ssh常用用法小结
ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...
- vi/vim多行注释和取消注释
多行注释: 1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来 2. 按大写字母I,再插入注释符,例如// 3. 按esc键 ...
- Visual Studio 当前不会命中断点的问题
这个问题一般有两个版本 1.当前不会命中断点,还没有为该文档加载任何符号. 2.当前不会命中断点,源代码与原始版本不同. 要解决第一个问题,就要了解一种文件格式“PDB(Program DataBas ...
- DDD 应对具体业务场景,Domain Model 重新设计
DDD 应对具体业务场景,Domain Model 重新设计 写在前面 上联:no zuo no die why you try 下联:no try no high give me five 横批: ...
- c#中运行时编译时 多态
c#中运行时编译时 多态 public class aa { } public class bb:aa { } public class cc { public static void Main( ...
- xquery
XQuery 相对于 XML,等同于 SQL 相对于数据库.设计用来查询 XML 数据.- 不仅仅限于 XML 文件,还包括任何可以 XML 形态呈现的数据,包括数据库. FLWOR 是 " ...
- Hashtable Dictionary List
Hashtable Dictionary List 谁效率更高 一 前言 很少接触HashTable晚上回来简单看了看,然后做一些增加和移除的操作,就想和List 与 Dictionary比较下存 ...
- .Net 异步随手记(一)
今天要记录的内容摘要是: 什么时候异步代码能“等”在那里,什么时候不会“等” 这两天Coding的时候碰到一个事儿,就是想让异步等在那里结果却直接执行过去了,比如这样: async static vo ...