智慧城市让生活更美好!

物联网技术新手学习指南

  小A物联网组

  让万物互相交流与沟通的物联网组

  带着兴趣去学习编程

  相信很多同学对编程只有朦朦胧胧的印象

  没接触过,也不知道应向哪个方向去发展

  希望你们在看完这篇攻略后

  能够对接下来的发展方向

  有一个清晰的轮廓

  关于物联网组

  物联网组,顾名思义,是负责图像识别和人工智能方面的组,一般来说是属于编程组的细化分类,也是今年新建立的组别,主要负责在X86或ARM架构上结合云计算实现智能化家居的软件开发

  学习攻略

  从小白到大神

  物联网学习攻略

  你值得拥有

  1.入门篇

  如果你是学习派

  如果你是学习派,想深入了解计算机工作原理;抑或是一点计算机编程基础都没有,我建议首选C++语言,C++语言是大部分现代高级编程语言的始祖,它上手难度较高,相对难以理解,说它是一门十分“硬核”的编程语言不为过。但它能够全面的展示计算机原理,教会你很多必备的基础知识,对以后接触的其他编程语言都具有承前启后的作用,许多先进的开源类库都是选用C++语言编写。谭浩强老师所著《C++程序设计》可谓经久不衰,是历来学习C++的首选书籍,十分推荐。

  如果你对Windows平台情有独钟

  如果你对Windows平台情有独钟,或是对Visual Studio带来的酣畅淋漓的编程体验爱不释手,希望将来能够做桌面开发,Unity游戏开发,甚至是涉足IOT物联网?我推荐选择C#语言。与C++不同,C#是一门现代高级编程语言,具备许多方便而优雅的语法,同时它也是Windows平台上首选的编程语言。书籍方面,我推荐《C# 6.0学习笔记》。

  如果你想开发手机APP

  如果你觉得手机才是王道,想开发手机APP,那么我推荐Java(Android)或是Object-C(iPhone)。先定个小目标,做个手机上运行的计算器,并成功做好它了,恭喜你具备了开发手机应用的基本能力!

  

 

  2.进阶篇

  具有一定C++基础

  可以进一步学习带界面的程序,经典的带界面的C++框架有MFC、Qt等,它将颠覆你对命令行程序的认知,有助于加深界面和后台交互的了解。基础更上一层的同学可以玩玩单片机、实验一下类库移植或者云端API调用。

  具有一定C#基础

  具有C#基础的同学同样可以从C#的WPF程序开始学习,甚至是UWP通用应用程序,有兴趣的同学也可以结合SQL数据库来完善程序或者尝试用C#来调用C++的库,多探索多实践。

  具有一定手机APP基础

  具有手机APP基础的同学,可以研究下手机控制电脑或是微信小程序之类的,加强动手能力。

  微软Azure云

  物联网组有相当部分是结合微软Azure云来实现的,有兴趣可以提前去尝试结合云端API来实现一些功能。

  

 

  3.你问我答

  关于Java和C#之争,为何两个语言如此相像,哪个前途更加好?

  语言严格来说没有好坏之分,用哪个纯粹是个人喜好,这两个语言都是虚拟机语言。两个语言如此相像是因为C#的诞生目标就是抗衡Java,所以比较相似。但随着这么多年的发展,C#的语法特性与Java拉开越来越大的差距,所以现在是Java在追赶C#的特性了。Java普及更加广泛,国内相对用得较多。随着.Net Core的发布,Java的跨平台优势被C#追赶了上来,所以现在C#也可以做到Window上编写,然后直接放在OSX和Linux上运行。任何一门语言只要熟练,任何时候都是有着光明的前途的。

  C++和C有什么区别,与C#、Java相比哪一个比较容易上手?

  C++是C的延伸、改进版本,C++引入“类”的概念,从而由C的面向过程编程转变为C++的面向对象编程。鉴于现代高级语言的设计,我建议学C++而不是C,面向对象编程在编写大型项目的时候具有无可比拟的优势。C++学习难度大,涉及很多基础内容,所以相比C#、Java之类的高级语言是要难许多的。C#、Java的许多东西都是从C++来的,所以建议先学C++,再学C#、Java,会简单很多。当然你想直接上手C#、Java也是可以的。

  学习在iPhone上开发程序,有什么要注意的事情嘛?

  买电脑的时候就要考虑清楚,Object-C仅能在苹果的OSX系统上面编写。

  传说编程萌新不要用智能提示很多的IDE如Visual Studio,真的是这样吗?

  并不是,个人认为智能提示不是导致编程水平下降的理由,实际上,不会有任何人限制你用哪个IDE,IDE的提示会让人效率倍增,“长期使用提示将忘却相应知识点”没有必然联系。举例:Java编程当中有相当时间是浪费在找到对应的包上(用Ecplise),而C#直接使用智能提示就可以快速找到并加载包(用Visual Studio),所以使用更加智能的工具有助于减少不必要的时间花费。提高效率,就是最好的偷懒方式。

  看语法书太枯燥,一看就想睡觉,有什么办法能快速提高自己的编程水平吗?

  最快速提高自己编程水平的方式只有一个:多动手实践。给自己制定个目标,比如做个计算器、做个学生成绩管理系统、做个音乐播放器之类的目标。然后你就朝着那个目标去努力,不但要做出当初要求的功能,还要减少BUG,然后你会发现做程序的路上学到了不少东西,编程能力就在做目标的过程中自然而然地提高了。

  编写程序时可不可以百度?

  当然可以。学习任何一个新的东西的时候,其实是没有头绪的,百度一下,看看CSDN、MSDN、博客园上面的人的方法、经验,对编程是有着关键的引领作用的。但是 “查资料然后理解并转变成自己的代码” 和 “查资料然后复制粘贴” 完全是两个概念,这是特别要注意的,前者是你自己的东西,后者还是别人的东西。

  物联网组目前主要在使用的语言是什么?如果我不熟悉这个语言的话,可否加入?

  当然可以,小A团队向来是包容、开放的。目前物联网组使用C#作为主要编程语言,C++作为辅助编程语言,UWP作为主要编程框架,同时结合Azure云端API,致力于实现ARM开发板上物联网相关项目。想要加入物联网组,必须对任意编程语言能够较为熟练的掌握,如C#、Python、C++、VB、F#、Go之类。

  谢谢有耐心的你阅读完全文

  也希望你可以有所收获

  我们逐梦挑战 大胆创新

  我们始终追求always be A

  一个人可以走的很快

  但一群人可以走的很远

  相信在小A,你能有更广阔的平台

  相信在小A,你可以成就更好的自己

  9月,小A期待与你相遇

上一篇:工业机器人及物联网应用技术前沿及技能人才培养研讨会

下一篇:物联网技术挑战与应对策略