Ⅰ 程序员学哪种语言最好
1 、对普通人而言不建议C或C++
高手请略过,该语言底层,比较难,用的少。但对该语言一直怀有深深的敬意
2 、不建议学习Oracle、Cisco和C#系列
使用的公司少,就业面狭窄。Oracle主要金融、银行在用,Cisco是路由器技术,用的公司也比较少,C#运行的Window服务器环境貌似只占了5%,这些语言并不是说不行,而是使用面狭窄
具体看下不同语言的差异
3、Web前端
web前端是最近才火的一个专业,遥想两年前,做前端的还是被亲切的称为“前端仔”,从事的是一些切图、布局、做浏览器兼容性等等不是那么有技术含量的工作,很多公司的前端甚至外包出去,“前端仔”一直生活在程序员鄙视链的最底层。
4、服务端开发
如果想学服务端开发,随便选一门语言即可,无论是Java、PHP还是Python,都是得到广泛应用。
服务端主要工作包括业务逻辑的开发、数据模型的设计、可能还有中间件的开发、部署上线任务等等。
服务端工程师的发展方向是架构师以及CTO了,需要根据用户量,产品特征来设计整个系统的架构。比如现在需要做一个互联网产品,这个产品的用户量你需要估计有多大,根据用户量推算需要多少服务器,是否要做分布式,前端缓存要不要,用什么语言开发等等.....这都是架构师或者CTO需要解决的工作。
其实服务端还包括很多内容,比如可能需要开发中间件,还需要部署开发测试环境,自动化测试工具等等,这些都属于后端工程师的范畴。
5、机器学习工程师(数据科学)
其实市面上对机器学习的理解不对的,机器学习应该属于数据科学的范畴,可笑的是社会上只是吹嘘这个概念,而连基础的概念都很少有人清楚
6、C/C++
C++能做什么呢?貌似什么都能做,又什么都不能做... 但学习C++对了解计算机体系结构还是非常有作用的,其应用范围包括操作系统、驱动开发、黑客技术、反编译软件破解、外挂开发等等,包括Nodjs、Java虚拟机、数据库的底层代码都是用C++来完成,所以如果你立志做一名极客,可能C++还是必须掌握的。但是其比较难,不像其它语言撸几天就能撸个网站跑起来,C++从入门到应用实在是一件挺困难的事。
7、硬件工程师
偏传统行业,研发周期长,没软件行业迭代快。需要的技能包括C/C++语言、汇编、电子电路、滤波器、arm等等。由于产业链条长,迭代慢,缺乏爆发性增长能力,整体收入并没软件工程师高。当然,硬件公司一旦成长起来更容易形成行业垄断力,比如大疆、Intel等等,而且,确实很好玩是不是?
Ⅱ 请问游戏程序员应该学什么语言
我不是这方面的高手,但有几点建议,希望对您有所帮助
一、最好是c和c++,图形方面的组件开发等这些
二、新手入门这些市面上的东西基本上对您估计没有实用价值的。
最好的办法,学好基础,然后找到游戏公司做几年。慢慢深入。
国内的绝大部分学校都不具备这种资质,更别说一些小教程了。最好找游戏公司工作是最好的
以上是我的认识。
Ⅲ 程序员需要学多种语言吗
得看这位程序员的知识到什么程度了
如果是高级架构师级别的,那多学一些知识,扩大自己的知识面也无妨
如果是中级,或是初级,建议选一门,让自己在这一门里钻研到极致
如果是菜鸟级,想好自己以后要往哪方面走,选定一门,开始学习
学习最忌三心二意。俗话说:“伤其十指不如断其一指”,每门都学一点,还不如专心学好一个方向。这个道理谁都懂,可是又该学哪个方向呢?难道只能跟着感觉走吗?
不!
最实际的方向,应该跟着工作走,工作需要什么,我们就学什么,把工作需要的技能熟练掌握,有很多好处。
首先,可以集中精力,在某一方面钻研得更加深入。所谓“百招会不如一招绝”,有了绝招,你还怕不能在“武林”立足吗?《天龙八部》中的慕容复武功博学无比,最后还不是被只会一招六脉神剑的段誉打得落花流水?
Java基础视频教程:
周一、三、五、六、试听
Ⅳ 编程怎么入门/程序员需要学什么
编程这个概念很大,不同领域需要学习的编程语言不同。
应该先从你兴趣开始,有兴趣再决定编程领域,有了编程领域在决定语言.不同的语言对应着不同编程领域,只有确定这些信息了,才知道要看什么书籍。
如果你要学完那是有点不现实.因此你要回想一下你兴趣来源是什么?比如喜欢做黑客,喜欢研究反病毒,喜欢为Windows桌面开发一些实用的小软件等等.要分析好兴趣来由,在决定你的发展方向,就好了.比如你喜欢为WINDOWS开发软件,那么 C语言是必备基础,学好好了然后在扩展一门面向对象的语言比如C++ C# JAVA 等.这些是不错的选择。然后光有语言不行,为了软件的质量保证,还需要研究一下系统理论基础,这样你的软件才能做到对系统的作家兼容性和获取最佳性能。
Ⅳ 要做程序员需要学会什么
要做程序员需要学会什么
程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:
1、掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
2、理解计算机的组成以及各主要部件的性能指标;
3、掌握操作系统、程序设计语言的基础知识;
4、熟练掌握计算机常用办公软件的基本操作方法;
5、熟练掌握基本数据结构和常用算法;
6、熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
7、熟悉数据库、网络和多媒体的基础知识;
8、掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
9、了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
10、了解信息化、计算机应用的基础知识;
11、正确阅读和理解计算机领域的简单英文资料。
程序员必备技能:
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、网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面。
2、企业软件开发
JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发。
3、系统软件
C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。
当然,这分类不是绝对,像JAVA、C#、VB很多时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。
Ⅵ 想当程序员,我应该先学什么语言
学习计算机语言并不难,但若让LZ第一次就学JAVA的话估计
非天才攻不了,精通编程也不是一朝一夕的学习任务啊~
建议先学Turbo C 2.0,标准的C语言,虽然派不上什么用场
,但是作为计算机语言培养思维的话是非常重要的,比较的简
单易懂,易操作。
可视化编程VB6.0,这个对于软件的开发是非常有用的利器!
当然结构也会相对的复杂,优点是非常的直观,如果你想往软
件开发发展的话这个是必学。
到此,可以说已经不是一般的编程的小辈,有一定经验的话学
任何语言也不会觉得难了,接下来便可以学VC++或JAVA,
JAVA比较热门,但是你若学活了JAVA定能有一凡大事业哦~
最后,你说的网站编程。现在应该已经不存在网站编程这个说
法了,FrontPage、Dreamwear的出现已经让HTML变成一门傻
瓜语言,如果真的想学好网站设计的话,学动态语言是很有必
要的,目前流行的有ASP、PHP、CGI三大门动态语言,当然连
接的数据库SQL、ACCESS也有一定必要去掌握的
Ⅶ 成为程序员要学什么语言
首先定位好做哪种技术,然后在学习相关的内容,目前需求大的是PHP、HTML5技术人员。
各开发语言的使用: VVIP
1、iOS:Objective-C(核心语言),C语言(基础语言,重点在数据结构和算法),Swift(趋势语言)
2、Android:Java
3、大数据:Java
4、VR:C#
5、跨平台技术:C++
6、WEB:HTML5 + JS
7、游戏: Cocoas2D等C++、JS语言
Ⅷ 要当程序员 需要会哪几种语言
信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。
虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。
第一种武器:开发工具
至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
第二种武器:数据库
为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
第三种武器:操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
第四种武器:网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
第五种武器:DCOM/CORBA/XML/WEB Services
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
第六种武器:软件工程与CMM
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
第七种武器:强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
Ⅸ 一般的程序员需要会几种语言一般都是哪几种
一个真正程序员应该会C,并且至少还要会其它的一种语言(是精通)
一个好的程序员应该还要会汇编,而且至少要会目前最流行的语言(不是精通)
Ⅹ 做程序员学习哪一种程序语言最佳
一般都是java,java是所有语言的基础,并且所有的语言都离不开java,它可以算是老大哥了