<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團論壇 http://www.bjzhda.cn

    曙海教育集團論壇
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
    [瀏覽完整版]

    標題:最近關于delphi python java 和設計的一些想法

    1樓
    wangxinxin 發表于:2010-12-14 10:50:19
    每個程序員就是藝術家,每個系統構架師都是哲學家

    這段時間我一直在思考各種設計上面的問題,原來一直寫delphi和一些其他腳本語言。對java一直沒有碰,這段時間看的比較多,也寫了一些小的程序,過程不說,1個月下來感覺只有四個字:不堪重負 ToT,可能你們還記得前段時間我抱怨了一下java的類庫之間的復雜關系,讓我完全沒有任何的線索

    隨即切換到python重新實現一些功能,也許是有了前面的經驗,寫的輕松了很多,雖然這段時間我連很多python的基本用法都沒學完,比如那個lambda函數,新奇呀~

    用twisted寫了一個server,10多行代碼,java那邊用mina還沒有實現邏輯就已經4、5個java文件了,當然大部分代碼ide都幫忙寫了,不過java類庫之間的邏輯關系復雜程度可見一斑。

    以我對這兩個語言的了解程度,還不足以對他們評頭論足,我發現他們在設計思路上有一些很有意思的地方,寫下來,大家看看。

    delphi聞名是他的RAD套路,還有就是所謂的“優雅”,因為寫出來的代碼規范而且可讀性強,不過很遺憾,delphi的rad貌似也沒有太大的進展了,至于用“begin end”來保持的優雅,我持保留意見,呵呵。期待后續的版本能繼續發揚RAD,這次支持泛型和unicode就很不錯,要是再多些語法糖就好了,恩啊恩啊。delphi仍然是我windows平臺下開發的不二選擇。
    python的設計思路很像delphi,走的是rad的套路,用python寫東西的時候,明顯感覺到是拋開了詳細設計的,就是一切都面向實現功能,他的語言設計是鼓勵你這么做的。python強調了函數和模塊,他的面向對象我到反而覺得有點半調子,不過無所謂,這些是意識形態上的東西,能解決問題就好。
    而用java的時候,我還沒開始寫一行邏輯代碼,已經被迫實現了4、5個接口了,而且我在沒有寫完之前,還不能把他們整合起來,也不知道是對是錯。心里懸著,感覺不舒服。

    很有意思的是,python的思路很接近我最初寫程序的時候,什么都不知道,只要把東西做出來就好的那種思路,所謂初級程序員的做法。不過這個不是全部,python的開發過程非常強調自省,也就是重構,說白了就是重新寫。而且目前的開發中更加注重的是在各種測試的情況下進行重構,也就是是有保障的重構,而非程序員一時性起,寫了也不知道對不對。我個人覺得這個是符合邏輯的,在沒有了解一個東西的時候做再多的設計都是空的,我原來也嘗試過,也看到過開發中到最后,完全和最初的設計沒有關系。失去控制,全靠程序員自己努力,更要命的是,牛B的SA還不愿意承認……

    python可以做到這一點,是因為python代碼很精簡,程序員寫作的時間很短,就算是重構這個時間消耗也比其他語言低很多,我覺得這是python做的最好的地方,他給這種“初級程序員”的開發模式提供了一個升級的可能

    這段時間也很關心各種語言的效率,不可否認,java的jvm虛擬機是一個很厲害的東西,java的執行效率在高端機器上和C在一個水平,一個可以自動管理內存的語言做到這個地步,實在讓人驚嘆。同時java的開發效率比C又高了不知道多少倍。所以在服務器端java可以說當之無愧的王者。

    這次準備放棄java轉而用python的主要原因其實是考慮到開發效率和rad的需求。前段時間考慮的方案是用java寫框架和效率要求嚴格的地方,然后用jython實現邏輯和效率要求不高的地方,不過這個想法首先被jython的超級低效率擺了一道,這個低效非常明顯而且不是幾十倍的問題,
    然后自己感覺java的各種代碼之間各種交互很多,設計上找不到rad的感覺,我也會設計很多接口,封裝,然后工廠,不知道是不是被引誘了呵呵。
    然后就是這次做的東西有探索的性質在里面,所以我自己是沒有太多經驗的,整個開發過程我預算了1次完全的重構和數次的迭代的重構。

    現在我基本上決定用python寫原型,先跑,然后如果效率上出了問題,profile一下,找問題的地方,用psyco編一下,如果還不行,就直接寫C的擴展或者用jtype在java里面做好,python里面調用。個人感覺python比較合適我的思路,也許是因為我不是一個合格的SA,我只是一個程序員圖片點擊可在新窗口打開查看
    多process的情況我也推翻了我原來的設計,盡量減少process之間的狀態共享,把程序都往單進程順序執行上堆,直到我決定寫erlang的哪一天,呵呵

    對于general purpose的框架來說,開發者一定是對這個領域很有經驗的,所以可以抽象出一套比較好的邏輯框架,然后實現成各種接口,工廠,封裝,分層來保證靈活性,這個在python的twisted庫里面也是一樣的,虧他們居然用python半調子的面向對象搞整了這么多東西出來。不過還好他們暴露出來的接口并不復雜,也就是一些回調和事件
    不過在面臨專業領域的問題的時候,這種一來就高層建模的方式或許就有點行不通了,因為沒有人敢站起來拍胸膛說,這個項目所有需求我都了解了。而且大部分需求都在根據時間變化。所以導致開始建模的那些封裝到后面可能會變成完全不適用或者需要大量適配才能使用的東西


    另外這段時間突然感覺各種語言蜂擁而起,而起很多都有自己的明確的主題,
    比如erlang對并發的處理簡直就是一絕,
    scala在jvm上的表現,整合的非常好,
    還有我最喜歡的跨平臺pascal:lazarus今天也剛剛出了0.9.26版本完美支持mac平臺的新界面框架(好像叫carbon把),跨平臺的native程序開發估計也只有他能做了,
    ruby新版的效率居然比python2.6還要高,好吧我承認,我沒有選ruby和jruby是因為不太喜歡他的語法- -,感覺啰嗦
    groove是瞄準ruby去的,不過現在還差一截

    最近看到有句話很喜歡:程序設計有兩種思路,一種是設計的很簡單以至于明顯沒有缺陷,一種是設計的很復雜以至于沒有明顯的缺陷 圖片點擊可在新窗口打開查看

    以上是這段時間的一些感受,水平很有限,拉拉雜雜一堆,行家眼里看來肯定是漏洞百出,說出來讓大家笑話了。歡迎拍磚
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

    Copyright © 2000 - 2009 曙海教育集團
    Powered By 曙海教育集團 Version 2.2
    Processed in .01563 s, 2 queries.
    主站蜘蛛池模板: 亚洲欧美日韩国产一区图片| 国产精品毛片一区二区| 亚洲一区第一页| jlzzjlzz亚洲乱熟在线播放| 日韩午夜小视频| 亚洲综合校园春色| 精品国产一区二区三区久| 国产真实露脸精彩对白| 一区二区三区无码视频免费福利| 日日噜噜噜夜夜爽爽狠狠视频| 亚洲春色在线观看| 狂野欧美激情性xxxx在线观看| 国产亚洲精品欧洲在线观看| 91精品欧美综合在线观看| 好男人好资源在线观看免费| 久久婷婷五月综合97色直播| 欧美乱大交xxxx| 低头看我是怎么c哭你的细节| 美女被男人扒开腿猛视频| 国产清纯白嫩初高生在线观看 | 欧美日韩亚洲国产综合 | 一本大道东京热无码一区| 日本a∨在线观看| 亚洲中文字幕久久无码| 欧美日韩高清在线观看| 午夜不卡av免费| 美女黄频免费网站| 国产成人精品久久亚洲高清不卡| 久久久久久久亚洲AV无码| 明星xxxxhdvideos| 亚洲欧美日本另类| 激情五月综合网| 又黄又爽的视频免费看| 色与欲影视天天看综合网| 国产欧美日韩在线观看一区二区| 99久久国产综合精品成人影院| 日本免费人成视频播放| 亚洲三级视频在线| 欧美五级在线观看视频播放| 亚洲黄色免费观看| 特黄大片又粗又大又暴|