一般编程知识

  • 本文关键字:知识 编程 php
  • 更新时间 :
  • 英文 :


我对编程完全陌生——我的兴趣在于PHP&MySql,用于为军乐队管理目的构建动态web应用程序。即为成员提供一般信息和社交网络+为管理团队增加有效沟通的功能。

好吧,问题是——随着我对PHP的了解越来越多,有些术语我不理解,它们必须来自所有语言之间的共同熟悉基础,即"堆栈溢出"似乎是一个明显的问题——"使用太多递归函数可能会破坏堆栈"是另一个问题。

那么,有没有一本关于编程的书(也许是入门书)能让像我这样的人更好地理解这一切的含义呢?

请记住,我今年57岁(年轻),才刚刚起步。

Steve

维基百科可能是您获取编程术语一般信息的最佳资源。他们社区的很大一部分与编程社区重叠,因此与技术相关的页面通常非常准确、有教育意义和最新。请参阅他们关于堆栈溢出和递归的页面作为示例。

此外,PHP.net是专门学习PHP的最佳场所,但如果您刚开始学习,请跳过主页,直接进入教程。

最后,我强烈推荐Head First SQL这本书来学习数据库。书中的所有例子都使用MySQL。整个Head First系列都很棒。我听说他们也有一本PHP书,但我还没有读过那本。

更新:Head First PHP&MySQL现在可用。

听起来你错过了计算机科学程序中涵盖的一些基础知识。不用担心,信息是现成的。你不必花钱请人教它(尽管有时很好)。维基百科的计算机科学条目在突出你可能遇到的主要领域方面还不错。好知道的主题:

  • 离散数学(有助于理解形式逻辑、算法复杂性和概率)
  • 编程基础知识(听起来你可能在这些方面有一个良好的开端)
  • 数据结构(以适合任务的方式存储和操作数据。例如,为什么要使用哈希表、数组和链表?从列表来看,stackoverflow中的堆栈就是一种数据结构。)
  • 算法(以最有效的方式操作数据结构,或者至少知道成本。从你的列表中,使用太多递归函数来"粉碎堆栈"是一种算法选择。)
  • 计算机体系结构(了解代码编译或解释后的实际情况。)
  • 网络(学习协议,当你的软件想要与不运行的机器对话时会发生什么)
  • 比较编程语言(PHP只是剥猫皮的一种方法。了解它的设计者为什么会做出他们所做的决定,并接触到替代方案。)
  • 操作系统(了解硬件如何与软件交互是件好事,但了解它如何与操作系统交互可能更重要。文件系统、进程管理、内存管理、安全)
  • 形式语言/计算理论(计算模型、语法[用于验证和解释代码]、计算的局限性。作为软件工程师,通常不会每天使用。再说一遍,正则表达式在这门课之后终于有意义了。)
  • 软件设计和生命周期方法论(仔细考虑软件的设计、编码、测试、发布和维护。)

至于书籍,我会先检查一所值得信赖的学校的计算机科学课程阅读情况。

斯坦福大学免费提供一系列在线课程:http://see.stanford.edu/see/courses.aspx

麻省理工学院允许您免费下载课程材料:http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/

查看youtube上的计算机科学相关讲座。

如果你想要不那么关注学校的东西,在亚马逊上快速搜索上面的任何主题都会得到用户评论的结果。

显然,综合来看,这份清单并不是真正的介绍。我会从一个听起来很有趣的话题开始,然后跳进去可能对你这种情况下的人有用。

为了以可读性强(不太专业)的方式更好地了解计算机硬件和软件的内部工作原理,我可以推荐Charles Petzold的《代码,计算机软硬件的隐藏语言》。

后面的章节特别讨论了大多数编程语言中存在的一些更通用的编程概念。前几章更多地关注计算机和软件的历史,因此与您的问题无关。

然而,这不是一本很大的书,所以阅读这本书应该很有趣/有用。

如果你想专门介绍PHP/MySQL编程,还有更好的书,但如果你想了解更多关于软件和硬件如何工作的一般知识,《代码》很好。

我不确定是否有一本书会教你"编程基础"。我知道学习所有这些东西的唯一方法就是简单地练习。获取PHP教程并开始构建东西。学习新事物时要始终保持开放的心态。当你从不完整的知识中找到一种比可能非常低效的破解更好的方法来做某事时,然后使用它并学习它,并将其融入你的知识中。。。经过几年的努力,你将成为黄金。

我已经读了几年了,但编程PHP在介绍基本编程概念方面做得很好。它并没有帮助理解更高级的概念,比如MVC(这在PHP世界中很少见),它包括数组、函数、回调、类等。

我喜欢Corbin的评论,但我会采取相反的方法。

基本上,对于今天的系统,您真的不需要知道系统的所有底层细节。真的,你没有。

如果你觉得这些东西很有趣,整个互联网都可以由你支配——只需让你内心的缪斯引导你度过必要性或简单的好奇心。你可以想走多远就走多远。

事实是,今天的计算是如此美妙,以至于你想开始的项目只是一个了解更多关于神秘计算世界的绝佳机会。事实上,人们可以在"毫无线索"的情况下尽可能地走得更远,这证明了该领域已经发展了多远。这是一件好事。

了解把汤变成坚果的过程是件好事吗?当然你真的需要这种理解来提高效率并从你的时间投资中获得有用的结果吗?不,你没有。

而且,随着你的进步,如果你真的喜欢这项工作(你很可能不喜欢),这个领域就会变得随心所欲。

今天的计算就像"家得宝"。你可以做到,我们可以帮忙。有数百个论坛和数千页的文档、书籍、博客和讨论,可用于大多数任何主题。

要专注的关键是简单地完成你的任务。不要担心完美,不要担心"以正确的方式做",不要"设计"它。只要把碎片锤在一起,直到你用你偶然发现的或直觉找到的东西接近你想要做的事情。因为这是找出你不知道的东西以及如何在应用程序中不做事情的最简单方法。试试看。

你会被选项、技术、模式、框架等蒙蔽双眼。不仅有"不止一种方法可以做到",还有数百种方法可以"做到"。忽略成百上千,专注于"做它",然而这对你来说似乎很自然。

不要让雅虎在他们的象牙塔里大便你的问题,或粉碎你的设计。除非他们的名字是"巴贝奇",或者他们在第二次世界大战时为火炮计算机切割装备,否则我们都站在巨人的肩膀上,我们都是从某个地方开始的。诚实的批评应该总是受欢迎的,但有些人似乎无法提供这种批评,而是诉诸于贬低。

我惊叹于我所看到的"被黑客入侵"、"被屠杀"one_answers"OMG’d"的应用程序,人们可以从中获得真实、实用的用途——这就是游戏的真正名称。

祝你旅途愉快。在你所有的努力中取得成功。

学习是非常个人化的,所以你的里程可能会有所不同,但我发现在公共论坛上提问非常有帮助。如果你对这个话题不太了解,很容易提出错误的问题,或者以某种方式专注于错误的事情。从更有经验的人那里获得直接反馈通常会有所帮助。PHP是幸运的,因为它有一个非常大和友好的社区。此外,它的许多用户都是业余爱好者或缺乏经验的程序员,这意味着存在一种询问术语等基本问题的文化。我建议你利用这个来源。

一个地方可以从sitepoint开始,但还有其他地方

如果你更喜欢视觉学习,我会查看一些视频教程。从基本的编程概念开始,然后转到"使用PHP运行"、"高级PHP和MySQL"等标题。然后我建议使用一个MVC框架,比如codeigniter。

你可以在Lynda.com或Pluralsight.com和其他几个地方找到很棒的视频教程。

最新更新