线下实训
HOME
线下实训
正文内容
ncn编程和plc编程哪个好 C,C++,Java,Python等,那么多编程语言学哪个?学习顺序更重要
发布时间 : 2025-04-19
作者 : 小编
访问数量 : 23
扫码分享至微信

C、C++、Java、Python等,那么多编程语言学哪个?学习顺序更重要

AI时代,很多小伙伴都想选择一门编程语言学习。但是在网上一查,发现光常用的编程语言就有二、三十种以上,有C语言、C++、Java、Python一下子就迷茫了,不太清楚应该选择哪个了?更具体的,哪个比较实用?哪个比较好就业?哪个容易学?等等。

今天就给各位来逐一分析梳理一下。当然,在一篇文章内,几乎不可能把这么多语言的所有优势、不足之处等特点都说清楚,笔者更多是从实用、通用的项目视角来分析对比的,从工程化的角度以适用为原则,从个人职业发展的角度以实用为原则。

在很多次的团队建设及赋能工作中,一直在直接参与开发人员的招聘面试,包括后端开发、前端开发、测试人员、全栈技术骨干、IT项目经理甚至UI、需求分析人员、实施工程师等岗位,前后总共接触的应聘IT人员应该千人以上了。另外笔者也参与了各种软件开发相关培训的授课,包括程序语言、算法、数据结构、架构、运维甚至中小学生的信奥赛培训等。

很多来应聘的大学生,其正常毕业后,从是否合格的或者说是否是有潜力的IT技术人员这个角度评价,可以说,真的是数量不多,尤其是非985院校毕业的学生(群体分析数据,不针对任何个人)。这其中我了解到,不少是因为学校课程设置或者自己对课程重视度排序出现偏差导致的,虽然很多人在开发方面兴趣度挺高,总希望自己工作后通过所谓的“锻炼”成长为开发高手,但其职业能力提升方面却耽误得比较厉害,很多人“成长潜力”在毕业后两三年就已经没有了,挺可惜!究其原因,很大比例是因为:在学校打下的知识结构基础不合理。

若大学生想要毕业后在软件开发方面短期和长期发展都比较顺畅,获得好的职业规划和效果,个人认为在语言方面最好能如下述这样学习和积累。下边所列每一项的序号值,除“15”之外,越小越需要早学,越小越需要在学校就学好,越小越基础,越小越没机会在工作中去“锻炼”(好好琢磨下内在的、残酷的社会就业逻辑吧)。所以,大致学习步骤就是,从1到14,穿插0和15。

这里挨个来梳理:

0.对计算机学科的兴趣。你天生爱计算机学科,超级最好;你天生喜欢计算机学科,最好;你认定通过计算机专业可以实现你的梦想,所以想喜欢并学习计算机学科,更好;如果不是这三种情况,你在大一期间可以尝试喜欢上计算机,再如果最后还是不喜欢,建议转专业或者想别的迂回办法(这个行业不光需要技术,还需要销售、被楔入进来的其它行业等的人才),否则请小心:别在这个领域荒废了自己的好时光。

1.C语言。C语言是计算机所有语言中综合性方面,最基础、最经典、最对学习其它语言有帮助、使用和解决问题方面最广泛实用、沟通和查资料最高效、作为工具使用收缩进退最自如的语言。所以,C语言学习过程没有第一轮第二轮之说,要一步学到位、学精。验证已“学精”的前提,其中一个必要但不是唯一充分的标志是:考试要基本都是满分,即便99、98了,那也是因为小失误。

我在面试应届或者刚毕业1、2年的应聘者时,如果他在学校的课程设置里有C语言,就一定会问他的C语言考试分数,如果高于95,就知道,这个求职者的技能基本正道;如果低于80,基本就不给机会复试了,当然,一般来说,面试交流中得到的其它信息也都佐证了这个判断。

至于更基础的汇编语言,它仅仅基础,从应用和生产效率方面来讲,没有其它优势。汇编语言按学校课程安排去学就行,自学大致了解就行,一般没必要熟记那些指令,真要项目中用到了,有了计算机其它科目的基础,学习成本也不高。

与C语言类似的,Fortran和Pascal语言也可以作为入门基础语言去学习,在一定程度上能起到类似C语言的基础效果,但因为流行性、系统底层调用偏离的不平衡性等原因,还是C语言最优且优势明显。

2.C++(第一轮)。很多基础软件开发要用到C++,很多对运行效率有高要求的软件开发要用到C++,比方说物联网应用软件,比方说运行环境特殊的应用软件,比方说复杂的算法,等等。

有了C语言的基础,学习C++,重点在指针、适度面向对象等方面突破,也就不难了。

这里针对参加信奥比赛的中小学生这种情况说一下,现在参加信奥赛都要求用C++,但其实信奥赛大纲里对C++的要求基本上是以C语言范围的内容为基础和为主,至于C++在C语言基础上的扩展,在信奥赛中用的不多。所以,中小学生参加信奥赛,首先要把C语言学扎实了,然后对照大纲,适当再补充一些C++扩展部分的知识即可,中学阶段没必要也很难把C++的所有高级特性彻底学通了。

3.JAVA(第一轮)。很多多角色场景、规模化场景下的软件开发要用到JAVA,比方说管理软件和管理平台、比方说电商平台、比方说电子政务、比方说分布式应用,等等。

有了C语言的基础,学习JAVA,重点在JAVA的范式封装特性、隔离特性、绝对面向对象(当然了,语言当中的面向对象这个玩意儿,学和用是两回事)等方面突破,也就不难了。

4.SQL。现在的软件几乎都要求有记忆,所以都要求和数据库打交道,很多情况下你没必要、项目上也不会让你自己写数据存储文件,所以SQL语言学习是必要的。

有了C语言的基础,你再学习了数据库设计原理(在学校要先从关系型数据库开始)以后,SQL语言学起来也就不难了。本质上讲,SQL的增、删、改、查对应于C语言中文件操作的write、read。

5.C/S、B/S、MVC、MVVM(等)。这些和软件开发相关的概念,一切因网络而起,因资源高复用的经济原则而起。“(等)”前面的都需要在学校就理解透了,“(等)”中的类似内容碰到问题去学习、了解就行,但一定要究其本质。

6.HTML5、CSS、Javascript。这几项中的前两者,较真来说,本质上不是计算机软件编程语言,应该称其为标记语言(H5、CSS3),而JS是脚本语言。

有了C语言的基础(是吃过猪肉的基础,而不是看过猪跑的基础),学习这三门“语言”,一共绝对不超过1个月,都能学得考试及格,当然考试分数越高越好。什么?1个月不够?学校的时间难道不是大把吗?除了谈情说爱会比较耗费时间,还有啥啊!

7.XML。不说为什么了,反正必须学精。如果是按步骤走到这个第7步的,那学精需要0.n~1天时间。本质上,XML不是编程语言,是定义描述语言。

8.设计模式(第一轮)。有了C++/JAVA的基础,尤其是JAVA的基础,设计模式也就不难了。设计模式要不要学精,就跟领军打仗的人要不要学习《孙子兵法》一样,你要是天才,不学也可以,你要是天才,学它也就两三天的事情,所以,还是要学。内容嘛,就学经典的23个模式就行,更多的设计模式学习基本就是形式主义本末倒置了,当然你为了写论文而防止万恶的查重机制,去折腾犄角旮旯的信息点(我不认为是知识点),那是又一回事了。

如果可以,最好用C++去走例子,否则跟JAVA的包装特性混到一起影响知识理解的条理性,当然这个不是很重要。

9.Python、Dart、Gradle等类Java语言。有了C语言、C++、JAVA的基础,再去学习Python、Gradle、Dart、PHP、R等,其难度就跟学习完了黑白胶片手动相机、单反专业相机后,又去学习新款手机的拍照功能一样,就这么简单,所以,如果是按步骤走到这个第9步的,那学精Python需要1~3天时间。

至于挂着少儿编程名义的很多图形类编程语言,其实较真说就是一些组件化的DML工具,大学生根据具体项目情况用时再学习即可。或者是家长和培训机构为了直观的激发孩子的逻辑思维用用就行,不建议中学生以上年龄的孩子扎进去学习。

10.JSON、变量和函数命名规则、注解逻辑(等)。学完以后,达到的效果就是,你充分理解了约定俗成的价值,充分理解了复用的价值。你还要充分理解,在软件行业里,省心(少掉头发)优于省力(不减重,可能也不伤肝)。

11.Node.js、Vue.js(等)。根据自己就业的现实情况,适当的学吧(学精还是撸皮毛,自己看,大四之前别去学,除非你们导师有项目需要,可以给你分点补助)。反正我觉得,这几个语言的发明,更多的价值在于解决和平衡当前的大学生就业结构的社会价值。

12.脚本语言(包括总结)。比如C Shell等,比如批处理语言,比如PLC电路逻辑语言,比如大数据、AI、代码工程等方面的一些脚本语言等。这些脚本语言大都可以触类旁通,用到哪个学哪个就行,基本上每一门学精大概需要1~3天时间,有个别牵扯到熟悉库的,多1~3天时间。

13.设计模式(第二轮)。碰到和解决很多问题并总结后,再系统学习一遍,查漏补缺,结合工作需要学。虽然不是必学,但只要你不改行,一般躲不掉。

14.C++、JAVA(第二轮)。碰到和解决很多问题并总结后,再系统学习一遍,查漏补缺,结合工作需要学。虽然不是必学,但只要你不改行,一般躲不掉。

15.学校课程要求的语言,用时才接触到的语言。这第15步的内容,它要是出现在第3步之后,基本都不是事儿。

所以,我的建议里边,哪是重点,你看呢?

以上内容中涉及到学习时间估算的,都不考虑语言工具和环境的安装部署和熟悉,这个没法估,他工具软件来个Bug和不常见的环境适配问题,可能好几天就出去了。

学习顺序很重要!当然了,这里列出的仅是语言线的学习顺序供参考,还要结合计算机科学里的其它科目来统筹安排,比方说数理逻辑、图论等数理基础,比方说计算机原理,比方说数据库原理、软件工程等。

祝IT之路上的发展前途无量!

学PLC编程真的很难?真的很麻烦?其实是没掌握这个方法

对于没有编程过PLC程序的小伙伴来说,PLC编程是个麻烦,还是个大麻烦……但是真就这么难吗?真相是没有掌握方法,我们来看这个编程案例,就知道是怎么回事了。

给大家按步骤逐一解答,如果你对这个的程序有疑问,可以在下面留言,小编会解答的哦!

根据下图的三相交流电动机正反转控制的主电路,设计一个PLC控制电动机正停反的控制系统。控制要求如下:

(1)正常情况下,按启动按钮SB1,电机正转,按下反转启动按钮SB2,电机反转。

(2)电机启动后,按下停止按钮SB3并等待5秒钟之后,才可以改变电动机的旋转方向;

(3)如果SB1和SB2同时按下,电动机停止转动,并且不起动,同时报警灯L1亮1秒暗1秒不断闪烁。此时按SB3停止按钮进行复位。

首先我们先确定一下按钮、KM的使用辅助触点情况,这里是正反转的主回路,主回路必须有互锁电路,其他的按钮用常开触点。

下面是PLC的输入输出点表:

根据题意(1)编程:这里根据题意1,只需遍2个自保持电路即可。

题意2要求按停止按钮5秒后才能改变电机方向,所以这里需设置一个标志位,这里用M0.0。

并且加上程序互锁电路,具体如下:

首先在2个自保持回路中加入互锁电路——网络1的Q0.1常闭点和网络2的Q0.0常闭点。题意2说按下停止按钮后5秒,才能按启动按钮,所以网络3按下I0.2停止按钮后,M0.0得电自保持,计时器T37计时5s后,将M0.0的自保持回路停掉。并且在网络1和网络2中加M0.0的常闭点,使M0.0得电时网络1和网络2即使按了正转按钮或者反转按钮也不会使Q0.0或Q0.1得电。

题意3要求SB1和SB2同时按下,电动机停止转动,并且不起动,同时报警灯L1亮1秒暗1秒不断闪烁。编程如下:

这次增加了网络4/5/6,网络5和6就是利用2个计时器产生一个一秒脉冲的小程序,SM0.0为特殊位,其功能为一直得电。网络4就是利用M0.1将网络1/2/3锁死,也就是说M0.1得电网络1.2.3是不起作用的。其原理与上一小结的M0.0一样。

这个程序小编大约调试了3-4遍,也就是说小编犯了3-4个错误,所以小伙伴们遇见程序错了不要紧,慢慢来一点点调试总能做出来的。小伙伴们,你们说,是么?有疑问的欢迎下方留言哦,我们一起学习、一起进步!

↓↓↓技成PLC课堂领书福利

相关问答

数控编程用A卡好还是N卡-ZOL问答

没有听说过有A、N卡这回事的?难道新出技术了吗。。。。修改0020号参数分别为4,20即为cf卡和usb直接在数控机床上格式化用文本格式打开也就是TXT

PLC用什么语言编程?

西门子PLC‎支持以下几种编程语‎言,其中包含梯形图:1、顺序功能图(SFC,Seauen‎tialFuctio‎nChart)西门子STE‎P7中的该编‎程语言是S7‎Graph。这是位于.....

plc的程序gxworks2跟gxdeveloper有什么不同都有什么功能?

GXWorks2是三菱电机推出的三菱综合PLC编程软件,是专用于PLC设计、调试、维护的编程工具。与传统的GXDeveloper软件相比,提高了功能及操作性能,变得更加容易...

PLC上LN旁边的NC是什么意思常闭的意思吗?

不是常闭的意思。我搞了几年PLC,那个点从来没用过,也不是很确定那个点是干嘛的。但现在手头上刚好有个欧姆龙的PLC,我把它拆开之后,发现NC这个点是空的,它...

PLC中的LNM1L是什么意思?

L代表火线,N代表零线,M公共(24伏负)、1L负载(24伏正);PLC可编程逻辑控制器,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制...L代表...

三菱FX2N-32CCLfx系列plc哪个最好

[回答]产品品牌:三菱产品名称:CC-Link用接口模块产品型号:FX2N-32CCLCC-Link接口模块。可以将FXPLC作为CC-LINK的远程设备站连接。如果使用FX22N-16CCL-M...

三菱plc编程过程中的快捷键以及F1-F10这些键都有哪些功能?-...

GXDeveloper中的,创建Ctrl+N打开工程文件Ctrl+O保存工程文件Ctrl+S打印Ctrl+P撤图剪切/粘贴Ctrl+Z删除选择内容并存入剪切板Ctrl+X复制Ctrl+C粘贴Ct...

plcnpnpnp的区别?

1、NPN和PNP主要是电流方向和电压正负不同。NPN:是由两个N型半导体和一个P型半导体组成。PNP:是由两个P型半导体和一个N型半导体组成。2、电流方向NPN是...

三菱plc编程过程中的快捷键以及F1-F10这些键都有哪些功能?-...

GXDeveloper中的,创建Ctrl+N打开工程文件Ctrl+O保存工程文件Ctrl+S打印Ctrl+P撤图剪切/粘贴Ctrl+Z删除选择内容并存入剪切板Ctrl+X复制Ctrl+C粘贴G...

问一下零基础学PLC自动化编程培训进公司还是进工厂,PLC自...

做一个优秀的PLC自动化工程师所需要具备的技能:http://www.con-star.com/news/news111.html火炬开发区有一家专门是培训数控编程的学校,可以去了解...

 螺纹法兰  颜洛 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部