0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Java和C++、python及PHP等主流编程语言的特点说明

Wildesbeast 来源:今日头条 作者:老虎的屁股摸不得 2020-02-20 14:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

每一个新入门的程序员对于各种各样的编程语言都感觉很头大,当你迷茫于该学习什么样的语言时,那么你就应该先了解一下其特点,以做好万全准备。

【问题】:面对自己的职业生涯,程序猿们该如何选择属于自己的编程语言?

【正文】:

C/C++

一句话概括:大多数中国程序员的第一个语言
C语言是面向过程语言在当代的鲁殿灵光,常用于编写操作系统。C++是C语言的一个超集,既有指针又有对象使它成为最复杂的语言。
C/C++的优势:几乎所有现代编程语言都脱胎于C/C++,因此了解了C/C++,就了解了关于编程语言的一切,非常有利于快速掌握其他各类编程语言。C/C++可以被嵌入任何现代处理器中,几乎所有操作系统都支持C/C++,跨平台性非常好。
C/C++的不足:据说C/C++发明的时候为了提高入行门槛和行业收入水平刻意制造了学习难度。尽管C语言体型小巧,可最常使用的C++规模可观且拥有大量极为复杂的功能交互方式,容易造成资源浪费。
职业路线:
(1)首推Unix/Linux等操作系统软件的开发和嵌入式开发
(2)Android ROM的定制,以及android App的NDK开发。
(3)用Cocos2d-x开发游戏也是C++程序员的好出路。

Java

一句话概括:最长寿的语言
Java是最典型的面向对象语言。Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等坑爹概念。今明两年毕业的大学生大多是Java的同龄人(1995年)。
Java的优势:Java平台不断迎来新功能,比如移动互联网时代的Android,大数据时代的Hadoop,人工智能时代的TensorFlow。Java是世界上使用范围最广的语言——Java环境安装时那句“3 Billion Devices Run Java”谁没见过?
Java的不足:Java占用大量内存,并且启动时间较长——搞Android的都被Windows系统中的Android AVD坑过。
职业路线:
(1)招聘网站上常见的“招聘Java开发”指的就是狭义的Java开发——基于JavaEE的后台开发,以前一度流行过SSH框架和SSM框架,现在入门建议学习SpringMVC框架。
(2)在移动互联网时代,Java可用于Android App开发。但Java之于Android的地位可能被Kotlin取代。
(3)在大数据时代,Java可用于Hadoop的开发,前景非常广阔,但可能有泛滥的趋势。
(4)在人工智能时代,Java可用于TensorFlow深度学习的开发。

C#

一句话概括:自称不是Java的Java语言
C#是微软看到Java太火了而发明的和Java语法差不多的语言。
C#的优势:C#的最大优势在于全面集成.Net库,提供出色的功能与完美的库访问能力。VR时代的到来让Unity-3d开发者有很好的发展前景。
C#的不足:由于集成.Net库造成跨平台能力太差。目前.Net在国内就业环境不太好,收入较低。
职业路线:
(1)招聘网站上常见的“招聘C#开发”和“招聘.net开发”指的都是狭义的C#开发——基于.Net框架的后台开发。
(2)Unity-3d也用C#作为开发语言,除了能开发3D游戏,在VR时代也会大放光芒。


一句话概括:不是Java语言的语言。
javascript是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给HTML网页增加动态功能的语言。外行最常闹的笑话是因为它是Java语言的分支。
JavaScript的优势:作为脚本语言,JavaScript可立即运行而无需等待服务器响应,速度非常出色。JavaScript是动态类型语言,学习难度低。并且掌握了JavaScript语言就等于成为能同时开发网页(HTML5)、后台(Node.js)、移动端(React Native、Weex)的全栈工程师
JavaScript的不足:代码在用户电脑上运行,可能会被别有用心的坏人恶意利用。JavaScript过于依赖浏览器,在不同的浏览器上有不同的表现。
职业路线:
(1)首选html5的初心:网站和手机站的前端页面开发。
(2)用node.js或Bmob云端代码进行后台开发
(3)基于react Native、PhoneGap、Weex、HBuilder、AppCan进行移动开发,只需写一遍代码,就有Android和iOS两个软件
(4)微信开发:包括微信公众号、微信小游戏、微信小程序。不要把这个方向当成中国特色方向,国外的Android机也是需要PWA开发的。
(5)如果以上四样全能做到,那么你就是全栈工程师。

Python


一句话概括:需要拿着游标卡尺学习的语言
python是一款服务器端解释型开源非编译脚本语言。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
Python的优势:Python学习简单,被誉为“最易学习的语言”。
Python的不足:Python存在一些只在特定情况下才会出现(无法重现)的bug。
职业路线:
(1)用Django框架进行web开发:和Java没什么两样。
(2)用PIL框架进行图形处理
(3)物联网:Raspberry Pi等物联网平台都选择了Python作为开发语言
(4)Python有一个无所不能的Hack库,如果认为“打工是不可能打工的”就去当一个自由的黑客

PHP

一句话概括:世界上最好的语言
php是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。号称“世界上最好的语言”。
PHP的优势:PHP学习简单,易于快速上手。历久弥新的PHP拥有庞大而活跃的官方社区,开发者面临的大部分难题都有现成的解决方案,很多十几年前的解决方案在当代也有指导意义。
PHP的不足:PHP的运行速度比较慢。PHP的错误处理机制比较糟糕,因为PHP需要支持大量旧版本的功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115696
  • C++
    C++
    +关注

    关注

    22

    文章

    2122

    浏览量

    76716
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89599
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何调试和编程CW32F030C8T7?支持哪些调试工具和编程语言

    了解如何调试和编程CW32F030C8T7是开发过程中的重要环节。它支持哪些调试工具(如JTAG、串口调试)和编程语言(如
    发表于 12-05 06:48

    为什么单片机还在用C语言编程

    说起单片机我们就会想到C语言,单片机为什么还在用C语言编程?现在有很多很好用的高级语言,如VC、
    发表于 11-28 07:37

    2025年最佳的嵌入式编程语言有哪些呢?

    语言有哪些呢?今天我们将讨论这些语言CC++、Rust、Python和生成式AI提示;以及它们在当今的现代系统中的使用方式。资料来源:T
    的头像 发表于 11-14 10:27 908次阅读
    2025年最佳的嵌入式<b class='flag-5'>编程</b><b class='flag-5'>语言</b>有哪些呢?

    一文了解Mojo编程语言

    Mojo 是一种由 Modular AI 公司开发的编程语言,旨在将 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(A
    发表于 11-07 05:59

    技能+1!如何在树莓派上使用C++控制GPIO?

    在使用树莓派时,你会发现Python和Scratch是许多任务(包括GPIO编程)中最常用的编程语言。但你知道吗,你也可以使用C++进行GP
    的头像 发表于 08-06 15:33 3600次阅读
    技能+1!如何在树莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C++Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言
    的头像 发表于 07-24 15:32 650次阅读
    <b class='flag-5'>C++</b> 与 <b class='flag-5'>Python</b>:树莓派上哪种<b class='flag-5'>语言</b>更优?

    主流的 MCU 开发语言为什么是 C 而不是 C++

    在单片机的地界儿里,C语言稳坐中军帐,C++想分杯羹?难喽。咱电子工程师天天跟那针尖大的内存空间较劲,C++那些花里胡哨的玩意儿,在这儿真玩不转。先说内存这道坎儿。您当stm32f4的
    的头像 发表于 05-21 10:33 782次阅读
    <b class='flag-5'>主流</b>的 MCU 开发<b class='flag-5'>语言</b>为什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    零基础入门:如何在树莓派上编写和运行Python程序?

    是一种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、CJava语言更少的代码行。
    的头像 发表于 03-25 09:27 1538次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    C++学到什么程度可以找工作?

    C++学到什么程度可以找工作?要使用C++找到工作,特别是作为软件开发人员或相关职位,通常需要掌握以下几个方面: 1. **语言基础**:你需要对C++的核心概念有扎实的理解,包括但不
    发表于 03-13 10:19

    创建了用于OpenVINO™推理的自定义C++Python代码,从C++代码中获得的结果与Python代码不同是为什么?

    创建了用于OpenVINO™推理的自定义 C++Python* 代码。 在两个推理过程中使用相同的图像和模型。 从 C++ 代码中获得的结果与 Python* 代码不同。
    发表于 03-06 06:22

    有没有什么方案能实现直接用matlab或python调用D4100_usb.dll?

    这个动态链接库编写程序控制DMD,我分别尝试用C++,matlab,Javapython使用D4100_usb.dll进行编程,但只有用C++
    发表于 02-27 06:59

    Spire.XLS for C++组件说明

    开发人员可以快速地在 C++ 平台上完成对 Excel 的各种编程操作,如根据模板创建新的 Excel 文档,编辑现有 Excel 文档,以及对 Excel 文档进行转换。 Spire.XLS
    的头像 发表于 01-14 09:40 1301次阅读
    Spire.XLS for <b class='flag-5'>C++</b>组件<b class='flag-5'>说明</b>

    gitee 支持的编程语言有哪些

    Gitee 支持的常见编程语言Python :一种广泛使用的高级编程语言,以其清晰的语法和代码可读性而闻名。
    的头像 发表于 01-06 09:50 1109次阅读

    AKI跨语言调用库神助攻C/C++代码迁移至HarmonyOS NEXT

    )开发框架。它极大地简化了JS与C/C++之间的跨语言访问,为开发者提供了一种边界性编程体验友好的解决方案。通过AKI,开发者可以使用让代码更易读的语法糖,实现JS与
    发表于 01-02 17:08

    Triton编译器支持的编程语言

    编写和优化深度学习代码。Python是一种广泛使用的高级编程语言,具有简洁易读、易于上手、库丰富特点,非常适合用于深度学习应用的开发。 二
    的头像 发表于 12-24 17:33 1477次阅读