我想学编程,这是我的兴趣所在。先说C或者JAVA吧。我们需要什么软件?最好现在就给网站和里面的软件。

首先,你要学一门语言。建议学习C语言。

学完C语言后,需要学习数据结构。注意数据结构,不要数据库。

相信看完这两本书,你就应该入门了。

首先:不要急于选择语言。

新手常犯的一个错误就是犹豫不决,无法判断哪种编程语言好,应该先学。我们有很多选择,但你不能说哪种语言是最好的。我们要明白:归根结底,什么语言并不重要。理解数据结构、控制逻辑和设计模式很重要。任何语言甚至简单的脚本语言都会有所有编程语言都有的各种特性,也就是说所有语言都是相通的。我正在攻读计算机科学学位。我编程用的是Pascal,汇编,C语言。其实我从来没有为了得到一份报酬而把它当成一份事业。我一直在自学编程,工作中不需要。我利用自己现有的知识,查阅各种文献和书籍,学习它们的用法。所以,不要急着选择哪种编程语言。找出你要开发的东西,用一种能完成这个任务的语言,就这样。

根据不同的开发平台,有许多不同形式的软件开发供您选择:从网站应用程序到桌面软件到智能手机软件到命令行脚本工具。在这篇文章中,我将重点介绍一些流行的入门教程和资源,它们可以帮助您学习如何在各种主流平台上进行编程和开发。我假设你是一个非常精明的读者,但是对于初学者来说,我在讲程序代码的时候,还是要按照入门级的水平来讲。因为即使你自己看了一本入门的编程手册,如果发现自己能看懂,自然会很开心,有利于你的进一步学习。

桌面脚本

在Windows或Apple中开始编程最简单的方法是从脚本语言或宏语言开始,如AutoHotkey (Windows)或Automator (Apple)。现在,一些硬件程序员对着屏幕大喊大叫,说AHK和AppleScript不是真正的编程语言。也许他们是对的。从技术上来说,这几种语言只能做一些上层编程。但是对于那些只想摆脱文盲状态,实现一些可以在电脑中自动运行的程序的新手来说,这些语言将会是一个绝妙的切入点,你会惊讶于它们丰富的功能。

比如大家最喜欢的Texter就是Adam用AutoHotkey开发的Windows应用,可以独立运行。所以,这种脚本语言远远不只是开发小规模的脚本软件。如果你想从Autohotkey入手,可以参考Adam的说明:如何使用AutoHotkey将任何动作变成键盘快捷键(然后,你可以下载Texter源代码,看看这个用AHK开发的全功能Windows应用的内部结构)。

Web开发

除了把自己限制在特定的编程语言和操作系统之外,你还可以在浏览器中开发你的杀手级程序,并让它在互联网上运行。这是webapp。欢迎来到web编程的奇妙世界。

HTML和CSS:在开发一个网站的时候,你首先需要知道的是HTML(一个网页就是由它组成的)和CSS(一种让外观更好看的样式标签)。HTML和CSS不是编程语言,它们只是页面的结构和样式信息。但是,在开始开发web应用程序之前,您必须学习如何手动编写简单的HTML和CSS。网页是任何web app的前端展示部分。这个HTML指南是你开始的好地方。

JavaScript:当您可以通过HTML和CSS构建静态页面时,事情就开始变得有趣了,因为是时候学习JavaScript了。JavaScript是一种网页浏览器上的编程语言,它的神奇之处在于可以在页面中创造一些动态效果。JavaScript可以做bookmarklets、Greasemonkey脚本和Ajax,所以它是关于网络上各种好东西的。从这里开始学习JavaScript。

服务器端脚本:一旦你学会了网页中的知识,你应该开始给它添加一些动态的服务器操作。为了实现这一点,您需要将注意力转向服务器端脚本语言,如PHP、Python、Perl或Ruby。比如你想制作一个网页形式的联系人表单,根据用户的输入发送邮件,就需要使用服务器端的脚本来实现。像PHP这样的脚本语言可以让你与web服务器上的数据库进行通信,所以如果你想建立一个用户可以登录注册的网站,这样的语言正是你所需要的。Webmonkey是一个优秀的web开发资源网站,里面包含了大量各种web编程语言的指导手册。阅读他们的PHP初学者指南。感觉差不多的时候,看看WebMonkeys PHP和MySQL教程,学习如何使用PHP与数据库进行交互。最好的在线是PHP语言的官方在线文档和函数参考。每一个知识点(比如strlen函数)都列在用户评论的后面,对文档本身来说非常有价值。我很喜欢PHP,但是还有很多其他的服务器端脚本语言可以选择。)

Web框架:在过去的几年中,Web开发人员在开发动态网站的过程中,不得不为重复的问题编写重复的代码。为了避免我们每次开发一些新网站时出现重复劳动的问题,一些程序员会设置一些框架,让他们为我们做重复的工作。以现在非常流行的Ruby on Rails框架为例,它通过使用Ruby编程语言为我们提供了一个面向web的架构,普通的web应用程序都可以使用。事实上,Adam使用Rails开发了他的第一个正式的(并且令人惊讶!)web应用,MixTape.me这是他在没有任何经验的情况下,如何建立网站的。还有其他web开发框架,包括CakePHP(针对PHP程序员)、Django(针对Python编程)和jQuery(针对JavaScript)。

web API:API(application sequence programming interface)是指不同软件之间交换的程序方式。例如,如果你想在你的网站上放一张动态地图,你可以使用谷歌地图,而不需要开发自己的地图。Google Maps API使您可以通过JavaScript轻松地将地图引入到程序中。几乎所有你所知道和喜爱的现代网络服务都提供了API,通过这些API,你可以获得它们的数据和小工具,你可以在你的应用程序中使用这些交互式的东西,比如Twitter、脸书、谷歌文档、谷歌地图,列表远不止这些。通过API将其他web应用程序集成到您的web应用程序中是富web开发的前沿。每一个优秀的主流web服务API都附带完整的文档和一些快速入门说明(比如这是Twitter的)。疯狂。

命令行脚本

如果你想开发一个程序,可以读取文字或者文件,输入输出一些有用的东西,那么命令行脚本语言会是一个不错的选择。但是,它并不像web应用和桌面应用那样吸引人和吸引人,但是作为一种快速发展的脚本语言,你不能忽视它们。

很多运行在linux平台上的web脚本也可以在命令行模式下运行,比如Perl、Python、PHP,所以如果你学会了使用它们,你就能在两种环境下使用它们。我的学习之路从未离Peal太远。我用这本优秀的在线免费书籍《深入Python》自学了Python。

如果成为Unix高手也是你的学习目标,那么你必须精通bash这种脚本语言。Bash是Unix和Linux环境中的命令行脚本语言,它可以为您做任何事情:从自动备份数据库脚本到功能齐全的用户交互程序。一开始我没有任何使用bash脚本的经验,但是最后我用bash: todo.txtcli开发了一个全功能的个人代理任务管理器。

附加组件

现在的web应用和浏览器都可以通过一些扩展软件来丰富功能。因为现有的一些软件,如Firefox、WordPress等,越来越受到开发者的重视,插件的开发也越来越流行,人们都在说“要是它能这样就好了”。

只要掌握了HTML,JavaScript,CSS,在任何浏览器都可以开发出很多你想要的东西。小书签,油腻的猴子用户脚本,时尚的用户风格,都是用普通页面一样的语言写的,这些东西都值得研究。

更高级的浏览器扩展,比如Firefox扩展,可以帮到你很多。例如,要开发Firefox的扩展,您需要精通JavaScript和XML(一种类似于HTML但格式更严格的标记语言)。早在2007年,我就写过如何构建一个Firefox扩展,这是我在网上笨拙地研究一些学习资料的结果。

许多免费和流行的网络应用程序提供了扩展框架,如WordPress和MediaWiki。这些应用程序都是用PHP编写的,所以你只有熟悉PHP才能做这些事情。这就是如何编写WordPress插件。想要掌握Google Wave前沿技术的开发者可以从用HTML、JavaScript、Java和Python编写小部件和小工具开始。我写的第一个Wave bot,下午就从这个快速入门指南开始了。

在桌面上开发Web应用程序

学习编程的最好结果是,你在一个环境中学到的东西可以应用到另一个环境中。先学习开发web应用的好处是,我们有一些方法可以让web应用直接在桌面上运行。例如,Adobe AIR是一个跨平台的实时运行平台,它使您的程序可以在安装了AIR的任何操作系统的桌面上运行。AIR应用都是用HTML,Flash,或者Flex编写的,所以它可以让你的web应用在桌面环境下运行。AIR是开发和部署桌面应用的绝佳选择,就像我们提到的10让你值得安装AIR的应用一样。

移动应用程序开发

现在可以在iPhone或Android智能手机上运行的手机应用程序的开发呈井喷之势,所以你也可以梦想如何在iTunes应用商店中从你的天才程序中大赚一笔。不过作为一个编码新手,直接去移动开发的学习曲线可能会比较陡,因为这需要你熟悉高级编程语言,比如Java和Objective C,不过,当然你要看看iPhone和Android编程是什么样的。阅读这个简单的iPhone应用程序开发实例,可以让你初步了解iPhone程序的开发过程。安卓程序都是用Java写的。下面是一个简单的视频教程,教你如何开发第一个Hello Android程序(注意:你可能需要一个代理来观看这个视频)。

最后:耐心,努力,尝试,失败。

好的程序员都有一种不达目的不罢休的品质,他们会为自己经过长期的深思熟虑和失败而获得的一点点成就感到惊喜。学习编程会很有收获,但是学习的过程可能会很挫折,很孤独。如果可能的话,你最好找个伙伴和你一起做。要掌握编程,和其他事情一样,需要坚持,反复尝试,获得更多的经验。

结束

需要注意的事项

本文中的内容是对想通过自学学习编程的新手的一些重要建议。程序员:我错过了什么吗?无论你的水平如何,请留下你的想法。

有什么想法都可以联系。