仙桃蓝星设计培训|仙桃电脑培训|仙桃设计培训|仙桃室内设计|仙桃会计培训|07283322688|15171575077|仙桃市蓝鑫室内设计|仙桃市蓝星室内设计

customer
service hotline
07283322688
我校由仙桃市蓝星科技发展有限公司成立于2002年3月,是一家以设计培训为主的专业教育学校,学校本着:“立足本地、服务社区、辐射全国、培养技能、指导业”的发展方针。十多来年以来,先后开办了五家分校,年培训规模一直同行业,学生足迹遍及全国。年年被主管单位评定为“民办职业先进单位”、“诚信学校”等、被省劳动和社会保障厅,省财政厅定为“仙桃市职业技能定点培训机构”并被湖北省计算机技术与软件技术水平资格考试办公室授予“全国计算机技术与专业技术资格(水平)考试 考试机构”。 长期以来我校本着"以科学的管理规范人,以高尚的情操感染人,以优质的教学培养人"的指导思想,内理校务,外树形象。每位教职员工在各自的岗位上尽心尽力,尽职尽责。整个教职工团队,在教学中彰显实力,在工作中形成动力,在创新中增强战斗力,在与人的交往沟通中凝聚合力。形成了“讲学习,讲效率,讲正气,讲纪律”的良好风气。 我校在不断发展中形成了自己的管理理念:面对市场,办出特色,形成自己的核心竞争力。开设精品专业:商务电子、专业会计、平面设计、室内设计、产品设计。并结合市场灵活开班:随到随学,学会为止!保证学习质量,以质量创信誉,靠信誉求发展。严格管理求信誉,创新开辟新市场。个性服务释本色,行为高效保质量。通过管理创新,教学创新,服务创新,甄选良师,狠抓教学管理和教学质量,建立具有自身特色的精品专业、教学机制和管理文化,打造的品牌职业教
试学体验 在线咨询
子栏目广告位
位置:首页新闻中心什么是编程
新闻中心

什么是编程

发布:2023/1/3 来源: 作者:蓝星设计培训机构 浏览:193


什么是编程?

我刚开始学习那时,面向对象和互联网,至少在国内,还没推广开来,甚至不多人知道。直到现在,也就现在大家见到的这个时代了。

扯这历史要说的是,“编程”对我而言从一开始的竞赛,到现在的“创作”,已经是两个范畴的概念了;同样对于时代的需求,从从前的科学计算,到现在的各个行业各个角落的各种应用实现,已经不是一个同样的行为范畴了。

但是,编程的本质上跟当年课本上写的没多大区别,就是编写(广义上的)计算机可执行的指令(集合)。

这个领域的知识是什么样的?

然后要延伸一下时代问题。

从面向对象开始,互联网时代兴起,到现在的移动互联网时代,编程绝大部分的目的是在于创造“软件”,而创造软件也由于世界上最聪明的人群高速集中涌入,以及时代的需求压力,已经形成了一整套工程学,也就是“软件工程”了。

现在“编程”被集中在“软件工程”的需求中,产生的一个结果就是“工程化”,而“工程化”就是整个生产体系开始逐步分化以及逐步专业化,从而出现了这个领域中的各种针对性专业,比如“前端工程师”、“测试工程师”、“算法分析师”、“.NET软件工程师”。

在整个软件的开发周期中,我们都需要跟不同的人在不同程度的合作。即使是个人开发者,都会用到开源的代码、各种下载的人家做好的工具。

这就是工程化后的结果,也就是“编程”被和其他不同的专业,比如数学、医学、建筑、人文等科学结合在一起然后具体地分化成了各个关联的模块。这些模块有一个特点,就是整体上“临近相连”。

这什么意思呢?

举例说明就是,但从(某个)网站开发而言,就有客户、老板、美工、前端工程师、服务端工程师、数据库管理员、网络推广等等。这些角色两两间可能有工作上的直接关联,单指这个软件项目的开发工作的话。

无论哪个是因,哪个是果,现在的情况都是没两个角色间的知识必定关联和有交集。在往广度上看,整个软件工程领域以及世界都如此,只是软件工程领域如建筑领域一般,有比较大的定量的专业化,一切都是有根据有标准的。

而至此,形成的一个结果就是,没有人能掌握所有知识;所有知识都是有关联的,追寻着关联的路径学习产生的效果普遍情况下是最大的。

后面那条可以简单地证明,假设两样知识八竿子打不着,那么你就要等很久它们才能连起来,发挥加成效用。虽然乔帮主说过,总有一天这些dots总会连起来的,但是嘛......靠谱点也不是不好。

所以,学习这个领域的知识是这样子进行的

那么,回到学习上,就变得很明确了。开发的需求需要各种技能,各种技能都是相关的,而一个项目所需要的技术在一定期限内是大致有限的。如果你要开发某样东西,或者做某种用途(比如科学计算),都需要某个知识点进行切入,从哪里都好,切入某个知识点,然后用关联的方式扩充。如果在过程中见到新的不懂的名次,要么马上去“扩充”,要么就记下来,留待以后“点亮”这个天赋,总有一天这些dots......

以上是学习编程要要知道的第一点,这个领域的知识是怎么组织的。以下第二点,关于学习方法。

一个学习的误区与结果

有句名言,是布鲁克斯(Frederick P. Brooks)说的吧,说过,最好的程序员和最差的产出差n倍。

为何?计算机科学基本上是由数学和机械类学科衍生而来,最大的特征就是两道门槛:能不能做出来、这个方法(算法或者设计)效率有多高。

前者不说,后者最明显的举例就是,用加法来计算和用乘法来计算效率差别极大。

这个领域的只是最大的特点就是它们的关系如果你想打通,是需要“理解”的,至少知道怎么用。你不懂得一个公式、一个技术怎么使用,你知道有,到需要的时候也用不了。所以钻研是一种必要的学习习惯。

看到以上内容的时候,你可能会觉得,一开始都设定好要做的目标,然后弄清楚这个范围需要的知识点,然后都从某点开始,全部学透,就能完成了。

这犯了个软件工程的一个极端化错误,在学习上也同样适用,因为每次开发都是基本上是一次学习过程,你又不是*讯,你所做的东西就算别人做过,你也一定没做过。如果别人做好了给你,也不用你做了,腾*也不用去抄了是吧?

这个错误就是将整个项目理想化,如果把这次学习视为一个项目的话。整个项目都是原本不存在这个世界上的东西,没人知道开发(学习)过程中会发生什么,怎有任何可以相信的精细的计划?

如果这么学,你会很容易陷入一个,拿了一本专业书(一个切入点),然后看,然后看着看着就看不下去了。然后?然后就没有然后了......

我们是怎么解决这个问题的

软件工程里是怎么解决这个问题的呢?敏捷开发(Agile Development),每个项目或多或少都能用到。

详细解释可能太多,毕竟我知道的也不多。不过其中最通俗的几点:将大计划切分为短周期,并且每个周期结束后调整计划,使得最近的一个计划可执行并且有效;计划中,将每次的产出进行具体化量化,每个周期都发布(生产出)有效的可用的产品,这个产品是在上一个产品的基础上的改进或者增加;在原有的产出已经难以再升级时,将原来的产品重构(重新设计、重新生产)。

细节的道理就不多说了,都出了多少本书了。

实际上现在你能买到的好的编程教学的书籍都是遵循这个教学模式,也是暂时被认为最有效的书本教学模式。这些书一般会教你从“Hello World!”(到时你就知道是什么了)开始,让你手把手做一次,然后逐步深入;有时候做了一次后,在后面介绍了新的技术,又会让你用新技术跟着做一次;看完整本书,你至少就达到了某个水平了。

要注意的是,你必须有心理准备就是,书上讲的,跟你做的根本有不同的产出,或者你根本做不到。比如书上说计算a+b会输出2,而你的输出3;书上说要点击某个按钮,但是你就是在自己机子上找不到那个按钮......这些都是不可避免的,而且一般都会浪费很长时间。莫名其妙的问题本身就是以上说的,不知道会遇到的问题的一部分,也是现代程序员加班的其中一主要原因。毕竟,你的机子跟作者的机子肯定不一样。

所以学习该是这样的

总的来说,说到了知识是关联的,学习是以不同的学习成本连接不同知识的过程。还有呢,值得鼓励的是,随着知识的增加,智力和经验会随之提高,学习成本也会降低,越来越容易学习。

虽然具体到某个知识点只有懂和不懂,但是具体到一个面,还有懂多少的问题。这就回到了刚才的引述,生产效率为什么会差n倍。因为这是一个广度和深度的综合比拼,而随着时间增长,会形成两个人知识的“马太效应”,差距会成倍增长。

不过放心吧,这个增长是有天花板的,无论是知识总量的有限还是需求有限导致的,至少从程序员的工资就可以看出来(哭)。


具体的学习建议

到这里,至上而下地给出学习建议:

  1. 先有一个想法,像学钢琴也有一开始想弹奏的曲子,提出一个想用生产出来的产品,或者买一本评价好的入门书,做出书中提出的“产品”为目标
  2. 将这个目标细化,可以找专业人士帮忙,梳理出知识的“切入点”以及周围的“关联点”,然后开始计划第一次迭代(做出第一样东西),可以是一段很短的程序或者一个作品,但必须有具体的产出
  3. 每次产出后都重新调整计划,重要的是自己或者专业人士要能具体地评估这次产出的价值。如果是跟着书就自然容易了,就是跟书上对一下就是了

如果要具体给到一个切入点,那么我的建议是两个选择:

  1. 从C语言开始,然后学习算法,走科班路线
  2. 从网页制作开始,然后学习网站工程,走产品路线,这是产品中最好入门的了

不必太担心学错,因为到达工程级别,你学过的八成知识都不会被作为工具使用,而它们的只是实现了它们的历史使命——成为你现有某个实用知识的中间点/桥梁、为你现在的学习效率做了一次铺垫。

实际一点地说,对于一个“毕业了”的程序员,学习一门新的编程语言,可能只需一周,而熟悉需要三周,熟练地用于开发是三个月,精通只需一年。这也是大概而已,严谨地说,不同的语言所关联的知识点的数量是不一样的。这也不影响举例,因为在这之前,一个大学生在学习他们的第一门语言,通常是C/C++,用了一个学期,还可能挂科呢(那是态度问题或者是Dota的问题)。

首先吧,别想速成。这要能速成,那么我们专业人士不就该喝西北风去了?

所以要真解决了学习范围的问题后,你下一个问题应该是“要实现**应该具备那些知识”一类的了。等你在某个点扎根后,想的就是利用这个学习能力,去另一个自己更喜欢的领域,还是就此为据点扩充范围,亦或者深入这个领域(也是扩充的一种吧,方向不同)。

最后重申的一点,就是软件开发本身就是一个学习的过程,只是产出的代码具备不同的价值而已。软件的特殊性已经导致了难以重复地写出两段相同的代码,一般只会改写重写,或者重用原来的代码(就是复制黏贴或者引用调用)。


蓝星设计培训机构招生了

学会计 设计 考教资 建造 到蓝星教育

就业好,取证快,就找蓝星

开展以下培训项目:

[学历提升] 中专、大专、本科、研究生

[会计类] 会计实操就业系列;初级、中级会计考证系列等

[设计类] 平面设计、室内设计、淘宝美工、电子商务、服装设计

[工程类] 一、二级建造师、助理、中级工程师等

[教育类] 幼儿教师资格证、小学教师资格证等

[计算机类] 办公自动化、数据看板

另提供单位、企业和个人量身定制财务培训和设计服务

白班、晚班、周末 滚动开班 ;随到随学,学会为止。


祝大家学习愉快、工作顺利!

联系方式 :

新城一号校区:3322688  毛老师15171575077



【字体: 】 【关闭窗口
上一篇:报考人数由17.2万跃升至1144.2万 “教资热”为何热度持续攀升
下一篇:“让明天的中国更美好”——习近平主席二〇二三年新年贺词凝聚奋进力量
 首页  电话  短信
背景
音乐
咨询
热线
服务热线:07283322688
微信
二维码
^
顶部