❶ 偽代碼是什麼
偽代碼(Pseudocode)是一種非正式的,類似於英語結構的,用於描述模塊結構圖的語言。
當考慮演算法功能(而不是其語言實現)時,偽代碼常常得到應用。偽代碼常被用於技術文檔和科學出版物中來表示演算法,也被用於在軟體開發的實際編碼過程之前表達程序的邏輯。偽代碼不是用戶和分析師的工具,而是設計師和程序員的工具。計算機科學在教學中通常使用虛擬碼,以使得所有的程序員都能理解。
使用偽代碼的目的及偽代碼的特點:
使用偽代碼的目的是使被描述的演算法可以容易地以任何一種編程語言(Pascal,C,java等)實現。因此,偽代碼必須結構清晰、代碼簡單、可讀性好,並且類似自然語言。
偽代碼介於自然語言與編程語言之間,以編程語言的書寫形式指明演算法職能。使用偽代碼,不用拘泥於具體實現。相比程序語言(例如Java, C++,C, Dephi等等)它更類似自然語言。它是半形式化、不標準的語言。
❷ 做一個程序員要具備什麼
1:團隊精神和協作能力 ,和基本的操作常識,缺乏這種素質的人就完全不合格了。
2.要有做文檔的習慣,缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇 到極大的麻煩。
3:規范化,標准化的代碼編寫習慣 。
4.代碼具有良好的可讀性,是程序員基本的素質需求。
5.程序員需要理解一個模塊的需求,把性能指標全部歸結到硬體,操作系統和開發環境上。
6.復用性,模塊化思維能力 ,避免大部分重復性工作無謂的浪費了時間和精力。
7. 測試習慣 ,作為一些商業化正規化的開發而言,專職的測試工程師是不可少的
8..程序員是人才很容易被淘汰,很容易落伍的職業,必須不斷跟進新的技術,學習新的技能。
計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照以經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
[NextPage]
學習編程,從何入手
如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啟示吧!
==============================================
方案一 Basic語言 & Visual Basic
優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點
(1)Visual Basic 不是真正的面向對象的開發文具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。
綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。
Basic/Visual Basic簡介
==============================================
方案二 Pascal語言 & Delphi
優點
(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。
(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。
(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。
(4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。
缺點
Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。
綜述: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。
Pascal語言簡介
Delphi簡介
==============================================
方案三 C語言 & Visual C++
優點
(1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。
(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。
(3)VC是微軟製作的產品,與操作系統的結合更加緊密。
缺點
對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它的過於專業使得一般的編程愛好者學習起來會有不小的困難。
綜述: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。
C語言簡介
==============================================
方案四 C++語言 & C++ Builder
優點
(1)C++語言的優點全部得以繼承。
(2)完全的可是化。
(3)極強的兼容性,支持OWL、VCL和MFC三大類庫。
(4)編譯速度非常快。
缺點
由於推出的時間太短,關於它的各種資料還不太多。
綜述:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。
C語言簡介
==============================================
方案五 SQL語言 & Power Builder
對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。
[NextPage]
JSP簡介
在Sun正式發布JSP(Java Server Pages)之後,這種新的Web應用開發技術很快引起了人們的關注。JSP為創建高度動態的Web應用提供了一個獨特的開發環境。按照 Sun 的說法,JSP能夠適應市場上包括Apache WebServer 、IIS4.0在內的85%的伺服器產品。
JSP與ASP的簡單比較
JSP與Microsoft的ASP技術非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。在ASP或JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴於Web伺服器,而ASP和JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP和JSP都是面向Web伺服器的技術,客戶端瀏覽器不需要任何附加的軟體支持。
ASP的編程語言是VBScript之類的腳本語言,JSP使用的是Java,這是兩者最明顯的區別。
此外,ASP與JSP還有一個更為本質的區別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。在ASP下,VBScript代碼被ASP引擎解釋執行;在JSP下,代碼被編譯成Servlet並由Java虛擬機執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。
運行環境
執行 JSP 代碼需要在伺服器上安裝 JSP 引擎。此處我們使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。為便於學習,這個軟體包提供了大量可供修改的示例。安裝 JSWDK 之後,只需執行 startserver 命令即可啟動伺服器。在默認配置下伺服器在埠 8080 監聽,使用 http://localhost:8080 即可打開預設頁面。
在運行 JSP 示例頁面之前,請注意一下安裝 JSWDK 的目錄,特別是" work "子目錄下的內容。執行示例頁面時,可以在這里看到 JSP 頁面如何被轉換成 Java 源文件,然後又被編譯成 class 文件(即 Servlet )。 JSWDK 軟體包中的示例頁面分為兩類,它們或者是 JSP 文件,或者是包含一個表單的 HTML 文件,這些表單均由 JSP 代碼處理。與 ASP 一樣, JSP 中的 Java 代碼均在伺服器端執行。因此,在瀏覽器中使用"查看源文件"菜單是無法看到 JSP 源代碼的,只能看到結果 HTML 代碼。所有示例的源代碼均通過一個單獨的" examples "頁面提供。
Java Servlet是一種開發Web應用的理想構架。 JSP以Servlet技術為基礎,又在許多方面作了改進。JSP頁面看起來象普通HTML頁面,但它允許嵌入執行代碼,在這一點上,它和ASP技術非常相似。利用跨平台運行的JavaBean 組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。JSP必將成為ASP技術的有力競爭者。
[NextPage]
SQL語言簡介
SQL全稱是「結構化查詢語言(Structured Query Language)」,最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
Structured Query Language包含4個部分:
數據查詢語言DQL-Data Query Language SELECT
數據操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE
數據定義語言DQL-Data Definition Language CREATE, ALTER, DROP
數據控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK
SQL的歷史
在70年代初,E.E.Codd首先提出了關系模型。70年代中期,IBM公司在研製 SYSTEM R關系資料庫管理系統中研製了SQL語言,最早的SQL語言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。
1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS資料庫系統中也實現了SQL。
1986年10月,美國ANSI採用SQL作為關系資料庫管理系統的標准語言(ANSI X3. 135-1986),後為國際標准化組織(ISO)採納為國際標准。
1989年,美國ANSI採納在ANSI X3.135-1989報告中定義的關系資料庫管理系統的SQL標准語言,稱為ANSI SQL 89, 該標准替代ANSI X3.135-1986版本。該標准為下列組織所採納:
● 國際標准化組織(ISO),為ISO 9075-1989報告「Database Language SQL With Integrity Enhancement」
● 美國聯邦政府,發布在The Federal Information Processing Standard Publication(FIPS PUB)127
目前,所有主要的關系資料庫管理系統支持某些形式的SQL語言, 大部分資料庫打算遵守ANSI SQL89標准。
SQL的優點
SQL廣泛地被採用正說明了它的優點。它使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。
(1) 非過程化語言
SQL是一個非過程化的語言,因為它一次處理一個記錄,對數據提供自動導航。SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。 SQL不要求用戶指定對數據的存放方法。 這種特性使用戶更易集中精力於要得到的結果。所有SQL語句使用查詢優化器,它是RDBMS的一部分,由它決定對指定數據存取的最快速度的手段。查詢優化器知道存在什麼索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什麼類型的索引。
(2) 統一的語言
SQL可用於所有用戶的DB活動模型,包括系統管理員、資料庫管理員、 應用程序員、決策支持系統人員及許多其它類型的終端用戶。基本的SQL 命令只需很少時間就能學會,最高級的命令在幾天內便可掌握。 SQL為許多任務提供了命令,包括:
● 查詢數據
● 在表中插入、修改和刪除記錄
● 建立、修改和刪除數據對象
● 控制對數據和數據對象的存取
● 保證資料庫一致性和完整性
以前的資料庫管理系統為上述各類操作提供單獨的語言,而SQL 將全部任務統一在一種語言中。
(3) 是所有關系資料庫的公共語言
由於所有主要的關系資料庫管理系統都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉到另一個。所有用SQL編寫的程序都是可以移植的。
[NextPage]
Java語言簡介
一. Java的由來
當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。那麼Java到底有何神奇之處呢?
Java語言其實最是誕生於1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產品而設計的一個通用環境。他們最初的目的只是為了開發一種獨立於平台的軟體技術,而且在網路出現之前,OAK可以說是默默無聞,甚至差點夭折。但是,網路的出現改變了OAK的命運。
在Java出現以前。Internet上的信息內容都是一些乏味死板的HTML文檔。這對於那些迷戀於WEB瀏覽的人們來說簡直不可容忍。他們迫切希望能在WEN中看到一些互動式的內容,開發人員也極希望能夠在WEB上創建一類無需考慮軟硬體平台就可以執行的應用程序,當然這些程序還要有極大的安全保障。對於用戶的這種要求,傳統的編程語言顯得無能為力,面SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術應用於WEB上,並且開發出了HotJava的第一個版本。當SUN公司1995年正式以Java這個名字推出的時候,幾乎所有的WEB開發人員都想到:噢,這正是我想要的。於是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。
二. Java的定義
Java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的安全的,結構的中立的,可移植的,性能很優異的多線程的,動態的語言。
Java的開發環境有不同的版本,如sun公司的Java Developers Kit, 簡稱 JDK。後來微軟公司推出了支持Java規范的Microsoft Visual J++ Java開發環境,簡稱 VJ++。
三. Java的特點
1. 平台無關性
平台無關性是指Java能運行於不同的平台。Java引進虛擬機 原理,並運行於虛擬機,實現不同平台的Java介面之間。使 用Java編寫的程序能在世界范圍內共享。Java的數據類型與 機器無關,Java虛擬機(Java Virtual Machine)是建立在 硬體和操作系統之上,實現Java二進制代碼的解釋執行功能, 提供於不同平台的介面的。
2. 安全性
Java的編程類似C++,學習過C++的讀者將很快掌握Java的精 髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序 運行時,內存由操作系統分配,這樣可以避免病毒通過指 針侵入系統。Java對程序提供了安全管理器,防止程序的 非法訪問。
3. 面向對象
Java 吸取了C++面向對象的概念,將數據封裝於類中,利用類 的優點,實現了程序的簡潔性和便於維護性。類的封裝性、 繼承性等有關對象的特性,使程序代碼只需一次編譯,然後 通過上述特性反復利用。程序員只需把主要精力用在類和接 口的設計和應用上。Java 提供了眾多的一般對象的類,通 過繼承即可使用父類的方法。在 Java 中,類的繼承關系是單一的非多重的,一個子類 只有一個父類,子類的父類又有一個父類。Java 提供的 Object 類及其子類的繼承關系如同一棵倒立的樹形,根類 為 Object 類, Object 類功能強大,經常會使用到它及其 它派生的子類。
4. 分布式
Java建立在擴展TCP/IP網路平台上。庫函數提供了用HTTP和FTP協議傳送和接受信息的方法。這使得程序員使用網路上的文件和使用本機文件一樣容易。
5. 鍵壯性
Java致力於檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這些功能特徵大大提高了開發Java應用程序的周期。Java提供: Null指針檢測、 數組邊界檢測、 異常出口、 Byte code校驗。
四. Java與C/C++語言
Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特徵。C++安全性不好,但C和C++被大家接受,所以Java設計成C++形式,讓大家很容易學習。
Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,並增加了一些很有用的功能,如自動收集碎片。
Java去掉了以下幾個C和C++功能:
指針運算
結構
typedefs
#define
需要釋放內存
這將減少了平常出錯的50%。而且,Java很小,整個解釋器只需215K的RAM。
面象對象:Java實現了C++的基本面象對象技術並有一些增強,(為了語言簡單,刪除了一些功能)。Java處理數據方式和用對象介面處理對象數據方式一樣。
五. Java與Internet
我們知道,早先的 www 僅可以傳送文本和圖片,Java的出現實現了互動的頁面,是一次偉大的革命。
Java並不是為 Internet,WWW而設計的,它也可以用來編寫獨立的應用程序。Java 是一種面向對象語言。Java 語言類似於 C++ 語言,所以已熟練掌握 C++語言的編程人員,再學習 Java 語言就容易得多!Java 程序需要編譯。實際上有兩種 Java 程序:一種 Java 應用程序是一個完整的程序,如 Web 瀏覽器。一種 Java 小應用程序是運行於 Web 瀏覽器中的一個程序.
Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運行程序的方法。你能從你的瀏覽器里直接播放聲音。你還能播放頁面里的動畫。Java還能告訴你的瀏覽器怎樣處理新的類型文件。當我們能在2400 baud線上傳輸視頻圖象時,HotJava將能顯示這些視頻。
當今Internet的一大發展趨勢是電子商務,而Internet的安全問題是必須解決的問題,通常大的部門應設置防火牆,阻止非法侵入。
電子商務是當今的熱門話題,然而傳統的編程語言難以勝任電子商務系統,電子商務要求程序代碼具有基本的要求:安全、可靠、同時要求能 與運行於不同平台的機器的全世界客戶開展業務。Java以其強安全性、平台無關性、硬體結構無關性、語言簡潔同時面向對象,在網路編程語言中占據無可比擬的優勢,成為實現電子商務系統的首選語言。
Java程序被放置在Internet伺服器上,當用戶訪問伺服器時,Java程序被下載到本地的用戶機上,由瀏覽器解釋運行。
[NextPage]
PowerBuilder簡介
PowerBuilder的產生
PowerBuilder是美國著名的資料庫應用開發工具生產廠商PowerSoft推出的成功產品,其第一版於1991年6月正式投入市場。它是完全按照客戶/伺服器體系結構研製設計的,採用面向對象技術,圖形化的應用開發環境,是資料庫的前端開發工具。
PowerBuilder的特點
它支持應用系統同時訪問多種資料庫,其中既包括Oracel,Sybase之類的大型資料庫,又包括FOXPRO之類支持ODBC介面的小型資料庫,PowerBuilder是完全可視化的資料庫開發工具,它提供了大量的控制項,大大加快了項目的開發速度,也使開發者更容易掌握資料庫的開發。
它使用的編程語言叫做工PowerScripr,它也是一種高級的,結構化的編程語言。PowerScript提供了一套完整的嵌入式SQL語句,開發人員可以像使用其它語句一樣自由地使用SQL語言,這樣就大大增強了程序操縱和訪問資料庫的能力。可以說PowerBuilder既適合初學者快速學習資料庫的開發,又可以讓有經驗的開發人員開發出功能強大的資料庫,是一種適用面非常廣的開發工具。
PowerBuilder是一個用來進行客戶/伺服器開發的完全的可視化開發環境。使用PowerBuilder,你可以用一種可視的直觀的方式來創建應用程序的用戶界面和資料庫介面。這是一個總的概念,實際上是開發人員使用PowerBuilder去開發應用程序,由於所開發的各種應用程序充分利用了圖形用戶介面(GUI)的優點,所以PowerBuilder被認為是一個圖形工具。
在客戶/伺服器結構的應用中,PowerBuilder具有描述多個資料庫連接與檢索的能力。特別是PowerBuilder能從大多數流行的RDBMS中存取數據,且不管數據存放在什麽地方;另外,各種應用程序又可以獨立於RDBMS,因為PowerBuilder可以使用資料庫的標准操作語言SQL(結構化查詢語言)進行。
使用PowerBuilder,可以很容易地開發出功能強大的圖形界面的訪問伺服器資料庫的應用程序,PowerBuilder提供了建立符合工業標準的應用程序(例如訂單登記、會計及製造系統)所需的所有工具。
PowerBuilder應用程序由窗口組成,這些窗口包含用戶與之交互的控制項。開發人員可以使用所有標准
如WINDOWS XP \WINDOWS 2000 \WINDOW VIST.等
❸ 程序員未來前景如何大齡程序員出路在哪裡
其實程序員什麼35歲就不行了的說法是個偽命題,是人為的強加的致幻劑。雖然軟體行業有其特殊性,但是也有其普遍性。其他行業35歲那才真正進入事業快車道,軟體行業我認為也差不多。
軟體行業不光是寫代碼,積累到35歲,如果還能寫代碼那一定是經驗豐富,代碼水平高,即便繼續寫代碼那也比一般的人好,當然排除那些不思進取不學習的人。
最差帶幾個人做個項目經理做項目就比年輕仔強很多。不但可以利用自己的經驗還可以寫關鍵代碼。年齡其實不是問題。
那問題是什麼給大家的印象是35歲程序員就沒得混了?其實現在很多程序員其實是碼農,大家說IT行業是一個知識更新非常快的行業,其實也不盡然 ,更新的是表面,其本質一直沒變,一個碼農一般都學的是皮毛,就懂一點什麼框架 的編程,缺乏學習能力,不懂軟體最基本的原理,學校學的那點一旦過時就什麼也不剩了,那面臨的就是淘汰。
如果是一個了解軟體本質,學習能力強的人,語言只是形式,對於一個項目,覺得什麼語言合適就用什麼語言,你懂一門語言,另外一門語言要不了一個星期就可以編程了,關鍵還是基礎,是原理,是思想和經驗。
所以程序員們,不要被別人的致幻劑迷糊了,只要你肯學能進步,喜歡軟體開發,年齡一定不是問題,只能越來越吃香。
個人觀點,不喜勿噴!也希望大家能夠說明自己的觀點,大家一起學習,一起進步,營造良好的學習氣氛!
大家都知道程序員也分為做什麼開發的程序員,比如市面上最流行的Java、C語言、C++、python、PHP等等開發程序員,未來的發展是不一樣的。
其實,我覺得未來發展前景的話,要找天花板較高的語言來作為基礎學習,慢慢的把自己的架構思維給建立起來。
等你擁有自己的架構思維之後,其實語言就是一種工具而已,所以一定要清晰規劃自己該學習什麼語言,該怎麼樣來學,我在這里推薦Java語言,因為Java語言的學習就能夠幫你初期建立這種思維方式,還有Java語言的獨特性,證明了它的優越性!也證明了它的天花板比其它語言要高,當然上手難度也比較高,自己要有一個清晰的認識,
關於大齡程序員出路,我這里得多說一嘴!
一提到大齡程序員,大家第一時間就會想到,35歲中年危機。
不可否定,35歲這個詞確實很扎心,也是許多程序員的恐懼所在,但是,請大家不要驚慌,要給自己打一針強心劑。
30而立相信大家都聽說過吧?但是也不然,也看個人的機遇和努力!程序員也是一樣!
這里就說到了職業規劃的重要性,從22歲畢業實習再到30歲這八年時間,處於一段技術磨合和提升期,也就是技術的沉澱,沉澱到了一定的時間之後,就要考慮管理經驗的提升,隨著年齡的增長,身體上、思想上、精神上都會出現惰性,當然也跟自己的運動有關系,要加強自己對身體的鍛煉,每年做體檢!
30歲之後,有的人考慮單飛,自己找合夥人創業,自己開公司求發展;有的人繼續按部就班,沉浸在996的世界之中;有的人不斷地提升自己的技術能力和架構思維,在大廠中繼續深造,讓自己變得更有價值!
不知道你們是屬於哪種,但是,最重要的還是個人的思維!希望自己能夠好好考慮一下,從自己下手,徹底的改變自己,不然淘汰是遲早的事兒。
三點:改變自己的思維;加強自己鍛煉;做好職業規劃!
以上個人觀點,不喜勿噴!歡迎大家一起討論。
本人作為程序員,曾經也為這個問題困擾著。程序員在35歲就會面臨各種問題,身邊也有這樣的例子,上一家公司有一個同事,40歲了還在寫代碼,他的工資不高。後來項目預算超標了,他也就成為了被裁員的對象。那是我第一次感覺到了年齡越大而帶來的危機。
但是話有說回來了,40歲了還在寫代碼。只能說明了他對自己沒有明確的職業規劃或者個人的不思進取造成的。IT行業有他的特殊性,第一個特殊性就是知識更新很快,第二個就是很注重職業規劃。
所以要想不被淘汰,要麼積極學習沒擁有很厲害的技術,成為一個領域的技術專家。要麼走管理路線,在平時上班的時候就要注重這方面的培養,首先要在工作中鍛煉,還有考取一些專業的證書來給自己增加競爭力。
當然也有的選擇自己創業,這是最好的結果。所以,在當下最重要的是怎麼給自己規劃。多考慮這方面的問題,要是想通了也就沒有那麼的糾結了。
我是個IT新人,程序員的未來前景毫無疑問是不可小看的。世界逐步進入5G時代,對於程序員來說即是挑戰也是機遇,5G時代到來必將會帶了新的技術升級,也必將淘汰舊的技術,所以說對於程序員即是挑戰也是機遇,只有不斷地學習你才能把我好這一機遇,雷軍說:「站在風口上,豬都能飛」。但首先你得是有準備的豬 。
對於大齡程序員,我是這樣子想的,等我年齡大了,不可能一直處在代碼一線,要麼轉管理崗位,如:技術主管,產品經理,項目經理,有能力的做個技術總監。
要麼轉行,我朋友常常給我開玩笑說,等年齡大了,我們去送外賣吧!自由自在,月入過萬
要麼拿出積累多年資金、人脈開始創業
30+程序員一枚,剛好可以回答這個問題。
先簡要說下我對這兩個問題的答案:
下面,我們就來一一解釋。
程序員是有前(錢)途的職業
首先是 金錢 方面。在所有行業裡面,it行業是比較有前(錢)途的職業,我想這句話可能極少有人反駁。當程序員相對來說能掙錢,即使這些錢是需要加班加點掙來的,但是總歸來說提供了普通人一個掙相對高薪的途徑。即使在北上廣深,當程序員也相對其它行業更容易買車買房,站穩腳跟。另外,每年無數的大專本科生上培訓班,當程序員也很能說明情況。
其次是 行業發展 方面。程序員從事的是it行業的工作,是一門用技術改變生活的行業,it技術已經應用於方方面面,這也無形中給程序員提供了更廣闊的用武之地。
關於大齡程序員的問題,其實我覺得更應該說是 一個普通人中年危機的問題 。因為年齡大了,薪資相對新人更高,加班能力更差是大部分行業都會遇到的問題,只是這個問題在it行業放的更大了。網路當中很多所謂的35歲問題,一部分是來自於程序員的自嘲,一部分情況其實是因為部分大齡程序員拿慣了高工資,沒有做人生規劃,技術沒有提升,然後又遇到了中年危機後無所適從罷了。可能有人會說老師,醫生等行業會隨著年齡增加而成長什麼的,這個確實有其相關性。但是程序員畢業就拿高薪,其它行業可能要積累很多年(這里說的是平均,個例不探討)。
至於出路,我認為出路有很多:
當然,我這里說的大齡程序員指的是正常的程序員,不是那種天天混混日子,突然一裁員發現自己啥也不會的人,我覺得這種人基本上是很難有出路的。
關注令狐一沖,關注區塊鏈和IT技術!
在民企,大齡程序員確實不好混了。華為裁掉35歲以上的普通員工,就說明這些大公司只需要年輕人,加班苦幹。年紀大了,拖家帶口的,加不動班了,就勸退。這種情況說明這種工作都是些按部就班的,沒什麼創造性的工作,不需要很多經驗。
外企的情況會好一些,50多歲的頭發花白的程序員依然在工作,他們看重的是工作的積累,經驗。公司也把這些人當做公司的財富。國內因為抄襲太嚴重,不太注重知識產權,導致程序員的地位並不高。
大齡程序員要在工作之餘,發展一些副業,多學些技能,考一些證書,做一些理財投資等等。保證自己萬一被裁員,不至於沒有收入陷入焦慮。
這問題問的,大齡農民工出路在哪兒?
所以了,人口總量下滑,人力資源不足,大齡程序員總是有人要的,只不過不同水平的去向、待遇不同罷了,這跟年齡、行業沒關系,哪個年齡哪個行業都一樣有分化。
首先,程序員這個職業不再是個香餑餑,這一點各位程序員必須要擺正心態!隨著人工智慧在編程方面的運用以及程序員數量的大規模上漲,未來大多數程序員的待遇會跟 社會 平均工資看齊,短時間依然會有優勢,但隨著時間推移,這種優勢必然轉為劣勢。為何?供需決定價格,以前供不應求當然價格高,未來供大於求甚至每個人都會編程,自然沒啥議價空間。而那些沒人願意乾的臟活累活自然成為高收入崗位。
其次,許多程序員會成為領導或者老闆,畢竟 社會 需求在,有大需求也有小需求,對用戶需求敏感的人自然能夠抓住機會自己創業。
再有,某些高收入程序員會跨界進入別的行業,畢竟有了資本有了 社會 經驗,很多事情都是相通的。
最後,大多數沖不上去也沒錢或沒想跨界的,繼續待在公司里搬磚,雖然加班比不上年輕人,但畢竟經驗豐富,碼代碼的速度和質量是有的,只不過工資持平獎金下降不忍也得忍啊,畢竟為了生活,別的很多職業人家的工資本就是好多年沒變化,程序員也不會例外,之前例外是因為供不應求。
有人說程序員是腦力活,跟農民工不能比,六十歲農民工還能幹活,六十歲程序員腦子怎麼跟得上?作為過來人,筆者可以向各位保證:越大的團隊,里邊需要動腦子的人越少,大多數大廠的程序員混到最後都是乾的力氣活,根本不需要腦子,這就是熟練度。至於這是好是壞,仁者見仁智者見智。
看到這個問題,作為一個資深的程序員和管理者,我認為我有資格來回答這些問題。無論你是因為愛好編程走上程序員這條路,還是因為看見程序員的高薪加入這個行業。既然有這個疑問,就說明你已經有了職業焦慮:程序員真的能一直做下去嗎?是不是35歲就面臨著中年危機?單靠寫代碼能走向管理者崗位嗎?大齡程序員的出路在哪裡?我結合我自己做10多年程序員的經驗(擔任過高級工程師、數據架構師、數據負責人和數據總監等崗位),講講大家都十分感情去的問題。
一 程序員能幹到退休為止嗎? 1.1 從初級程序員開始,不要錯過的發展路徑首先,程序員們關心的都是自己在這個行業能幹多久,而不是在某個公司待多久。尤其是現在行業內卷非常嚴重,幾乎不可能讓你在一個公司工作一輩子;因為,行業變數很大,說不定哪天就裁員了,而且你正好在裁員名單中。針對這種情況,我的建議是:
在自己30歲之前,一定要不斷地豐富自己的知識庫,讓自己的能力保持在行業的頭部。
① 初級->中級
這個階段主要是學習,在很少依賴其他人幫助的前提下,能夠保質保量的完成手上的工作。在這個時期,自己多找幾個師父,由資深的程序員對你做技術路線的指導。這樣即可以少走彎路,又可以快速地學習和掌握前沿知識。
② 中級->高級
這個階段主要是從公司現有的技術架構中,提煉出高難度、有價值的內容。並能夠用批判的眼光看待這些事,總結出哪些做得好,哪些做得差。如果是你來做,你會怎麼做?
可以從領導對你的信任角度上,看出來你在這個階段成長的好壞,如果讓領導和團隊成員對你非常信任,說明你這個階段是成功的,可以方向的走向第三個階段。
③ 高級->資深
這個階段至關重要,涉及到你是走專家路線還是走管理路線,這是一個轉折期。如果自己擅長溝通和樂意交流,在這個階段多觀察你的直屬領導是怎麼安排工作的,他的工作方式有哪些缺陷,如果是你你會怎麼做,需要不斷地總結歸納管理方式方法;除此之外,在技術方面,必須要學會復盤,並且願意復盤,而且是願意看別人復盤。復盤是對程序員幫助最大的環節,一定不要認為復盤是浪費時間。
如果你想走專家路線,那麼就要保持頭腦的清醒:你做的內容是純技術還是業務+技術。如果是純技術,那麼走專家路線是沒有問題的。否則,千萬不要走專家路線。
1.2 消除常見的誤解,包括【只能吃青春飯】一定要消除青春飯的這種不良的意識,為什麼呢?因為管理崗也是技術出身。從程序員編程管理人員,也能夠年薪百萬。如果你不是科班出身,怎麼能做好一個管理者呢?一個管理者需要的技能很多,需求分析、目標設定、資源協調、團隊協調和賦能培訓。管理者不是想想就能做到的,需要既懂技術又懂業務,同時還要懂管理,更要會報告,會表功,甚至會做客戶的公關,智商情商雙雙在線。
如果你練就了這一身本事,還能是青春飯嗎?是不是感覺到自己有很多內容要學習,要修煉。
二 我適合做管理還是技術 2.1 並不是說管理者一定會脫離技術作為程序員,其實人到中年,就要面臨著轉型的挑戰。如果一直寫代碼,你和20歲出頭的小夥子去競爭,就會累得頭破血流。人無遠慮必有近憂,就職業發展規劃來說,應該轉型為架構專家、演算法專家,研發主管或者項目經理。
管理者不是必須要懂技術,管理本身就是一門學問,職業經理人就是依靠管理吃飯的。管理的真正核心是利用資源,知人善任,自己不懂技術可以找一個懂技術的人。經常看見公司的高管在變動,他們在技術、專業方面不一定有多精通,但是具備了經營管理的能力,一樣可以在新的領域取得成績。
2.2 不要做自己不擅長的事,不盲目追求高薪追求高工資,帶來的是錢,也是一種成就感。但是一味想通過跳槽來升職加薪,是最不可取的。可以負責任地講,在你的職業生涯的頭5年,這種做法影響不大。但是在5年以後,你會發現自己沒有沉澱和積累,因為換工作也是非常耗精力的。
不要看見別人做了管理者,自己就認為可以做。自己一定要認清楚自己的能力范圍,在能力達到時,並且自己願意轉型時,值得一搏。
三 除了寫代碼,你還有很多事情要做 3.1 學會互聯網思維,多渠道發展,多種經營有人會說,我現在已經35+歲了,我還是普普通通的程序員,沒有一技之長,也不懂管理。我該怎麼辦呢?互聯網時代給了我們很多創業的機會,比如可以做自媒體,直播帶貨,自己開一個小型的培訓公司。
最好是在自己年輕的時候,就考慮過有一天會被IT行業淘汰,那我應該去做什麼呢?要著手准備什麼呢?
3.2 掌握跨界知識,成為跨界人才我還是那句話,自己行業內的東西對於自己來說,是最簡單的。平時多和其他行業的人交往,多聽、多學,有可能他的領域就是你發光發熱的地方。程序員有著執著、冷靜、聰明的頭腦,做任何事情都不會比其他人差,主要是選好方向。
優秀的程序員不論年齡大小,前景都非常好!巨大的市場需求決定了優秀程序員的緊缺性,在數字化時代,已經沒有哪個行業會離開軟體的支撐,這個趨勢在可預見的未來不會改變。
一般來說,人會隨著年齡的增長,工作的時候精力會跟不上,但從另一個角度講,年齡大了,經驗就會更豐富,尤其對於像程序員這種知識型工種,只要他肯學習,跟上技術的進步和變化,他就不會落後,就會繼續有用武之地。
軟體技術的變化也是非常大的,新的框架、新的開發環境、新的編程語言不斷出現,程序員也要注重自身的學習和修養,為斷適應互聯網+時代的技術發展,只有這樣,程序員才會永葆青春。
當然如果已經功成名就,賬務自由,選擇別的職業也挺好,人各有志,看個人發展和興趣愛好!
❹ 能來說一說你如何看IT男嗎
他們也並不是你們看來的忠厚老實,適合拿來喜當爹的角色,要知道一個真正的IT男會時時刻刻保持著對新事物的敏感性的。
❺ 你們怎麼看待it男
IT男幾乎沒有注重外表的,基本個個都是糙漢,人比較呆滯,也不太會跟女孩子交流。但我覺得IT男是最靠譜的一類人,不跟你搞什麼幺蛾子,我就寫我的代碼,那些花里胡哨的跟他們好像一點關系都沒有,工資很高就是不知道,很適合做大事比如改變世界的那種人。
❻ 為什麼程序圈的人總是說python程序員寫的是偽代碼
偽代碼,偽啥納悶了。我見過有人寫的代碼很高端,各種的封裝,很難看懂,封裝成jar,直接用裡面對應的java註解就可以了。使得程序員無法拼讀源碼,無法進行提升,你只能在上面寫業務代碼。
在說偽不偽我感覺不重要吧,重要是你的項目能產生效能,為公司掙錢,或者為自己掙錢,人還是要生活的。很多人用的代碼看起來很陳舊,但是他可以掙到錢,你用了很新的框架掙不到錢。代碼只是工具,還是以結果來說話的對吧
這種說法沒有正確與否。就程序語言而言,未來的趨勢就是減少低級代碼的編寫,python作為膠水語言,不需要注重性能,更關注用途,在使用上和人的思維更加接近。
程序圈的人因為寫過太多的低級代碼,需要注重性能和實現細節,python這種高級語言對於他們來說確實如此。
但是對於沒有寫過程序的人來說,python還是比較有親和力的,學起來也比較容易。
基本上說出這種話的,可以肯定他根本不懂編程。
一般中小學中二病患者,或者考不上高中,跑去培訓班學個編程就想冒充程序員的最喜歡說著話。
因為正規學習編程的,比如大學計算機系畢業的,不可能沒學過偽代碼。
偽代碼是專門設計用來講解,討論計算機原理,演算法,數據結構等的不可以運行的一種語言。
之所以叫偽代碼,是因為這種代碼沒有編譯器,沒有解釋器,從而根本無法運行,僅僅作為講課用。
上大學學過《演算法導論》,《數據結構》等課程的朋友,肯定對偽代碼不陌生,甚至還專門寫過偽代碼。
是的,偽代碼有自己獨特的語法,需要一定時間的學習。
比如賦值 x
❼ 程序員做不出來項目的時候都在干什麼
程序員做不出項目的時候都在開發源代碼。當你投入於工作,卻沒有什麼成果的時候,那麼下一步你可以嘗試開源代碼。許多編程人員構建軟體,是出於創造解決方案並在線發布以供大家使用的樂趣。有些人發布的代碼曾被它們的程序員使用於商業項目。
❽ 程序員怎麼提高工作效率減少加班
互聯網行業的本質導致了工作的繁雜,加班在所難免。浙江優就業的小U給你幾個提高工作效率的小建議。
計劃,你能夠清楚的知道自己所做的工作是為了什麼目的,然後做好計劃。
使用偽代碼可以讓你看到你要寫得程序長什麼樣?
讓你身邊的人也高效起來。
高效的開發環境,利用更好的工具來完成工作。
注釋和命名,做好備注。
把玩並掌握代碼,多寫代碼。
認真沉思,加班的時候多總結多思考。
必須像工匠一樣寫夠十萬行代碼,又須像寫詩一樣來寫代碼
望採納!