學習舊時代技術並非單純只為應付工作


VB應該算係Web編程中嘅古老技術之一。

話說早前都有講過,因為工作關係我要學習慣於VB.NET同C#嘅知識。有好多人會覺得點解唔諗辦法令公司轉用新技術,比如PHP 7(公司仲係停留喺已經EOL咗嘅5)、又或者轉用.NET Core之類。先旨聲明先,我係好同意一間公司應該適時就要審視一次自己用緊嘅技術係咪過時,有無需要轉換成新嘢等。
咁我哋部門當然有負責R&D(即係Research & Development)嘅同事啦,不過做完research後上面會唔會用係另一個問題。此外,當所有嘢都一直依賴喺一套舊系統上運作而一直都更新嘅時候,你就要還晒咁多年嘅技術債。相信我,你會寧願成個系統推倒重做。

嘛,不過呢堆嘢都唔係我想講嘅重點。

我本身都係一個鍾意試新嘢嘅人,亦都想公司嘗試去應用下外面已經成熟嘅技術:Nodejs、docker等。奈何一間公司––尤其係大公司––通常都只會祈求系統安定,唔做就唔會錯。比如IIS已經出到10,而公司依然只係用緊大約10年前嘅7。公司無辦法使用HTTP2,唯有向AWS嘅CDN埋手......好多因素會令愛好追求新鮮事物嘅我(或者你)感到痛苦,又或者恨鐵不成鋼。

不過咁樣並唔代表你唔能夠從中學習。

意大利粉碼係PHP未有Object-oriented嘅概念前嘅特徵之一。

喺以前,MVC model(Model, View and Controller)只係一個好初步嘅概念,而OOP(Object-oriented Programming)亦都未套用喺網頁編程上嘅時候,好似PHP以及VB等嘅語言就被稱為意大利粉碼:將資料庫(Model)同邏輯(Controller)全部寫晒喺用黎顯示嘅頁面(View)上面。當你嘅網頁或者系統愈寫愈大嘅時候,即使身為開發者成員都未必知道應該點樣著手去改動入面嘅程式碼。於是乎,開發者以及其他後繼嘅開發人員就只能夠不斷僭建唔同嘅code上去:有啲係開個新page然後將舊page直接301 redirect過去;有啲係comment咗舊代碼寫新嘅,咁就算會影響到其他頁面都只需要uncomment咗佢就得。

咁你能夠學習乜嘢?唔會係學睇呢堆嘢吧?無錯。你可能話而家大部份語言都已經偏向要人跟隨MVC模型,用OOP黎做開發,甚至鼓勵你用語言框架,無理由要返去洪荒時代學原始人用石頭打火啫。不過,喺你崇尚使用新語言之前,你嘅基本功又到咗步未?

假如你終於收到指令話要revamp公司系統,你洪心壯志咁諗住去用新技術......之前,你當然要了解返公司嘅系統架構,明白有幾多瓜拉籐籐拉瓜嘅嘢先啦。除非你上司話你知可以由頭寫,不過通常都無可能......如果係咁嘅話,你就無可避免要踩入去個無底深潭度做。一個好嘅programmer固然要識得寫一個容易維護、其他人容易上手嘅源代碼啦,不過我認為你識得code tracing都好重要。能夠快速令自己上手code tracing嘅方法,我覺得由dirty code入手就最快。

PHP7.4 RFC - Typed Properties

最後,我都要補充一句嘅。唔係所有嘢都套用晒新技術就係好;bleed-edge嘢永遠都唔會穩定,亦都未必能夠滿足你嘅工作需求上。點樣揀一門適用嘅語言黎做開發,都係一門學問黎架。

Powered by Half-moon Production.

Copyright © 2011-2020 by 泣雨家的雜物房. Version 1.5.2.

學習舊時代技術並非單純只為應付工作


VB應該算係Web編程中嘅古老技術之一。

話說早前都有講過,因為工作關係我要學習慣於VB.NET同C#嘅知識。有好多人會覺得點解唔諗辦法令公司轉用新技術,比如PHP 7(公司仲係停留喺已經EOL咗嘅5)、又或者轉用.NET Core之類。先旨聲明先,我係好同意一間公司應該適時就要審視一次自己用緊嘅技術係咪過時,有無需要轉換成新嘢等。
咁我哋部門當然有負責R&D(即係Research & Development)嘅同事啦,不過做完research後上面會唔會用係另一個問題。此外,當所有嘢都一直依賴喺一套舊系統上運作而一直都更新嘅時候,你就要還晒咁多年嘅技術債。相信我,你會寧願成個系統推倒重做。

嘛,不過呢堆嘢都唔係我想講嘅重點。

我本身都係一個鍾意試新嘢嘅人,亦都想公司嘗試去應用下外面已經成熟嘅技術:Nodejs、docker等。奈何一間公司––尤其係大公司––通常都只會祈求系統安定,唔做就唔會錯。比如IIS已經出到10,而公司依然只係用緊大約10年前嘅7。公司無辦法使用HTTP2,唯有向AWS嘅CDN埋手......好多因素會令愛好追求新鮮事物嘅我(或者你)感到痛苦,又或者恨鐵不成鋼。

不過咁樣並唔代表你唔能夠從中學習。

意大利粉碼係PHP未有Object-oriented嘅概念前嘅特徵之一。

喺以前,MVC model(Model, View and Controller)只係一個好初步嘅概念,而OOP(Object-oriented Programming)亦都未套用喺網頁編程上嘅時候,好似PHP以及VB等嘅語言就被稱為意大利粉碼:將資料庫(Model)同邏輯(Controller)全部寫晒喺用黎顯示嘅頁面(View)上面。當你嘅網頁或者系統愈寫愈大嘅時候,即使身為開發者成員都未必知道應該點樣著手去改動入面嘅程式碼。於是乎,開發者以及其他後繼嘅開發人員就只能夠不斷僭建唔同嘅code上去:有啲係開個新page然後將舊page直接301 redirect過去;有啲係comment咗舊代碼寫新嘅,咁就算會影響到其他頁面都只需要uncomment咗佢就得。

咁你能夠學習乜嘢?唔會係學睇呢堆嘢吧?無錯。你可能話而家大部份語言都已經偏向要人跟隨MVC模型,用OOP黎做開發,甚至鼓勵你用語言框架,無理由要返去洪荒時代學原始人用石頭打火啫。不過,喺你崇尚使用新語言之前,你嘅基本功又到咗步未?

假如你終於收到指令話要revamp公司系統,你洪心壯志咁諗住去用新技術......之前,你當然要了解返公司嘅系統架構,明白有幾多瓜拉籐籐拉瓜嘅嘢先啦。除非你上司話你知可以由頭寫,不過通常都無可能......如果係咁嘅話,你就無可避免要踩入去個無底深潭度做。一個好嘅programmer固然要識得寫一個容易維護、其他人容易上手嘅源代碼啦,不過我認為你識得code tracing都好重要。能夠快速令自己上手code tracing嘅方法,我覺得由dirty code入手就最快。

PHP7.4 RFC - Typed Properties

最後,我都要補充一句嘅。唔係所有嘢都套用晒新技術就係好;bleed-edge嘢永遠都唔會穩定,亦都未必能夠滿足你嘅工作需求上。點樣揀一門適用嘅語言黎做開發,都係一門學問黎架。