一直想学手机游戏开发,不过我对程序设计一窍不通,但我有很强的学习

本帖子已过去太久远了,不再提供回复功能。好苦恼,想学游戏开发,但是学习的是Java语言,web开发是我的强项,但是真心不想做下去了_百度知道
好苦恼,想学游戏开发,但是学习的是Java语言,web开发是我的强项,但是真心不想做下去了
我现在只是对游戏感兴趣,特想以后从事游戏开发,但是据我所知游戏开发都是c++语言,win编程什么的,我现在的方向是web开发,做得还可以,不过要是没有机会从事游戏编程,我不知道自己会不会能放弃coding这个方向寻找游戏策划的工作,好苦恼呀,到底要不要决定...
我有更好的答案
而是内容的设计,也许你到那个行业会发现自己根本无法主导一个游戏的品质你对游戏这么有兴趣,应该了解现在国内的现状,好的程序员到处都是在中国做游戏?你可要想清楚了游戏最重要的不是编程技术
其实就是喜欢啊,我不喜欢自己总是做那些死板界面的应用软件,我喜欢看自己的程序动起来,把一些抽象的代码让它以图形的形式展现出来,这样才让我觉得,我的程序是活的,呵呵,想法就是这么简单。
如果单纯喜欢游戏,推荐你转android,有java基础比较容易上手,我觉得趋势也不错,逐渐挤压苹果的市场了,很多都是小团队在开发,每个人在团队里都有一定发言权,编码人员也更能在程序中展现自己的想法如果想接触大型游戏的图形开发,只能转c++了
采纳率:59%
起点都差不多,关键看你毅力和学习能力,只要你学习能力强,会就是有好处的。。,希望你考虑清楚一定做你喜欢的,软件这方面前景很广的。感觉真是。,现在做电子商务,就别犹豫。而且游戏包含的范围很广,你学的任何知识都有可能用到,web开发什么的。说实话。。。我之前毕业的时候找了个实习是游戏的。虽然没难度也都能搞定。但是,别碍于你会了多少,差了多少。虽然做游戏要学的东西很多,也有你没听过的,但是都没关系。。,入了这个行业有的是时间给你学,也没人催你。所以还是做自己喜欢的吧。,后悔了,到了公司都是要重新学习他们那里的工具的,没有不行的,如果决定了,虽然现在换也可以,但是起点高其实优势很多的。。。当时感觉一般般那,没啥特别的,结果草草的去做别的了,都别pia,既然你有擅长的地方。。真是。无聊死了无聊死了 。。真的,而且可以做更加相关的岗位!不管怎样,我打算换了。知识面很广。因为不管伱会多少差多少
有java基础,可以改行做手机游戏,安卓开发基础实际就是java,大型单机游戏采用DX11 和VC.net开发
我喜欢大型一点的游戏,其实安卓游戏我也觉得是个方向,而且以后手机端的游戏发展前景广阔,我想不行的话我也会考虑安卓游戏开发的
大一点的游戏基本是一个团队开发,又大概分为策划、程序、美工等,看你的基础,应该入程序部门,先修炼好自己的内功吧。游戏开发特别是游戏引擎开发、需要熟练掌握计算机本科专业所学的知识,(C语言或C++语言,数据结构,各种算法等,另外线性代数、微积分、力学在图形和物理引擎开发方面用途也很广泛)有些还需要掌握硬件相关的知识针对硬件编写优化代码、提高自己游戏的竞争力。有机会到游戏公司去实习,真正的游戏开发 学校那些东西根本不够用
那个你这么想做游戏开发去做页游啊,现在页游这么火而且有的页游就是JAVA开发的
呵呵,想过这个呀,还自学过易语言开发外挂,不过没有成功,但是网上的都说也有的后台是PHP写的,Java做页游真的能行么,行的话我就可以一边工作一边学习c++语言了
可以的,我的同学在人人做游戏开发他们一个什么三国什么的游戏就是JAVA开发的,他也是学JAVA的,你看那些页游公司很多招JAVA开发的,貌似那个很火的七雄争霸也是JAVA开发的
哈哈,你让我 看见前途一片光明了,我会好好查查这方面的资料,要是觉得还不错的话就做这行了。
嗯,现在页游发展很迅猛,也有开发周期短,成本低,做好了收入不比端游差多少,一个小组十几个人可能就能开发出一款简单的页游,像那种大型游戏一个公司整上半天才能出来,现在中国的单机游戏差不多也没落了,端游除了天下三,梦幻西游这几个国产的还出点名,剩下的都赚不了什么钱,大部分游戏都是做的代理,你去了可能就是维护后台什么的,不会参与游戏的制作
说明 你学的编程知识太狭隘了。你以为做游戏开发的就不需要java,大型网络游戏做的比较好的,服务器端后台服务都是java写的,我感觉你理解的游戏应该就是那种看起来很华丽,很炫的客户端。不是游戏的全部。
是呀,因为自己不是软件这个专业的,电商所学的知识很多很杂,技术课程只是其中三分之一,但是自己还是走了技术这条路,但是觉得学习还是很狭窄,以前只是零零星星帮过老师做外面的项目,但是自从接触网游后就一发不可收拾了,写过外挂(没成功),学过c++,但是自身项目占用太多时间最后不了了之,一直在纠结,其实我只是想先进入游戏这个职业,以后想慢慢学习游戏开发。。。
笨,不会去android上面开发游戏么,用的是JAVA啊
这位仁兄骂得好啊,我其实还是一个未毕业的学生,很迷茫,喜欢游戏,只是因为我喜欢看自己的程序动起来,把一些抽象的代码让它以图形的形式展现出来,这样才让我觉得,我的程序是活的。听学长说安卓游戏开发也不错,我再看看,要是前景好的话会积极转行
前景adroid是不用质疑的,看你大部分的时间都在犹豫啊,其实每个行业精通则无敌,但要想精通谈何容易,所以要早定方向,早点向方向努力,而不是把时间花在犹豫上面,而且你也不可能一直写代码早晚要走上管理层,上管理层最忌讳犹豫,它会错失良机,当然做得好叫果断,做得不好叫草率,加油吧。。。。
其他4条回答
为您推荐:
其他类似问题
您可能关注的内容
java语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Java开发程序员有哪些优势?0基础如何学Java开发
java语言在所有计算机语言里面排行是第一的,应用广泛,可以应用在各个领域根深蒂固,可以运行在任何操作系统上面,是应用层最主流的语言。
据了解,全球有25亿Java器件运行着Java,450多万Java开发者活跃在地球的每个角落,数以千万计的Web用户每次上网都亲历Java的威力。越来越多的企业,因为使用了Java而提高了生产效率,企业对Java程序员的重视则通过薪资体现出来。做一名Java程序员虽然会辛苦,但是薪资高,前景好,受到很多年轻人的追捧,学习编程的人多数会首选学习java。
Java开发人才具有哪些优势?
1、人才需求量大;2017人才编程人才需求量高达100万
2、薪资待遇高,员工薪资提升速度快;
3、个人提升空间大,出国机会多;
4、软件企业工作环境优越、舒适,工作自主性高;
5、软件人才社会地位高,受人尊重;
6、成功的机会远远高于其他传统行业。
0基础的同学如何学习Java开发?
许多没接触过编程的同学,总是以为编程是非常专业的事情,自己在学校的时候没有学过,怕学不会都不敢轻易的去尝试。想想我们刚上学的时候对于将要学习的知识也是一窍不通的,但是学过之后就明白原本自以为很难的东西没有学过的东西其实是可以学会的。学习Java开发也是如此,只要肯学习,掌握方法不怕学不会。
1、多做项目多练习
Java开发是实战性比较强的一门课程,理论知识固然重要,但实战练习更重要。因此Java开发需要学习者拥有较强的心理素质和吃苦耐劳的素质,不仅要有面对难题不退缩的勇气,更要有长久坚持学习的毅力。
2、选好Java开发培训学校是关键
学习Java开发,选IT培训机构首先要看看它的课程与师资,一个好的培训机构都是有一套完整的课程体系与强大的师资力量的,光环Java培训机构成立十六年来不断地改革创新课程,拥有一套堪称完美的教学体系,只聘请拥有十年以上丰富的编程开发经验的实战专家当老师,一步步教会学生Java开发技术。
再者看教学环境与就业情况,一个好的编程培训机构,教学环境一定是优良的,教学设备一定是齐全的,学员的就业一定是非常好的,就好比一度教育,有宽敞的教室,非常好的教学环境,营造良好的学习氛围,提供的人才在业界也是深受好评,值得每一位学员信赖。
很多人还会问,学完Java开发之后可以做什么工作?好不好就业?
Java语言应用广泛,Java程序员的就业岗位自然也是很多的,可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
讲解新手如何系统学习大数据
解答人工智能学什么,如何学习人工智能的问题
今日搜狐热点谁知道有没有在手机上进行类似编游戏的编程软件,我想在手机上练习编程,急求,非常感谢!!!-想在手机上练习编程,推荐一个软件吧 c语言 _星空游戏网
谁知道有没有在手机上进行类似编游戏的编程软件,我想在手机上练习编程,急求,非常感谢!!!
谁知道有没有在手机上进行类似编游戏的编程软件,我想在手机上练习编程,急求,非常感谢!!!
好,这个手机软件你需要的话就去应用宝下载吧,那是专门为安卓手机设计的游戏和软件下载平台,你去首页搜索关键字就好了,那是专门为安卓手机设计的游戏软件下载平台,哪里下载起来阮件很安全的,编程软件很少见但是应该也会有,你试试搜索就知道了
好,这个手机软件你需要的话就去应用宝下载吧,那是专门为安卓手机设计的游戏和软件下载平台,你去首页搜索关键字就好了,那是专门为安卓手机设计的游戏软件下载平台,哪里下载起来阮件很安全的,编程软件很少见但是应该也会有,你试试搜索就知道了
下载一个不就好了
没有,根本也不会有!
指令工场少儿编程,这是目前手机app中能找到的最好的编程学习软件
有没有类似地道茶坊的手机app游戏?……
玩玩 武林外传吧,这是一个很好玩的游戏 我的 手机上就安装着一个,是从应用宝上下载的 是正版的游戏,...有没有类似赛道狂飙的手机游戏啊……
你可以试一下狂野飙车8 极速凌云,从设计上还是效果上都很精彩,可以用应用宝下载安装,从下载到安装也就...手机有没有一种游戏时模拟城市道路驾驶的???……
你可以在应用宝上面搜索一下,这个上面资源很多的 还有很多的内测游戏,是可以提前的下载到 这个还有一键...手机上有什么游戏是模拟汽车在城市道路中行驶……
1,你说的这个就是有很多的啊,我前段时间上网找东西的时候就见不少呢,你自己用的话可以直接看下,2,就...梭哈在手机上怎么收不到!?难道没有这个游戏?……
灞原上的秋风细雨初定, 傍晚看见雁群南去不停。有一款安卓手机游戏,游戏里面有水从上面滴下来,下面有个瓶子,你有一些道具,要用道具瓶子里面装满水。……
魔法水滴有没有哪款手机游戏有官方人民币交易渠道,类似于电脑版的梦幻西游一样的!……
你好,你想玩就去应用宝下载,就在首页直接搜索你需要的游戏类型就行吧 那是专门为安卓手机设计的 游戏下...苹果手机上 类似超音速隧道的游戏有哪些?……
3d音速飞行 其实我给你回答这个问题的时候, 我发现很多的小伙伴都在寻找自己不知道的手机游戏 其实大...有一款手机游戏,就是有一个玩偶,用道具桌弄他,什么游戏,……
您好:您说的这款手机游戏应该是玩偶奇侠,您可以到应用宝里面下载玩偶奇侠这款手机游戏的,打开腾讯电脑管...在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
笔者只用过java和C#,js只是看了点皮毛。对于ruby,python,go,lisp等网络上常见的语言一窍不通。并且,限制于个人能力,对java和C#的认识也并没有很深刻。
想请对编程比较有功底的同志说说自己对各种语言的理解,包括他们的优劣。发表观点时,请尽量具体。
1.java的编程效率不是很高,特别是相对于C#来说。比如,C#中可以使用lambda表达式优雅实现的功能,在java中必须要写大量的,繁复的代码才能完成,且可读性较低。GUI编程更不用说,vs的窗体设计器相对eclipse或者intelliJ idea的窗体设计器要先进一个时代。
2.java的开发工具和vs相比有较大差距。之前java开发时使用eclipse,现在改用intelliJ idea,后者相对前者有较大幅度的提升。但是相对vs,还是有一些差距。比如在开发中时常遇到版本管理工具出问题。代码部署不及时(eclipse也有此问题)。
3.java编程感觉不好,不爽。感觉java不会为程序员考虑,比如C#和android的库中都有string.isnullorempty()类似的函数,但是java中就没有,实现此功能必须if("".equauls(var) || var == null)。类似的地方还有很多。相对地,C#就提供了相当多的语法糖类的机制,将编程变得更加简单和高效,对程序员也更加友好。
非具体的、空谈的观点请勿跟帖,谢谢合作。
1.想把题目修改成“谈谈你对自己熟悉的编程语言的理解”,无奈segmentfault不支持修改问题的标题。其实我只是想让您说一下自己对比较熟悉的编程语言的理解(在语言层面上、具体地说明),并且在这些谈论中,能让人对编程语言有更加深刻的理解。
2.本题的目的并不是想在众多编程语言中进行比较,选出谁最牛逼。可能由于我的原因(在我举的例子中,不自觉的将java和C#相比,其实,我的初衷只是在比较中说明问题而已),但是请接下来回答的同志们了解这一点。
3.有些同志谈到了语言生态层面,并且见解相当独到和深刻,但其实,题主更想看到一些语言层面上的东西。
来源: 101 新手上路
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
虽然很多程序员觉得这个问题的 level 很 low,都不屑于回答这种问题。
但是题主的态度是很认真的,并写了很多自己的见解,所以我对这个问题点了赞。希望题主认真选择自己的使用语言。
看来题主不太喜欢java。只要看我的用户名就知道了,我是java粉。题主在字里行间都流露出对C#的赞美之词,难道题主不知道“PHP是世界上最好的语言”这个真理吗?
你只要说出1个java的缺点,我就可以说出来10个C#的缺点,但是这样的争论完全是浪费时间。
我很同意题主的观点,单论语言层面,C#可以甩java几条街。如果同易用性来讲,windows也可以甩linux几条街。甚至,在浩如烟海、成百上千的android机中,肯定有几款在iphone之上。
就好比我们相亲时,第一感觉肯定是被外貌所吸引,“大波、浪”只是我们做出选择的一个方面,但不是唯一。
我可以以java粉的身份告诉你:在企业开发领域,java是当之无愧的王者,微软为C#烧了那么多钱都无法撼动,难道ruby、PHP可以?哪怕是最火的nodejs,在web领域可以和java抗衡,而且java也已经败了,但是在企业开发领域,java是最好的,没有之一
java就如同iOS,如同*nux。也许java有很多缺点,IDE不如VS,易用性不如PHP,异步不如nodejs,但是,企业依然选择它,因为他不仅仅是语言,而是一整个生态系统。
1024核配32G内存的android就算比iphone快100倍,我依然认为iOS是最好的手机操作系统,是因为他的整个生态系统,而不仅仅是一部手机。
虽然PHP是世界上最好的语言,但是java有世界上最好的生态(目前)。
---------------- 日17:22:16 更新------------
看到你又补充了问题,“就语言层面”来讲,一般是:越是后开发的语言,越优雅。比如C# 比java优雅,PHP比perl优雅,而且,各种语言也都在相互借鉴。
如果java不够优雅,可以试试Scala。不过C#不够优雅,可以试试F#。不过JavaScript不够优雅,可以试试CoffeeScript。
再者:没有不优雅的语言,只有不优雅的程序员。
一个伐木工每天用斧头伐木,后来他听光头强说,电锯比较好用,不仅省力,而且快。
于是他买了电锯,抡圆了朝着树干砍去,……于是他哭着说,童话里都是骗人的。
不是电锯不好用,而是他不会用。
有人说LISP优雅,那么写个操作系统试试。有人说C优雅,那么用C做个网站试试。
哪些说C#优雅的,把VS关了,打开st、vim写个网站出来试试。
如果遇到两种语言,一种难学,一种易学。我通常会选择难学的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
Lisp(系)
各种思想的老祖宗。据说越像lisp的语言越牛逼(误)
学术价值宇宙第一,实用价值较低,不明觉厉
可以做任何用处,但最大的用处还是写写操作系统和编译器之类的,一般人用起来只能添乱。重剑无锋,大巧不工
工程性0,lisp度0,底层亲和型100%
宇宙主流语言中年纪最大的语言
为了让一般人也有饭吃,从C衍生的变种。写C需要一群高手,但C++只要一个高手把架子搭稳,一般市民也能写代码啦。写代码能谈得上是“工程”了
问题是搭架子的人如果水平不够,或者一般市民不听那个人的,那也是一场灾难。
宇宙中特性最多的语言
为了让半瓶水也能搭出能用的架子,工程性点到满还有些溢出,派生出了邪教“设计模式真理教”“OO拯救世界教”“全家都是接口党”等
由于邪教干扰,老东家不利索,新东家坑爹等等天灾人祸,原本应当更伟大的全领域语言在桌面GUI方面只有IDE方面所向披靡,服务端方面只有企业应用半壁江山。所幸天无绝人之路,老乡的谷哥把认他为义子,放进了安卓中,顿时前景又光明了起来
宇宙中最适合煮咖啡的语言
不怎么了解,展示了肾教淫威的语言
但从语言角度来说,完全躺在一个干爹怀里是很不好的征兆
宇宙中开发环境最贵的语言
大法好。独树一帜的语法,巧妙的设计,文武双全。小可以随手作脚本,大可以承载大型工程。漂亮的数据结构和模块系统。
可惜版本分裂得厉害,进入3以后就没有以后了
宇宙中最关心空格的语言
小清新。独树另一帜的语法,另一种巧妙的设计。据说实现需求速度飞快。
magic就是那种看上去无比优雅风骚性感,实际工业开发的时候发现千人千面,难以查错难以维护的风格,ruby以此为荣,所以我觉得始终摆脱不了玩具语言
不得不提到的是gem体系引领了第一波github的狂欢
宇宙中名字最高贵的语言
Javascript
平淡无奇的语法中蕴含了不亚于ruby的“Lisp度”或者说元编程能力,但没人能想到真正使Javascript爆发的是原因来自于他non-block的天性。这个为异步而生的语言被Node选中,成为了完美的异步服务端脚本语言。
没有namespace的JS通过“每个库把自己的依赖库重复装在自己目录里”的方式,暴力解决了依赖冲突的千古问题。然后又恰逢HTML5迎面而来,于是天时地利人和,顺势成为社区最火的语言,github trending保持占领一半位置
不过没逃过“灵活”的语言的通病:难以调试、维护、查错。需要lead programmer严格把控整体风格。
宇宙中“我会JS”涵义最丰富的语言
全宇宙最好的语言
主流语言中唯一主动聚焦于单个场景的语言。“克制”是PHP语言设计的不二法门,早年主要参照C和Perl,有限地借鉴perl的特性,没有让整个语言都“动态掉”,5.0后开始注重工程性,大致借鉴Java,也是一步一个脚印,慢慢地借鉴,抄一行,停下来改自己三行,融会贯通以后再继续抄。
于是现在的PHP恰好站在一个非常平衡的位置,同时兼具一定的动态能力和较高的工程性,动如Laravel让人感叹RoR再世,静如Symfony、ZF让人以为回到了Java的世界。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
从不参与讨论编程语言,闲来没事,吐吐槽吧。
工作以后我也是使用C#,对C和C++还是有割舍不去的情怀。现在主要的语言已经是javascript,java没有用过,php也稍微有了解。
C#从语言层面上还是非常优秀的,企业里面"微软粉"都喜欢。说到IDE,以前觉得vs各种牛逼,现在觉得vs就是内存杀手,功能臃肿,恨不得不用。windows从实用角度是很好,但是如果作为服务器真是对它恨的无语,对windows的态度也逐渐转移到编程语言的平台上。现在只用C#做一些后台接口实现,表现层全部都是其他技术。只恨自己没办法完全抛弃windows。
java没用过,从语言角度无法判断。但是单从跨平台和生态上肯定是绝佳选择,因为开源和linux的整个生态系统都比windows要好。
C\C++由于执行机制与现代语言完全不同,只用在一些偏底层的东西开发上,对程序员素质要求十分高,包括内存管理,操作系统的很多细节,跨平台能力等等。我只在以前玩单片机的时候使用过。
javascript作为脚本语言还是非常好用的,虽然有很多的坑,但是有些地方比静态语言好用很多,像你说的String.IsNullOrEmpty(),一个if(!a)就搞定了。不过对于node.js,我还是很怀疑(node粉勿喷),所谓的异步编程,只是提高了单台服务器的并发能力,而非处理速度,所以要慎重考虑,勿随大流。
php是为web开发而生的,用过之后直观的感受是太好用了,各种复杂的功能,只要一个函数调用就搞定了。比如在处理请求时请求其他的url,直接用curl,用C#和java写的话茫茫多的代码。
python、ruby之流也有很多死忠粉,本人也用过一点点,觉得吧还是很方便的,都差不多,各有千秋吧。感触是编译器和解释器真的是越来越智能了。
最后,个人认为,单纯讨论语言是没意义的。选择一种技术要考虑很多方面的因素,比如人员现有能力、素质、学习成本和时间、试用范围。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
经常看到这类问题。
我只想说一句:
凡是脱离实际场景的编程语言优劣讨论,都是耍流氓。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
C#的优点: c#是一个很不错的语言, 比起java简洁,方便. lambda写出来的代码简单,容易阅读和理解,真的很不错. vs也为c#加分不少. vs的智能提示比起idea和eclipse好太多了,流畅, 超快的反应,打字多快都能响应过来. 可以用空格来选中备选的项目. tab可以生成事件方法. 感觉vs经常能猜对你想要打的代码. (vs对c#的支持很完美, 对html感觉没有idea(webstorm)好). 我一直在用c#, 然后去学java, 被开发工具折腾得吐血, 再加上java的语法没c#简洁, 学习的过程很难受.
c#也有缺点:
1. .net4.5不支持xp. 多次要求客户用win7,无奈xp还是比win7多. .net4.5的特性想用也用不了. 只有转向服务器开发了.
2. 在linux使用c#不方便. 虽有mono, 但不看好前景. (之所以要用linux, 是因为打算使用云服务)
3. c#绑定在微软的平台上, 开发个网站都要使用复杂的iis, 比起nodejs和go构建一个web server只用几行代码就做出来. 才意识c#被束缚了.
4. c#开发多线程复杂了. APM,EAP,TAP,TPL 也就是后两个比较方便, 无奈xp不支持, 使用得不多. 后来看到go的channel才发觉, 多线程原来可以这么简单. 就跑去学go了. (当然我的多线程水平还是很低的,这里只是个人感受.)
我也就是写写小程序的水平, 也不知道企业开发是什么样子. 就是觉得c#使用起上来比较顺手, 只是受限于微软不能全部发挥出来.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
凑个热闹, 在会编程之前就一直在考虑怎么选一门喜欢的编程语言用一辈子, 一直在关心这个问题.
目前我基本上是写 CoffeeScript, 学了点 Go, 另外学过一些会语法却不能写东西的编程语言.
我在微博上做新闻搜集的事情, 所以一直不停在关心社区编程, 积累了一些看法,
参照 O'reilly 提供的这份图表, 很多关于编程语言的理念显得清晰一些:
工程与理论
从最初编程语言发明, 上世纪六十年代, 就有理论派工程派鲜明的区别,
现在还有生命力的主要是 Fortran 和 Lisp 两个方面, 如果把 C 归类到 Fortran 就是 C 跟 Lisp,
沿着 Lisp 发展的主要是 Common Lisp 跟 Scheme, 还有从 ML 发展而来的语言, 特别是 Haskell.
到 Haskell, 函数式编程的理念非常鲜明, 代码就像是在写数学当中的函数,
而 C 之类的语言, 大致可以说是命令式编程, 大部分的语句都从状态操作, 特别比如赋值
当然 Haskell 作为编程语言也是要处理状态的, 只是用了高级的抽象做了复杂的封装, 叫做 Monad
Lisp 虽然好一些, 但是很久以来函数式编程语言依然是研究人员才惯用的语言
函数式编程的研究当中有很多理论上很赞的技术, 比如递归, 惰性计算, 并行计算, 类型推断
甚至 Haskell 跟 Lisp 的代码在观感上都比 C 风格的语言漂亮一些, 严谨的缩进, 繁多的符号
而这些特性慢慢也开始进入到流行的编程语言当中, 比如 CoffeeScript, Swift 当中
Fortran 一脉的编程语言也一直在改变着, 我对 Fortran 了解不多
舞台上主要是 C, 还有面向对象的鼻祖 Smalltalk, 到后边还有 Java 的流行
命令式的代码相对容易学习, 相对函数式语言来说性能又高, 已经成了主流
问题也存在, 比如 Java 缺乏函数是语言那样的灵活性, 开发工具复杂(我不写 Java)
另外的问题就是依靠维护状态, 代码的抽象程度不那么高, 写 C 代码并不轻松
九十年代以前发生了很多事, 可以看到有很多编程语言, 不过对我们这代人不熟悉
九十年代以后 PC 市场快速增长, Linux 社区发展, 机器性能大幅提升
脚本语言跟着 Web 很快推广, 做服务端的 Ruby, Python, PHP, 前端的 JavaScript
脚本语言性能差但是很廉价地吸收了多种编程语言的优点, 比如函数式编程, 消息机制, 自动 GC 等等
更重要因为简单易学, 同时集合多种编程范式, 带了巨大的编程效率的提升弥补了性能的差距
从最初简单的区分现在已经发展出大量的语言, 而且语言特性的组合也多重多样
比如从 C 而来的 Go 支持 Lisp 函数作为一等公民, 支持一些类型推断, 像 Lua 的多返回值
JavaScript 模仿了 Java 的语法, Scheme 的函数式编程, Self 对象系统
而 JVM 和 JavaScript 也能作为汇编级别的语句, 其他语言编译到目标来运行
Lua 和 JavaScript 应用在 Smalltalk 和 Self 研究当中的 JIT 技术对动态类型进行性能的优化
Lisp 方言比如 Clojure, 编译后在 JVM 和 JavaScript 的平台上运行等等
编程语言的功能主要是将计算机的计算和存储能力作为资源, 通过语言提供给开发者
而这门槛将被人群和公司驱使而越降越低, 甚至到人人都能写能干点事情的程序的程度
特定的领域除外, 通用的编程语言都会有比如自推断类型, 自动 GC 之类功能
数据结构趋向接近, 支持函数一等公民, 支持对象或者接口, 呈现出更多的统一和智能
脚本语言之外, 还会有图形化工具等等出现, 进一步降低门槛
在这样的情景下, 加上我个人的喜好, 我倾向于选择更灵活的编程语言, 最低成本做更多事情
后边说的语言大部分我没深入学习过, 而且也不考虑实际开发需要和社区如何
我认同技术是人类的延伸的想法, 认为编程语言是大脑的思维和语言的延伸,
那么我对很多的语言会带有比较明显的好恶, 下面是我接触较多的一些语言
JavaScript
出了名的语法设计存在大量的坑, 早期没有经过深思熟虑, 更没有预见后来的发展
作为一门弱类型的脚本语言, 支持的功能和数据类型不那么多, 被怀疑构建大应用的能力
我做单页面应用当中确实感到做大项目有些难以维护的混乱在里边
另外比如 ES6 之前语言自身不实现的模块化机制, Generator, 简直让人抓狂
JavaScript 优点是模仿 Scheme 实现了函数一等公民, 而且也能胜任 Web 复杂的脚本和异步逻辑
Prototype 模型作为比 class 更灵活的方案能够模拟 class, 因此也能模拟面向对象编程
当然脚本语言的简单使得 JavaScript 非常容易上手和在浏览器当中的看到成效
支持多种编程泛型也给了更多的选择的余地, 模拟函数式或者面向对象都可以
每当觉得 JavaScript 设计得不好都会对比下 Lua, Lua 是脚本语言当中以严谨著称的.
不过听说 Lua 主要是在游戏领域发挥效果的, 社区发展和调试工具不如 JavaScript
Lua 语言实现在编程语言设计当中都可以作为教学的例子, 语言极为精简
语言的核心, 数据结构, 基于原型编程等等, 和 JavaScript 有很多的相似性
CoffeeScript
我个人对 JavaScript 繁琐的语法感到非常难受, 而 CoffeeScript 无疑是最主流一个改善的方案
CoffeeScript 的语法主要来自 Ruby, 也有不少 Haskell 语法的特征, 但功能还是 JavaScript
这样做的好处是想有 JavaScript 完善生态圈的同时得到了一门漂亮的精简的编程语言
很重要, 但太底层了, 我想要做应用, 很不情愿付出巨大的代价去深入 C
做图形的应用, 很重要的是架构层面的 MVC 设计, 以及界面的设计
我更情愿认为 C 是特定领域比如编程语言, 操作系统, 互联网底层架构需要的语言
Go 相对于 C 在开发流程, 语言特性, 数据类型, 语法这些方面做了巨大的改进
就像 Rob Pike 说的, 这是适合构建云平台的语言. 而且 Go 在工程上真的非常棒
Swift 的做法我感到是认同了 Go 对编程语言做的那些激进的改变
对我来说重要的一点是 Go 使得静态类型的开发效率和体验更接近脚本语言了, 更适合应用
另外 Go 去掉了从 C 语言延续近三十年的无谓的分号, 我真的很赞成
Go 的 CSP 并发模型, 还有基于 Interface 的整个编程范式, 两点挺特别的
其他主流编程语言很少这样做, 但是, Go 的作者都是大神, 语言也渐渐主流, 这也够了
我认为 Go 是非常值得学会并且以后在工作当中应用的一门语言
最近听说 Go 因为可以用于 Docker 编程而被 Docker 带来大量人气, 算是好消息
语法非常赞的编程语言. Playground 的设计更是让人眼前一亮
原先 Playground 的设计出于的是编程状态的不可见性这个问题, Swift 在这里做的很棒
还有细节上 Optional Type 处理, 或者其他的语法细节, 做的很漂亮
不过目前局限在 iOS 开发, 另外也受限于 XCode 跨平台的问题, 只能说保持关注
很成功, 但是从一开始接触 Java, 就被语言的僵化吓住了, 而且开发工具很臃肿
比如我写很小的应用, 我在 Web 平台上写 HTML, 写 DOM 操作搞定了, 很简单,
换成 Java 我需要考虑各种事情, 甚至学习面向对象什么样, 开发工具什么样, 天呐
Clojure, CloureScript
能算是 Lisp 社区目前最潮流的的语言吧, JVM 方面了解不多不说了
ClojureScript 的话, 最近因为 Om 框架开始多上心了, 因为函数式编程思想有明确实用的地方了
React 当中带来了函数式编程当中 Immutable Data Structure 很赞的实用的例子
同时 ClojureScript 当中丰富的函数也让我觉得比 JavaScript 更能胜任 React 的编程方式
Clojure 语言的设计是很棒的, 我非常想学习这么语言, 而且关注了许久
对我来说缺点是 Clojure 整个对 Java 依赖太重了, 我有点玩不转
而且其中源自 Lisp 的那么多特性也有些晦涩, 学习的门槛实在不低...
目前基于 Clojure 的创新很多, 比如 LightTable, 我在 Twitter 上关注的作者很有远见
目前我心目中最漂亮的编程语言, 看到 Haskell 代码会觉得现在写的东西真低端啊
Haskell 当中有纯函数的限制, 所有状态操作都用 Monad 封装, 让我非常难学会
但是从数据转化方面来说, Haskell 对于列表等等的处理非常非常优雅
Haskell 当初是为了研究编程专门发明的, 语法继承了 ML 等等语言
现在和 Lisp 一样, Haskell 出现了大量的 DSL, 或者说方言, 都显得非常学术化
其中一门方言是 Elm, 是跑在网页上的 Funtional Reactive Programming 的试验
我不清楚怎么说, 但是其中先进的图形界面开发的理念我深深感到多年后会成为取代现在的开发方式
而 Haskell 语言也是, 她的很多特性突然会出现在编程语言的新闻当中, 比如类型推断, Monad
总之是非常重要的一门编程语言, 即便用不起来, 学了还是有收获
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
因为我从事iOS和Android开发,所以我最熟悉的编程语言是C++,Java,objC(Swift还没开始用),此外还写过一些C,Assembly和Ruby。下面逐一说一下我对这几门语言的看法。
写汇编就像是不带翻译跟计算机硬件(经过一定程度抽象的硬件)直接对话,计算机硬件不会因为翻译失误而曲解你的意思,你让寄存器,内存和IO端口做什么,它们就老老实实照着做,每个bit都在掌控之中。学习汇编语言能让你看透各种花哨的高级语言,它们终归要被翻译成汇编语言。
汇编语言其实可以大致上理解成就是CPU指令集,它表征着CPU可以命令硬件做些什么,用汇编语言写的程序不能在不同指令集的CPU之间移植。
C语言解决的就是这个在不同指令集CPU之间移植的问题,用C写程序虽然也要操作内存,但是并不是直接操作内存上的每个bit,你不清楚你的变量会被存在具体哪个内存地址,也不清楚有哪些寄存器,它们在算数和逻辑运算中起了什么作用,这就把程序员从硬件差异中解放了出来。不过C程序还是要针对不同的软硬件平台(软件指操作系统,其本身一般也是C写的)进行编译的,否则跑不起来。这就意味着C程序编写的时候虽然可以很大程度上忽略软硬件平台差异,却要在每次移植到新平台上时都要重新编译。此外由于C需要覆盖太多参差不齐的平台,从各式各样的单片机到各式各样的电脑,决定了其抽象层次还较低,还掺杂着一定程度的平台相关的东西,因而保证不了同一份代码在任何平台上都编译通过。
C++兼容了绝大多数C的语法,但类型检查更严格,不像C一样对变量声明的位置做严格要求,引入了面向对象机制和类库,有诸如运算符重载等语法糖,可读性比C强也更易于编写和维护。C++既继承了C强大的底层操作特性,又被赋予了教科书式的面向对象机制。它特性繁多,有其他面向对象语言鲜见的多继承,有耐人寻味的对值传递与引用传递入木三分的区分以及const关键字,等等。C++就像是一把瑞士军刀,或者像是一个工具箱,它为你提供尽可能多的工具,多到让不熟悉它的人无所适从,让懂得如何使用它的人如鱼得水。C++的种种特性使得它非常适合用来编写底层数据结构,算法,库等,是系统软件开发以及数学模型构建等的强大武器库,被誉为工业级编程语言。
与C++一样,objC设计原则之一是兼容C,但是它在跨平台上较C/C++相去甚远,虽然最初并非由苹果开发,却已实质上沦为苹果一家的专用语言。这门语言的优点不多,我只想到两点。一个是可读性强,读起来就像是读英文,如果方法命名得当无需注释。另一个是傍上了苹果,苹果的MacOSX和iOS平台的应用框架就是用该语言写的。如果你从事Mac或iOS开发,objC有天然的优势。在苹果平台上唯一能撼动objC地位的,恐怕就是苹果自家推出的Swift了。
这是一门中规中矩的面向对象编程语言,对设计模式的条条框框提供语言级别的支持,使用Java开发软件就像是用钢筋水泥砖瓦盖楼一样,它与C++一样被冠以“工业级”的称谓,但更多时候与Java一同提及的是“企业级”。与C/C++/objC等纯粹的编译型语言不同,Java的编译很不彻底,实际上是编译为一种跑在Java虚拟机上的中间代码,Java编译器只针对Java虚拟机进行编译,而具体的平台细节交给虚拟机去填平,这使得凡是安装了Java虚拟机的地方都可以跑Java而无需重新编译,这是比C/C++/objC更高一级的抽象,因而论语言级别的话,Java是比这三种语言高级的语言。C#与Java大同小异,可以认为就是微软版的Java。
这是一门非常花哨非常灵活非常俏皮的语言,它虽然号称是彻底的面向对象语言,风格上以及面向对象机制上却与主流面向对象语言大相径庭,相比于主流面向对象语言,它显得太不严肃了。Ruby最大的特色是metaprogramming(译为“元编程”),连类这种主流面向对象语言中作为对象模板的东西,在Ruby里都可以在运行时被随意修改,Ruby是一个很讲究平等的语言,没有什么是神圣的,一切对象(包括类,闭包等)在作为Ruby的公民这一点上都是平权的,这或许是它宣称面向对象很彻底的理由。Ruby的特性也非常丰富,实现同一种功能可以有多种写法(据说Python正相反),写Ruby就像是捏橡皮泥或者玩一个可以被随意拧成各种形状的气球,你甚至可以基于Ruby创作出新的语言,Ruby的一大用途就是编写DSL(domain specific language)。
Ruby的强项是去除重复的代码,比如某些方面类似的方法可以批量定义和删改。作为解释型语言,Ruby也被称为是一种脚本语言,虽然它的设计初衷并非只是用来写脚本,但是它的确非常适合用来写脚本,可以让繁冗的批量处理数据和文件等任务变得更易于编写。
虽然Ruby出名是因为Rails,但是Ruby语言本身远比这个用它写的框架有韵味的多。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
没学过C语言,就不能说会编程.编程语言有两座山,另一个是lisp.其他高级语言都是这俩发展来的
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
觉得坑就不要去用eclipse。除了启动慢,耗内存,一卡一卡之外,我身边的程序员吐槽“拿它debug相当于给它debug”。intelij的智能提示比vs不知道高到哪里去了,就连衍生的android studio也跟着好用了。当然,就连netbeans也比eclipse好用不知道多少倍。
java的坑不少,特别是只有它和c语言不能用双等号比较字符串。但是它毕竟相比起c++来说已经填了不少的坑。同样,c#比它晚些时间被创造,填的坑更多,现存的坑更少。而java由于历史包袱不能轻易得改动某些api,这也属于正常现象。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
易用性也可能变成你的绊脚石.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
lz,java return var == null || var.isempty();
我写过几个语言 , 都是小菜 , 但是我感觉 , 语言不重要 , 重要的是你使用的场景 , 你用c来写web , 和其它语言比 , 你是时间多啊 , 还是真nb啊? 但是你用一个脚本语言写个nginx , 你是资源多啊 , 你还是想卡啊 !为什么这么多人对语言都偏激的喜好 ! 语言只是工具 , 适用的场景不同 !本人是小码农 !勿喷
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
单单就第一点评论下
Java8已经支持Lambda表达式了
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
PHP:常年被黑
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
上面的各位都回答的很全面了。
Java和C#都是很优秀的语言。但尽管题主在上面列举了他们的不同点,他们终究是大同小异的两门语言。题主应该注意到,在Java和C#之外,还有很多和他们表现Behave差别很大的语言。根据题主描述,我妄测题主可能编程经验不是很多,那就更要注意尽早打开视野。
另外,就像
所说,要注意使用方便的语言可能会把你惯坏,学习其他语言时就会感觉这里不如意,那里不方便。
说了半天,发现就讲了一件事……之所以说这个是因为,我的学校大一讲的是Java,一些同学几年下来就只会Java,碰上不同的任务第一时间会去找Java的解决方案。我认为这是十分不好的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
java和c#基本可以认为是一个类型的语言了。没什么可比的。看《七周七语言》吧,语言这个坑还是蛮大的,也蛮有意思的。
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。

我要回帖

 

随机推荐