最让程序员感到崩溃的10种编程语言

简介:

很显然,软件开发领域中的程序员对编程语言最有发言权。一种语言可能是一些程序员的最爱,但它同时也是另一些程序员的噩梦。如果你在编程领域呆了一段时 间,你就迟早会发现有些语言由于古怪的语法、灵活性不够(或过于灵活)、差劲的调试功能或其它原因让你抓狂,甚至崩溃。根据程序员在 Quora,Stack Overflow和Hacker News这三大国外论坛上的讨论,我们挑选了其中10大最让程序员不爽的编程语言,并解释了原 因。下面就带你具体看一看这个有趣的清单。

1. Visual Basic

Visual Basic code sample

语言介绍:这种语言和相应的开发环境通常是用来开发Windows应用程序(图形界面),它是由微软公司发明,对于初学者比较简单,可以将写代码与使用图形化和拖拽技术相结合。

程序员的吐槽:它的语法过于啰嗦和冗长,而且有些地方有些奇怪,它需要动态链接库执行,而且基本上不支持面向对象开发。自从1998年它就不再受到微软的官方支持了。

2. Perl

Perl code sample

语言介绍:Perl是一种高级的,用途广泛的解释型语言,它被形容为互联网的管道胶带。Perl被应用在各个方面,从CGI脚本到系统和网络的管理。

程序员的吐槽:对Perl最大争议就在与它极大的灵活性和过度冗余的语法,它有着“只能写”的称号(write-only language),代码很难被其他人阅读和维护。

3. Java

Java code sample

语言介绍:Java起初是一种被用在交互电视上的语言,逐渐成为最受欢迎的面向对象编程语言之一。Java代码被编译为字节码,然后由Java虚拟机解释,所以它可以运行在任意的平台上(Write Once,Run Anywhere)。

程序员的吐槽:Java的语法有些冗长,运行较慢,API有些被过度设计。很多其他语言实现相同的功能可以更高效。

4. PHP

PHP code sample

语言介绍:PHP是在服务器端非常流行的一种解释型脚本语言,可以动态生成HTML页面。它也可以单独作为一种脚本语言应用在多种操作系统上。

程序员的吐槽:它在很多功能上有不一致的命名规则,有一些安全漏洞,不天然支持Unicode,还有它经常会和前端的HTML/CSS代码混在一起。

5. C++

C++ code sample

语言介绍:C++作为一种中级别的语言,被人们当做是C的扩展,支持面向对象编程。如今它依然是非常流行的,并被各领域广泛应用。

程序员的吐槽:具有过大的特征集、需要手工管理内存、编译速度慢、在同一程序中有时需要在面向过程和面向对象间相互转换。

6. COBOL

COBOL code sample

语言介绍:1959年,COBOL被指定设计为支持商业和政府管理的一门编程语言,它的全称是Common Business-Oriented Language。

程序员的吐槽:超级冗长的语法规则、版本间不相互兼容,而且在COBOL 2002版本以前不支持面向对象、函数和指针。

7. TCL

Tcl code sample

语言介绍:TCL(Tool Control Language)最早被称为工具控制语言,逐渐发展成为一种多用途的脚本语言,被应用到Web开发、网络管理和自动测试上。

程序员的吐槽:TCL的规则过于简单了,没有指针,所以它不支持参数传递。另外它的数组被存储为字符串格式,在语义和变量作用域上都做的较差。

8. JavaScript

JavaScript code sample

语言介绍:它是一种直译式脚本语言,主要作为应用在Web页面上的客户端脚本语言。它同时也可以执行在服务端,作为一种内嵌式脚本语言。

程序员的吐槽:JavaScript对大小写敏感,依赖于不同的浏览器,欠缺较强的调试能力,而且有着奇怪的继承规则。

9. LabVIEW

LabVIEW code sample

语言介绍:它的全称是Laboratory Virtual Instrument Engineering Workbench,使用的是图形化编辑语言G编写程序,产生的程序是框图的形式,被用于测量和控制系统。

程序员的吐槽:GUI编程会把那些非常简单的任务变得很复杂。

10. Python

Python code sample

语言介绍:一种语法简洁而清晰的高级语言,它通常被当做脚本语言,但其实它是可以被编译的。

程序员的吐槽:它是用缩进来区分语句间的关系,而不是用通常的括号。程序中通常会有很多的冒号和下划线。


来源:51CTO

相关文章
|
监控 负载均衡 网络协议
TCP重传与超时机制:解锁网络性能之秘
TCP重传与超时机制:解锁网络性能之秘
3619 0
基于智能电网系统的PQ并网控制器simulink建模与仿真
在MATLAB 2022a的Simulink环境中构建智能电网PQ并网控制器模型,实现对并网三相电压电流的精确控制及其收敛输出。PQ控制器根据实时需求调节有功与无功功率,确保电力系统稳定。通过测量、计算、比较、控制和执行五大环节,实现PQ参考值的跟踪,保证电能质量和系统稳定性。广泛适用于可再生能源并网场景。
基于智能电网系统的PQ并网控制器simulink建模与仿真
|
数据可视化 项目管理 Android开发
从计划到完成:最佳Todolist任务管理软件全指南
在快节奏的工作环境中,高效的任务管理软件成为提升生产力的关键。本文深入评测了几款高人气的Todolist工具,包括板栗看板、Todoist、TickTick、Microsoft To-Do和Trello,从功能、易用性、优缺点等方面进行全面对比,帮助用户根据实际需求选择最适合的任务管理工具。
1294 3
|
JavaScript 前端开发
ECMAScript 6主要特性的详解
ECMAScript 6主要特性的详解
121 2
|
缓存 小程序 API
小程序实现登录持久化
小程序实现登录持久化
469 0
|
网络协议 安全 网络安全
网络协议的定义、组成和重要性?
网络协议的定义、组成和重要性?
1285 0
|
Shell 开发工具
基于neovim和plantuml搭建写代码并实时预览的绘图环境
## 传统画流程图的痛点 我们经常需要画流程图来表示代码逻辑或者基本框架等。但我们在绘画流程图的时候,经常会在对齐连接线这些和流程图表达的意义无关的环节上浪费大量时间。 而流程图这一表达方式本身天然适合代码描述,因此有人设计了plantuml这种软件语言来专门处理流程图逻辑,把图片渲染的工作交给graphviz来做。 本文旨在基于neovim和浏览器(一般是chro
1289 0

热门文章

最新文章