暑假要看的东西
大魔王推荐
大魔王主学 c++,c++ 作为一门包罗万象的语言,学习难度自然是大了点。下面是我要安利的东西,都是我用过的~
读物
以下是推荐读物。
《C++ Primer》这边是在学习 c++ 后可以读一读的书,适合入门后再进阶。
《C++ Primer Plus》这本反而是入门级的读物,适合 c++ 新手。
《Effective C++》,这本书介绍了 c++ 中的特性与应用场景,编写出高效的代码。
《Qt on Android 核心编程》,这边书的内容是使用 c++ 框架 Qt 开发安卓应用,以及如何使用 java 和 c++ 混合编程(JNI),开发安卓应用。
框架
推荐学习 Qt,虽然是一个大而全的 c++ 库,是万金油类型的库,可以做任何事情的库。好吧,这个库是专注于用户图形界面开发的库,想做app的同学可以看一下,支持桌面和手机开发。
编程语言
Python
首推 Python 。入门教程请看这里,先入门,然后其他进阶教程,这里并不提供。
Python 是一种脚本,广泛应用于网站和编程开发,数学计算等等。Python 代码最大最直观的特点就是使用缩进表示嵌套关系。
看看代码示例
输出,换行就是一个语句的结束
print "Hello Pthon"
代码使用缩进表示嵌套关系。
def function(arg1, arg2):
print arg1+arg2
function(1,2)
QML
类似于 HTML5+JavaScript+css3,是 Qt 框架下的脚本语言(特定领域语言,DSL),主要是用来描述界面和定义用户交互的。
示例如下
import QtQuick 2.4
import QtQuick.Window 2.0
Window {
title: "Hello QML"
width: 320
height: 240
Text{
anchors.centerIn: parent
text:"Hello QML"
}
}
效果图如下:
使用的描述性的语法,可以快速构建出用户界面。相比于 HTML,其优势是,使用的解析渲染引擎和内核是统一的,不像 HTML,要为每个浏览器适配不同的界面。
特色是,使用了拓展的 JavaScript ;极其容易的优雅的和其宿主语言 c++
进行交互。例如可以使用 c++ 编写插件,也可以在 c++ 中读写 qml 对象的属性。现在支持 3D 场景,例子特效,音频播放,WebSocket等。
推荐读物《Qt Qucik 核心编程》。
JavaScript
JavaScript 不仅仅应用于 web 编程,这里要说一说 JavaScript。严格意义上讲包含了三个部分: ECMAScript,文档对象模型,浏览器对象模型,其中 ECMAScript 是其核心,文档对象模型,浏览器对象模型是拓展进去的。由于谷歌的 v8 引擎优化,JavaScript 的执行效率是很不错的。
由于 JavaScript 的宿主环境不一样(一般为浏览器),所以可以对其进行拓展,例如 nodejs 。
所以 JavaScript 广泛应用在游戏开发中~
推荐教程:
markdown
markdown 是一种简单易用的标记语言,主要用于文(章)档编写。
文章的主要结构是标题和内容,内容又分为文字和图片。
代码示例如下
# 一号标题
## 二号标题
内容
### 三号标题
内容
![图片](http://图片地址)
markdown 广泛应用在文档编写上,这里推荐教程:
XML
XML 是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。
有良好的解析格式,可以用来储存信息,在 web 中应用广泛,要学会 XML 的语法和怎么解析 XML。
示例如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- 这里是注释 -->
<root>
<name>大魔王</name>
<age>0</age>
</root>
JSON
JSON 是一种轻量级的数据交换格式。
类似于 XML ,现在广泛应用于web,以及数据交换。
示例如下:
{
"大魔王": [
{ "徒弟":"Bill" },
{ "徒弟":"George" },
{ "徒弟":"Thomas" },
"年龄": 0
]
}
记得配合 JavaScript 学习。
推荐教程
以上推荐的编程语言,其中 Python,markdown,QML学习都不是难度不大。