python编程语言的缺点-几种主流编程语言的优点和缺点比较,不服来怼

2023-10-15 05:59

本文主要是介绍python编程语言的缺点-几种主流编程语言的优点和缺点比较,不服来怼,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

073537_XHOC_2903254.png

在初级程序员阶段,每个人都不可避免遇到选择编程语言和职业方向的难题。我挑选了几个常见的编程语言,分析了优缺点和职业方向,以供想当程序员的人参考。

C/C++

一句话概括:大多数中国程序员的第一个语言

C语言是面向过程语言在当代的鲁殿灵光,常用于编写操作系统。C++是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及其衍生技术的就业环境被培训班破坏得太厉害,培训班HR曾问我:"Android不吃香了,你能推荐几个hadoop讲师吗?”

Java的优势: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取代,并且近年培训班造成了低水平Android程序员的泛滥。

(3)在大数据时代,Java可用于Hadoop的开发,前景非常广阔,但可能有泛滥的趋势。

(4)在人工智能时代,Java可用于TensorFlow深度学习的开发。

C#

一句话概括:自称不是Java的Java语言

C#是微软看到Java太火了而发明的和Java语法差不多的语言。

C#的优势:C#的最大优势在于全面集成.Net库,提供出色的功能与完美的库访问能力。

C#的不足:由于集成.Net库造成跨平台能力太差。

C#的优势:VR时代的到来让Unity-3d开发者有很好的发展前景。

C#的不足:目前.Net在国内就业环境不太好,收入较低。

职业路线:

(1)招聘网站上常见的"招聘C#开发”和"招聘.Net开发”指的都是狭义的C#开发——基于.Net框架的后台开发。

(2)Unity-3d也用C#作为开发语言,除了能开发3D游戏,在VR时代也会大放光芒。

JavaScript

一句话概括:不是Java语言的语言。

javascript是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给HTML网页增加动态功能的语言。外行最常闹的笑话是以为它是Java语言的分支。

JavaScript的优势:作为脚本语言,JavaScript可立即运行而无需等待服务器响应,速度非常出色。

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)如果以上四样全能做到,那么你就是全栈工程师。

SQL

一句话概括:数据库离不开的语言

SQL是一种专精于数据库的特殊目的语言。用于存取数据以及查询、更新和管理关系数据库系统。

SQL的优势:存储过程可以重复使用,可减少数据库开发人员的工作量,开发速度快。

SQL的不足:和Java语言的大多数设计模式一样,SQL开发速度是靠牺牲运行速度换来的。

SQL的优势:SQL可设定只有某此用户才具有对指定存储过程的使用权,安全性好。

SQL的不足:不同数据库系统之间的SQL不能完全相互通用,可移植性差。

职业路线:

(1)掌握了SQL可以从事DBA(Database Administrator,即数据库管理员),主要负责业务数据库从设计、测试到部署交付的全生命周期管理。

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的不足:PHP的错误处理机制比较糟糕,以为PHP需要支持大量旧版本的功能。

职业路线:

(1)适合进行Web开发,配合Node.js效果更佳。

Objective-C和Swift

一句话概括:被培训班害苦了的语言

objective-c和swift都是OS X和ios系统上的专用语言。Objective-C在三年前是国内收入最高的语言,从去年开始大量培训班输出了一大堆"三年经验”的速成"iOS工程师”成了脉脉匿名区的笑话。

Objective-C的优势:苹果提供了丰富的工具和库以便开发者使用Objective-C开发软件。

Objective-C的不足:Objective-C拥有自己独特的编程方法思路,与其他编程语言思路差别较大。

Swift的优势:随着时间推移,Swift在iOS和OS X软件中占的代码比例会越来越多。

Swift的不足:版本更迭太快,不同版本差别过大,近年发生过几次"从精通到重新入门”的情况。

Objective-C和Swift的优势:因为仅需要在少数平台上运行,不容易遇到兼容性问题。

Objective-C和Swift的不足:这俩语言的就业环境被培训班彻底毁了,现在才开始学这两种语言可能会有像2007年6000点时入市的散户的结局。

职业路线:

(1)这两种语言都是专为iOS和OS X服务的,入行前记得先准备一台苹果电脑和苹果开发者账号。近年培训班造成了低水平Objective-C和Swift程序员的泛滥。

Kotlin

一句话概括:运行在JVM但不是Java的语言

Kotlin 是最新问世的一个基于JVM的编程语言,专用于开发Android。

Kotlin的优势:和Java的互操作性极佳。其他JVM语言都实现了自己语言的标准库。而Kotlin则使用Java的标准库,只是对其进行了扩充。更轻巧,Apk更小。

Kotlin的不足:同时可能也继承了Java比较坑爹的东西。

Kotlin的优势:因为弱化了数据类型,学习成本较Java低。

Kotlin的不足:能且仅能在Android Studio 3.0上运行,这点有点像易语言。

职业路线:

(1)只能用来开发Android。即使你想干点别的,除了Android Studio 3.0 还有别的编译器吗?

来源:代码湾

这篇关于python编程语言的缺点-几种主流编程语言的优点和缺点比较,不服来怼的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_37988176/article/details/109373560
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/215802

相关文章

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、