您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 六种流行的语言---C、C++、python、Java、php、C#比较
六种流行的语言---C、C++、python、Java、php、C#比较语言大餐回归正题,本文是六种语言连接mysql数据库的代码展示,在LZ尝试的过程中,无论是语言环境搭建、mysql依赖库的导入还是代码的风格,各种语言都各有千秋。接下来,我们就让这些语言一一登场吧。Java(最具噱头的语言)Java给新人的印象应该是入门简单、代码优雅、活跃度高、跨平台、开源大家庭等等,实在是当之无愧的明星语言,而且是偶像派的。不过可惜的是,偶像派明星很容易被干掉。Java语言是LZ赖以生存的语言,因此LZ不希望做个偶像派,只能奋起直追,争取做实力派的Javaer。说起这次Java连接mysql的编写,实在没什么好说的,毕竟本身就是做这个的,所以这一路非常顺利,算是最无感的一个。下面是LZ写的代码。packagecn.zxl.jmysql;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;publicclassJMysql{privatestaticfinalStringDRIVER=com.mysql.jdbc.Driver;privatestaticfinalStringURL=jdbc:mysql://localhost/test;privatestaticfinalStringUSERNAME=root;privatestaticfinalStringPASSWORD=123456;privatestaticfinalStringSQL=select*fromtest;publicstaticvoidmain(String[]args){Connectionconnection=null;Statementstatement=null;ResultSetresultSet=null;try{Class.forName(DRIVER);connection=DriverManager.getConnection(URL,USERNAME,PASSWORD);statement=connection.createStatement();resultSet=statement.executeQuery(SQL);while(resultSet.next()){System.out.println(|+resultSet.getString(id)+|+resultSet.getString(name)+|);}}catch(Exceptione){System.out.println(queryfailed!);}finally{try{resultSet.close();statement.close();connection.close();}catch(Exceptione){thrownewRuntimeException(e);}}}}以下是输出结果,表示程序是正确的。总的来说,Java的mysql连接编写是最无感的一个,因为这是LZ比较熟悉的。就Java本身而言,LZ对它的打分如下。这里要特别说明的是,由于其它几种语言LZ都只是略知皮毛,因此本次只从最直观的两个感受去评分。入门难度:★★★代码优雅度:★★★★C(最令人崇拜的语言)这个语言在大学里LZ就学过一点皮毛,不过当时很厌烦这个无用的家伙,LZ想要写的是大型网游,而不是输出一个矩阵,或者打印个“心形”去泡妞。不过说来也怪,到得现在,LZ已经做了两年的程序猿,近半年的PM,却忽然之间对C这个老家伙情有独钟,敬意油然而生,实在是怪哉怪哉。废话不多说,下面是LZ写的代码。《c_mysql.h》#ifndefC_MYSQL_H_#defineC_MYSQL_H_#includestdio.h#includestdlib.h#includewinsock2.h#includewindows.h#includemysql.hvoidexecute_sql(char*sql);#endif《c_mysql.c》#includec_mysql.h#defineHOSTlocalhost#defineUSERNAMEroot#definePASSWORD123456#defineDATABASEtestintmain(){char*sql=select*fromtest;execute_sql(sql);return0;}voidexecute_sql(char*sql){MYSQLconnection;MYSQL_RES*result_pointer;MYSQL_ROWresult_row;intresult,row,column,i,j;mysql_init(&connection);if(NULL==mysql_real_connect(&connection,HOST,USERNAME,PASSWORD,DATABASE,0,NULL,CLIENT_FOUND_ROWS)){printf(Error:connectionfailed!\n);return;}mysql_query(&connection,setnamesgbk);result=mysql_query(&connection,sql);if(result){printf(Error:queryfailed!\n);mysql_close(&connection);return;}result_pointer=mysql_store_result(&connection);if(result_pointer){row=mysql_num_rows(result_pointer);for(i=1;irow+1;i++){result_row=mysql_fetch_row(result_pointer);printf(|%s|%s|\n,result_row[0],result_row[1]);}}mysql_close(&connection);system(pause);}以下是程序的输出,代表代码是可正确运行的。或许是因为Java无法操纵指针,所以在写C语言的时候,使用&、*、-这些符号感觉特别爽,不知道真正的Cer是否有这样的感觉呢。下面是LZ对C语言的打分。入门难度:★★代码优雅度:★★★C++(最神秘莫测的语言)C++作为难度最高的语言,称之为神秘莫测一点都不过分,能游刃有余使用C++的,实在是少之又少。对C++有此印象,主要是因为当时LZ看Java虚拟机源码的悲惨经历,那满屏幕的宏定义,实在令LZ为自己的智商捉急,同时也被编写Java虚拟机的大神们深深折服。以下是最高深的语言连接mysql的代码,请过目。《c++_mysql.h》#ifndefC___MYSQL_H_#defineC___MYSQL_H_#includeiostream#includemysql_connection.h#includemysql_driver.h#includestatement.husingnamespacesql;usingnamespacestd;voidexecute_sql(constSQLStringsql);#endif《c++_mysql.cpp》#includec++_mysql.h#defineHOSTlocalhost#defineUSERNAMEroot#definePASSWORD123456#defineDATABASEtestintmain(){constSQLStringsql=select*fromtest;execute_sql(sql);return0;}voidexecute_sql(constSQLStringsql){mysql::MySQL_Driver*driver;Connection*connection;Statement*statement;ResultSet*result_set;driver=mysql::get_mysql_driver_instance();connection=driver-connect(tcp://localhost:3306,root,123456);statement=connection-createStatement();statement-execute(usetest);statement-execute(setnamesgbk);result_set=statement-executeQuery(sql);while(result_set-next()){cout|result_set-getInt(id)|result_set-getString(name)|endl;}deletestatement;deleteconnection;system(pause);}以下是输出结果,代表程序可以正确运行。C++这个mysql连接的方式,其API与Java的相似度极高,粗略估计大约有90%左右。因此C++的程序除了异常捕捉和内存清理与Java有些区别之外,其它的代码非常相似,但LZ始终觉得使用“.”没有使用“-”显得高端,0.0。以下是LZ的评分。入门难度:★★★★代码优雅度:★★★php(最低调奢华的语言)PHP虽然近期也很火,但是总觉得它有点低调,但又不失内涵。作为网站制作最适合的语言之一,它总是默默的在发挥自己的力量。以下是PHP连接mysql低调的代码。?php$mysql_server_name=localhost;$mysql_username=root;$mysql_password=123456;$mysql_database=test;$connection=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);if(!$connection){echoconnectionfailed!;return;}mysql_set_charset(gbk,$connection);mysql_select_db($mysql_database,$connection);$sql=select*fromtest;$result=mysql_query($sql,$connection);while($row=mysql_fetch_array($result)){echo|.$row[id].|.$row[name].|\n;}mysql_close($connection);?以下是程序运行结果,代表程序是正确的。如果仔细观察会发现,PHP的API与C语言非常相似,这是因为PHP是使用DLL来扩展的mysql操作导致的。此外,PHP与前面三个不同的是,它不是编译型语言,是一种服务端的脚本语言,因此LZ选择使用命令来执行它。以下是LZ对它的评分。入门难度:★★★代码优雅度:★★★★C#(最具潜力的语言)C#最近虽然也算火爆,但却似乎一直有些力不从心的感觉,尽管LZ非C#成员,但也认识不少C#程序猿。不过LZ个人觉得,高级形态是语言的趋势,因此像C#、Java、Object-c这种被高度封装的语言总会发光发热,毕竟再退回几十年前去,使用汇编甚至二进制去写代码的日子肯定是不会再到来了。以下是C#连接mysql数据库的代码。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingMySql.Data.MySqlClient;namespaceCSMysql{classProgram{staticvoidMain(string[]args){MySqlConnectionconnec
本文标题:六种流行的语言---C、C++、python、Java、php、C#比较
链接地址:https://www.777doc.com/doc-4252632 .html