PHP 吸收了 C.JAVA 等的特點 , 那還要學 C.JAVA 嗎 ?
PYTHON 適合新手容易上手 , 老手用 PHP 就可以了嗎 ?
JavaScript 是否一定要學的 ?
語言差異文章如下
https://buzzorange.com/techorange/2014/01/28/learn-programming-languages/
以下是不完全正確列表:
網站式應用系統前端: Javascript, HTML5, CSS3,...
網站式應用系統後端: Java, PHP, C#, ASP, Javascript, Python,Ruby,...
企業級應用系統: Java, C#
移動端應用系統: Java,Objective-C, Swift, Javascript, HTML5, CSS3
大數據應用系統: R, Java, Python,...
科學語言: Pascal, Fortran, Python, Java, C, C++,...
資料庫系統: SQL.
物聯網: C, C++, Lua,Java, Assembly, Arduino,...
系統管理: Perl, Bash, Java, PHP, Python,...
新興語言: GO
請看不一定正確語言排名:
https://www.tiobe.com/tiobe-index/
或者這裡的建議:
http://www.codingdojo.com/blog/7-most-in-demand-programming-languages-of-2018/
Java的強大在網站後端, 企業端, 與移動端. 大陸用的多, 台灣用的少, 而許多語言多年來宣稱要幹掉Java:
在台灣一般企業沒有什麼大型系統的, 所以不必擔心Python和Javascript的天生問題.
如果您注意到Lua和Go, Lua是一種奇特的語言, 小巧快速, 直接和C/C++運作, 可用在遊戲軟體, 系統管理, 網站, 和物聯網. 而Go是Google的發明, 明修棧道暗渡陳倉, 也想幹掉Java.
精通一種語言可以觸類旁通, 但會一種語言是不夠的. Java依然不斷演化, 活力十足, 有太多企業級的套件拿來即用. 至於PHP這九尾妖狐, PHP7.2速度奇快, 市場依然廣大.
其實python也不一定撐不起大型系統啦。Instagram就是個例子。
PyCon 2017
重點還是優化和異步,等node.js穩定下來說不定也會出現javascript的大型系統。
另外python還是強型別語言,並不是不用指定type,而是:
1.他在變數指定時,對變數內容指定type
2.變數其實是個標籤
python做不到javascript的 "1" + 1 = "11"
動態語言其實對變數的思維和靜態語言不太相同。
去年NodeJS元老Mikeal Rogers信誓旦旦說一年內NodeJS將取代Java: https://thenewstack.io/open-source-profile-mikeal-rogers-node-js/
強型語言的關鍵是在編譯檢查. Python是可以有變數型, 但並未能在編譯時檢查變數的型. 而是在運行階段. 隨著系統愈複雜,開發者愈多,臭蟲可能隱身, 除錯將更困難.
php 也開始有型別檢查的功能了
js 可以用 typescript
python 這方面不知道有沒有類似的東西
python是用type/isinstance做。
只是python程式員的習慣的確是相信python的內規就是了。
看起來 python 也有新的 type 語法了
這邊有介紹
當年這些發誓要幹掉Java的語言最厭惡Java的正是static type.
每個語言優缺點都不一樣
學你喜歡的夠用就好
重要的是用這個工具(程式語言)解決了什麼問題
這篇文章把 PHP 寫的勝過 C , JAVA , 好像學 PHP 就可以了 , 是這樣嗎 ?
https://buzzorange.com/techorange/2014/01/28/learn-programming-languages/
我是不知道 A 大是看漏了什麼,他說 PHP 吸收了 C 跟 JAVA 的特點,對一般程式設計師學習起來不會太困難的
這個意思很難懂嘛,意思就是 你有會 C 或是 JAVA 要上手 PHP 就不會很困難
前提是要上手 PHP 要會 C 或是 JAVA,這樣有很難懂,一定要自我解釋老手用 PHP 新手用 Python
幫幫忙,一堆老手只要專案需要,要用哪一種程式語言馬上就是要能開專案,誰給你學習時間
A大想當程式設計師,要學的還有很多,不是會一種,沒寫過專案,只看了一本書就說會了
程式設計師應徵都是直接看作品,沒有一個數量的作品,要上很難
我想你搞錯了吧~那篇文的目的和你的認知完全不在同一頻道上。我不知道你的用意!思真心何在,只想告訴你,扯那些有的沒的沒用啦~
你看來一點也不懂編程,百萬年薪是作夢吧~
你應該不屬於那篇文講的領域裏的大款吧~
我當然沒有想百萬年薪 , 只是想說學那個才是主流 , 未來換工作才用得上 , 否則學半天市場用不上的東西 , 不是浪費時間
如果你非要問那個是主流,那你只有二個選擇。
一、都學。
二、都不要學。
你去仔細問問各行各業真正的工程師,我不是說web,我說的是除了web也會寫編譯式語言的工程師,有那一個只會寫一種語言的?
下次賽伯伯或是其他人可能會再繼續辦it活動。你是否又想用什麼理由再pass一次呢?
我有一個朋友,他會寫超過20種程式語言。(所以他已經退休不幹了。)
他很多東西都是客戶立馬要他一個月交件,他就算沒寫過也能在一個月後如期交件。
什麼時候還有給你選擇的機會嗎?
公司要你用什麼寫,就用什麼寫。
除非你自己當老闆或是高階主管。
我比較好奇為什麼你繞行了大半圈之後竟然又回到了原點?
(抱怨一下,氣死我了it邦的編輯和下面的送出鈕一直搞錯要按那邊)
害我這第三次編輯只能長話短說因為太晚了。
總之我是說我公司很缺工。
但是都要有經歷資歷。
沒個二年想都別想。
然後如果我要求php工程師,然後我叫你去寫python你給我543的話我一定會叫你滾蛋。
對!我現在正在發怒中!但我發怒的原因是因為it邦的編輯系統搞到我很火大害我把原本好好講的話縮短之後看起來就很不客氣。
是賽伯伯改日期,不是我改日期,我是想專精一種,其他就不用那麼專精,沒有人可以什麼都會,最近學了很多語言,所以才發現,很難樣樣都懂,才想要只專精一種
其他要用時,要再進入就不難
盡信書不如無書,更何況有時候是作者無心讀者有意的誤會...
學什麼語言都好,重點是要專精,要先瘋狂的投入一段時間,寫出一堆程式,如您已能掌握了一種語言,有豐富的經驗,要轉其他程式語言都不是問題。
之前跟您說過了,只靠週六日要學好程式是不容易的,尤其是我們這種已經過了學習黃金年齡的人
我就是想專精一種,其他就不用那麼專精,沒有人可以什麼都會,最近學了很多語言,所以才發現,很難樣樣都懂,才想要只專精一種,其他要用再深入就好
感覺只要會改程式就可以掌握,很少人一行一行的寫,大家都抄來抄去,慢慢寫專案交不出來就麻煩了,老闆不會管你怎麼寫
感覺只要會改程式就可以掌握,很少人一行一行的寫,大家都抄來抄去
當出錯時又找不到問題點,你就會後悔你說過這句話了
會改程式,當然要具備出錯能力,亂改當然會有問題
@alex9453 我看過你發過的許多問題,感覺得出來你很有毅力,被罵很多次了還是勇往直前,這是好事
但你有一些根本的觀念需要修正,像是
感覺只要會改程式就可以掌握,很少人一行一行的寫,大家都抄來抄去,慢慢寫專案交不出來就麻煩了,老闆不會管你怎麼寫
總之趁這個機會註冊了帳號來回應(欸
這邊簡化很多複雜的情境跟你說明:
事實上並不是這樣的,其實大家都是「先有基礎概念後」,運用知識一行一行寫出來的,而不是抄抄改改
很少有一模一樣的需求,所以抄來抄去是不可能的事
你現在卡關的點,應該是「我根本不知道自己知道什麼」、「我根本不知道自己不知道什麼」
這張圖不是我做的,但分享給你看看,重新看好前方的路才往前走吧
https://github.com/goodjack/developer-roadmap-chinese
選一條路線,然後不要管別的,走通了再回頭看,你會發現原本的問題都不是問題
「感覺只要會改程式就可以掌握」
這一點算是錯誤的論點,因為你永遠也不知道別人寫的東西對還是不對。(當然了,自已寫的也一定不會知道)
有些情況下,重寫會比用改的反而還要快。(這是多年來的經驗)
「很少人一行一行的寫」
這點你就錯的,不一行一行寫的工程師不是工程師。當然,某些情況下。直接copy現有的開發會比較快,如框架類的東西。
非自刻跟套用套裝程式的價錢也各自不一樣。
我這邊有時也會接到一些要做購物車的案子。我都會用兩種價格給他們。
一種是完全自寫,價格至少10萬起。
一種是先用現有套裝的來改,依所需功能3000~3萬不等。
最後一種就是用現成的購物車框架。這一般也會需要1萬多起跳才行。
也就是說,想寫到客戶完整的需求,自然其開發成本就高。
如客戶對套裝就可以滿足的。那也不需要什麼開發成本。
剛好我最近有個案子,某家公司要做進銷存系統。我也一樣先找個套裝的給他(約6000多)。跟自創改寫(約10萬多)。
客戶因為時間需求,先叫我用套裝6000多先應付。然後預付訂金4萬叫我開發。這些就是所謂的需求。看客戶想要什麼。你想從套裝改一改就給客戶使用並符合他要的需求是很困難的一件事。因為基本上能接受套裝的客戶,自然就不會有自訂規劃的需求。(價格差那麼多)
「大家都抄來抄去」
這是一個非常錯誤的說法。並非是抄來抄去。而是各自應用取所需。
抄也得要抄對,也得要明白對方寫的東西才行。
而不是只會抄。
就如使用jquery。你能說它是抄嗎??你不用,直接用javascript也行。但就是太麻煩了。
總之,你的論點,對一個初學者而言。都不該這樣大話的說工程師就是這樣。你的話語之中,也連帶著對工程師的輕蔑論調。
你並不覺得寫程式是一種技能一種專業。
後記:
曾經,有個我教的人,跟我說用dw來寫php不是很方便。
拉一拉畫一畫。一個網站就完成了。根本不需要去學。
其實他還真做到了,用dw開發了將近6個網站。
可是呢,在跑了一段時間,他告訴我不知道為何網站會很慢。
有些很奇怪的問題。網站還被人家放廣告跟注入。(說真的,快到真的會笑死)
想想為何會有600、6000、60000。等區分。明明就一樣的東西一樣的功能。為何會有這樣的價格。
專業性與不專業性就是差在這邊。
你們怎麼會相信他有改程式的能力啊?連SQLite換個管理軟體都得發問的人...Orz
原來改跟自己寫的差別是這樣瞭解了 , 我從來沒有藐視工程師 , 我從不會寫到會改 , 經過了多少年 , 也放棄了很多年寫程式的夢想 , 直到看得一些書 , 才真正會寫程式 , 只是聽了一些前輩都是用改的完成專案 , 我才會有這些想法 , 我想他們只是做一些簡單的專案可以用改的 , 如果複雜的專案 , 要改到適合 , 還不如自己寫比較快
你可能不要說你「會」寫程式比較好。
以你的發問和你的回答來看,恐怕判斷上你仍然算是「不會」寫程式。
如果你非要問怎麼樣才叫做「會」寫程式。可以從三方面。
初級:了解基本語言架構,從變數、常數到運算元、運算子、陣列、迴圈、條件、函式,如果語言帶有物件導向特性的話這裡還包括基礎物件導向。並且至少熟悉一套資料庫系統。
然後能夠自己寫出具備功能性需求的程式。
也就是說,只會抄不會寫是連入門初學者都談不上的。
基礎畢業考:自己寫一個會員登入系統、一個留言板系統,重點是:不可以問別人怎麼做,要全靠一己之力完成他。
進階:了解程式進階的架構,懂得函式的運用,理解物件導向的運作特性。當中也學習了一部份的設計模式。並且稍微理解統一模塑語言(UML)
這個階段對重構要能有深刻的理解,並且理解如何編寫測試程式。
而且在這個階段基本上至少有能耐能寫超過二種以上的程式語言。這裡的能寫指的是「熟練」而不是「剛好會」。
這個階段可能也包括做硬體的控制設計,例如藍芽設備。或是數位電子電路。
進階畢業考:至少玩過一種電路控制,了解單例、抽象、工廠模式、狀態、迭代和橋接和基礎介面設計。這個畢業考自己去自由心證。
進階再進階:不再單純的只和在二、三種語言,能全面性的接受各種程式語言的開發。深刻了解設計模式,理解程式與程式之間的介面關係。
了解專案開發方向,例如敏捷軟體設計,可能的話甚至能夠全面向性的帶領一個程式設計團隊進行開發,並且清楚知道團隊成員的能力和運作。
畢業考:沒有!學無止盡,沒有人能畢業。
軟體比硬體又深又廣,真的是學無止境沒人可以畢業,這也是樂趣所在,可以天馬行空的弄出任何系統,硬體的限制就很多了
alex9453 我也是由硬體轉軟體,30歲左右轉的,轉職是要付出代價的,您付出的還不夠
我更晚,從硬體維修轉個性化轉印再轉接送司機到33歲才再轉軟體攻城獅。但我才第一年就出來教php和講基礎的軟體開發講座了。不要問我現在幾歲,我會告訴你我十七歲未成年。(某種心態意義上)
至於要說軟體比硬體廣又深………
我怎麼不知道人人都能做單晶片,積體電路還有晶圓………然後電路原來不用設計?不用擔心近場效應、電磁干擾、靜電破壞?
積體電路當然是很深 , 但不是一般人可搞的 , 要有財力 , 而且他跟微軟比還是小咖
你一定沒搞過硬體設計。硬體除了要會了處理軟體之外,還需要有電子學的能力,一樣也是需要設計。
這也是為何我會跟你說,你可以不用去管你想要用哪一套程式語言寫。
因為所謂的程式設計,學的並不是語言。學的是邏輯、架構跟規劃。
只要這三項懂了,無論今天你用何種語言都可以得心應手的。
這個觀念針對硬體也是同樣的導理。
不要認為軟體比硬體還要難懂。那是因為你連硬體都沒搞過。
你很常觸碰到某個領域的皮毛之後,就說我「會」了。
說真的,你根本都還沒進到該領域。
你要知道什麼叫做會改。再業界中,一個會改程式的工程師,其質歷可是高過於會寫的工程師。
因為你口中的「會改」,與我認知的「會改」是不同的。
真正「會改」的工程師,是可遇不可求的。而且他也會是客戶心目中理想的工程師。就連我也不敢說我是「會改」的工程師。
你覺得你自已能掛上「會改」這個名號嗎??
現在主流的語言,
應該還是 英文 吧.
偷偷說一下,有沒有人知道,其實台語就是閔南語。
上次跟對岸的人聊天,就有說到台語。居然有人聽的懂。
後來才知,那就是他們的閔南語。
浩瀚星空
是啊,台語本來就是閩南語啊,
也是從大陸來的,
所以也不用分本省外省,
都是從大陸來的...
其實本省外省主要是228那時候要判斷你是屬於哪一邊的,
判斷的方式是會不會講日文...
(結論:大家都是外省人,都不會講日文)
中肯, 英文才是王道!之前去高中職業師授課時,發現高中職學生無法流暢英打才是目前高中職coding的罩門 !
與其要精通所有程式語言
你不如先學會 英文
學會 google
學會 Command Line
學會 程式語言基本架構
學會 該語言ide的debug方法
學會 看該語言Document
學會 找到可以幫你解決問題的套件
我不敢說不可能全部精通,但是基本上專案上沒用到的你也很難學到,除非你個人很有興趣。
真的這麼想精通就去接案逼自己學會,讓壓力造就你個人的成長,有期限壓力的做法會讓人成長得更快。(被吉不要怪我)
壓力真的很容易讓人成長 , 但到時交不出來怎麼辦 ?
或是我接案 , 如無法完成 , 請你接手 , 到時看我完成多少 , 依比例給我多少費用
打個比喻你一天做個兩個小時你說事情做不完,這也是理所當然,
如果出來工作還抱著要把責任丟給別人我建議你還是別做這一行了。
另外給你個建議聽也好不聽也好,你可以先檢視你自己本身處理事情的態度。
全部都看過之後,直講一點,感覺板主您不太像是有請教的樣子。
我也是菜鳥一個,也沒甚麼本事能講甚麼大話。
但我能說的是,想專精某一個code,還要期待別人給你答案,這過於奢侈了。
我原先讀資管,還真的是不喜歡寫code的,那時花心思看最多的就是專案管理的部份,但是在那過程之中也重新理解,不可能完全撇開程式,是無法被割捨的。
出社會之後進了一個小公司,制度上沒有很嚴格,這至少是我覺得蠻幸運的第一件事了,待到現在也半年了,幸運的另一件事是我原本略有涉獵的部份在這裡還能發揮一些功用。
跟PM商談的時候還能知道一些奇妙的邏輯是怎麼出來的。
真的是出社會才知道外面的妖魔鬼怪是甚麼等級的。
在外面是很看資歷的,小小的程序猿想要表示點甚麼都需要跟資深的前輩們請教商討後,藉由前輩出力協助,小小的意見才能被看到
聽著外面天花亂墜,他們需要那個功能,認為那個功能就是那樣做而已,那個應該很簡單就可以處理的事,還不說這個需求會變來變去。
那天說要做這個功能,做出來後覺得不行又要拿掉,又過幾天後又說有其他的需求又要回原本做的功能外又要再加新的東西。
從原本的HTML+PHP開始寫,一開始只是debug跟修錯,中間開始要寫功能,把一個文件轉成網頁表單功能要弄成電子化功能。
我知道跟那些資深的前輩比起來我花上的時間過長許多,至少還是盡力靠自己把功能弄出來。
為了不想去動到某一部份的code,又要滿足某些奇怪的東西,只好又去google又懵懵懂懂地去自己學Java(這個應該說是jQuery才對的樣子)來生出些東西解決問題。
之後假日被抓出來帶學linux,從公司的流程開始帶起後一些伺服器的東西也要開始處理了。
這段時間在linux處理一些東西時發現有些問題是靠perl解決的,於是又挑了些零碎的時間弄起一個像當時大學時學的dev C++類似的環境,有時間加減學。
RWD要一個測試環境,電腦手機都能看的,我另外去弄模擬器來看,Android又基於linux出來的,又去弄了些套件裝進去方便能做點事情
講太多了,我只是想表達說,您這樣太奢侈了。
如果您只是想確實的知道您要學甚麼,不如就先找坑跳進去被逼著做事吧
如果您想要壓力,可以找像Sam大這樣感覺有經歷一些風浪的來模擬幫您開需求案,向他請教,前提是Sam大願意這樣做
東西交不出來?我已經卡了一堆東西了,隨時都可能有插件要處理。
心情轉換完了,又要回去想那該死的問題。
一主機三網站,各網站對外IP都不一樣,裝憑證兩個分站都沒起來過,要命了