❶ 如何自学成为程序员
如何学习自学编程的方式最好的莫过于在网络上面查找资源。
目前,网络上电脑资源多不胜数。其中有很多都是基础到精通的视频教程。通过视频讲解。让你明白重点知识。你通过查找一套适合自己的视频。然后看完是基本。
这里推荐几个可以在线学习的好网站:慕课、极客学院、传智播客、如朋网、网易公开课等等做笔记在进行看视频的过程中,一定注意要记笔记。
对视频中重点的部分进行截图,并加以文字解释。就形成了自己的笔记。这些笔记对于你来说很重要。通过记笔记的形式,你就不需要重新观看视频了。只需要复习的时候查看笔记就够了,这样就大大的节约了时间。
下面介绍一个记笔记的好软件: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)确定你感兴趣的领域。你可以开始学习任何编程语言(尽管有些语言绝对比其他语言“容易”),所以你首先要问自己,你想通过学习编程语言来达到什么目的?这将帮助你确定应该从事哪种类型的编程,并为你提供一个良好的起点。
2)考虑从“更简单”的语言开始。不管你的决定如何,你都可以考虑从一种高级的、更简单的语言开始。这些语言对初学者特别有用,因为它们的基本概念和思维过程几乎可以适用于任何语言。
这一类中最流行的两种语言是Python和Ruby。这两种语言都是面向对象的web应用程序语言,使用了非常易读的语法。
“面向对象”意味着语言是围绕“对象”的概念构建的,即数据集合及其操作。这一概念应用于许多高级编程语言,如C++、java、Objtovi-C和PHP。
3)通读各种语言的基本教程。如果你还不确定应该开始学习哪种语言,请阅读一些不同语言的教程。如果一种语言比其他语言更有意义,那就试一下,看看它是否合拍。网上相关的教程有很多。
Python——一种很好的入门语言,当你熟悉它时会感受到它的强大。用于许多web应用程序和许多游戏领域。
Java——用于无数种程序中,从游戏到web应用程序再到ATM软件。
HTML——任何web开发人员的基本起点。在进行任何其他类型的web开发之前,掌握HTML是至关重要的。
C语言——是一种较古老的语言,C仍然是一个强大的工具,是C++、Objtovi-C的基础。
2、从小处开始
1)学习语言的核心概念。虽然这一步骤的应用部分会因你选择的语言而有所不同,但所有编程语言都有一些基本概念,这些概念对于构建程序至关重要。尽早学习和掌握这些概念将使解决问题和创建强大而高效的代码变得更容易。以下是一些不同语言中的一些核心概念:
变量——变量是一种存储和引用不断变化的数据的方法。变量可以被操作,并且通常具有定义的类型,例如“整数”、“字符”和其他类型,这些类型决定了可以存储的数据的类型。在编码时,变量通常有一些名称,可以让读者在某种程度上识别它们。这样就更容易理解变量如何与其余代码交互。
条件语句——条件语句是根据语句是否为真而执行的操作。条件语句最常见的形式是“If-else”语句。如果这个陈述是真的(例如x=1),那么就会发生一件事。如果陈述是错误的(例如x!=1),然后发生其他事情。
函数或子例程——根据语言的不同,这个概念有不同的说法。它也可以是“过程”、“方法”或“可调用单元”。这本质上是一个大程序中的一个小程序。一个函数可以被程序多次“调用”,这样程序员就可以高效地创建复杂的程序。
数据输入——这是一个广泛的概念,几乎在每种语言中都有使用。它包括处理用户的输入以及存储这些数据。如何收集这些数据取决于程序的类型和用户可用的输入(键盘、文件等)。这与输出密切相关,输出是将结果返回给用户的方式,无论是在屏幕上显示还是在文件中传递。
2)安装任何必要的软件。许多编程语言都需要编译器,编译器是用来将代码翻译成机器可以理解的语言的程序。其他语言(例如Python)使用解释器,该解释器无需编译即可立即执行程序。
某些语言具有IDE(集成开发环境),通常包含代码编辑器,编译器和或解释器以及调试器。 这使程序员可以在一处执行任何必要的功能。 IDE也可能包含对象层次结构和目录的直观表示。
网上有各种代码编辑器。 这些程序提供了突出显示语法的不同方法,并提供了其他对开发人员友好的工具。
3、创建你的第一个程序
1)一次只关注一个概念。任何语言最开始都是教大家“Hello World”。这是一个非常简单的程序,它在屏幕上显示文本“Hello,World”(或其他变体)。这个程序是教给第一次编程的程序员如何创建一个基本的、功能性程序,以及如何处理显示输出。通过更改文本,可以了解程序如何处理基本数据。
2)通过解构网上的例子学习。几乎每种编程语言都有成千上万的代码示例。用这些例子来检查语言的各个方面是如何工作的,以及不同部分是如何相互作用的。从不同的例子中获取一些零碎的东西来创建你自己的程序。
3)检查语法。语法是编写语言的方式,以便编译器或解释器能够理解它。每种语言都有一个独特的语法,尽管有些元素可以跨多种语言共享。学习语法对于学习如何用语言编程是必不可少的。
4)尝试改变。对示例程序进行更改,然后测试结果。通过实验,你可以比阅读一本书更快地了解什么是有效的,什么是无效的。不要害怕破坏你的程序;学习修复错误是任何开发过程中的一个主要部分,任何新事物几乎永远不会在第一次就能正确工作。所以别怕犯错!
5)开始练习调试。当你在编程时,你总是会遇到bug。这些都是程序中的错误,几乎可以在任何地方出现。bug可以是程序中无害的异常,也可以是阻止程序编译或运行的主要错误。找出并修复这些错误是软件开发周期中的一个主要过程,所以要尽早习惯这样做。
6)注释代码。几乎所有的编程语言都有一个“comment”函数,允许你包含未经解释器或编译器处理的文本。这允许您对代码的作用留下简短但清晰的语言解释。这不仅有助于您记住代码在大型程序中所做的工作,而且是协作环境中的基本实践,因为它能帮助其他人理解你的代码干嘛的。
最后,一定要经常练习。编程是熟能生巧的技能,多练才能查漏补缺,更上一层楼。
❸ 电脑程序员怎么学
计算机编程的学习过程虽然具有一定的难度,但是只要有一个系统的学习规划,大部分人都能学得会。对于初学者来说,可以按照以下步骤完成编程入门:
第一:选择一门编程语言。虽然目前编程语言有600种左右,但是比较流行的编程语言只有几十种,所以尽量选择流行程度比较高的编程语言来入门编程。对于没有明确编程场景的初学者来说,尽量选择全场景编程语言,比如Java、Python、C#等就是不错的选择,不仅应用范围广泛,而且也有大量的开发案例可以参考学习。
第二:建立基本的编程思想。编程语言本身的难度并不高,只要掌握了相应的编程规则就能逐渐建立起自己的编程思想。建立编程思想的第一步是了解编程语言的基本语法规则,以Java语言为例,要掌握各种抽象概念,比如类、对象、属性、方法等;第二步是了解基本的编程过程,比如类的定义、对象的创建、方法的调用;第三步是学习经典的编程模式。
第三:注重实验。学习编程语言一定要重视实验,实验不仅能够帮助理解各种抽象概念,也能在一定程度上积累编程经验。
最后,在学习编程语言的过程中,也需要同时学习计算机网络、数据库等相关知识,在当前的云计算和大数据时代背景下,还需要掌握如何通过云计算(PaaS)来辅助开发,以及如何利用大数据平台的各种资源。
❹ 怎么学习写程序呢
如何才能成为一个程序员,从网上这些大量的优秀的培训资料、学习向导入手将会是个不错的开始。
工具/原料
电脑,网络
步骤/方法
首要之首:不要急于选择一种语言
新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的、最该先学的。 我们有很多的选择,但你不能说那种语言最好。 我们应该理解:说到底,什么语言并不重要。 重要的是理解数据结构、控制逻辑和设计模式。任何一种语言甚至一种简单的脚本语言都会具有所有编程语言都共有的各种特征,也就是说各种语言是贯通的。 我正在攻读我的计算机学学位,我编程使用Pascal,汇编,和C语言,事实上我从来没有把它当成职业以求获得回报。 我一直在自学编程,工作上用不到它,我使用现有的知识,参考各种文档和书本,学习它们的用法。 因此,不要急于选择何种编程语言。 找出你想要开发的东西,使用一种能够完成这项任务的语言,这就可以了。
根据各种开发平台的不同,有很多不同的软件开发形式可供你选择:从网站应用到桌面软件到智能手机软件到命令行脚本工具。 这篇文章里,我将重点介绍一些很受欢迎的入门教程和资源,它们能帮助你学会如何在各种主流的平台上编程开发。 我先假设你是一个悟性很强的读者,但对于新手,当我谈论程序代码时还是要按照入门级的水平。 因为即使是你自己看一篇编程入门 手册,如果发现都能理解时,心情自然会很高兴,这样利于你进一步学习。
桌面脚本
想要动手在Windows里或苹果系统里编程,最简单的方法是从一种脚本语言或宏语言开始,例如AutoHotkey (Windows) 或 Automator (苹果系统)。 如今一些硬件程序员冲着他们的屏幕大喊大叫,说AHK和AppleScript并不是真正的编程语言。 也许他们说的是对的技术上,这些种类的语言只能做一些上层的编程。 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说,这些语言会是一个绝妙的入门入口而且你会吃惊于它们丰富的功能。
例如,大家都喜爱的Texter就是Adam使用AutoHotkey开发的能独立运行的Windows应用程序,所以说这种脚本语言远不是只能开发小规模脚本软件。 如果你想从AutoHotkey入手,可以参考Adam的指导: how to turn any action into a keyboard shortcut using AutoHotkey(然后,你可以下载 Texter源代码 看看这个功能齐全的使用AHK开发的Windows应用程序的内部结构)。
Web开发
除了把自己约束在特定的编程语言和特定的操作系统上,你还可以在浏览器里开发你的杀手锏程序,让它在互联网上运行,这就是webapp。 欢迎来到奇妙的web编程世界。
HTML 和 CSS:开发网站,你第一件要知道的事情就是HTML(网页就是由它组成的)和CSS(一种让外观更好看的样式标记)。 HTML 和 CSS 并不是编程语言它们只是页面的结构和样式信息。 然而,在开始开发web应用程序之前你必须要学会如何手工的编写简单的HTML和CSS,web页面是任何webapp的前端显示部分。 这个 HTML 指导 是你入手的好地方。
JavaScript:当你可以通过HTML和CSS构建一个静态页面后,事情就开始变得有趣了因为到了该学JavaScript的时候了。 JavaScript是一种web浏览器上的编程语言,它的魔力就是能在页面里制造一些动态效果。 JavaScript可以做bookmarklets, Greasemonkey 脚本, 和 Ajax, 所以它是web上各种好东西的关于因素。 学习JavaScript从这里开。
服务器端脚本:一旦你学会了网页里的知识,你就要开始对它添加一些动态服务器操作为了实现这些,你需要把目光转移到服务器端脚本语言,例如PHP, Python, Perl, 或 Ruby。 举个例子,如果想要制作一个网页形式的联系方式表单,根据用户的输入发送邮件,你就需要使用服务器端脚本来实现。 像PHP这样的脚本语言可以让你跟web服务器上的数据库进行沟通,所以如果你想搭建一个用户可以登录注册的网站,这样的语言正是你需要的。 Webmonkey 是一个优秀的web开发资源网站,里面有大量的各种web编程语言的指导手册。 阅读一下他们的 PHP 初学者指南。 当你感觉差不多了的时候,看看WebMonkeys PHP and MySQL tutorial 学习如何使用PHP跟数据库交互。 网上最好的要数PHP语言官方的在线文档和函数参考了。 每个知识点上 (例如strlen function这个)都在后面列出来用户的评论注释,这些对于文档的本身是非常有价值的。
Web框架:过去数年里,web开发人员在开发动态网站的过程中不得不一遍又一遍的针对重复遇到的问题写出重复的代码。 为了避免这种每次开发一些新网站都会重复劳动一次的问题,一些程序员动手搭建了一些框架,让框架替我们完成重复性的工作。 非常流行的 Ruby on Rails 框架,作为一个例子,它利用Ruby编程语言,为我们提供了一个专门面向web的架构,普通的web应用程序都能使用它来完成。 事实上,Adam使用Rails开发了他的第一个正式的(而且是叹为观止的!)web应用程序,MixTape.me。这就是 他的如何在没有任何经验的情况下搭建一个网站。还有一些其他的web开发框架包括 CakePHP (针对 PHP 编程者), Django (针对 Python 编程中), 以及 jQuery (针对 JavaScript).
Web APIs: API (应用层序编程接口) 是指不同的软件之间相互交换的程序途径。 例如,如果你想在你的网站上放一个动态的地图,你可以使用Google Map,而不需要开发自己的地图。 The Google Maps API 可以轻松的让你通过JavaScript在程序中引入一个地图到你的页面上。 几乎所有的现代的你所知道的和喜爱的web服务都提供了API,通过这些API你可以获取到他们的数据和小工具,在你的应用程序里就可以使用这些交互过来的东西了,例如Twitter, Facebook, Google Docs, Google Maps, 这个列表远不止这些。 通过API把其他web应用集成到你的web应用里是现在富web开发的前沿地带。 每个优秀的主流的web服务API都附带有完整的文档和一些快速入手的指导(例如,这个就是 Twitter的)。 疯狂吧。
命令行脚本
如果你想开发一个程序,让它读取文字或文件、输入输出一些有用的东西,那么,命令行脚本语言将是个不错的选择。 然而它并不像web应用程序和桌面应用程序那样有吸引力和好看的外观,但是作为快速开发的脚本语言,你却不能忽视它们。
很多的在linux平台上运行的web脚本同样能以命令行模式运行,例如Perl,Python和PHP,所以如果你学会了使用它们,你将能在两种环境中使用它们。 我的学习道路一直没离开Peal太远,我自学Python使用的是这本优秀的在线免费书Dive into Python。
❺ 小白,想入门程序员,应该从什么开始学,顺序是什么
小白想要成为程序员,首选是选择一门合适的语言,比如说:Python、Java、C、C++、GO语言等;其次,选择合适的学习方式,比如培训,周末班、脱产班还是网络班。
如果完全没有编程基础,建议大家学习Python,Python入门简单、语法清晰、通俗易懂,非常适合零基础人员。