Re: [閒聊] 好奇板上的朋友們都是讀甚麼科系阿?
※ 引述《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
02/05 12:07, 2F
→
02/05 12:26, , 3F
02/05 12:26, 3F
→
02/05 12:28, , 4F
02/05 12:28, 4F
推
02/05 12:32, , 5F
02/05 12:32, 5F
→
02/05 12:34, , 6F
02/05 12:34, 6F
→
02/05 13:53, , 7F
02/05 13:53, 7F
→
02/05 13:53, , 8F
02/05 13:53, 8F
→
02/05 13:53, , 9F
02/05 13:53, 9F
→
02/05 13:58, , 10F
02/05 13:58, 10F
→
02/05 13:59, , 11F
02/05 13:59, 11F
→
02/05 13:59, , 12F
02/05 13:59, 12F
→
02/05 13:59, , 13F
02/05 13:59, 13F
→
02/05 14:00, , 14F
02/05 14:00, 14F
→
02/05 14:01, , 15F
02/05 14:01, 15F
→
02/05 14:01, , 16F
02/05 14:01, 16F
→
02/05 14:02, , 17F
02/05 14:02, 17F
→
02/05 14:03, , 18F
02/05 14:03, 18F
→
02/05 14:03, , 19F
02/05 14:03, 19F
→
02/05 14:04, , 20F
02/05 14:04, 20F
→
02/05 14:05, , 21F
02/05 14:05, 21F
→
02/05 14:05, , 22F
02/05 14:05, 22F
→
02/05 14:06, , 23F
02/05 14:06, 23F
→
02/05 14:06, , 24F
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
02/05 16:33, 27F
推
02/05 16:35, , 28F
02/05 16:35, 28F
→
02/05 16:47, , 29F
02/05 16:47, 29F
推
02/05 16:57, , 30F
02/05 16:57, 30F
→
02/05 18:01, , 31F
02/05 18:01, 31F
→
02/05 18:02, , 32F
02/05 18:02, 32F
→
02/05 18:08, , 33F
02/05 18:08, 33F
→
02/05 18:08, , 34F
02/05 18:08, 34F
→
02/05 18:09, , 35F
02/05 18:09, 35F
→
02/05 18:12, , 36F
02/05 18:12, 36F
→
02/05 18:12, , 37F
02/05 18:12, 37F
→
02/05 18:14, , 38F
02/05 18:14, 38F
→
02/05 18:15, , 39F
02/05 18:15, 39F
還有 52 則推文
→
02/06 00:17, , 92F
02/06 00:17, 92F
→
02/06 00:17, , 93F
02/06 00:17, 93F
→
02/06 00:18, , 94F
02/06 00:18, 94F
→
02/06 00:19, , 95F
02/06 00:19, 95F
→
02/06 00:19, , 96F
02/06 00:19, 96F
→
02/06 00:20, , 97F
02/06 00:20, 97F
→
02/06 00:20, , 98F
02/06 00:20, 98F
→
02/06 00:21, , 99F
02/06 00:21, 99F
→
02/06 00:22, , 100F
02/06 00:22, 100F
→
02/06 00:22, , 101F
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
02/06 00:36, 107F
→
02/06 00:37, , 108F
02/06 00:37, 108F
→
02/06 00:41, , 109F
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
02/06 01:00, 115F
→
02/06 01:01, , 116F
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
02/06 01:02, 119F
→
02/06 01:03, , 120F
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
02/06 01:05, 124F
→
02/06 02:26, , 125F
02/06 02:26, 125F
推
02/06 19:03, , 126F
02/06 19:03, 126F
推
02/09 15:49, , 127F
02/09 15:49, 127F
推
02/15 23:44, , 128F
02/15 23:44, 128F
→
02/15 23:45, , 129F
02/15 23:45, 129F
→
02/15 23:48, , 130F
02/15 23:48, 130F
→
02/16 00:25, , 131F
02/16 00:25, 131F
討論串 (同標題文章)
Web_Design 近期熱門文章
PTT數位生活區 即時熱門文章