Ⅰ 新手如何学习编程
刚开始学习编程语言,要怎么去做,动手编写一个编译器,学习一下较为底层的编程方式,是一种学习计算机到底是如何工作的非常有效方法。编译器通常被看作是十分复杂的工程。事实上,编写一个产品级的编译器也确实是一个庞大的任务。但是写一个小巧可用的编译器却不是这么困难。
这个秘密是,首先介绍编程入门教程,找到尽可能小的项目,然后想要的功能加入。这种方法也意味着在他那篇着名的文章中提到的“一个编译器构造的快捷方式”阿卜杜勒阿齐兹Ghuloum说。但是这种方法确实工作。只需要按照第一步操作本文中,可以得到一个真正可用的编译器。当然,它只能被编译的编程语言是非常小的子集,但它确实是一个真正的编译器可用。你可以自由地扩展这个编译器,然后了解更多,更深的了解。
从某种意义上来说这比写一个scheme的编译器要困难一些(因为必须去解析C那复杂的语法),但是在某些方面又很便利(不需要去处理运行时类型)。要写这样一个编译器,只需要从那个可用的最小的编译器开始。没有变量,没有函数调用,没有额外的依赖,甚至连if语句,循环语句都没有,一切看起来是那么简单。
踏出了编程入门教程第一步,接下去怎么做就全看自己了。可以按照文章所指导的全部做一遍,然后制作一个更加复杂的编译器。需要去写一个更加精巧的语法树来生成汇编代码。接下去的几步分别是:(1)允许返回任意的值(比如,return3; 一些可执行代码);(2)添加对“非”的支持(比如,return ~1; 一些可执行代码)。每一个额外的特性都可以教你关于C语言的更多知识,编译器到底是怎么执行的,以及世界上其他编写编译器的人是如何想的。这是构建 babyc 的方法。Babyc 现在已经拥有了if语句,循环,变量以及最基础的数据结构。
下面给大家展示一下国内最权威的.net训练营学习路线图:
Ⅱ java该怎么自学
在学java一定要问问自己喜欢吗?只要喜欢一切没问题,这是我的建议:多敲代码,多敲代码,多敲代码,重要的事情说三遍
学习Java决不能听完敲一遍就过,一定要多敲几遍,第一遍可以跟着老师的思路,后面一定要有自己的思路,慢慢培养自己的编程思想和实现功能的逻辑。甚至可以自己给自己出题,完全靠自己实现一些有意思的小功能,对提升自己的能力和代码熟练度都有不小的帮助。
多看视频,多练习,主要是练习一些算法的运用,建议下载一些编程练习题,一道一道弄通弄懂。经常做笔记,用记事本把一些经典问题保存下来,以备复习。
如果是零基础的话,就看视频,b站上高旗老师讲得碰宽歼不错,每看到视频出现一段代码就马上在电脑上给他跑出来,不要直接拿源码光盘来复制,不要把视频看完半段了才开始敲代码。这样几天后你会找到一些感觉,然后没事就想些代码来写写,比如想下怎样把名字转换成乱码,然后再用另一个方法转换回来,模拟步话机发送几条消息巧携什么的。这样下去不出3月你定牛逼,这时再把教材拿出来仔细看每一句话,掌握原理。
希望你早日学成,有苦笑冲恼一起讨论一下。
Ⅲ 做游戏开发需要学什么
如果是打算学习2D手游开发,那么首先需要学习C++,然后,还要了解Cocos2dx的使用。3D游戏用的比较多的开发工具是unity3d引擎。unity3d开发用的是C#(javascript也用,但用的比较少),所以先要学会C#。
游戏开发主要分为2D游戏和3D游戏,2D游戏通常是为手机开发的,一般使用的开发工具是Cocos2dx,使用的开发语言是C++。
3D游戏一般使用的游戏开发工具是Unity3d,使用的开发语言是c#或者javascript。所以,想要开发哪种游戏,就必须知道需要用到哪些开发知识。
游戏制作一般主要分为两大块,即程序开发、美术设计。程序开发主要包括服务器端开发、客户端开发。而美术设计包括场景、角色、次时代、特效、动画等部分,要完成一个优秀的游戏作品,每一部分都需有专业人才负责。
对于大型的游戏,一般需要几十个人的团队制作几年,而小游戏则可能只需一个人制作几天。
一般的大型游戏制作都会由游戏开发公司来完成,小型的游戏则有可能由业余团队或者个人完成,如RPG制作大师此类软件就可以让不懂技术的人做出电脑游戏。
Ⅳ 我想学编程,应该从什么地方开始
从认识什么是编程开始
要学习编程,首先要了解什么是编程。
理解了编程是什么之后开始培养编程兴趣,并选择一门语言,这里比较推荐的是Java。
如果是自学拿来玩,单纯培养兴趣,陶冶情操的,还是推荐python。
然后便是要学习入门的编程知识,从零开始学习了。
我这里有一些Java和python学习的推荐,
学Java看这里:
先上一份计算机科学速成课,也不多,周末看看就看完了。不是很复杂的视频,挺生动有趣的。看到啥程度呢?个人认为只要看到不太懂的地方暂停一下思考思考就可以了。
为啥看这个呢,看题主的问题描述,推测你还没开始学习很多内容,那么先来了解了解计算机科学大概是个什么样子的,对计算机科学有一个整体认识。没准还能帮助找到你的兴趣所在。毕竟计算机科学还是挺大范围的。
编程学习随时可以开始,其实没有多少前期要求,可能无非就是耐心比较重要吧(比如不要一上来就被配置编程环境打趴下就不学了,实在不行先在线编程工具上手也行),你可能会碰到各种各样的问题,有些坑甚至网上也找不到现成的答案(不过还是强调一下,初学者大部分问题还是能搜索到的,搜索能力对于计算机学习很重要!多锻炼锻炼,搜不到大多情况下是你关键词没用好,搜索技巧不行)。
关于求助别人,可以看下经典文章《提问的智慧》,用不了多久的。其实就是搞明白如果碰到问题怎么请教别人,如何让别人会更愿意帮助你解答,以及更有效的帮助到你。
以高中生的知识水平和学习能力而言,是完全可以从主流编程语言选一门开始入坑的。可选的主要就是C,C++,Java,Python
我不认为太偏门的,或者适用面比较狭窄的语言作为编程小白的第一门语言。各种编程语言都有自己适用场景,虽然大家喜欢开玩笑PHP是最好的语言,但主流编程语言没有啥高下之分,只是长处和短处各不相同而已。
当然,有充分理由,比如确定就是要学做网页,那从JavaScript开始学习编程也是可以的。退一步说,第一门编程语言只要是主流编程语言都可以(啥叫主流编程语言,比如TIOBE排行榜上哪些,排名靠前的肯定是用的人多的)。
但是为什么建议从这四种里面选呢?
区别在于,C,C++这种语言,尤其是C(国内大学计算机类专业里,C基本是必学语言)是更接近底层和机器的语言,整个的思路很符合计算机的工作原理,从这俩入手,对理解计算机原理更有帮助。学习的过程中可能你会接触到更多计算机原理的知识比如操作系统的内存管理,汇编层面的调用约定等,有利于更好地理解计算机工作原理。另外其实有C/C++基础,学别的编程语言慢不到哪里去的,甚至像Python这样的可以一天学会基本语法。C++相对于C多出来的东西中,一个很重要的东西就是面向对象,C++, Java, Python都是支持面向对象编程的语言,面向对象是学编程迟早要了解和有必要掌握的一种编程方式。
这几门编程语言到底选哪一个其实都无所谓,你想要全部试一遍也行(反正是尝试嘛),甚至你想同时学习几门语言也是完全可以的。不过先熟练一门语言,有需求了再学别的编程语言,可以和学过的语言对比学习,会发现自己学起来还是挺快的,毕竟已经学习了一些编程的思想。
比如我之前学C++,后来一直用Python比较多,有时要写起来C++,写个for循环顺手就敲了个for i in range(100)出来(C++里面是这样写的for (int i = 0; i < 100; i++)),但其实完全不必担心同时学几门语言会有啥副作用。 另外你真正开始学习编程之后其实慢慢的就会了解自己要学些什么内容了。
据我了解(自己踩坑过2333)有一些那种编程启蒙游戏,还是不要拿来学习编程了。高中生的智力程度(咳咳)正正经经上手编程就好,不用前期准备:)
还有一个小提示就是:Python真香,可以尽早开始学习,Python用起来相当方便顺手,其包管理器pip也很方便使用,第三方库十分丰富,想要实现什么功能,用pip安装对应的模块很快就能开始coding,而不是花半天时间找第三方库,安装库...... 无论是作为计算器用,还是写点脚本帮你免去某些重复劳动,又或是想要验证一些别的语言代码的思路但又想偷懒(以上都是我经常干的hahaha),Python都是极佳的选择(正道の光)!
学习编程的过程中,初学者和已经入门的人的视野是不一样的,先学起来,你才能看到更多的东西,了解计算机的各个方向。比如计算机图形学,机器学习,软件工程,当然也有硬件的,机器人呀,单片机呀,另外如果想当白帽子黑客,来学信息安全也是很不错嘛。计算机的东西很多是触类旁通的,你尽管学,慢慢的整个计算机科学的知识大楼就在你脑子里面搭起来了。
Ⅳ 初学电脑编程需要什么
初学电脑编程需要学习英语,选择一门编程语言,要有数学基础,具体介绍如下:
1、英语基础
计算机英语与传统的英语知识不同,需要了解的大部分是计算机的专业单词或者词汇,普遍较为简单。但是在高级编程中,会出现比较生涩的词汇,对于想要参与计算机语言设计以及在职业发展上有更多追求的同学可以自学一下大学英语。
2、选择一门编程语言
选择一门编程语言。虽然目前编程语言有600种左右,但是比较流行的编程语言只有几十种,所以尽量选择流行程度比较高的编程语言来入门编程。对于没有明确编程场景的初学者来说,尽量选择全场景编程语言,比如Java、Python、C#等就是不错的选择
3、数学基础
当然拥有初中阶段的数学基础也可以成为一名合格的程序员,这也是目前很多计算机编程培训学校招收初中毕业学生的原因。但想要成为一名优秀的程序员,最少要高中及以上的数学基础,而且要懂得如何举一反三,灵活运用。
4、了解计算机操作系统原理
所有的开发或者说软件应用都是在特定的操作系统上进行的,所以计算机操作系统原理可以说是基础中的基础是必须要了解的。
5、数据结构和算法
这门课程能够决定一个人程序设计水平的高低,是学习过程中需要重点掌握的。C和C++都是可以选择的,前期可以先学C,再学C++会相对简单一些。
在学习编程语言的过程中,也需要同时学习计算机网络、数据库等相关知识,在当前的云计算和大数据时代背景下,还需要掌握如何通过云计算(PaaS)来辅助开发,以及如何利用大数据平台的各种资源。