找回密码
 立即注册
楼主: 海田1

[笔记] 想自学一种编程语言,各种编程语言都有什么区别?

[复制链接]
发表于 2021-2-6 23:23 | 显示全部楼层
一、选择原则
①必须是“有趣”的,能诱导人去“动手”和“思考”。
②这种语言必须足够简单,但同时又具备足够的能力编写出实用的程序,从而让人能比较容易地获得成就感,感悟到软件开发的魅力。
③这种语言必须能充分地体现现代软件开发的基本思想和技术成果,为学生进一步深入学习打下基础。
④ 花在这门编程语言上的时间和精力是有回报的,掌握了它,就掌握了一个强大的工具,可以在今后的学习中使用这个工具进行实践和创造。
⑤能够体会该语言的编程思想,比如面向对象还是面向过程,组件化与模块化和算法思想等等。
二、不同编程语言的优缺点介绍
C语言:
优点:
①简洁紧凑、灵活方便
②运算符丰富
③数据结构丰富
④ C是结构式语言
⑤ C语法限制不太严格,程序设计自由度大
⑥ C语言允许直接访问物理地址,可以直接对硬件进行操作
⑦ C语言程序生成代码质量高,程序执行效率高
⑧ C语言适用范围大,可移植性好
⑨ C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型
⑩有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护
缺点:
运算符和运算优先级过多,不便于记忆,语法定义不严格,编程自由度大,对新手不友好。

C++:
优点:
①可扩展性强
②高效 简洁 快速
③可移植性
④面向对象的特性
⑤强大而灵活的表达能力和不输于C的效率
⑥支持硬件开发
⑦程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障
⑧通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便
⑨ 它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误.
缺点:
难度系数较高,一般人精通c++有点难。
Python:
优点:
①简单
②易学。
③免费、开源。
④偏高层语言。你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
⑤可移植性,由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
⑥解释性,在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。
⑦面向对象。
⑧可扩展性。
⑨可嵌入性,你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
⑩丰富的库。
总结:Python是一种动态编程语言,语法简洁易学,本身是开源的,Python程序可以运行于几乎所有主流的操作系统之上。对于初学者而言,使用Python可以学习基本的编程知识(比如学会编写分支、循环语句),体会动态编程语言的特点,并理解类和对象等面向对象编程的基本知识。
缺点:
①运行速度慢,相比于C++/C运行速度偏慢,不过对于用户而言,机器上运行速度是可以忽略的。
②构架选择太繁杂,没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中,所以人人都有不同的方案。
③官方提供了一个交互式的开发环境IDLE,易于使用,但要开发拥有可视化界面的程序比较麻烦,其他厂商的开发环境也不太成熟稳定。
JAVA:
优点:
①简单性
②面向对象性(面向对象的程度可以达到95%)
③健壮性
④跨平台性
⑤高性能(自动垃圾回收机制)
⑥多线程
⑦动态性
⑧安全性
缺点:
运行速度相比于C/C++有些缓慢了,这是机制原因导致的。
三、应用场景
C:
C语言的应用领域极为广泛,从操作系统、嵌入式领域、数据库、服务器、单片机、编译器,到Linux开发等,几乎每个领域都有其身影。对于新手来说,C语言起步难度较大,然而一旦稳定掌握即可前途无忧,拥有3-5年开发C语言经验的程序员月薪约为10-15k,而拥有5-10年工龄的码农,月薪可达到25K-50K。C语言是一门非常基础的“必学语言”,硬件开发行业对于优秀的C语言开发者将是不错的选择方向,英特尔、ARM这样的国际巨头会是很好的归宿。
C++:
当你需要直接访问硬件获得最大处理能力时,C++是不二选择,同时它也是开发桌面软件、操作系统、图形处理、游戏、网站、搜索引擎、数据库,以及开发在桌面、控制端和移动设备上的内容密集型应用的优秀编程语言。但对于新手来说,C++不是那么友好,属于上手慢、但根基稳的“正派武功”,没有3-5年的学习时间很难上手,一旦出山便是稳健、优秀的代名词。在国内,具有3年以上C++开发经验的码农,月薪不会低于20K-50K。优秀的求职可以把腾讯作为目标。
java:
网页, 企业级开发, 普通应用软件, 游戏后台。
java常常跟”企业”联系在一起, 因为具备一些很好的语言特性, 以及丰富的框架, 在企业应用中最被青睐, 你总可以听到关于J2EE, JSP, Hibernate之类的东西的讨论. 同时, java在手机领域也有一席之地, 在普遍智能化之前, 很多手机就是以支持java应用作为卖点的, 而智能手机爆发之后, java手机主场变成了android, 作为安卓的标准编程语言而存在。
python:
Python由于具有丰富和强大的库,它又叫做作胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。Python是做服务器开发与物联网开发。信息安全,大数据处理,数据可视化机器学习,物联网开发,各大软件的api,桌面应用,都需要python。
四、个人观点
使用Python对初学者进行基本编程技能的训练还是比较合适的,但在使用它入门之后,还必须学习其他的编程语言。如果你想高薪,c/c++可以尝试下。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-23 07:33 , Processed in 0.089377 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表