生活知识百科

为什么学会编程语言后,实际开发中却没了思路?

2023-08-08 14:13:09 条浏览

编程语言也仅仅是一个工具。

现实世界是以业务逻辑为中心的。

编程语言构造的程序对象和现实的业务实体是有着天然鸿沟的。

软件工程学在不断的指导图形化方法来消蘼这个鸿沟。比如UML,ER,数据模型。

面向对象编程就是要发现业务实体领域的属性集和方法集,才用编程语言来符号化表达。这套类翻译语言的方法才拉平了程序和现实之间的鸿沟,编程语言才会在这种思路指引下慢慢发挥作用。

如果没有系统的编程方法论,在实际开发中是寸步难行的。




1、没有经验

你所说的学会编程语言,只是学会了基础,与项目的实际开发还是有很大差别的。

可能你会用编程语言解出一个老师布置的程序题目,如:写出一个迷宫算法,排序算法等等。但是,如果项目经理给你一个需求,让你去实现,那你就会摸头不知脑了。因为你以前就完全没做过这方面的事情,怎么可能会有思路尼?

学数学,得有数学思想,学编程,也得有编程思想,但这些思想还是建立在你的经验的基础上而来的。所以,你缺乏的还是经验

2、如何克服

自己需要虚心学习,不能半途而废,就是说遇到困难就想着去回避,或者是自己找一些理由,认为自己做不好这件事情是情有可原的。

其实不然,刚开始去做项目,都会经历一个陌生到熟练的过程,而这个过程中会一到各样的困难、挫折、leader的指责等等,但是这些都是你成长为一名程序员所必须要经历的。

所以,需要自己谦逊,迎难而上,没付出,怎么会有收获尼?

以上是小编个人的想法,希望对你有帮助……




我觉得这个问题就跟我阅读了很多小说,并且也看了很多写作技巧,但是叫我写一篇小说我却写不出来;我听了很多歌曲,学了很多乐理知识,但是缺不会发声一个道理。基本所有的技能,都是由浅入深不断实践,然后到达熟能生巧,最后内化的过程。所以楼主的问题我觉得只是目前实践所达到的高度还不够,用点心多多提升就好了,但是具体实际开发遇到什么问题没有描述,所以不好评价。

楼主的问题中提到他学会编程,这个话题我比较想以个人的经历分享一下什么是学会编程

在我大一的时候:我学了c语言,知道了什么是变量,什么是if,什么是for,等等。这些东西不难嘛~我觉得我学会了编程。当我开始做一些类似杨辉三角,斐波那契数列等这些大家应该觉得不太难的题目时候,我盯着屏幕,内心很多只小动物在翻腾。我以为我学会了编程,啪啪啪打脸。然后硬着头皮,不屈不挠,慢慢折腾了出来。

在我大四的时候,我已经完成面向对象,算法分析,数据结构等等基础知识,并且顺利不挂科!我觉得我学会了编程。当我开始做毕业设计的时候,看着各种乱七八糟要实现的功能,我盯着屏幕,内心很多只小动物在翻腾。我以为我学会了编程,啪啪啪打脸。然后硬着头皮,不屈不挠,慢慢折腾了出来。(多年以后在回头看自己写的毕业代码,简直不堪入目)。

后来找了第一份工作,我拿着我的毕业设计,软件设计师的资格证,46级证还有7788在当时我觉得碉堡了的证书,去了一家游戏公司面试,并且顺利通过。有着大学这些经验,我觉得我学会了编程。当我看到公司的超级庞大的代码(因为已经实现了很多核心功能),以及我的第一个任务,我懵逼了。我盯着屏幕,内心很多只小动物在翻腾。我以为我学会了编程,啪啪啪打脸。然后硬着头皮,不屈不挠,慢慢折腾了出来。

工作了几年后,慢慢的从小的功能模块,到做比较核心的功能。接触底层的框架,我觉得我差不多我学会了编程。后来,开始要对整个架构进行调整,对项目进行优化,分布式,高并发等等我盯着屏幕,内心很多只小动物在翻腾。我以为我学会了编程,啪啪啪打脸。然后硬着头皮,不屈不挠,慢慢折腾了出来。

现在还在学会编程的途中前行,我曾经以为学会编程不是一件难事,然而越走才发现,这个坑越深,但是一名码农真的需要有不怕折腾的精神。越是坑越要挖,挖的坑越深,得到的成就就越高。




为什么学会编成语言后,实际开发中却没了思路。?

这个问题就好比你学会了中文,但是你就一定能写出好的文章吗?

语言是语言,思路是思路。思路是在学会编程语言之后形成的一种。有的人看起来编程语言基础比较扎实了,但是怎么开发起来就没有思路了呢。其实这在现实中是一个非常正常的现象。编程语言可以很快的学会,但是思路却从一个人的工作经验中来获得,也就是说你工作时间越长,可能你在开发过程中的思路越清晰。

所以一门编程语言,不是说你在几个月之内就可以完全掌握。就好比你熟练一门武功,比如乾坤大挪移。你已经,对这本武功秘籍倒背如流,但是,并不代表你能熟练的使出他的招式。

以上是个人的一些看法,如有不同意见,欢迎指教,谢谢。




这个很正常啊,这就跟中华文化一样,博大精深。就拿汉字来说吧,同一个字,同一个词,不同语境,就会有多种不同的意思,要是不熟悉,换作谁,不得误用,不得犯迷糊?

这也是为什么,传统编程语言更加注重“实战”的原因了,而可视化编程,则不一样。

可视化编程,所见即所得,所想即所得

所谓可视化编程,就是你想要达到什么目的,便可以通过可视化的操作,比如拖拉拽、纯中文文本信息配置等方式,将思想付诸到系统或软件上来。

目前,市面上不乏优秀的可视化编程工具,如果你感兴趣,我倒是可以推荐一款,它不仅功能强大,还提供免费版本

文末有软件免费获取方式

这款国产优秀的可视化编程工具,叫做云表企业应用平台,由原金山WPS研发团队成员,倾力打造。

表格开发管理软件,编程也可以像搭建积木一样简单

像你平时常见的PLM,WMS,SRM,进销存等个性化管理软件,通过它,即使你是0基础的IT小白,也可以轻松自主开发出来。

不用写代码,也不用预先了解数据库知识,会使用excel,就能拖拉拽,搭建出你心心念念的企业核心业务应用。

整个开发全程,只需要你专注于自己的业务逻辑,无多余重复的动作,就跟搭建积木一样,随拆随搭。

完全支持二次开发

由于其内嵌了MySQL数据库,所以它还原生支持二次开发,也就是说,任何时候,你想增删改查系统功能,都行。

比如,对接企业微信,设置个消息推送模板;比如,设置权限分级,多人协同编辑系统;再比如,批量导入,蓝牙打印,H5页面制作......

各种精细化的业务场景应用功能,只要你有需求,它就能响应。

可以一键生成任意移动终端app

软件支持IOS,Android,PDA,手持RFID等各种移动终端,不过,你得提前在电脑端,将内容设置好,不然生成的app,是一片空白。

高山流水,终须一别,免费的软件获取方式在此奉上:

app内,进入我的个人主页,留意下方“免费下载”,或私信我,即可免费获取软件一份。

说实在的,无论我们学习高级语言,还是工具,都是为了解决实际问题,如果有更加简便的方法,为啥不试试呢?




实际上很多程序员都经历过这个阶段,虽然我们在学习一门语言的时候通常都伴随着实验,但是毕竟学习阶段的小实验大部分都是验证概念的,有很大的局限性。即使很多人在学习的后期会做一些综合性的实验,但是实验毕竟和实际项目需求有很大的不同,这就导致很多人即使完成了语言的学习也无法进行实际的项目开发。

每年我的项目组都有新人加入,每次也都有新人坚持不到一周就打退堂鼓了。下面是我跟一名要打退堂鼓的新入职实习程序员的一段沟通对话,发生在刚刚过去的2017年。通过这段对话,大家应该能看出我的努力,应该能理解我说出的最后那句话的心情。其实每一名进入我项目组的程序员我都会尽自己最大的努力来带领他,毕竟经过层层面试进到项目组的实习程序员都不容易,经过那么久的学习和实验(很枯燥),我也想尽力把他们都带领到正式程序员的岗位上。

但是每次都有让我十分遗憾的事情发生,每一名放弃的实习程序员有不错的基础和学历,但是还是没有坚持下来。根据这么多年的经验,我总结了导致实习程序员放弃的原因大致有以下几个方面:

理论知识储备充足但实验做的太少。这种情况会导致眼高手低,当看到实际项目时无从下手,最终导致放弃。

有扎实的基础且实践案例较多但是承受压力能力较差。实际项目都会有时间节点要求,必须在指定的时间内完成任务,这对初入行的程序员是个较大的考验,很多实习程序员会选择放弃。

沟通能力较差。这类实习程序员占比也较高,很多时候听不懂项目经理安排的任务还羞于沟通,导致长时间不出成果,最终导致放弃。

长时间没有进步(学习能力较差)。这类实习程序员也有一定的占比,原因是多方面的。有可能是自身的懒惰导致进步较慢,也有的是因为自身学习能力较差导致进步较慢,最终选择放弃。

过于自信。这种情况的实习程序员虽然较少,但是也会出现。对项目经理的安排不屑一顾,以自己的想法来完成项目开发,导致各种兼容性问题,最终被项目组开除。

以上就是大部分实习程序员选择放弃(或被辞退)的主要原因,作为科技公司来说,最不愿意看到的情况之一就是实习程序员放弃,因为从面试一个程序员到安排实习岗位,企业都付出了很多时间成本。所以,很多企业在面试的时候都会反复跟面试者进行多轮沟通,以防止这类事件发生,但是这类事件就像程序的Bug一样很难杜绝。

关注我,了解更多关于程序员的事情。




温馨提示