對所有的程式設計語言,他們的最後的目的其實就是兩種:提高硬體的運作效率和提高程式員的開發效率。
遺憾的是,這兩點是不可能并存的!你隻能選一樣。在提高硬體的運作效率這一方面,C語言沒有競争者!舉個簡單的例子,實作一個清單,C語言用數組int a[3],經過編譯以後變成了(基位址+偏移量)的方式。對于計算機來說,沒有運算比加法更快,沒有任何一種方法比(基位址+偏移量)的存取方法更快。
C語言已經把硬體的運作效率壓縮到了極緻。這種設計思想帶來的問題就是易用性和安全性的缺失。例如,你不能在數組中混合儲存不同的類型,否則編譯器沒有辦法計算正确的偏移量。同時C語言對于錯誤的偏移量也不聞不問,這就是C語言中臭名昭著的越界問題。
Java也是這樣,突出網絡,易用,安全,跨平台。無論是Java, c#還是python, 他們都有意避開提高硬體的運作效率這個問題,因為這個問題上沒辦法和C競争,也無法撼動Linux, Unix,GNU tool這些已有C代碼的位置。剩下的就隻是提高程式員的開發效率上大作文章。這對C語言是好事,把自己不善長的東西去掉,讓自己跑的更快!
Python挺适合入門的,看起來很簡單,适合創業團隊,可以快速開發,快速上線,快速疊代。适合特種部隊的突襲。等到發展到一定規模,動态語言的劣勢就會展現出來,維護/重構難度高,特别是我覺得動态語言寫的代碼腐化速度要比靜态的Java要快一些。
Java呢,文法相對Python啰嗦,表達力要弱一些,開發起來一闆一眼,有很多規範,适合集團軍的大規模協同作戰;有很多著名的架構和類庫,性能不錯,系統穩定而成熟,是開發大型系統的極好選擇。
是以我猜測,最後Java會穩定在對跨平台有嚴格要求的,大型非實時應用上。
1.python實作get.post請求
建立項目
注釋掉過濾元件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
編寫背景代碼
#登陸功能
def login_view(request):
#接收表單參數
uname= request.POST.get('uname','')
pwd=request.POST.get('pwd','')
print(uname)
print(pwd)
#判斷
if uname=='zhangsan' and pwd=='123':
return HttpResponse('登陸成功!')
return HttpResponse('登陸失敗!')