文档章节

  我眼中的各种编程语言

 深海孤猫
发布于 2016/05/07 14:58
字数 911
阅读 15
收藏 0

  所有的编程语言我都讨厌。曾经我想自创一门语言,但我没搞明白到底需要一门什么语言,所以也从未开始过。 许多时候,你没法选择使用哪种语言。不管我在用哪种语言,我都尝试去接受它的优点和缺点。

  Java

  喜欢Java的人肯定喜欢打字。我指的就是敲打键盘上的键。你得不断地重复又重复。

  设计Java系统的人是个疯子,他解决问题的方式就是,设计模式。如果你把设计模式看作是这个语言中解决问题的一种方式,那么你会发现Java里有许多这样的设计模式。

  另一方面,Sun的这些家伙的确是费了点心思在Java规范上的,这使得它能运行在嵌入式系统上,所以这块我们还是坚持在使用它。我很难相信Python或者C在我的手机桌面系统上运行。

  还有,那些个目录又是怎么回事?我必须得使用Eclipse,因为只有它知道怎么跳过那1000个字长的路径名。如果我在应用的同一个目录下放10个类,会不会 伤害到某些人?

  C

  C是精确的。当我用C写程序的时候,如果搞定了,我知道它是靠谱的。它就像是用一把小刷子在画一幅巨作。在这么详细的层面上写代码需要一种不同的心态。当你坐下来写C的时候,在动手之前你就得规划好到底怎么写。否则后面肯定得费很多工夫去改。

  如果你的经验足够丰富,内存泄露这种事就不太会找上门。它的第二特性——malloc/free总是形影不离。你不能忘了任何一个。否则就像是忘了冲水或者关灯。你就这么做就是了。

  有句话说得好,如果你打算给房子上漆,一把好刷子可远远不够。我猜你肯定想要个大滚轴。如果让我写一整个应用或者系统,能不用C的话我肯定不用。

  C程序想要进行改动可得费老劲了。当我写算法的时候,我知道第一遍肯定是不会对的,所以我通常都先用Python写,搞定了之后再翻译成C的。

  C++

  它就是个有string类的C。同时还有数组,列表,队列等东西,你可以用它们来实现你想要的。一言以蔽之:别想着自创新模板。这太困难了。除了这个,C++还改良了一下C,用C++你可以写出非常不错的软件。它这个额外的特性使得它可以用于一些大型系统上,只要大家都还遵循同样的约束的话,难度还不算太大。

  node.js

  我也希望能爱上它。我觉得我给过它机会了。它的回调让我无法忍受。我知道会有这么一天,因为某个原因,其中一个回调并没有出现,然后我的应用就会堵在那一直等待。真是要了命了。

  还有一点就是,它几乎没有内建任何东西。如果你要做某件事情,总是会有一大堆模块来实现这个功能的。该选哪个呢?如果出现问题了,哪个模块会有人来支持?

济源白癜风医院

济源牛皮癣医院

郑州牛皮癣

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 19
码字总数 16232
作品 0
石家庄
前端工程的入门须知

本文是写给那些想要入门web前端工程的初学者,高手请路过,也欢迎高手们拍砖。 先说下web前端工程师的价值,目前web产品交互越来越复杂,用户使用体验和网站前端性能优化这些都得靠web前端工...

WEB攻程狮
2017/12/01
0
0
web前端工程师入门须知,你全部了解吗?

本文是写给那些想要入门web前端工程的初学者,高手请路过,也欢迎高手们拍砖。 先说下web前端工程师的价值,目前web产品交互越来越复杂,用户使用体验和网站前端性能优化这些都得靠web前端工...

DarkSpy13
2017/11/28
0
0
我眼中的nodeJS

一、前言   不知不觉node已经7岁了,我接触node也有1年多了(从 0.10.36 版本到现在的 6.2.0);node已经逐渐稳定并被广大开发者使用,伴随着ES2015的规范,node的发展势头被一致看好!从各个...

mosaic101
2016/07/11
123
2
开发者眼中的Android手机平台

大家都知道,Google推出了他的手机平台——Android,Google做什么都会引来无数人的眼球,并总能创造出非凡的奇迹。相信这次他推 出这个手机平台,应该会吸引到无数开发人员的眼球,甚至会吸引...

红薯
2009/06/21
2.8K
0
if __name__ == '__main__' 如何正确理解

前言: 朋友眼中你是小明(name == '小明'), 你自己眼中你是你自己(name == 'main'), 你编程很好, 朋友调你去帮他写程序(import 小明, 这时你在朋友眼中: name == '小明'), 但你晚上也会打开x...

yaohong
03/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
29分钟前
1
0
fullcalendar重新渲染

uiCalendarConfig.calendars.lesson_calendar.fullCalendar('removeEvents');var ym = uiCalendarConfig.calendars.lesson_calendar.fullCalendar('getView').title;$scope.get_lesson(y......

人来疯啊
33分钟前
1
0
多渠道打包总结

https://www.jianshu.com/p/2130db7584c8 https://blog.csdn.net/u011153817/article/details/50772496...

塔塔米
42分钟前
1
0
android -------- Data Binding的使用 ( 六) 自定义属性

今天来说说DataBinding在自定义属性的使用 默认的android命名空间下,我们会发现并不是所有的属性都能直接通过data binding进行设置,比如margin,padding,还有自定义View的各种属性。 默认...

切切歆语
49分钟前
1
0
收邮件 下载附件

uses IdMessage, IdMessageParts, IdAttachment, IdGlobalProtocols, ...;procedure SaveAttachmentsFromFile(FileName: String)var IdMessage: TIdMessage; MsgPart: Ti......

vga
55分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部