文章目录
今日份鸡血
从用户和产品经理的角度去编程
现在的代码都是十万行级别的,源代码的管理非常重要
倡导游戏化学习,组队刷难题
把眼前的事情做到极致
起源
c++起源于bell lab 20实际80年代初
C已经很优秀了,是结构化的,模块化的,但是是面向过程的,而且没有实现完全解决软件设计危机的目标。
但C++和c是有血缘关系的,保留了C的所有优点,增加了面向对象的机制,面向对象是非常迷人的!!面试99%要问
可以在任何地方定义变量咯
cin,cout是初学者的痛
c++ 也支持面向过程和泛型哦
应用:和C一样,无所不能
办公软件(word,ppt,excel),电子表格,编译器,操作西游(安卓,ios, unix,linux,mac, windows),游戏
虽然c c++是独立的语言,但是真的有断不掉的联系,建议先学c
java来自于c++,由c++衍生,但c++的难度曲线要高得多
c# 和Java是兄弟 , c#基本就是模仿Java
c++是一个很深的坑哦,比python不知道难多少倍,要做好准备
c++ 并不是第一门面向对象的语言,但是他是第一个火起来的面向对象语言
最早的c++被称为“带类的C”。
他的发明者就是想着当时C特别流行,用的人很多,于是就把面向对像的思想加入进来,于是火起来的
不良陋习
要正规,不要只学皮毛,注意打字指法,不要只熟悉空格键和某几个键
开发工具
记事本+命令行 notepad++
专业大牛的身份标识,上手慢
强推notepad++
visual c++ 6.0
太老了,和win7和以后的os都冲突,灭法用了
visual studio 2015
这个版本比较稳定
安装程序都有3-5G
只支持微软标准的c语言,大多数人用的都是标准c
code::blocks
如日中天的开源免费c/c++开发工具,需要装mingw
其他
dev c++ 很好用,但是05年以后就不更新了,界面不好看
clion 很好用,但要收费,需要破解
c-free 经典国产编译开发工具,可以尝试
xcode 苹果公司开发的,要用mac电脑
c4droid 玩具级的,在手机上开发
eclipse
需要先装jdk
eclipse很强大的哦,学Java的一定很亲切
mingw
不能在线安装,需要翻墙,可以装code block的集成版,里面直接有mingw了
安装软件尽量不要在路径中有中文
面向对象
面向对象才是接近于人类思维的
面向过程是一步一步的,和人类思维反而不太一致,所以写c程序难
对象的重要特点是可以实现功能复用,但这种复用又比函数的那种复用更加高级
类就是抽象出来对象的相同属性
屏幕上的所有菜单按钮都是一个对象
编程时候的思维还是和人分本来习惯的有点不同的,所以为什么人家在说这些词
计算思维
think in c
think in java
语法规定越多的语言,写起来程序反而很简单,表达的方式多了,所以不要觉得烦
知道来龙才能自己创造去脉
继承
不需要一切从头开始,可以在已有程序模块的基础上衍生出新的东西
多态
比如你告诉小明去做加法,实数的,复数的,加法有不同的实现方式,但是你不需要像c语言那样写两个函数,名字都不能一样,写一个函数就可以做这两种加法,这是多态
再比如打篮球,打台球都是打,我就只需要写一个方法
关于软件工程的一点点
系统分析----写程序----测试----维护
写程序只是整个软件开发生命周期的一部分,不要觉得自己学了几门语言就和计算机科班出身的人可以做一样的事情了,开发大型软件了,,,,除非你把他们学过的课都学一遍,很多软件工程的东西在里面,你是不知道的,写程序,只是很小的一部分!!!
需求只会越来越多,你必须考虑整个的系统,从刚开始开发的时候就要考虑很多东西
架构师,系统分析员,水平就会很高
在计算机专业里,是programmer程序员,应该是高职水平
能力层次是不一样的,不是歧视,但是分工不一样的
非科班的人大多数只会写程序,处理自己的数据
70-80%的钱应该花在测试上!!! bug有时候会使得公司损失非常大
任何人开发的软件一定会有错,只是错误多少不一样,以及你是否发现,你想微软的OS都整天有bug,不断在更新维护
warning 是提醒你很可能错了,但是你非要这样执行也行。
泛型程序设计方法
这是c++区别于c的第二个重要亮点
他是另一种程序设计的方法,但是他和面向对象不是排斥的,而是配合起来使用的,配合的效果更好