python跟java 效率_Python 的开发效率真的比 Java高吗?

代码是最直观的体现:

service api的demo实现,里面有java,php和python三种实现,打开一看,被python这类脚本语言所折服,单从代码量上来说,差别实在是太大,如果都是熟手开发,业务场景也正好适合该语言的话,开发效率自然就不用再说:Java:(大家有兴趣可以数数有多少行,文末有答案呦)

package com.test.http;

import java.io.*;

import java.net.HttpURLConnection;

import java.net.URL;

import java.security.MessageDigest;

import java.math.BigInteger;

public class ApiDemo{

public static void sendRequest(String id, String secureKey) throws IOException{

URL request = new URL("xxxxxx?id="+id);

HttpURLConnection connection = (HttpURLConnection)request.openConnection();

connection.setDoOutput(true);

connection.setDoInput(true);

connection.setRequestMethod("POST");

connection.setUseCaches(false);

connection.setInstanceFollowRedirects(true);

connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

connection.connect();

String scanParam = "{\"scanlist\":[{\"sid\":\"123\", \"url\":\"http://dl.test.com/test.apk\", \"md5\":\"3d41f29d762ec547bfa4b42f57f3dc7c\"}]}";

String authKey = getStringMd5(scanParam + id + secureKey);

String post = "authkey=" + authKey + "&request=" + scanParam;

DataOutputStream writeStream = new DataOutputStream(connection.getOutputStream());

writeStream.writeBytes(post);

writeStream.flush();

writeStream.close();

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line="";

while ((line = reader.readLine()) != null){

System.out.println(line);

}

reader.close();

connection.disconnect();

}

public static String getStringMd5(String src) {

MessageDigest md;

StringBuilder md5 = new StringBuilder();

try{

md = MessageDigest.getInstance("md5");

md.update(src.getBytes());

for (byte b : md.digest()) {

md5.append(String.format("%02x", b));

}

}

catch (Exception e) {

e.printStackTrace();

}

return md5.toString();

}

public static void main(String[] args) throws Exception {

try {

sendRequest("test", "123456");

} catch (IOException e) {

e.printStackTrace();

}

}

}PHP:

<?php

$id="test";

$secure_key="123456";

$api_url="http://xxxxx?id=".$id;

$scan_parm="{\"scanlist\":[{\"sid\":\"123\", \"url\":\"http://dl.test.com/test.apk\", \"md5\":\"3d41f29d762ec547bfa4b42f57f3dc7c\"}]}";

$authkey=md5($scan_parm.$id.$secure_key);

$post="authkey=".$authkey."&request=".$scan_parm;

$url_info=parse_url($api_url);

if(!isset($url_info["port"])){

$url_info["port"]=80;

}

$request.="POST ".$url_info["path"]."?".$url_info["query"]." HTTP/1.1\r\n";

$request.="Host: ".$url_info["host"]."\r\n";

$request.="Cache-Control: no-cache\r\n";

$request.="Content-type: application/x-www-form-urlencoded\r\n";

$request.="Accept: text/html\r\n";

$request.="Content-length: ".strlen($post)."\r\n";

$request.="Connection: close\r\n";

$request.="\r\n";

$request.=$post;

$fp = fsockopen($url_info["host"], $url_info["port"]);

if(!$fp){

echo "$errstr($errno)\n";

}

fwrite($fp, $request);

while(!feof($fp)){

$response .= fgets($fp, 128);

}

echo "$response\n";

?>Python:

#!/usr/bin/python

import httplib, md5

if __name__ == "__main__":

id="test"

secure_key="123456"

scan_param='{"scanlist":[{"sid":"123", "url":"http://xxxxx/test.apk", "md5":"3d41f29d762ec547bfa4b42f57f3dc7c"}]}"'

authkey=md5.new(scan_param + id + secure_key).hexdigest()

post= "authkey=%s&request=%s" %(authkey, scan_param)

domain="xxxxx"

url_path = "/api/scansoft?id="+id

headers = {"Content-type": "application/x-www-form-urlencoded"}

connect = httplib.HTTPConnection(domain)

connect.request("POST", url_path, post, headers)

res = connect.getresponse()

print res.read()扣除掉注释之后:java 56行; php:30行; python:15行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值