精華區beta Programming 關於我們 聯絡資訊
※ 引述《drkkimo ()》之銘言: : 嗯 程式語言當然是一種工具 只是我覺得寫程式的人是在運用別人創造的工具 寫的 : 好也只是把這一樣工具用的很熟練 但是將來也許會有更好用的工具 它的使用概念跟 : 舊的工具差別很大 所以程式設計師擅用的舊工具可能就不是那麼有價值了 雖然新的程式語言一直不斷地被發明出來,但其實語言的本質和其paradigm可是數十年 來都沒什麼改變。諸如Object-Oriented Programming, Functional Programming, Logic Programming..等等,這些都是發展了三十年以上的老概念。 所以稍微有點經驗的programmer都會知道,只要學會一種語言,之後再學新語言其實 是非常快的。所以即使所謂的舊工具變得沒有價值,但並不會讓programmer也跟著沒價值 : -------------------------- : 拿比較實際的例子來說 不是有基因演算法嗎? 它可以用演化的方法找到一個問題的 : 解法 那想像一個狀況 雖然目前尚沒實行 但有沒有可能 將來可能會如此 : 就是製作程式的方法 是用演化的方式產生出需要的程式 而撰寫程式就變成在定義需求 這 : 時程式設計師的工作 就不是在定義程式運作的流程了 而是能明確的敘述出正確的需求 : 來 這時寫程式的問題就不是如何正確的撰寫流程和架構 而是如何撰寫正確的需求 : 這種製作程式的方式和現在的製作方向完全不同吧?? 的確是有人這麼作,但這種方法距離能實用的階段還太遠。 再說這種方法也是要寫程式,只是寫的是fitness function。 而且要用fitness function來描述一個複雜的系統可不是一件容易的事。 : --------------------- : 上面只是假想? 那再舉更實際的例子 之前修專家系統的課有用到CLIPS 不知道看文的人 : 有沒有用過 它是用來制作專家系統的工具 它的實作方式簡略來說 會定義出各種以知的 : 事實(fact) 然後運作時程式會用這些事實 依照特定的規則來發掘新的事實(像貓是動物、 : 動物會動->所以貓會動) 一直到已知的事實沒辨法再被運算出新的事實 或使用者強迫中 : 止程式為止 : 這個時候 開發專家系統的人也不再是在設計運算流程了 (運算流程就在CLIPS這套系統 : 裡 人家已經先寫好了) 而是在定義各種的事實和規則 也就是說是在定義資料 這時寫程 : 式的方式就變成是在定義資料 把正確的資料輸入好了 讓一套固定的流程來計算 這是Logic Programming, 最有名的語言是Prolog,大概三十年前就有了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.247.129
ledia:Logic Programming, 讓我想到 AI 吵不完的論戰 :p 140.112.30.55 07/05