陽光與小草
13 years ago
JSP 與PHP 都可以用來設計動態網頁, 差別在那裡? 請問業界較常用那一種?
latest #285
陽光與小草
13 years ago
我今年暑假想學. 給點建議吧! 謝謝.
Alex_Hou
13 years ago
JSP 用在商用網站,PHP用在免費的社群網站比較多
水鏡神威
13 years ago
也是有很多廠商用PHP...主要是發展大系統用JSP好像較多
立即下載
jordenno
13 years ago
我們公司有使用JSP跟ASP.NET
PHANTOM
13 years ago
我用JSP
水鏡神威
13 years ago
我是用Python...我們接過某家大廠的金流是ASP...
陽光與小草
13 years ago
我想用這兩者其一, 設計金融資訊網站, 例如: 退休金規劃, 貸款試算, 教育基金規劃, 巴非特價值型選股系統, 企業評價(算上市公司合理股價)...
帥啊!老痞!
13 years ago
PingChenLin: 我覺得不如您提出你主要的要製作哪些類型的功能與運用,再來討論要用哪個吧
帥啊!老痞!
13 years ago
PingChenLin: XD 沒想到差沒幾秒你先提出了
陽光與小草
13 years ago
Pizpizpi: 哈哈哈. 我Enter鍵按得比你快一點.
maxclapton
13 years ago
個人認為 PHP 相對於 JSP 來說寫法是比較不嚴謹,但是對於企業而言開發成本較低。
陽光與小草
13 years ago
maxclapton: 所以呢, 你的建議? 我有可能整理成講義或出書. 所以要選一個有潛力的.
帥啊!老痞!
13 years ago
maxclapton: 哎呀~我正想推你出來呢
陽光與小草
13 years ago
JSP使用要付費, PHP是open source免費是嗎?
jordenno
13 years ago
PingChenLin: JSP要付費?
maxclapton
13 years ago
PingChenLin: 一般小型開發的案子通常用open source就夠用了!使用JSP與PHP應該都不用付費吧,JSP要付費的可能是購買什麼樣的Server軟體
陽光與小草
13 years ago
所以教學使用, JSP也不用買版權是嗎?
陽光與小草
13 years ago
了解, JSP搭配的Server有可能要付費.
柯靖宸
13 years ago
使用什麼語言都不是很重要,JSP server(JBoss, Glassfish, Tomcat)一般需要的資源較多,PHP較簡單而輕巧,JSP可能會因Server的不同而導致內建solution跟著不同,PHP就較為一致,業界國內應該兩者都差不多
maxclapton
13 years ago
魚缸(whatup)
13 years ago
還有另一個考量在維護性,php的維護期比較短,php 4/php 5.1 之前都要被放棄了,可是 java 的都還在維護。
陽光與小草
13 years ago
whatup1981: 不是很懂你的意思? 意思是若用php4, 現在就不能用了, 不太懂, 缺點能再描述一下嗎?
陽光與小草
13 years ago
再請問一下, 沒有學過Java, 直接學JSP能學到精髓嗎? 還有JSP比較不好學? 不好學的話, 非資訊系(金融系)的學生接受度可能會有影響.
帥啊!老痞!
13 years ago
PingChenLin: 你實在太貼心了,還考慮學生的接受度XDD 逼學生學啊~~
水鏡神威
13 years ago
PingChenLin: 也不是說不能用, 就是不會在有維護與更新.
水鏡神威
13 years ago
PingChenLin: 而且版本差異會使某些函式/語法不生效
柯靖宸
13 years ago
whatup1981: java是比較容易被維護,但如果昇級,所有昇級的問題仍會一一浮現,除非你完全不考慮昇級
陽光與小草
13 years ago
沒有學過Java, 直接學JSP能學到精髓嗎? 還有php比較好學嗎? 還沒有人回答.
水鏡神威
13 years ago
PingChenLin: PHP相對JSP好學...
水鏡神威
13 years ago
PingChenLin: 不會JAVA也可以學JSP...但是就跟會一點VB再學ASP會比較容易我覺得是一樣道理
IT4FUN!Mr.King
13 years ago
我記得系上大一、二所教的動態網頁設計是使用JSP寫的吧!!如果是這樣的話用JSP學生就沒有理由說不會了,PHP雖然簡單,但他的套件、結構都相對鬆散,比較沒有制式的架構跟工具,整理上也會比較麻煩
IT4FUN!Mr.King
13 years ago
而且JSP & .NET都有官方的IDE可以使用,在學習上輔助也比較多,PHP的野雞版IDE也很多,但都做得不是很完美!!
帥啊!老痞!
13 years ago
我覺得問題的重點是不是放在要出書的內容跟系統的內容是什麼?如果需要大量的演算跟耗時,動態網頁語言都不會是好選擇,反而是演算核心的效能才是考量。然後演算核心的產出資料檔案(也許存資料庫、XML等)這些無論是JSP跟PHP都可以輕易讀取然後展現吧?
帥啊!老痞!
13 years ago
然後在考量的怎麼把資料作展現的問題時,如果需要比較Powerful的畫面展現,能需要借助javascript或flash之類的圖表,我覺得相對來說php與JSP好像不是那麼重要就是。可能學點JQuery的東西還比較能做多變化的網頁展示。
無間虫
13 years ago
我覺得重點還是有沒有需要使用 JSP 背後那套龐大的架構, 如果今天要寫一個高度系統化, 規模龐大的系統, 就會採用 JSP, 否則就是殺雞焉用牛刀, java based 的系統效率都不怎麼好, 除非你真的需要套解決一些整合性方案
無間虫
13 years ago
PHP 的語法雖較不嚴謹但較易成, 也是較多小型專案選用的語言之一, 程式語言, 要比第一個就要先比誰能解決的問題, 第二個才是比誰比較能夠快速開發與學習
無間虫
13 years ago
以老師的需求, 我覺得若 PHP 能夠快速解決問題, 就沒有需要使用到 JSP
無間虫
13 years ago
kingwang317: 現在 netbean 有支援php而且已經可以做的跟像寫java 一樣的共用函數/物件查詢,只是缺點還是一樣, 很慢
IT4FUN!Mr.King
13 years ago
cwlin0416: 我之前也用過netbeans開發過php但真的不好用,後來還是放棄
無間虫
13 years ago
kingwang317: 我是從 6.9 版才開始用, 主要是他還能夠支援 phpdoc 格式的註解, 在製作系統文件上比較不需要花費太多時間, html 格式的檢查, javascript, smarty 的, 還有一些基本的 php 語法偵錯像是未使用的變數
無間虫
13 years ago
Ken216083: 簡單的東西我還是會用notepad++ 啊, 只是有些時候東西量一大, 就必須一些功能來輔助, 才會比較快速
IT4FUN!Mr.King
13 years ago
cwlin0416: 但我最近用比較多的還是ZEND的架構,這部分的支援還是有限
柯靖宸
13 years ago
Ken216083: IDE的目的是方便大型系統開發,否則用什麼都一樣。
無間虫
13 years ago
kingwang317: zend, 我就不是很了解了 (unsure)
柯靖宸
13 years ago
kingwang317: 用現有平台架構,就已經不能再使用IDE了,除非有某IDE特別聲明支援
柯靖宸
13 years ago
Pizpizpi: JSP PHP都是Server端的Script語言,Javascript, flash等都是Client端的Script語言,應該是可以相輔相成的
IT4FUN!Mr.King
13 years ago
cobolko: XD 因為ZEND號稱是官方framework,
柯靖宸
13 years ago
kingwang317: 第一次聽到所謂官方framework,你應該了解何謂Open source吧!何謂官方呢?
帥啊!老痞!
13 years ago
cobolko: 他們當然是相輔相成,我意思是如果分析出來的資料如果要作圖形的展現,或是要讓網頁的資料表格做更多樣豐富的變化,才需借助flash與JQuery
IT4FUN!Mr.King
13 years ago
cobolko: 所以說是號稱,不過ZEND拿來充實PHP不足的函式庫真的是不錯的選擇,蠻多知名的framework都是建置在ZEND上
柯靖宸
13 years ago
Pizpizpi: 認同!除了flash, JQuery以外,目前有很多如雨後春筍般冒出來,預計應該會有一波春秋戰國時代,未來的html5出來後,可能會再洗一次盤
帥啊!老痞!
13 years ago
cobolko: 恩,不過我覺得整個噗的討論好像有點離題太遠了,哈哈。這樣的話一個暑假學不完呢XD。還是需要釐清需求比較好
IT4FUN!Mr.King
13 years ago
學弟看到這噗會開始做草人XD
柯靖宸
13 years ago
Pizpizpi: 其實主要是想聽聽業界對這兩者之間的意見,以提供我們教學上的參考,語言的東西基本上不會差太多,選擇其中一樣,用的夠深入,其它都差不了太多啦
柯靖宸
13 years ago
kingwang317: 放心啦!現在學生能將一樣學好,不要學一半,就很不錯了
IT4FUN!Mr.King
13 years ago
cobolko: 只學一半的人,以後就變成只懂一點技術的可怕客戶
帥啊!老痞!
13 years ago
cobolko: 如果是這樣的方向的話,德卻跟我以書與系統要做什麼相差必較遠,反而是我離題啦 囧
魚缸(whatup)
13 years ago
真男人都要用c++ 和 vim 寫東西!! XD
IT4FUN!Mr.King
13 years ago
whatup1981: 但是我用vim都不是在寫C++,
IT4FUN!Mr.King
13 years ago
whatup1981: 我弱掉了!! 我覺得用vi寫C的才是真男人!!
柯靖宸
13 years ago
kingwang317: whatup1981: 兩位好久不見的真男人,加油!
maxclapton
13 years ago
只會寫BCB整個LOW掉了!!XD
IT4FUN!Mr.King
13 years ago
by the way 用 chrome寫python的才是正港的男子漢XD
帥啊!老痞!
13 years ago
我有在Unix上用vi寫C過.... (muscle)
IT4FUN!Mr.King
13 years ago
Pizpizpi: 真男人!! (gym)
帥啊!老痞!
13 years ago
也導致現在寫WEB的JS時,用vim XD
柯靖宸
13 years ago
這篇噗的結語就是各位都是真男人 (applause)
IT4FUN!Mr.King
13 years ago
cobolko: 那師母想要的結論就是,找一個真男人上台幫忙教動態網頁技術,那位就是老師了XD
魚缸(whatup)
13 years ago
kingwang317: 中肯!!
魚缸(whatup)
13 years ago
不過拍賣的code 一半是用c++ 寫的。XD
魚缸(whatup)
13 years ago
PingChenLin: 我覺得程式這種東西是興趣導向,必需要讓他們興趣開始寫,以後才會開始研究。
魚缸(whatup)
13 years ago
否則太難只會讓他們一開始就放棄之後就永遠不碰他
陽光與小草
13 years ago
whatup1981: 是呀, 所以我有問那一種好學, 就是在考量這一點. 我的目標是讓學生學寫網頁程式, 產生興趣. 這扇窗以後就海闊天空了.
陽光與小草
13 years ago
kingwang317: 什麼是IDE?
childtom
13 years ago
Integrated Development Environment的英文縮寫,可輔助開發程式的應用軟體。
陽光與小草
13 years ago
所以Netbean是IDE對嗎?
childtom
13 years ago
NetBeans,Eclipse,Visual Studio都是
陽光與小草
13 years ago
感謝各位大大,學有專精佩服!佩服! (worship).經過各位的分享,我們學到很多,對PHP, JSP也比較了解.我想綜合各位的意見以及畢人的需求,我想就選PHP來寫Server端的程式.感謝各位真男人真言.受用. :-D
IT4FUN!Mr.King
13 years ago
PingChenLin: 這整篇大概有一半都沒回答到師母的問題,師母還可以整理出結論!!佩服佩服!!
水鏡神威
13 years ago
whatup1981: 推真男人都用VIM
水鏡神威
13 years ago
:-))其實用什麼語言寫我覺得是其次, 重點是有沒有辦法完成需要的功能, 像當初我就跟主管說寫PHP太無聊, 我們來弄個不一樣的, 結果我們後來就用Python Django完成整個Web-site... (LOL)
水鏡神威
13 years ago
我們大概是台灣相關產業唯一一家用Django的XD
陽光與小草
13 years ago
依據上述討論我總結一下: 1. php, jsp, asp.net都有各自的市場佔有率,或許php少一點不過也有不少業界在使用。 2. jsp適合開發大型專案她提供的解決方案較完整,php適合開發小型專案她的解決方案較鬆散。
陽光與小草
13 years ago
3. 若要開發一個高度系統化的大型專案, 建議採用 JSP, 否則就是殺雞焉用牛, java based 的系統其執行效率都不怎麼好, 除非使用者真的需要特定的整合型解決方案。 4. 相對於jsp,php的語法比較不嚴謹,不過開發成本較低。
陽光與小草
13 years ago
5. jsp配搭的server是要付費,php本身與其搭配的server是open source是免費的。 6. jsp維護與更新期較長,php 維護期較短,這應該是open source 的常態。 7. 沒有物件導向的概念來學jsp不容易學精髓;反之,php較容易上手。
陽光與小草
13 years ago
8. php雖然簡單,但相對於jsp的套件、結構都相對鬆散。 9. 教程式設計是要興趣導向,必需要想辦法激發學的人有興趣肯學,學到基礎後有興趣了,之後自己會再繼續研究再發揚光大。
陽光與小草
13 years ago
10. 綜合上述結論以及: (1)教學單位有預算的考量;(2)我想開發的資訊系統都是小型的;(3)容易教學等因素,我最後選php當做server端的程式開發平台。
陽光與小草
13 years ago
至於,動態網頁展現的美觀, 有效率等,如何Powerful的畫面展現(如圖形呈現統計圖等),我想另外開一個噗,專題討論。
陽光與小草
13 years ago
謝謝各位.
陽光與小草
13 years ago
結論有下錯的請指正哦.
柯靖宸
13 years ago
PingChenLin: 我不太認同php是較鬆散的,就有什麼不好,基本上整個web,就是lossely-coupled的架構,目前server端部份,用ASP.NET雖然人最多,但綁死在MS平台,除了成本高以外,MS有許多不良紀錄,programmer很容易被莫名放棄
柯靖宸
13 years ago
再加上MS的前後台綁的太死,雖然開發小專案很方便,但只要專案稍大,很容易碰到瓶頸
柯靖宸
13 years ago
JSP部份,強調Java-based,但試想Server還架在Java virtual machine上,效能肯定不太好,雖然標榜方便性整合,也有J2EE標準,但各家平台都有許多別出心裁的創舉,也間接造成其相容度的問題
柯靖宸
13 years ago
PHP是比較精簡,一般都認為只適用於小專案開發,但我覺得是被一些剛畢業學生的初學者給打壞印象了,由於它是open source,所有技術規格都開放,所以即使大系統也都能從基本去作特別的最佳化,所以像Facebook, Yahoo等大公司都會用C++去作其個別的最佳化
柯靖宸
13 years ago
目前也有許多平台,像Zend以PHP為基礎,作其最佳化的平台,所以PHP因為鬆散而不方便大專案開發的部份,應該是還OK的
柯靖宸
13 years ago
以上是個人的一些淺見
陽光與小草
13 years ago
有沒有人對php等相關的open source技術的優缺點做補充的.
jordenno
13 years ago
<<搶到第一百個回應>> 恭喜師母破個人紀錄了
帥啊!老痞!
13 years ago
陽光與小草
13 years ago
「MS有許多不良紀錄,programmer很容易被莫名放棄」這是什麼意思? 不太懂!
柯靖宸
13 years ago
PingChenLin: VB6死了,Bill Gates曾說Basic不會消失,.NET剛出來時的第一版與其它不相容,98換到2000時,造成一堆孤兒軟體,最近的Office 2003升級到2007, 2010造成許多東西必需重打,還有很多,族繁不及備載
陽光與小草
13 years ago
了解.還有Zend是什麼?
柯靖宸
13 years ago
kingwang317: 踹共
陽光與小草
13 years ago
踹共是出來講的意思嗎? 我猜的
childtom
13 years ago
cobolko: 老師也會說踹共 (rofl)
childtom
13 years ago
PingChenLin: 嗯 沒錯
無間虫
13 years ago
看這表應該就能明白一點了 www.phpframeworks.com/
無間虫
13 years ago
zend 是 framework 的一種, framework 主要目地是在提供 PHP 本身所不直接支援的一些套件或者架構, 讓使用者能夠快速開發
無間虫
13 years ago
每個 framework 的特性不同, 架構不同, 所能應用的規模也不同, 要視專案的類型選用, 不過通常程式設計師習慣了一種就會一直使用他
無間虫
13 years ago
若 PHP 視為底層, 最終的程式為上層, framework 就介於底層與上層之間, 用來加速開發的一個東西
陽光與小草
13 years ago
cwlin0416: 你的意思是php是server端的程式是底層;java script, flash等是上層; framework是介於中間提供php不支持的特定套件.是這樣嗎?
陽光與小草
13 years ago
cwlin0416: 第1次看這表, 一點都不懂. 經過你解說何謂framework之後就比較了解. 我上面的理解有錯嗎?
魚缸(whatup)
13 years ago
以 build 一台車子為例,php就是材料如:鋼鐵、石油…,framework 就是作好的零件,如輪胎,是用材料組出來的。
魚缸(whatup)
13 years ago
最後把這些零件組一組就是成品。
IT4FUN!Mr.King
13 years ago
fshiori: 推Django除了相關文件跟使用的人比較少之外,速度、結構都很漂亮!!(重點是程式碼很乾淨XD)
無間虫
13 years ago
PingChenLin: 師母說的那個是客戶端跟伺服器端, framework 是以程式語言的去分的, 像 zend 就是單純 PHP 的 framework
無間虫
13 years ago
javascript 也有framework 像 dojo/yui/gwt 等等
無間虫
13 years ago
還有 javascript 跟 java 沒關係..所以僅量不要寫成 java script..
水鏡神威
13 years ago
kingwang317: 真的...我有改過他的Source for our Project, 說真的, Code很simple又很clear
IT4FUN!Mr.King
13 years ago
PingChenLin: 其實ZEND拿來當作framework反而沒有codeigniter跟cakePHP好用,通常我都是拿ZEND當作外掛函式庫使用,使用這類的函式庫的好處是它會隨著時代演進而更新,像最近串接social network很熱門,但相關的網站又很多的時候
IT4FUN!Mr.King
13 years ago
通常這類的framework就會幫你做相關的整理,當然也不用自己再去讀相關的API了
IT4FUN!Mr.King
13 years ago
fshiori: 我之前寫一個抓噗浪的爬蟲,大概50行左右,包含延伸、抓title與內容
水鏡神威
13 years ago
kingwang317: 我現在工作都用Python了:-)
IT4FUN!Mr.King
13 years ago
fshiori: 我只是這學期要交雲端計算的作業玩玩而已,不過3.0跟2.0還差真多
水鏡神威
13 years ago
kingwang317: 我沒用過3.0, 我從Python2.4一路用到2.6.7, 2.7對很多lib支持沒有很好就還沒有用過
IT4FUN!Mr.King
13 years ago
fshiori: 只是他2、3版不相容,這問題還蠻大的
水鏡神威
13 years ago
kingwang317: 3版用的人不多, 還有一段路要走
陽光與小草
13 years ago
cwlin0416: javascript 與java沒有關係. 沒有接觸還真的不知道有差別. 哈.
陽光與小草
13 years ago
fshiori: Python比php更少人用嗎?
陽光與小草
13 years ago
有沒有知道去那裡找: php, jsp, asp.net, Python等伺服器網頁程式語言的市場佔有率調查?
陽光與小草
13 years ago
有這 些數據會比較清楚.
魚缸(whatup)
13 years ago
www.tiobe.com/index.php/... 可以參考看看,是大雜匯排名
柯靖宸
13 years ago
php是一種語言,就像中英文一樣,只是單純語言沒什麼用,會附一些簡單的library,但隨著系統的複雜性,每次都靠語言去描述所需功能時,就變得很慢,所以framework應運而生,將一些常見功能整合起來,方便開發更有效能的程式。
柯靖宸
13 years ago
此外,framework也提供整體架構的框架,方便後績開發者能在上面進一步提供AP所需的功能,也方便後續開發者的維護工作
柯靖宸
13 years ago
由於web-based framework通常包含server與client端,server端又會分成DB for data, HTML for presentation, PHP/JSP/ASP.NET for control code, 所以MVC架構就應運而生
柯靖宸
13 years ago
很多目前的framework也都慢慢支援MVC架構,而M, V, C之間的連結,可能需要額外的solution, 如smarty可以解決V與C之間的問題。當然,在V方面,除了傳統HTML以外,目前也有許多以AJAX or Javascript為基礎
柯靖宸
13 years ago
去作的client端framework
水鏡神威
13 years ago
PingChenLin: 以台灣來說, Python和Ruby是少數...
柯靖宸
13 years ago
這些也可以被整合進來,或是像Zend這種framework自己作類似Dojo, JQuery之類的Client端元件
柯靖宸
13 years ago
以上是我對web-based framework所作的簡單介紹,希望大家指教
水鏡神威
13 years ago
cobolko: 現在其實框架都會將MVC包進去了, 包括ASP.NET好像也有一個MVC的Plug-in....
水鏡神威
13 years ago
此外, Google App Engine的Template(View)就是用Django唷:-)
陽光與小草
13 years ago
請問什麼是MVC? 不太懂!
柯靖宸
13 years ago
PingChenLin: Model, View, Control,將系統區分成三部份,分別管DB, 呈現與控制邏輯,web系統中,呈現部份通常以html+dojo/jquery搭配像smarty的template engine表現,Control就是PHP/JSP的控程式碼了
陽光與小草
13 years ago
我感覺要學很多, 一個暑假能學多少? 終於知道一個暑訓要兩個月, 週一到五, 每天8小時, 都不夠用的原因了.
陽光與小草
13 years ago
光View部份就要學: HTML, javascript, css, Ajax, dojo , smarty, ...
陽光與小草
13 years ago
不過有學習動機就不會嫌多, 反而有點期待.
陽光與小草
13 years ago
whatup1981: 有數據較有概念市場接受度.
柯靖宸
13 years ago
了解之間的一些闗係,再按步就班的去學,才能有全貎的學習觀,否則就會流於片段與拼湊,尤其目前open source的東西很多,拼出一個勉強可用的東西並不難,新東西也如雨後春筍出現,IT汰換率很高,但原理是不變的,一味追尋新東西,只會淹沒在滾滾IT的洪流中
陽光與小草
13 years ago
fshiori: 在國外php與Python的市佔率伯仲之間.
陽光與小草
13 years ago
fshiori: 根據魚缸給的數據.
陽光與小草
13 years ago
cobolko: 雖然比較懂control code 與view
陽光與小草
13 years ago
或model之間的互通,把常用的功能模組化成為特定功能, 方使AP呼叫使用,沒有寫過還是有點抽像.
陽光與小草
13 years ago
上述是我理解的framework的功能. 不知道對不對?
IT4FUN!Mr.King
13 years ago
PingChenLin: 如果一個暑假還要要求F2E的部分,這樣應該是太困難了,建議可以從php開始實做,前端的設計就看各人的造化
柯靖宸
13 years ago
f2e,新名詞,內容都是既有技術的組合,不過,看得出來愈來愈受重視了,我想web取代桌面的腳步也愈來愈近了
jordenno
13 years ago
我覺得如果是從一個沒有寫過網頁的人,應該先從最基本的html ,javascript 的觀念學起,接著學如何使用動態網頁,再來學如何讀取DB的資料,並使用動態網頁的程式,將資料輸出成USER想要的樣子, 接著可以是去學一些VIEW方面的應用,像JQUERY等等
jordenno
13 years ago
我想一個 新手,暑假能熟悉上面的運作,可以做出像師母說的網站,我覺得進度就差不多了吶...
帥啊!老痞!
13 years ago
差不多....我覺得是超強了....= =||| 新手的話
jordenno
13 years ago
跟沒接觸過網頁的人,講太多技術名詞,我覺得會讓他更困擾,學好了基本的東西,再回頭看會簡單很多的
水鏡神威
13 years ago
PingChenLin: 主要是Python用來代替Linux Shell的Admin也不少,或是寫Desktop Tool 但在WebApp上其實用Python的User不多
柯靖宸
13 years ago
Pizpizpi: 一個暑假要完全從新手達到這個境界,真的是超強的啦!
無間虫
13 years ago
我倒覺得新手速成不太需要太著重 html/javascrpit
IT4FUN!Mr.King
13 years ago
cwlin0416: 考慮到前端的同時,css也變成需要教導的部分,還是不要考量到這些,盡量把重點放在後端程式上吧!!
柯靖宸
13 years ago
kingwang317: cwlin0416: 認同!就是內行的看門道,外行的看熱鬧了,哈哈哈
jordenno
13 years ago
cwlin0416: 是啊,所以我只是說html/ javascript的'觀念' ,後面有太多工具可以不用讓我們寫太多js,但是又可以用那些強大的功能
陽光與小草
13 years ago
3票對1票建議: 可以先學MVC的Control(php等),再慢慢學View(html, css, javascript等), 這樣理解對嗎?
陽光與小草
13 years ago
教學或學習的優先順序很重要, 我需要確定這個順序是最有效的.
帥啊!老痞!
13 years ago
MVC只是個系統設計架構的概念,跟語言無關,網頁、win form都可以MVC,即使目前單單client端的framework(例如,ExtJs)也都可以有MVC的架構。
陽光與小草
13 years ago
可以給一個學習的參考順序嗎? 例如: html,php, css, javascript.....
陽光與小草
13 years ago
應該先學什麼再學什麼效果比較好.
魚缸(whatup)
13 years ago
以我的想法應該是 html -> php -> javascript -> css ,基本的html 不會,到時 php 吐出來的東西會搞不清楚為什麼不照規定顯示。
帥啊!老痞!
13 years ago
html -> php -> javascript 搞定這三樣,再加上資料庫與web server上的 IIS or apache就很夠用了吧
帥啊!老痞!
13 years ago
whatup1981: 同感 :-)
帥啊!老痞!
13 years ago
其實要練兵的話...php語法會,就可以找些open source的東西直接叫學生run看看,架構啊~變數命名啊~都不是問題了,然後考試就考那個open source的東西,或是請學生改寫功能(這樣會很殘忍嗎?
帥啊!老痞!
13 years ago
當然source的水準要稍微過濾一下啦.....
魚缸(whatup)
13 years ago
我不建議一開始就找哪麼大的專案來看,因為連trace source 的技巧可能都沒有而看的頭昏眼花。要不然直接叫學生加功能為open source 界共獻就好了XD
魚缸(whatup)
13 years ago
而且有些open source 為了相容php 4 / php5 ... 都用了奇怪的寫法在處理XD
陽光與小草
13 years ago
Pizpizpi: 最近我在用或教Matlab. 沒有碰過open source 的東西, 所以還不太懂. 有架構MySQL server, MS SQL server, 10前寫過asp. 所以你們現在教我的, 對我來說都算新東西.
陽光與小草
13 years ago
不過有這個學習順序心理就有底. 技術變化好快.
帥啊!老痞!
13 years ago
whatup1981: 所以source大小要控制一下啦,語法頂多學期中就教完,到學期末日子長得很...嘿嘿 XD
帥啊!老痞!
13 years ago
PingChenLin: 恩,所以我想如果幫得上忙我的回答也盡量易懂(不知道有沒有就是XD
陽光與小草
13 years ago
Pizpizpi: 對喔. 有個問題, 你們建議一下, 分兩學期的話, 教的內容要怎麼分配比較好?
陽光與小草
13 years ago
上學期必修, 下學期選修
魚缸(whatup)
13 years ago
學生有什麼基礎?有DB的基礎?還是什麼都不會?
帥啊!老痞!
13 years ago
這問題還蠻難回答的....對象是碩士還大學生?有修過其他語言跟資料庫嗎?
帥啊!老痞!
13 years ago
想讓學生學到怎麼樣的地步?
帥啊!老痞!
13 years ago
whatup1981: 哈哈~英雄所問略同~
陽光與小草
13 years ago
金融系大一的學生, 沒有基礎.
魚缸(whatup)
13 years ago
不過我覺得金融系統用 java or jsp 居多耶XD
陽光與小草
13 years ago
whatup1981: 怎麼說?
魚缸(whatup)
13 years ago
我見識沒哪麼廣,不過感覺銀行大部份都是用java ~
帥啊!老痞!
13 years ago
whatup1981: 因為很多IBM的solution吧,不過現在.net也不少了。不離題,我想寫什麼系統不是重點,而php是好上手一點。
陽光與小草
13 years ago
java 或jsp比較難 不是資訊系, 所以養成對網頁設計有興趣是教學目標.
maxclapton
13 years ago
基本上我覺得老師教學不用教html耶
maxclapton
13 years ago
應該是直接教php就行了
柯靖宸
13 years ago
下學期過後,資管系部份,html+css, php與其套件+smarty, javascript+ajax+dojo, server端元件與optimizer,共四學期,後兩者是選修
水鏡神威
13 years ago
cobolko: 這個課程聽起來很不錯ㄟ
魚缸(whatup)
13 years ago
fshiori: 你可以回去重修XD
水鏡神威
13 years ago
whatup1981: 我還是考慮去考個博班實在
陽光與小草
13 years ago
cobolko: 資管系網頁設計相關的課程規劃成4學期. (1)html+css, php; (2) php套件+smarty; (3)javascript+ajax+dojo; (4)server端元件與optimizer. 不對的話, 請更正, 謝謝.
ericpi
13 years ago
php+smarty 建議改 php+framework(cake, ci, zend都好), 單純寫 php 很容易搞得很 dirty; javascript library 的話, 現在最熱門是 jQuery 吧
帥啊!老痞!
13 years ago
smarty得確是過時了,但如果要了解html 畫面怎麼跟後端的php抽離她得確還蠻容易了解的。直接挑framework挑戰比較大一點。看怎麼取捨囉
魚缸(whatup)
13 years ago
我不建議教 framework ,除了各種framwork 有不同特性之外。到時出去外面,要用哪種 framework 不一定是能自已選的。
水鏡神威
13 years ago
whatup1981: 有同感
帥啊!老痞!
13 years ago
我覺得教framework不是不可,但是我蠻好奇怎麼教?現在很多語言都要用framework了,雖然有特性不同,但他已經是趨勢(或者說現狀)
帥啊!老痞!
13 years ago
至於你不見得能挑你選的framework跟你不見得你能挑選程式語言是一樣的問題吧?重點在於教學者怎麼給一些觀念。
帥啊!老痞!
13 years ago
framework通常不小,種類更是繁多,要是我我也不知道該挑哪種教,從哪教,這真的事很大的學問了
帥啊!老痞!
13 years ago
但可以預見的是,framework要教,你鐵定得先修過很多前置課程、程式語言、資料庫、資料結構等....然後是選修,有興趣的學生再來去挑戰吧 XD
柯靖宸
13 years ago
framework不是學校該cover的課程,畢竟學校主要教授一些基本課程,方便學生銜接業界需求,更何況直接教授framework,會讓學生知其然不知其所以然,反而招致反效果,這是我個人觀點啦!所以我不喜歡教ASP.NET
ericpi
13 years ago
坦白說單教 php 出來的畢業生通常不太好用, 畢竟缺乏對良好架構的 sense, 而且各 framework 雖有差異, 但 web 走 MVC 趨勢明顯, 多數 php framework 也是朝這方向設計
ericpi
13 years ago
語言只是工具, php 雖好學, 但是容易養成寫出爛程式的習慣, 不靠 framework 矯正, 除非學生本身很認真 & 愛好寫程式, 不然...
柯靖宸
13 years ago
ericpi: 我想重點還是在學生的學習吧!我幾個學生畢業後,不管切換到ASP.NET或JSP,都沒有太大問題,這應該與語言沒有太大的關係吧!學PHP就會對架構沒sense,應該沒有直接關係吧!就像用某framework,學生寫的程式碼就會比較有架構,應該也沒有直接關係.
柯靖宸
13 years ago
以上純屬個人經驗而己
帥啊!老痞!
13 years ago
我自己覺得架構的東西需要多看好的程式,跟framework是沒啥關係的,入門的話可以找些design pattern的書,但也犯不著硬是要套上pattern就是。
陽光與小草
13 years ago
ericpi: 現在的學生, 生活過得太好, 缺乏學習動機, 時常為了少考一點討價還價要老師少考一點. 有些學生不太喜歡認真的老師. (悲), 不過這偏離主題了. 還是回到主題比較好.
maxclapton
13 years ago
師傅引進門,修行在個人,個人覺得教學教基礎的內容,紮根比較重要,design pattern這類的書籍我倒不覺得要一開始學習寫程式就看,因為還沒學會爬就想要看這麼抽象的東西不見得學的好,倒是資料結構的觀念比較重要,以上個人淺見
帥啊!老痞!
13 years ago
Ya~MAX補充了我少說的,基礎不熟想了解架構也有一定的難處。所以我想對架構有沒有sense需要時間。
ericpi
13 years ago
以 language / framework / design pattern / data structure 這幾個議題來看, 我自己是 php 愛好者, 但 php 是個結構過度鬆散的語言, 很容易就養成不良的程式習慣
ericpi
13 years ago
相對來說 python / javascript / java 都好很多, 所以我覺得學習 php 搭配 framework 比較不容易養成太多壞習慣, 但就基礎的重要性來說, data structure 絕對是以上四者第一, framework 則是看語言與應用來搭配學習
陽光與小草
13 years ago
什麼叫好的程式寫作習慣, 為什麼學php不容易養成好的寫作習慣? 不懂.
ericpi
13 years ago
但 design pattern 我很有感觸, 需要一定程度程式經驗才會比較能體會其好處; 至於語言本身, 會 C/C++ 搭配有一定程度 OO 觀念, 學新語言也就是學習罷了
ericpi
13 years ago
php 有很多先天為了方便撰寫的設計, 但其他語言基礎不紮實的程式設計很容易養成一堆壞習慣, 之後又很難改. 比較典型的例子就是變數初值跟 = 的用途.
ericpi
13 years ago
另外一個我覺得 php 不適合當做第一個 web script language 的原因在於 php 最初的語法與core library很像 C, 到 php4 以後開始大量加入 OO 元素, php5 更是嚴重 java 化, 各種版本參考資料都流竄於網路與書本之間
ericpi
13 years ago
拿著 php3 參考資料來寫 php5 非常大材小用, 同時 php4~5 廣為詬病的也是多少有點四不像... 以上其實都第一個 web scripting language 的角度出發, 要說實務面應用上, php 還是最容易上手且開發彈性極大的語言
帥啊!老痞!
13 years ago
maxclapton
13 years ago
可以教完基礎語法以後,出一個作業請學生們看目前open source 的架構和撰寫方式並提出報告
柯靖宸
13 years ago
OO是目前所有程式語言的重要特性,php5的確加入了此一特性,無法作到完整OO特性(但已經非常逼近了),是因為OO的缺點在於效率不好,script語言必需作到直譯性,無法事先編譯,改善效能,這與ASP.NET,JSP都不同,因為後二者並不完全是直譯式語言
柯靖宸
13 years ago
且兩者都經過middle layer,效能更會有一些影響‧所以一 般script language的OO特性都不明顯,以Javascript為例,其OO特性更差,而是以function模擬出來的
柯靖宸
13 years ago
至於php3~php5的改變,我想應該追溯到當初整個web design language的發展,從CGI(C++/VB)->ASP/PHP3->ASP.NET/PHP5的過程
柯靖宸
13 years ago
這是整個資訊時代演進的必然結果,open source考慮一定的相容性,所以有些殘存的語法(for php3),撰寫者若不是有舊系統維護者,大可直接略掉不用,我上課時大多會直接禁止使用,否則另一種暴力作法,就是如ASP->ASP.NET一 樣,就是直接全部換掉,不考慮相容性問題
柯靖宸
13 years ago
當然會比較簡潔,但站在商業角度上,孤兒系統將大量出現,也會引發MIS人員的大量effort,這是魚與熊掌不可兼得之處,Sorry!扯太多了,希望不要造成大家的負擔
帥啊!老痞!
13 years ago
第一次聽教授講話不會想睡覺(光速逃
ericpi
13 years ago
maxclapton: 剛學習完語法且沒有相關開發經驗的開發者, 不見得看過幾個 OSS project 能夠收穫多少, 很多時候參透寫法/架構/技巧 或只是 work around 是需要一點開發經驗才能達到, 所以那樣作法大概結果就是報告就是換分數的報告
ericpi
13 years ago
cobolko: 我自己就是經歷 php3~5 的開發者, 我不是去評價到底 php5 這樣向前相容 "不對", 而是就結果而論 php5 在向前相容到加入大量 OO feature 導致這個四不像的結果, 同時讓新手開發者因為各版本教學資料流竄於網路/書籍..
ericpi
13 years ago
cobolko: 初學者因為吸收資料來源複雜, 混用各版本寫法導致程式本身也變成四不像, 加上我提到 php 先天設計為了開發上的簡潔(化?)而提供一些非常容易造成不良習慣的語法特徵, 導致以 php 為第一 web script 很容易帶著很多不好改的壞習慣與架構
ericpi
13 years ago
cobolko: 要真說 OSS project 為了相容芸芸, 我覺得真是扯不上關係, 以商業出發開發的語言&架構反而更常去考慮向前相容的問題吧, 重申我不是評斷 "php向前相容不對", 而是陳述 "php向前相容導致開發者學習與習慣上的問題"
ericpi
13 years ago
cobolko: 最後我必須為 javascirpt平反一下, javascript 完全是以OO觀點設計的語言, 只不過不是以class base這種比較多人習慣的方式,從各大js VM實作來看, js不是以 "function模擬OO",而是 js裡面什麼都是 object
ericpi
13 years ago
Javascript著名的平反文: JavaScript: The Worlds Most Misunderstood Programming Language, Douglas Crockford應該算實務/理論都很紮實的從業人員
ericpi
13 years ago
再補充, Javascript 很早就不是 client 專用的語言, 像是 RingoJS 跟 node.JS 都是有名的 javascript server-side應用,已有多個具規模網路服務node.JS實作comet等即時應用
陽光與小草
13 years ago
ericpi: 以php為例, 發到php5加入OO的元素, 在open source發展而言是對的方向嗎?
陽光與小草
13 years ago
所謂的不四像, 是指那個部份不夠好呢(php)?
水鏡神威
13 years ago
這一篇文章太有深度了 (worship)
maxclapton
13 years ago
fshiori: 嘿阿!!收獲良多
陽光與小草
13 years ago
先謝謝的貢獻, 我收獲最多, 我已經看第3遍了.
陽光與小草
13 years ago
有各位的貢獻, 對我們初學者幫忙很大.
陽光與小草
13 years ago
我還在等待回應上一個問題. 渴呀.
帥啊!老痞!
13 years ago
我也覺得雖然大家論點看法或許因為工作經歷有不同的經驗,但都蠻有參考價值,比有些論壇的發文素質好太多太多了XD
ericpi
13 years ago
PingChenLin: 我認為 php 往 OO 發展是對的, web app 規模越來越大, 尤其當系統架構越來越龐大, OO、event drive 等都是近年來很多語言(+framework) 的走向, 可能主因是為了分散架構開發容易(個人理解)
ericpi
13 years ago
PingChenLin: 至於四不像問題, 我認為是 php 最初設計理念與後來 web 應用發展大方向有落差, 所以才會 java 化的情況, 歷史因素造就很多人認為php四不像的結果... 我只是覺得 php 不適合當初學者語言, 但依然覺得php是性能與應用優越的語言!
ericpi
13 years ago
其實凌晨忘了提, plurk 現在 comet service(server-side) 就是用 node.JS 實作的, 原來好像是用 jitty, 後來改用 node.JS (java -> javascript)
maxclapton
13 years ago
ericpi: 謝謝大大分享的資訊,我到今天才知道PLURK是用NODE.JS
無間虫
13 years ago
每種語言本來就有每種語言的特性, 這就是 PHP, 也沒到四不像這麼差, 要比 dirty, Perl 語言比 php dirty 多了
ericpi
13 years ago
所以近十年來應該沒什麼人拿 perl 都第一個 web script 語言來學來教吧? perl 我自己觀察到最大的應用在 system/network utilities, 這樣應用的語言, dirty 一點也沒什麼啊
無間虫
13 years ago
話說回來, 要教 framework, OO, 開發的架構都很重要沒錯, 但對真正初學者而言這些只是天馬行空
ericpi
13 years ago
所以第一個應該是 data structure & 某一基礎語言(C/C++, Java..blah)要學好
無間虫
13 years ago
每個人對於程式的速求也不同, 一個只寫開發 web 的人, 你要求他要回去學 C/C++ 再回來學 PHP? ... 我說這對程式設計的的生涯規畫是不錯, 但對一般人, 要走的路太遠了
無間虫
13 years ago
我們常會覺得要給底下的人什麼什麼, bra, bra, bra..但如果不是他們想要的,教再多也沒用, 就像我們以前大學一年級教 C/C++, 大家也只是背背語法, 沒有應用沒有經驗, 那堂課結束, 你也再也不會碰
ericpi
13 years ago
只做 web 開發的話, 那 javascript 當第一個語言也比 php 好很多, 而且 server-side 跟 client-side 吃同一個語言, 這樣不是更貼近訴求(速成?) :-P
ericpi
13 years ago
其實我覺得 php 作為初學者第一語言很糟糕的一個例子, 不知道大家有沒有研究過 php 的 "=" 跟 Java/Javascript 有什麼不同? php這樣的設計固然方便,但個人認為是很嚴重的 syntax sugar,而且寫習慣之後很難改,改不過來連小系統都可以搞出很多雷
無間虫
13 years ago
這是自動判斷變數型別的問題, 算優點也學缺點
陽光與小草
13 years ago
cwlin0416: 請註解在程式語言的dirty是指什麼, 謝謝. 幫助我們讀懂你們的意思.
無間虫
13 years ago
PingChenLin: 髒不髒是指程式有沒有辦法乾淨簡潔, 易於讀取, 像 Perl, 很多statement 不只有一種表示方法, 對一般人而言就會變很很難理解, 但對開發者, 很多東西可以用快速的寫法解決問題
ericpi
13 years ago
cwlin0416: 我說得不是 casting 喔, 太多現代語言都有 casting 這個 feature了, 而是 context copy 跟 reference 的差別
無間虫
13 years ago
ericpi: 我倒覺得不管是 casting 還是 context copy 與 reference 都應該列為使用前必讀的注意資訊, 不同的程式語言, 本來就會有不同的特性, 就算 java/javascript 會了, 再來學 php 也未必會知道有這樣的問題
陽光與小草
13 years ago
ericpi: 有點不好意思問, casting, context copy, reference是蝦米, 聽嘸? 說簡單一點她們是什麼? :-P
無間虫
13 years ago
ericpi: javascript 的資源取得不易(server-side), 而且各家 browser 的支援程不一(client side), 對初學者來講並不好釐清問題與學習
ericpi
13 years ago
PingChenLin: 我建議請 cwlin0416 說明,因為以上回應似乎他也沒分清楚php屬哪一種
ericpi
13 years ago
cwlin0416: js server-side資源取得不易? 你是否應先弄清楚 node.JS 是什麽? 同時搞清楚有多少大廠已經在線上服務應用 node.JS?
ericpi
13 years ago
cwlin0416: 至於 browser 支援問題, 難道 jQuery 等 OSS community 開發這些 library/framework 都是開發辛酸的嗎?
無間虫
13 years ago
ericpi: 我沒有意思要跟你爭執 JavaScript/PHP, JavsScript 或許有很多大廠使用, 但我是以新手的角度而言, 新手學習要取得資源確實不易
ericpi
13 years ago
實際狀況是 browser 行為差異上, js問題算小的, 畢竟 ECMA 定義與 js VM 實作都是以 core library 極簡化? browser 問題最嚴重的部份是 render engine 實作, 而且後端用 jsp/php等也一樣會踩到 browser 的雷.
ericpi
13 years ago
cwlin0416: 你要不要先解釋下 php 的 context copy 跟 reference, 應該也是不用幾行就能解釋了..
無間虫
13 years ago
ericpi: 你在這塊領域的水準很高, 但我覺得這種問題已經離題了
陽光與小草
13 years ago
經過各位用心的討論解說, 對我們想學的人來說, 已經有基本的認識. 本噗的主題是jsp與php的差異也討論很多. 應該已經足夠. 接下來就是實作了, 才能與各位高手(真男人)進一步討教. 本篇討論就到止. 感謝各位的貢獻. 幫助很大.
柯靖宸
13 years ago
內容應該有些離題了,噗浪內容純討論,無所謂誰的水準高低,探討現在,不如著眼未來,每個人都有不同的選擇,但市場才是公正殘酷的裁判。至於怎麼樣學會更好,我想全部都學最好,只是有限時間內,大家各有不同取捨,如此而已。我只是個教書的人,我認為觀念的正確性才有意義,其它只是末節。
柯靖宸
13 years ago
內容已發展到一個非常複雜的情況,足以將一大部份資訊工程的內容都扯進來了,這問題真的太大了,也不是三言兩語可以講,那就不用講了,其它就請各位有興趣繼續講了
帥啊!老痞!
13 years ago
小弟從此噗獲得不少,感謝各位(worship)
ericpi
13 years ago
分享近幾年熱門web技術參考資料: javascript server-side, node.JS comet, web server push
ericpi
13 years ago
PingChenLin: 欠一個 context copy/reference 的解釋, C語言有 * 跟 & 的 addr. op, JAVA 為了簡化 C/C++ pointer 難以掌控的問題, 拿掉 * 跟 &, 採用 reference 方式;
ericpi
13 years ago
PingChenLin: php就比較尷尬, php有 &, 但是沒有 *... 當 $a=$b; 時, $b 要是為 object/array等型別, php vm 會把 $b 複製一份給 $a, 當然這是個好用的功能, 但這也在很多系統中埋下大大小小的苦頭(以上只能意會)
陽光與小草
13 years ago
ericpi: 感謝你. 我現在了解你們先討論變數設定, 原來是指其reference的用法. 下次學到這裡時我一定會特別留意. 謝謝哦!
ericpi
13 years ago
PingChenLin: 以上主要是強調 php 的 "=" 預設行為做了 content copy, 如果要用 reference 要寫成 $a = &$b; 這樣的寫法好用是好用, 但對撰寫習慣不良的開發者潛在影響就很驚人
back to top