好久没做总结了,今天闲来无事,写写最近一段时间在编程语言上的体会吧。

c/c++

c/c++在操作系统底层方面的优势是无疑的,因为操作系统本身就是用c写的嘛。
项目体验:
去年,还在望京的时候,在公司做一个动态二进制安全调研类的事情。
当时做的实验项目主要的技术流程是:
1. 底层用c/c++去instrument操作系统的进程。
2. 在进程的运行时执行流dump到一个文件里。
3. 用python去分析这些文本格式的执行流。
这个项目,让我对操作系统的架构有了清晰的认识,写代码时,很容易想的到程序是怎么使用cpu,内存和硬盘的。

java

java作为一门的服务器语言,运行速度相比python/php较快、稳定性也较高。关键是java有很多成熟的类库,使得我们在开发项目时,更加得心应手。
项目体验:
java这门语言几年前就接触过,真正使用java是做一个java web项目,由于之前从来没有接触过java web开发,所以我首先高屋建瓴了解下javaweb的技术架构。
因为我已经很熟悉http协议和网站开发,所以看到java web中的servlet, jsp,struts2,springMVC,MyBatis等技术时,觉得很容易理解。由此也可以看出,java是一门很容易上手的语言。
java作为一门静态语言,相比python,php来说,程序稍显冗长(比如最常见的几个集合类List, Map的使用),不过程序写出来,也很易读。
作为静态编译型语言,除了运行速度快,编译运行调试方面javaweb也很容易。基本上,只要在eclipse中编译通过,然后export一个war包到tomcat服务器,程序运行就没什么错误。java web运行时调试项目也很容易,只要一个“tail -f *.log”命令就行了。

javascript

javascript绝对是浏览器上的主宰语言了,前端工程师必备技能。
项目经验:
做过一个网站项目,技术路线走的是:前端angularjs,后端web2py。
这两门动态语言,我用起来非常的舒服。尤其是在数据表示上,python的dict和javascript的object,甚合我意。
写程序前,先仔细想解决方案,等想清楚了整个架构时,可以像写作一样,把python和javascript写出来,由此可见这两门语言的易读。
但实际应用时,javascript还是有一些坑,比如:
1. 只有显示在变量前加上var,才是局部变量。
2. 面向对象用起来难以理解。

python

python一直被认为是一门脚本语言,我想主要是因为python实在是太好用,程序写出来,太容易理解了。
项目经验:
说一下我在做一个中文分词作业时用python的体验吧。
我做的中文分词的基本步骤是:
1. 得到一个中文句子的全切分词图,词出现的概率作为权值。
2. 利用最大概率原理和图论,求全切分词图的最佳路径。
3. 利用HMM原理,去识别未登录词,改善基于词库(最大概率)分词的效果。
做这个项目时,使用python可以快速实现我的想法。在写程序的过程中,基本上一路通顺,遇到的最大问题,就是python2.7对中文的支持吧。

php

用php写网站服务器程序,怎一个爽字了得。
项目经验:
我对这门语言的认知,也是因为做过一个网站项目。
网站的后端技术路线走的是:ThinkPHP+apache+mysql(典型的网站架构)。用起来特别方便。ThinkPHP在MVC和数据库的curd上都提供了很好的封装。
php的array用起来真的很方便。和python的dict,javascript的object一样。存取数据,转化json都很棒。php不愧是是写网站后台的很好选择啊!

lua

lua很精简,可以方便地嵌入到c/c++的程序中。
项目经验:
接触这门语言是做一个手机客户端的项目。
客户端的技术路线是:quick-cocos2d-x(cocos2d-x-lua)。
这是我第二次用cocos2d-x,前年做游戏时也用过,不过当时是用c++开发的。
我一开始看到lua写的代码,就有种似曾相识的感觉,因为lua语法看起来完全是python+javascript的结合(c语言一族嘛!也难怪)。lua的table和javascript的object长得很像,lua的函数也简直就是javascript附身。
实际使用quick-cocos2d-x写项目时,最喜欢的地方是:不需要编译啊!以前用c++,改一个被依赖很多的文件,重新编译,要等几分钟左右(一杯咖啡都喝完了)。现在改完lua代码,直接打包成apk(或者先编译成字节码,秒编译),测试运行,真的很快很方便。

这些年我用过的编程语言相关推荐

  1. JavaScript—— 前端编程语言

    JavaScript 前端编程语言   http://caibaojian.com/javascript/ 转载于:https://www.cnblogs.com/highpointengineer/ ...

  2. ae编程语言as_AE开发 入门教程

    此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: /DeveloperKit/Samples/D ...

  3. perl语言编程 第四版_2020年,5 种 将死的编程语言!

    来源 | 码农网译者 | 小峰 曾几何时,几乎每个人都在使用Perl语言编程.但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲.至少我知道有这么个叫做"piecemea ...

  4. 移动应用开发的六大编程语言

    过去五年中,移动应用程序开发行业实现了跨越式增长,改变了全球业务运作方式.随着企业最近使移动应用程序适应其生产力,以及跨平台移动设备的快速创新,它呼吁移动应用程序开发人员使用一种语言和许多可重用代码为 ...

  5. 最新的全球编程语言,操作系统,web服务器等使用率分析报告

    由www.w3techs.com 根据alexa排名前100万的网站数据给出的分析报告,并每天持续更新. 1.服务器端编程语言排名 http://w3techs.com/technologies/ov ...

  6. 怎样创造计算机语言,如何创建编译成JavaScript的编程语言

    你曾经想过创建自己的编程语言吗?在本文中,我将演示如何使用免费工具和PEG.js解析器生成器快速编写编译为JavaScript的简单语言. 什么是解析器生成器 解析器生成器顾名思义就是一个基于语法.语 ...

  7. java nextline_Java编程语言基础的9根支柱

    Java编程的基础概念包括:数据类型,分支与循环等. 1.HelloWorld 先从最简单的Java程序开始: public class HelloWorld{ public static void ...

  8. python属于哪种类型的语言_Python是什么类型的编程语言,有什么特性

    由于近几年人工智能的不断发展,Python也跟着火了,因为Python是深度学习技术的主流应用编程语言.同时它的应用场景很多,被称为"胶水语言".下面给大家科普一下Python这门 ...

  9. 最早接触到的计算机编程语言——c语言

    最早接触到的计算机编程语言--C语言 在经过入学后计算机导论的熏陶后,在大一的下半学期我终于接触到了一门语言,这也是我们最早接触的计算机编程语言--c语言. 在初学的时候,感觉这门课程十分晦涩,但是当 ...

  10. 区块链技术入门,都涉及哪些编程语言?

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 关于区块链的技能掌握,提到最多的就是Go语言和C++.Java,但是很多人产生了歧义,认为只有这几种语言才可以,CDA数 ...

最新文章

  1. GWPY:利用公开的 LIGO 数据进行绘图
  2. CentOS6.5挂载windows共享文件夹
  3. linux7怎么查看rsync状态,linux – Rsync显示单个文件的进度
  4. git 忽略文件 .gitignore 以及规则
  5. new Fiori 2.0 theme sap_belize
  6. jmeter分布式压测原理简介1
  7. 关于在软件中添加扫描二维码功能的详细步骤及对应的资源。
  8. 怎么通过MQTT查看数据是否上云端_设备工程师们的福利来啦!JSON数据采集网关帮你实现云端对接~...
  9. html 分页_MySQL——优化嵌套查询和分页查询
  10. vue 指令 v-once
  11. Highcharts 显示图表
  12. 一维前缀和,二维前缀和,一维差分,二维差分(翻译)
  13. 触发器中的 Inserted表和Deleted表
  14. Deep Learning for NLP Best Practices
  15. admin is not in the sudoers file. This incident will be reported
  16. 《Python简明教程》一
  17. ue4蓝图运行顺序_UE4蓝图编程的第一步
  18. 第六章 平均绝对误差(MAE)与均方根误差(RMSE)
  19. 【运动控制篇】(7)路径跟踪及组合动作方向
  20. 开学至此时总结。(月末总结好像一直没写)

热门文章

  1. iss版本服务器读取_Netty每次读取客户端数量
  2. 微表情如何用计算机分析计算,基于微表情识别的学生课堂专注度分析系统研究...
  3. php include不可用,无法设置PHP include_path
  4. mac下安装mysql-pyhon_mac下安装MySQL-python模块
  5. 6-4cifar10数据介绍读取处理(下)
  6. 3-17Pytorch与线性代数运算
  7. java 字符串 常量_Java进阶——Java中的字符串常量池
  8. python如何下载pandas、时间延长_大pandas,python – 如何在时间表中选择具体时间
  9. android jni arm x86,使用houdini(Android模拟器)在基于x86的AVD上运行ARM库
  10. 用matlab求解信号的DFT,利用MATLAB实现信号DFT的计算