Re: [閒聊] 好奇板上的朋友們都是讀甚麼科系阿?

看板Web_Design作者 (皮皮快跑)時間14年前 (2011/02/05 11:22), 編輯推噓18(180113)
留言131則, 17人參與, 最新討論串2/8 (看更多)
※ 引述《sluggard (~Halcyon Days~)》之銘言: 引言恕刪 因為接下來要講的東西太多就不合適用推文。 本篇原篇推文有許多部份大家都弄錯了我得解釋一次。 1.「PHP」是什麼? ANS:程式設計。 雖然很多人都把他和「網頁程式設計」這樣的文字劃上等號。 OK!如果你把他純視為用在網頁設計這方面是無可厚非。 可是問題來了。PHP4導入了物件導向、PHP5強化了物件導向。 而程式設計物件導向範式在PHP4已經可以部份運用,在PHP5幾乎可以大量運用。 在這種情形下要說PHP5還是「網頁程式設計」是有點說不過去了。 簡單來說,現今許多較資深的程式設計師已經不會用「網頁程式設計」來定義 PHP了。因為他已經是一個標準的「程式語言」而非「腳本語言」。 2.網頁設計師懂一點PHP是不是比較容易溝通? ANS:沒必要。 這話說出來恐怕一堆人會說如果網頁設計師看不懂PHP,那配版不小心動到程式 怎麼辦?我得說:這是程式設計師的事。不關網頁設計師的事。 其實在我的工作標準流程中,網頁設計師就是規劃版面、HTML、JS、CSS、美工 ,但是他只是負責版面、版形、架構,有了這些,接下來就是程式設計師的任務 。如何在網頁設計師過來的版面中開始插入需要顯示的元素。 最重要的,程式設計師不會把「控制流程」以及「資料存取」寫在頁面之中。 當然也有反過來的作業標準,就是程式設計師編寫屬於架構式的網站製作。 通常程式設計師會留下數個標準的「VIEW」供網頁設計師修改。 重點中的重點就是~~~~~~~~~~~VIEW中只會帶有幾個用於顯示的PHP CODE。 那並不怎麼造成網頁設計師的困擾。就算網頁設計師改壞了。對程式設計師也完 全不會造成困擾。基於這一點,網頁設計師和程式設計師就可以完全分工。 3.網頁設計師和程式設計師到底怎麼分? ANS:那就是看你的CODE是寫CLIENT端執行還是SERVER端執行。 有人說javascript也是程式在跑啊。 可惜的是,javascript是腳本語言,就像flash的action script一樣。 他只是用來控制「畫面」的動作。(有人會說可是ajax就可以傳資料啦!ok! ajax傳的資料還是得被server端的程式接收才行吧!) html、css、java script其實他們的解譯軟體都是客體端的瀏覽器而非server。 其實這也就是為什麼網頁設計師會恨之入骨的原因 ~ 大家的標準都不一樣。 尤其是ie和其他家的支援w3c標準的瀏覽器更是格格不入。 網頁設計師最辛苦的所在,就是得讓一個網頁同時支援數個標準。 以便應付不同瀏覽器的使用客群。 但不管做得再好再漂亮再怎麼吸引人。 充其量都只能算是前端「靜態」網頁。 有人不服氣的說:java script讓網頁「動」起來,怎麼會是靜態網頁。 其實這部份是有二種解釋,一種是畫面會「動」的叫動態。 如果你喜歡這樣的解釋我也沒意見就是了。 不過我喜歡的卻是另一種詮釋:互動。 一個動態網頁他所具備的就是和使用者的互動性以及真實的資料存取交換。 例如:留言板、討論區、購物車……這些。 當然啦!如果你用java script寫了一個game出來的話,他倒是也符合動態的定義就是了 。重點在於,用戶端有沒有具備某些動態操控網頁的權利(超連結不算) 基本上大家應該就分得出來: 寫html、js、css的是屬於網頁設計師。 寫php、asp、jsp的是屬於程式設計師。 喜歡你也可以兩個都做。雖然通常做網頁的程式設計師也會具備網頁設計師的能力就 是了。不過通常程式設計師沒什麼設計感和美感。這種事還是交給專業的來。 4.html為什麼不是程式語言? 這可以從幾個地方去看他的定義了。 (1)html沒有變數、常數。 (2)html無法做算術、邏輯、比較運算 (3)html沒有陣列、條件、迴圈。 (4)那函式和物件當然就甭提了!一定沒有。 html是超文字標記語言。簡單來說就是一堆排版標籤的集合體。 就像你打word一樣,只是把文字標籤放在對應的位置上。 然後瀏覽器去翻譯這些標籤所代表的意義。 因為並不具備程式流程,而且事實上也不會出錯。 他沒有定義特殊的規範和標準。 也因此、html只是個標記語言、而非程式語言。 講「我在寫html程式」這句話就不對了。 常常也有人說「我給你html程式碼」,正確的要講「我給你html原始碼」。 5.那css呢? css是用來定義特殊的樣式而存在的。主要是彌補html先天上的不足。 雖然最新的css有web-kit(html5)可以用於特殊的動態頁面開發。 不過css也是一個不同瀏覽器就會有不同結果的東西。 當然最主要還是ie老是堅持自家的東西而不願意完全遵從w3c的標準。 當然css既然是輔助html的功能他自然不會是程式語言。 (老實說,在html5出來後,我也有點搞不懂css真的只是純輔助html了嗎?) 6.那java script有變數、可以運算、有條件、陣列、迴圈、函式總該是個程式語言 了吧。 是的!java script的確具備了程式語言的特性,事實上他也是會有error的產生。 (雖然debug上來說是有些小麻煩)不過因為他的特性最主要就是用來做頁面的動態畫 面或較簡易的一些互動式元件功能,所以一般將之稱為「腳本控制語言」。 但是前面也講過,他所運作的區間仍然是瀏覽器做解譯行為而非伺服器在做。 也就因為是如此,才會有各家瀏覽器對java script的支援相容性的不同。 而網頁設計師要學java script,也是為了用於控制網頁上的標籤元件的動作。 因此來說,會java script的網頁設計師充其量還只是網頁設計師。 並不能稱之為「網頁程式設計師」或是「程式設計師」。 以上是給一些想弄清楚自己究竟該朝什麼方向發展的人,先弄清楚一先網頁和程式的 相關基本知識,好知道自己要走的究竟是怎麼樣的路。 PHP發展已然十數年期間。至今還被歸類成「網頁程式設計」只能說因為書籍都不更新。 舊式的技術因為PHP當時的開發還無法脫離網頁的常規。 很多人仍然習慣於將PHP寫在HTML之中。 然而從PHP4開始支援了物件、眾多的FRAMEWORK開始架構出PHP的MVC結構。 於是程式設計師們就已經意識到程式和網頁還是必須分家的。 而原本在HTML中插入PHP的做法也就轉變成在PHP「呼叫」HTML進來處理及顯示。 而到了PHP5,連物件導向的「介面」都被導入了。 讓PHP具備標準物件導向程式語言的「抽象」概念。 這些都讓PHP已經「獨立成長」成一個完整的程式語言,而不再只是活在HTML底下的 標籤內(<?php和?>)的程式。 so?你想好自己要當網頁設計師還是程式設計師了嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.130.157 ※ 編輯: tkdmaf 來自: 59.104.130.157 (02/05 11:25)

02/05 11:49, , 1F
推這篇,好詳細阿
02/05 11:49, 1F

02/05 12:07, , 2F
推 不過html也是有w3c規範和標準
02/05 12:07, 2F

02/05 12:26, , 3F
5. css還只是單純外觀用的語法吧 現在有什麼新秘技了嗎?
02/05 12:26, 3F

02/05 12:28, , 4F
只要是可以直譯的都通稱script language吧?
02/05 12:28, 4F

02/05 12:32, , 5F
我覺得JS算是程式設計居多。只是某些靠工具軟體 可簡易
02/05 12:32, 5F

02/05 12:34, , 6F
達到目的話 當然網頁設計師也能勝任
02/05 12:34, 6F

02/05 13:53, , 7F
早期的basic也是直譯式的,也沒人說他是腳本語言。
02/05 13:53, 7F

02/05 13:53, , 8F
雖然後來有出可編譯的QUICK BASIC
02/05 13:53, 8F

02/05 13:53, , 9F
講腳本,總讓人有一種他只是控制或是輔助的意味。
02/05 13:53, 9F

02/05 13:58, , 10F
其實不用現在常用的Framework,<?php ?>包在網頁中一樣
02/05 13:58, 10F

02/05 13:59, , 11F
也可以達到資料分離啦,以前石頭閒語這個部落格就有寫過
02/05 13:59, 11F

02/05 13:59, , 12F
PHP不需要另外一種版型系統的文章
02/05 13:59, 12F

02/05 13:59, , 13F
我覺得能有MVC觀念最重要XD
02/05 13:59, 13F

02/05 14:00, , 14F
現行諸多的文件仍把php視為腳本語言。可是php的發展方向
02/05 14:00, 14F

02/05 14:01, , 15F
讓PHP幾乎可以說是獨立出來的語言了。
02/05 14:01, 15F

02/05 14:01, , 16F
當然這一點,就是看工程師怎麼去看待這件事。
02/05 14:01, 16F

02/05 14:02, , 17F
Kelunyang大大。您講的是針對smarty的部份吧。
02/05 14:02, 17F

02/05 14:03, , 18F
基本上我是用codeigniter的。所以石頭閒語的文件我非常認同
02/05 14:03, 18F

02/05 14:03, , 19F
PHP的確不需要其他的樣板引擎,因為他本身就是了。
02/05 14:03, 19F

02/05 14:04, , 20F
不過這部份是討論VIEW的部份吧。
02/05 14:04, 20F

02/05 14:05, , 21F
對,可是我也不喜歡現在用framework輸出View的寫法Orz
02/05 14:05, 21F

02/05 14:05, , 22F
目前合作過的美工,坦白說還是給他們DW可以解讀的HTML
02/05 14:05, 22F

02/05 14:06, , 23F
對整個專案進度(和我自己)最友善Orz
02/05 14:06, 23F

02/05 14:06, , 24F
我倒是超喜歡的XDD!
02/05 14:06, 24F

02/05 15:09, , 25F
推這篇! 跟大家分享了許多觀念哩!
02/05 15:09, 25F

02/05 15:36, , 26F
腳本語言是啥?
02/05 15:36, 26F

02/05 16:33, , 27F
大推XDa
02/05 16:33, 27F

02/05 16:35, , 28F
02/05 16:35, 28F

02/05 16:47, , 29F
腳本:Script XD
02/05 16:47, 29F

02/05 16:57, , 30F
php是script language有甚麼不對嗎? asp還不是一樣
02/05 16:57, 30F

02/05 18:01, , 31F
PHP的發展,使得他不再像個單純的腳本語言。
02/05 18:01, 31F

02/05 18:02, , 32F
雖然說……他還是沒辦法控制記憶體定址就是了。
02/05 18:02, 32F

02/05 18:08, , 33F
尤其了解MVC和FRAMEWORK後就知道PHP是可以獨立運作在HTML之
02/05 18:08, 33F

02/05 18:08, , 34F
外。這並不像js必須寫在html內....即使你是用載入js也一樣
02/05 18:08, 34F

02/05 18:09, , 35F
若要稱其為控制腳本,那頂多就只剩下VIEW中的行為而已。
02/05 18:09, 35F

02/05 18:12, , 36F
假如真的要用最廣義來定義腳本語言的話。那麼.........
02/05 18:12, 36F

02/05 18:12, , 37F
除了組合語言、C、C++之外,幾乎全部都是了。
02/05 18:12, 37F

02/05 18:14, , 38F
php不就是個實做cgi的程式語言罷了
02/05 18:14, 38F

02/05 18:15, , 39F
script language不就是定義成在runtime才進行編譯的語言嗎?
02/05 18:15, 39F
還有 52 則推文
02/06 00:17, , 92F
在就PHP依據程式設計的論理上來說。
02/06 00:17, 92F

02/06 00:17, , 93F
恐怕也不是有很多人像我們一樣,拿C++的設計範式套在PHP上
02/06 00:17, 93F

02/06 00:18, , 94F
還獲得非常良好的成效。既然PHP也遵從了程式設計的設計方法
02/06 00:18, 94F

02/06 00:19, , 95F
那看待PHP這件事,就不應該只是個script那麼簡單。
02/06 00:19, 95F

02/06 00:19, , 96F
不得不說,走火入魔真的是非常可怕的一件事…
02/06 00:19, 96F

02/06 00:20, , 97F
或許各位並不知道我們改進PHP程式設計和效率的做法上。
02/06 00:20, 97F

02/06 00:20, , 98F
卻是參考了非常多其他語言的設計方法。
02/06 00:20, 98F

02/06 00:21, , 99F
gpmm!不得不說:書看得太少真的是非常可怕的一件事…
02/06 00:21, 99F

02/06 00:22, , 100F
我程式設計師出身的老闆說:要懂程式設計,少說先看個200本
02/06 00:22, 100F

02/06 00:22, , 101F
算算我學PHP和網頁技術到現在加起來大概還不到30本。
02/06 00:22, 101F

02/06 00:24, , 102F
反正我也很習慣於說明這些東西時,被視為「異端」的情形了
02/06 00:24, 102F

02/06 00:27, , 103F
或許那一天,大家應該用程式碼來交流比較知道在講什麼。
02/06 00:27, 103F

02/06 00:28, , 104F
道理人人都會說,可工程師果然還是得靠程式碼來說話。
02/06 00:28, 104F

02/06 00:35, , 105F
不,我是在說您,您已經深陷在某種教義底下了,凡事都依賴
02/06 00:35, 105F

02/06 00:35, , 106F
您所認知以為的經驗或條文去詮釋,殊不知很多東西是有很多
02/06 00:35, 106F

02/06 00:36, , 107F
不同觀點不同面向的。 whatever,只是有感而發罷了,莫怪。
02/06 00:36, 107F

02/06 00:37, , 108F
gpmm 你最近都沒看到人 在忙啥 XD
02/06 00:37, 108F

02/06 00:41, , 109F
小弟只是越來越不常抬槓而已,不像 T 大您一直貢獻優文…囧
02/06 00:41, 109F

02/06 00:44, , 110F
我最近變成憤世嫉俗小生,我一直想分享我看見的世界跟市場,
02/06 00:44, 110F

02/06 00:45, , 111F
但我後來發現真的賺錢的都自己賺很大,知道門路的就自己賺了
02/06 00:45, 111F

02/06 00:45, , 112F
誰跟你出來說這些,然後在這裡的人又覺得好像這領域很難賺
02/06 00:45, 112F

02/06 00:46, , 113F
想想就覺得真的是很可笑...
02/06 00:46, 113F

02/06 01:00, , 114F
在程式領域賺錢的確是少數,每個子領域有不同賺錢方法,
02/06 01:00, 114F

02/06 01:00, , 115F
得要去做去看去想才會知道,以tkdmaf,用模組化方式再開發
02/06 01:00, 115F

02/06 01:01, , 116F
php 這個概念當初我寫php時就有試過,現在也有一些framework
02/06 01:01, 116F

02/06 01:01, , 117F
是這樣玩;這些都是好的方向,進去做,找到一個省力的空間
02/06 01:01, 117F

02/06 01:02, , 118F
那就會賺錢。不過世界很大,也還有很多其他的可以玩。
02/06 01:02, 118F

02/06 01:02, , 119F
像 JSP 本身也可以是script language,他的架構化因為是
02/06 01:02, 119F

02/06 01:03, , 120F
java based,絕對比PHP 歷史悠久也更有系統,但那不代表它
02/06 01:03, 120F

02/06 01:03, , 121F
就一定會運作的比較好,都是需要去磨去鑽的。
02/06 01:03, 121F

02/06 01:03, , 122F
書是前人的經驗,所以多看書是好事,但有些難得的經驗是
02/06 01:03, 122F

02/06 01:03, , 123F
值得你親自去體驗,自己寫自己的書的。
02/06 01:03, 123F

02/06 01:05, , 124F
何必執著於名詞定義,重點是作了什麼東西,有什麼好處。XD
02/06 01:05, 124F

02/06 02:26, , 125F
重點^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
02/06 02:26, 125F

02/06 19:03, , 126F
推MVC 架構重要
02/06 19:03, 126F

02/09 15:49, , 127F
好文必推!!辛苦你了!
02/09 15:49, 127F

02/15 23:44, , 128F
我開發系統,20% asp/jsp/php 80% javascript
02/15 23:44, 128F

02/15 23:45, , 129F
只有login,main兩頁 asp/jsp/php只負責讀資料庫產生xml
02/15 23:45, 129F

02/15 23:48, , 130F
原PO推薦的書我都有念過 給您參考摟 架構是自己定 不是死的
02/15 23:48, 130F

02/16 00:25, , 131F
光這兩頁我就可以把所有的事情做完!
02/16 00:25, 131F
文章代碼(AID): #1DJC9jUu (Web_Design)
討論串 (同標題文章)
文章代碼(AID): #1DJC9jUu (Web_Design)