java、php、python的开发效率对比

一篇博客对比了Java、PHP和Python在开发效率上的差异,通过一个具体的Service API demo实现,发现Python的代码量显著少于Java和PHP,强调在适合的业务场景下,熟悉脚本语言的开发者能大幅提升开发效率:Java 56行,PHP 30行,Python仅15行。这进一步突显了Python作为脚本语言在快速开发上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我对java最熟悉,对php和python只是了解,实际工作中也没有真正用过,昨天一个合作方发过来一个service api的demo实现,里面有java,php和python三种实现,打开一看,第一眼就被python这类脚本语言所折服,单从代码量上来说,差别实在是太大,如果都是熟手开发,业务场景也正好适合该语言的话,开发效率自然就不用再说:

扣除掉注释之后:java 56行;php:30行;python:15行


不得不再次感叹脚本的威力

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
$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";
?>

#!/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()


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值