问题
我定期在* n * x环境中使用C(ANSI C89 / ISO C90)编程。我现在处于一个学习网络开发语言对我有益的位置。特别是,我希望学习一种语言:
我听到很多关于PHP的好东西。你们中有人有其他建议吗?
备注
答案 0 :(得分:21)
如果您已经熟悉C,Perl和Java,那么您已经完全了解PHP,您还不知道它。合理?也许不是。但是一旦你开始玩它就会。
您没有说明为什么您正在学习Web开发语言或它的用途。这是提供此类推荐的关键信息。如果没有这些信息,我会建议PHP有几个原因:
答案 1 :(得分:5)
PHP的语法与C非常相似。但是,它有其不同之处,你无法管理指针和内存(至少,不是我所知道的)。这也很容易。
PHP是一种服务器端语言,因此浏览器与它没有任何关系。他们都会获得相同的HTML / CSS信息,并且它们之间存在差异。
如果你想拥有像这个网站这样的互动水平,你应该看看Javascript(和它的框架(即:jQuery)。这种语言负责网络开发中的客户端。
答案 2 :(得分:5)
我喜欢前面提到的所有选项。只想添加一下,如果您已经了解PERL,那么您可以使用它来生成您能想到的所有网站。
答案 3 :(得分:4)
这里很多人都在谈论PHP,.NET,java等等。
但我要提出一个新论点:
对于网络而言,服务器端正在迅速变得无关紧要,特别是当您考虑您的标准(SO.COM的交互性)时。您想学习4项核心技术。如果你认为你了解它们或者可以在没有学习的情况下解决它们,那么你可能错了。这些标准已经发展了太长时间,如果你只是想通过死记硬背来学习“应该怎么做”的阴影,这太容易了。
1)现代,标准(x)HTML。知道HTML / xHTML中的内容和内容是什么4.想想你知道吗?你知道块级元素和内联元素之间的区别吗?你知道哪些元素被允许在哪些元素中?
2)CSS 2.1或更高版本。我推荐O'Reilly的“CSS:The Definitive Guide”。了解内部和外部的CSS选择器。技术#4你需要它们。你会惊讶于在CSS中可以完成的任务,你认为你只能用HTML中的大量标签。
3)Javascript。不,我不是在开玩笑。它不再是一种不起作用的笑话语言。有用。这是运行响应最快,最具互动性和最有趣的网站(谷歌地图,SO.COM)。
4)JQuery。它是如此光荣,我发现自己甚至无法说出来。也许这些评论者不会因为它的光辉光环而被克服,并且能够呼出它的名字。
由于所有真正令人印象深刻的东西,IMO,现在都在客户端,服务器端语言并不意味着那么多。我喜欢.NET的LINQ语法。我一开始对它表示怀疑,但这些天我正在喝加仑的加仑。但如果您选择PHP或RoR或Java或其他什么,那很好。但这应该是次要决定。首先学习上面的4种技术 - 无论你在服务器上做什么,都需要它们。
答案 4 :(得分:2)
您需要同时考虑语言和平台。 C#中的ASP.NET MVC将是我的推荐。语法将非常熟悉。 MVC是一个很好的模式,支持jQuery烘焙,为您提供良好的跨浏览器支持javascript。 MVC还为您提供了对生成的HTML的更多控制。事实上,它是SO所依据的平台。
答案 5 :(得分:2)
这取决于你想要做的事情的复杂性。
几乎每张海报都提到PHP,对于服务器端Web开发来说非常棒, 简单的东西很简单,复杂的处理得相当好。 PHP语法就像C一样 并且逻辑上一致 - 您几乎不需要参考优秀文档的语法部分。
然而,php只提供页面,你需要学习HTML,CSS和一些 Javascript放在那些页面中。
我个人犯了一个错误,认为Javascript只是另一种基本的脚本语言而错过了权力,优雅和 JavaScript可以带来多年的可能性。您在gmail和stackoverflow等网站中看到的几乎所有交互式好东西都归结为Javascript。
同样,这些网站上几乎所有“酷”的视觉演示都归结为CSS。
对于极其复杂的后端内容(特别是如果你需要在页面之间保持状态)你可能会更好地使用Java和各种框架(Tomcat或Jetty,加上带有Freemarker模板的Spring,以及IBATIS是我个人的获胜组合!) 。 这里的问题是这里有一个陡峭的学习曲线,如果你真的需要Java后端的强大功能,你只想去那里。
答案 6 :(得分:1)
如果您想在客户端工作,那么选择Javascript是必须的。所有主流浏览器都支持它,并且有各种丰富的框架可用(jQuery,dojo,ASP.net)。有些人仍在使用Java applet,但整体applet非常奄奄一息。
答案 7 :(得分:0)
如果你坚持使用PHP,请帮助你理智并使用一个体面的框架。我强烈推荐CakePHP,但我不想开始任何神圣的战争。
你提到了Java的经验 - 为什么不应用它?或者,作为C程序员,C#和.NET怎么样?
世界是你的软体动物,朋友。
答案 8 :(得分:0)
使用Perl和C后台我会认为PHP会很容易。了解框架和那类事物。
答案 9 :(得分:0)
我非常严格地说是C程序员。它不是我有一个狭窄的范围或害怕其他语言,它只是我的工作所要求的语言。我所做的大部分工作都是虚拟化,云计算等的后端自动化。
偶尔,我必须将某种网络前端放在一起,将所有内容捆绑在一起。当我这样做时,我真的很喜欢使用PHP。事实上,我发现大多数使用具有强大C背景的PHP的人都可以非常高效和富有创造力。
这就是我喜欢PHP的原因,以及为什么在熟悉C语言的情况下加入PHP很酷:
PHP非常容易扩展。虽然PHP确实附带了一组非常丰富的库,但您经常会发现(至少我这样做)您需要它来与其他库一起工作本身。一个很好的例子就是libvirt。您可以将libvirt中所需的函数转换为PHP函数,而不是调用和抓取一堆shell分支。
PHP不会推动OO概念正如其他人所说,PHP作为面向对象的语言做得很好。但是,它的语法不会推送 OO方法。换句话说,您的代码看起来不像是在程序上使用OO语言的人。它读起来就像是C。
PHP解释自己如果在php.net上的大量文档中找不到函数引用和示例,请抓取PHP的源代码并自行查找。 Zend核心相当神秘,但扩展并不难以阅读。
简而言之,直到你习惯了带有垃圾收集器的动态类型语言......你会觉得你没有系安全带就开车了。但是,我认为你会很快接受它并对你的工作效率感到满意。
答案 10 :(得分:0)
如果你是一名优秀的C程序员,为什么不继续简单地用C代码?使用不同的编程语言是有正当理由的,但仅仅因为您要编写Web代码并不是其中之一。有两种流行的方法可以使用C进行Web开发:
答案 11 :(得分:0)
我和几位在C和/或JAVA之后学过PHP的同事一起工作过。 他们真的很高兴。 如果你想成为一个.net人并且对这些环境有所了解,你会发现C#很熟悉,但对我而言,它充满了艺术性的艺术品。
答案 12 :(得分:-1)
到目前为止,我会推荐C#。其中的OOP非常棒,您可以轻松地使用Design Patterns。它从头开始构建为OOP。它也是一种{}语言。