⑴ 如何成为一个程序员
一个程序员应该具备的基础知识和概念:
1、计算机是有什么组成的,CPU是什么东西,其工作原理是什么。
2、机器语言和微指令集的概念。
3、程序的概念。
4、汇编语言是低级语言但不是机器语言。
5、高级语言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中国软件业的英雄,你也写一门语言,最好不用英语) 6、编译程序和解释程序的概念和其原理。(编译器是高手和专家编写的)
7、HTML、XML等是标识性语言。
8、Prolog是人工智能语言。
9、操作系统OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,还有一些实时OS,嵌入OS,编这些的绝对是高手)
10、Windows编程说白了就是Windows API的调用。(中国的程序员很多只是会编windows程序,用的是VB,我的建议是这些程序员顶多只是低级编码员,我称其是coder)
11、VC++、VB、BC、BCB、Delphi、VF等都只是编程的工具和环境,不是编程语言。
12、面向结构的设计概念。
13、面向对象的概念。(好好理解,兄弟,这个东西还是很重要的)
14、软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟)
15、数据库的概念。(要熟悉一些着名的数据库系统和语言的名字,如Orcle,SQL,DB2,DyBase等)
16、了解网络概念。
17、了解多媒体概念。
18、熟悉和掌握数据结构和基本算法。
⑵ 如果想成为一名真正的程序员,应该具备那些条件或者说应该掌握什么知识
首先,我想说一下学习思想.学编程其实跟网络游戏有着类似的效果.开始的时候,你会对那些代码,函数等产生很大的兴趣,尤其是刚接触编程的人,刚学习第一种语言的人.可是,当你一步步深入的时候,你会发现你没有了以前那种斗志.就好象你在玩韩国泡菜网游似的,玩到一定程度,每天就是练级练级,完全是一个想冲到高级别的意志力在支持着你.而学编程就更难了,学了两个月后,总是觉得你好象全都学会了,却又什么都做不了,又没有其他的意志力支持你.这时候你会很容易放弃,或者转到别的如网业制作,PS,FLASH等行业的.其实我告诉你,虽然你觉得你好象已经学了很多了,其实你还是什么都没学呢,等你跨过这道坎,才是你刚入门的时候.说这些,只是想告诉你,学编程中会遇到很多困难,你要努力的克服这些困难,才能真正学到东西.否则,你根本别想学编程,趁早转行.
接下来,我帮你规划一条编程之路.
学编程的人,很少有人没学过C语言的.我推荐让C语言作为你第一个学的语言.虽然有的人说要先学VB,其实这种观念是错误的.C确实比VB枯燥,而且说实话学完C后不学别的就好象没学过,感觉什么都没学会.可是,对初学编程的人来说,只有C语言才能建立起你对编程概念的理解.VB不是编程,VB只是一种工具而已.C语言确实是个不折不扣的语言,真正让你知道什么是编程的语言.有初学C语言,用TC2编译器的人总说他学了C什么都不会.什么软件也写不出来.我可以告诉他,编程编程,编的是程序,而不是软件,软件这是程序的一个构价.你想编程出软件,那以后很轻松的就能掌握,现在你需要学的就是编程,说明确一点,你现在所需要学的就是算法.编程的灵魂是算法,这点每个人都要记住.
所以,第一门语言要学C,推荐的书为谭浩强老师的<C程序设计>(清华大学出版社)或者克尼汉的<C程序设计语言>(美国).
初学者也许需要一套视频教程来帮助自己更快的入门,那么就推荐你去网络搜索"C语言视频教程",第一页的第一条记录就是这个教程.而且是和谭老师的<C程序设计>配套的教程!
注:有些人说谭浩强的书不好,太死板.那么我只能说你最多是个一瓶子不满,半瓶子逛荡的人.真正要掌握高深技术的时候,你会发现你没办法掌握.
C语言要学到什么样才算个头呢?其实,C语言没有学到头一说.有些人学了一辈子,还在钻研.那么你应该到什么时候学下一种呢?按时候算的话,我推荐,如果你每天有6个小时的时间学习的话,一个半月以后,你就可以转到下一个语言的学习过程中了...(我估计普通人在这一个半月内该掌握的都掌握了)
那么,下面要学的是什么呢?这会不会还有人说VB吧.还美其名曰加深对编软件的印象.这种说法很幼稚.学了C语言还学什么VB呀.其实VB确实是很强大的,容易入门,想精通了也不容易.着名的DOS系统就是用BASIC语言写出来的.可是,这种这么易用的软件对于专业学编程的人是一种不好的东西,会让人产生依赖,让人产生惰性.VB的那些控件的功能实在是太强大了,你都不用怎么思考,就可以编写出来.可是,控件毕竟是不能随你的意愿支配的,控件是死的东西.你真正要学的是编写的思想,是函数(Java中称方法).另外,学VB还不如去学Delphi呢.
注:市面上的软件一般一眼就可以看出是用什么语言编程的,而VB编写的软件几乎找不到多少.
所以,下面要学的也就那两种选择了,C++/Java.我推荐,先学Java.
Java实际上是C++改的.去除了C++中指针的部分,让C++变得更安全,同时也比C++稍微简单了一些.你需要去找一些关于Java的介绍,在看下面的东西.
我听一个北大青鸟的老师说Java的最终发展目标是J2EE.我觉得不然,J2ME一定也是个发展方向,只是他跟J2SE,J2EE有很大的不同,开发环境也很不同.关于J2ME的部分我不做讨论.而J2SE呢.说实在的,市面上的J2SE软件确实也是很少的,你见过有几个拓展名为.jre的软件?不过还是要告诉你,学习Java的人肯定最先接触的是J2SE.Java的GUI软件只是技术性的问题,也是开发手段的问题.不管你是要发展到J2EE,还是转到GUI编程,J2SE绝对不是弯路.还是那句话,算法是最重要的.而Java比C++最大的优势在于他的完全面向对象和跨平台.其实,就算你先学了Java,你还是可以很容易的掌握C++,Java程序员和C++程序员的互转是很容易的!再说一些Java的优点.Java比C++方便很多,下载了编译器后一个记事本就能写程序,JBuilder实际上只是个辅助的工具.我去一个搞Linux系统开发的公司看过,用JBuilder的很少,一般都是直接用UltraEdit直接写程序.而C++必须要用VC++等编译器,不说电脑配置低很不好用,光说VS是要花钱的,而JDK永远都是正版(免费下载),就应该用Java.其实这只是习惯问题,不管你是先学Java还是先学C++,都会很快掌握另外一个的.
Java的书有很多,初学不要买实例的,买那种一直讲基础的,清华大学出版的书很好.另外推荐视频教程,孙鑫老师的Java无难事.去52ebook直接搜索名称"Java无难事",一共有12张CD,都下载下来就好了.教程的第一课会教你如何配置,去哪下载编译器等.
要学到什么时候呢?我是这么推荐的,学到你可以不看任何资料,(当然可查看JAVA帮助文档)熟练的编写出一个酒店管理系统来.接下来,你就可以去学别的了.
这个别的,就是C++,还是那句话,Java程序员可以很容易的掌握C++,只要学了C++的基础语法,剩下的就是实践了!
C++的书可以买一本C++语言+SQL的应用,就是讲数据库系统的例子.多练是很重要的.
视频教程推荐孙鑫老师的VC++视频教程,去讯雷上搜索"孙鑫 VC++",找到那个700M多的打包教程,就是了.
其实学懂Java和C,剩下的你真的可以自己掌握了.我粗略的说一下.
比如,你可以学汇编,汇编实际上是很磨人的,不过汇编高手永远都是抢手货.
那么VB呢?DELPHI呢?哈哈,又是VB,你学,这个时候学VB,学不了几天就掌握了.不比初学轻松?
想学的你都去学,甚至还可以去学Flash,连Flash ActionScript都可以很轻松的掌握.
其实现在,你的路已经定下来了.你剩下的就是不段实践,不段往更高的方向发展.
在这之前,建议你去考几个试.
去考中国计算机软件职业资格水平考试,直接考中级的软件工程师.或者再学一些别的,考个网络工程师.如果你愿意,你可以再多学点东西,把全国计算机等级考试的1到3级的所有东西都考下来.呵呵.
到了这种程度,我想真的不用我再说了,都考你自己了.
最后,记住两句话.
编程的灵魂是算法+数据结构!
学好编程实践最重要!
⑶ 如果要当程序员,应该从哪里学起
当程序员我觉得可以从基础学习,比如说可以学一下c语言,因为这个是程序员最基础的东西,你也可以学一些其他的语言都是相对比较重要的。
⑷ 如何成为程序员
近几年,高校毕业人数不断增长,就业形势越发严峻。很多人为了提升自身的竞争力,纷纷投身到IT行业来发展。但是对于一个小白来说,该如何进入这个行业呢?
自学或参加系统培训,是目前众多小白进入这个行业选择的普遍方式。但是到底是选择自学,还是参加系统培训,这需要结合个人的实际情况来选择。
1.个人时间安排
01. 如果你急着找工作,时间比较紧迫,建议选择系统性培训。系统培训耗时相对较短,效率更高,遇到问题有专业老师进行指导,循序渐进的课程安排,学习起来更容易。
02. 如果你还处在大一大二,时间相对没那么紧迫,可以选择自学。因为时间相对充裕,自己可以慢慢钻研,在不断的摸索中总结成长。
2.个人自学能力
01.自学能力和自控能力较弱的小白,建议选择系统性培训。系统性培训有严谨的课程安排,有专业的老师指导,能更高效掌握知识和技能。
02.自学能力,自控能力强,可以选择自学。为自己系统的计划学习内容,规划好学习时间,严格按照自己的计划节奏去学习。当然还要做好解决众多难题的心理准备。
⑸ 要做程序员需要学会什么
其实简单来说,程序员的工作就是使用编程语言,根据需求写出一个程序。
但是,在这个过程中,涉及如下几个方面:
使用的编程语言 程序员需要选择一门或者多门语言来编程,不同的语言适合编写不同的程序,目前主流编程语言包括,Java、JavaScript、Python、C++、php以及其他小语种等等,每种编程语言适合开发的程序有所不同。目前从程序应用分来,主要可以分为三类a 企业应用,主要用于解决企业业务。各种企业管理后台系统,银行系统,公安系统,图书管理系统等等。
b 互联网应用,面向互联网用户,为互联网用户提供各类服务。比如现在的京东淘宝各类电商系统等。
c 移动应用,各类在移动端使用的APP,有面向互联网用户的APP,也有面向企业内部的APP。
目前相对而言,在移动应用和互联网应用方面,资本投入比较热的风口,程序员的薪资较高。企业应用,发展了很多年,相对平稳。
2. 明白需求,实现需求
需求就是编写程序的要求。一个程序要编写成什么样子,具备哪些功能,都是由需求来具体说明。程序员要需要能看懂需求文档,并且能准确地使用编程语言,根据需求中的要求来编写成程序。企业开发的项目,往往会由该程序的架构师提供一个程序框架,程序员在该框架的规范下进行编程,实现需求的功能,以确保程序的规范、可读,以及可维护性。
3. 日常工作写程序
一个软件开发一般流程是产品经理根据用户需求做一个项目出来,然后UI设计师做一些图片设计,前端开发编写页面,后台开发编写核心编程,然后介入一些大数据和人工智能,通过测试之类上线实施,后期还有运维进行相关维护。
程序员一般大多指的是前端和后台写代码程序的开发人员,除了编写代码,可能还需要通过接口和其它系统对接,实现系统间的数据交换。像单体测试,是程序员对自己写好的程序单元进行测试,检测这个程序单元数据输入和数据输出是否符合预期等等。测试出来的问题,需要修改正确,然后再测试,直至没有问题。和同事共同开发的时候也需要联合测试,以及用户测试过后如果存在BUG继续进行修改。
⑹ 如何成为一个牛逼的程序员
如果要想成为一个厉害的程序员,涉及到的方面比较多。
首先要了解计算机的组成原理、结构体系,还要熟练掌握多种编程语言,以及常见的算法。
还需要熟悉各种软件知识:网络、图形图像、数据结构、编译原理等
同时熟悉相关的专业知识,这个得看所在行业了。如在电力行业的软件需要对电力调度、保护设备等了如指掌。
这些,需要投入大量的时间进行学习。需要毅力才可以实现,不是说说就行的。
⑺ 你觉得如何才能成为一名不可替代的程序员
必须要长时间的坚持学习,以及长时间的坚持努力工作,比如可以经常性的去阅读相关的书籍和经常的去找一些学习的资料来去进行学习,当然也可以将自己写的程序进行分享,重要的是一定要选择长期的坚持下去,只有长时间的坚持才有可能让自己变得更优秀。
想要成为一名优秀的程序员,那么就必须要长时间的坚持学习,因为程序员本身就需要大量的知识。每一个人的人生都是非常短暂的,每一个人虽然都有着自己的方向,不过想要去坚持下来的人却非常的少,因此在我们的职业生涯当中我们作为一名优秀的程序员就必须要长时间的去坚持学习,只有学习才能够提高自己,才能够让自己的职业生涯延长,能够在自己职业生涯发展的过程之中击败那些在半路就选择颓废的,才能够击败那些虽然跑的很远可是跑着跑着就慢慢放弃的人。
想要成为一名不可被替代的程序员,就必须要努力的提高自己,要让自己具有很多的知识,这样才能够去让自己得到更多自己想要的东西。
⑻ 如何自学成为程序员
如何学习自学编程的方式最好的莫过于在网络上面查找资源。
目前,网络上电脑资源多不胜数。其中有很多都是基础到精通的视频教程。通过视频讲解。让你明白重点知识。你通过查找一套适合自己的视频。然后看完是基本。
这里推荐几个可以在线学习的好网站:慕课、极客学院、传智播客、如朋网、网易公开课等等做笔记在进行看视频的过程中,一定注意要记笔记。
对视频中重点的部分进行截图,并加以文字解释。就形成了自己的笔记。这些笔记对于你来说很重要。通过记笔记的形式,你就不需要重新观看视频了。只需要复习的时候查看笔记就够了,这样就大大的节约了时间。
下面介绍一个记笔记的好软件:CherryTree多练习代码在视频中讲解的代码,我认为你至少需要自己写三遍以上。在写代码的时候,就用到了上面写的笔记了。通过看笔记截图,即可自己慢慢摸索写出来代码。当然练习到一定程度,就需要你适当的做个项目。巩固自己的知识。
程序员必备技能
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课。
网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合。
编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。
在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
⑼ 想成为一个优秀的游戏程序员的我,如何才能快速入门
主要学的内容如下:
1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2.算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3.Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4.游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
5.2D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
⑽ 如何成为一个程序员
想要从零开始成为程序员,先不要着急的去学习,而是先要去了解程序员。
1.随便在招聘网站搜索就会发现程序员会分有很多类型,那你就需要确定自己将来想要发展的方向,自己的职业规划是什么?
2.通过搜索可以看到,刚刚起步的程序员工资并不是很高而且学习阶段也会比较忙,那这个时候你是不是靠考虑一下如何兼顾生活和工作?工资如何支配合理等问题(没有经验限制的工作相对较低)
PHP程序员岗位要求
关于学习建议你这样试试看:
学习的方式基本可分为两个类型,一个是碎片化的学习,一个是系统进修。
你可以从网络上各机构大量的视频或者书籍得到相关的学习资料。从大量的资料中,发现真正的干货,从而不断学习,这属于碎片化的自习。由于自学周期比较长,还有不少小伙伴选择是一边工作赚取生活费,一边再利用闲暇时间学习,当然如果你的精力充沛,这也是一个好办法。
如果要报培训班, 一定要找正规的培训机构学习,不然容易被坑。培训机构里面的课程都是现在工作中需要用到的,时间短,基本上是可以让你快速上手工作的。但是要把所有的知识点都消化就没那么快了,所以需要自己私下更加的努力,巩固学习。
注意事项:
1. 自学要注意的是:自学入门时会很枯燥,不要两天打鱼三天晒网!!!切记
2. 在培训机构里学习要注意的是:勤加练习、主动自学、有问题提,不懂的尽管问老师(把交的钱发挥到极致),不然之后再有问题就没有这么好的机会能够直接得到老师的指点了。
最后,祝愿想要成为程序员的小伙伴都能心想事成哦(*^▽^*)~