做一个软件必要 哪些技能 「 做一个软件必要 多少钱?」

  

  原文链接:

  https://insights.dice.com/2016/12/20/5-tested-technologies-master-2017/

  原文标题:5 Tested Technologies to Master in 2017

  原文作者:David Bolton

  51CTO大本营yiban51CTO

我黑白 常支持程序员们抱着终身学习的态度的。只管 新型技能 结果 不绝 出现,但对于从业者而言,打好底子 永久 更为紧张 。因此假如 各人 对以下六项根本 技能 方案还不太认识 ,请在2017年到来之前做好预备 。

  注

不管市场怎样 曲折,如HTML这类内功性子 的技能是不大概 很快消散 。很多 朋侪 大概 会奇怪 我为什么没有把Java列入进来。究竟 上,假如 列入Java,那么React、jQuery等等,大概 其他多种软件包或框架也都必要 被列入进来,然而这些显然会在将来 几年中渐渐 更新换代的。思量 到篇幅所限就不多叙述别的知识了。

  1

  Go语言

本年 10月的TIOBE编程语言人气榜上,Go语言得到了简单 但有力的形貌 :“谷歌的Go语言险些 无可对抗 ,而这重要 是受到Docker等Go语言编写的容器应用方案的大力 大举 推动。”

  

只管 Go语言最初的目标 有实行 性子 ,但Docker以及别的 企业都把它作为自身底子 办法 的有力支柱,而来由 则非常简单 :它拥有迅如闪电的编译与实行 速率 ,可以利用 简单 方法(Goroutines)支持并发机制,而且 也为程序员们提供大量选项来构建并维护现有及新型技能 。然而Go语言的长处 必要 到代码量到达 肯定 量之后才华 领会 出来,比如 当你遇见一个cpp文件一个小时都编译不完的时间 ,你就知道简化语法增长 编译速率 有多紧张 了。Go同样面向对象,但它不存在范例 布局 。

以下为Go语言中的“Hello World”编写方式:

  package main import "fmt" func main() { fmt.Println("Hello, World") }

  2

  Rust

与火狐欣赏 器同宗同源的Rust是一类体系 编程语言,它运行速率 极快、不存在段错误而且 可以保障安全。与Go差别 ,Rust并不具备垃圾采取 机制(Go的垃圾采取 机制速率 很快),因此Rust编程实用 于嵌入式体系 。

  

  与Go雷同 ,Rust依靠 于代码分支布局 ——但Rust更为复杂。两种语言都是免费,而且 它们都拥有本身 的支持工具生态体系 。Rust博客主页中的“稳固 性即可交付性”标语 正是Rust的理念地点 ; 其在RedMonkt及别的 编程语言榜单上皆拥有不俗表现 ,其将来 发展天然 值得关注。

下面来看一段出色 的Rust代码示例:

  let number = 13; println!("Tell me about {}", number); match number { // Match a single value 1 = println!("One!"), // Match several values 2 | 3 | 5 | 7 | 11 = println!("This is a prime"), // Match an inclusive range 13...19 = println!("A teen"), // Handle the rest of cases _ = println!("Ain't special"), } let boolean = true; // Match is an expression too let binary = match boolean { // The arms of a match must cover all the possible values false = 0, true = 1, }; println!("{} - {}", boolean, binary); }

  3

做一个软件需要哪些技术「 做一个软件需要多少钱?」 做一个软件必要
哪些技能
「 做一个软件必要
多少钱?」 小程序开发

  Git

时至本日 ,每个人都必要 利用 版本控制体系 (简称VCS)。VCS实际 上就是一套容纳代码及数据的存储库。它可以或许 追踪变动 ,并利用 开源meld等diff工具举行 变动 查察 。

  

各类VCS的工作原理大要 雷同 。各人 必要 利用 源代码文件创建 一个项目,而后即可随时对其举行 查抄 、编辑而后确认(提交)。

由Linux之父Linus Torvalds编写的Git是一套分布式VCS,因此其可供团队成员以长途 方式利用 各自的文件举行 编辑,而后将变动 的结果 举行 归并 。假如 存在辩论 ,也就是两位成员对同一文件提交了差别 编辑结果 ,Git则会在归并 时以高亮方式表现 辩论 部分 。接着,各人 必须手动编辑并修改这些内容。从人气角度讲,Git已然势如破竹 。

  4

  HTML

做一个软件需要哪些技术「 做一个软件需要多少钱?」 做一个软件必要
哪些技能
「 做一个软件必要
多少钱?」 小程序开发

在本日 探究 的四种技能 中,HTML显然最为简单 。HTML是网页标记 语言,是欣赏 器可以或许 阅读的语言。只要你写的东西想要欣赏 器能精确 表现 出来,那就要懂HTML。此中 的/代表着关闭标签,而且大多数HTML标签都利用 这种开放标签加/关闭标签的情势 起效。(对于以HTML起始的内容,标头可选且为文档中的不可见部分 ,而本体则容纳可见部分 。)

  

  大多数别的 HTML标签用于实现布局 与文本格式; 其同样易于利用 。只管 HTML的技能 标准 已经相称 陈旧,但其仍旧 被广泛利用 ——假如 各人 尚不相识 ,请肯定 找点时间举行 学习。

  5

  Python

假如 ,只能选择把握 一种编程语言,那么我的答案是Python。早在互联网诞生之前,Basic是每一位开辟 者所必须相识 的语言选项; 如今 Python就是新期间 下的Basic。这是一种通用型编程语言,固然 没人会利用 其编写那些“重量级”应用——比方 游戏大概 操纵 体系 (这类应用仍旧 利用 C++)。

  

Python易于学习,且利用 缩进而非大括号标记 布局 。以下代码来自Python维基词条:

  parents, babies = (1, 1) while babies 100: print 'This generation has {0} babies'.format(babies) parents, babies = (babies, parents + babies)

Python语言带有表明 特性,因此各人 可以在Python shell中实行 各种下令 丈表达式。其速率 很快,但相比优化型编译语言稍慢一点。它拥有规模巨大 的资源库,且可通过多种方式实现进一步提速。各人 可以利用 pypy等更换 性方案大概 利用 Cython将其编译为C; 假如 各人 相识 C语言,也可以或许 编写本身 的C、Go大概 Rust扩展。

Python在科学家群体中亦大受欢迎 。近来 推出的英特尔Python(免费)使得Python成为一种面向呆板 学习的可用语言,其实用 场景包罗 大数据、神经网络以及别的 相干 技能 。英特尔打造的这套发行版包罗 高出 100套软件包(NumPy、SciPy等),且专门举行 了优化以利用 英特尔MKL及英特尔TBB库——二者内置于此中 且可免费利用 。大部分 高强度任务 都可由这些颠末 优化的英特尔库负责实行 。

  6

  Linux

纵然 各人 身为专业Windows用户及程序员,Linux同样值得加以关注,它能资助 您更快地学习,它还能利用 多种技能 方案。举例来说,Python、Go以及Rust就更得当 在Linux平台上利用 。(要在Windows上举行 Rust程序编译,各人 必要 利用 微软VC++大概 MinGW——这是一套GNU编译器与工具聚集 ,专门用于Windows平台上的开辟 与运行任务 )。

  

  对于Windows用户,各人 只必要 下载免费VirtualBox并安装一套Linux发行版(我个人保举 Ubuntu 14.04 LTS大概 16.04 LTS)即可开始Linux之旅。在此之后,各人 即可学习Linux,安装各类编程语言,运行本地 LAMP(Linux Apache MySQL PHP)Web服务器乃至 实行 举行 开辟 工作。

  粉丝福利

熊小妹又来送福利啦!

Linux图书免费送!

  快来参加 “2016年度最受欢迎 的IT类图书及其作者评比 活动 ”!

  点击“阅读原文”立即 参加 活动 ,并将投票的图书名称留言给熊小妹,留言点赞数前3名的小搭档 即可得到 熊小妹免费送出的Linux图书哦!