是否值得学习C作为Web开发人员?我会用它吗?

Imr*_*ran 13 php c ruby-on-rails

作为Web开发人员,是否值得我学习编程语言C?我是否需要使用它?我目前正在使用PHP和Ruby on Rails.

S.L*_*ott 9

让C程序实际可靠地工作的无尽痛苦将教会你很多关于为什么PHP是一种更文明的编写软件的方式.

是的,你最终会使用它.

有一天,你会遇到一个不适合PHP或Ruby的问题.你将能够回归到C并且看起来像英雄,因为你比其他人更了解某些事情.

  • 让C可靠地工作并不像在任何时候想要在PHP中调用函数那样痛苦,因为你不记得参数顺序(或名称). (20认同)
  • 男子:医生,当我[i ++] =我时,它会受伤!` 医生:那不要那样做! (10认同)
  • 啊,来吧,只有几千个PHP函数,这不是很难记住!大声笑 (6认同)
  • @ S.Lott,你到底在说什么?在其他开发人员看到的成千上万行C中,我从来没有见过这样的东西.而且,它在语义上没有意义,它具有非常特定的含义.此外,我不明白为什么像这样的一行不能用任何其他语言写成. (3认同)

Bil*_*win 8

Joel Spolsky敦促计算机科学专业的学生学习C:

" 对计算机科学大学生的建议 "(2005年1月)

  • -1假设海报是计算机科学专业学生作为链接到Spoolsky文章的借口. (2认同)

rde*_*ges 7

并不是的.如果有的话,学习C,因为它很有趣,是一种很好的语言,可以帮助你更多地了解系统内部.从事Web开发是非常高级的,您将无法获得真正深入了解系统的机会.使用C可以帮助您更好地理解指令在低级别执行的方式,内存管理的工作方式以及如何创建PHP/Ruby内置的许多内容.


Jas*_*son 7

我发现知道C作为Web开发人员非常有用.例如,我写的一个网络应用程序包括一个照片库.它将照片存储在webroot之外,以便在显示实际图像之前检查用户的权限.

最后,我发现使用PHP中的Web应用程序显示一个充满图像缩略图的页面的开销非常高.因此,我将C中的实际照片显示代码重写为cgi程序,这将开销减少到几乎为零.


Pie*_*ten 6

学习拉丁语有助于理解现代派生语言的结构; 所以就这样,我说为什么不呢?


jay*_*won 5

我不认为学习任何新语言是一个“坏”的主意。特别是对于 C,它只能让您更好地了解您正在使用的语言是如何在“幕后”运行的。


Gra*_*yer 5

正如其他人所说,你可能不会使用C,但仍有许多与计算机和计算机科学相关的重要概念.可以从Kernighan和Ritchie等C编程语言这样的经典文本中获得一些见解.

这包括

  • 在简要文档中解释语言时非常好的文档和写作风格的示例.您会发现在一本不超过100页的书中解释了完整的语言.与今天出售的一些书籍墓葬相比,这些书籍将自己定位为教授语言,但往往不仅仅是重新编写的API手册.

  • 理解指针,内存管理,数组和字符索引.所有与核心计算机科目一致的好信息; 虽然水平较低,但对于专业程序员来说却是一个有价值的信息.

  • 它是一本简单快速的参考书.再一次,你不会破坏它提升它的手臂,但从中获得了很多知识.

通常,C非常适用于那些真正需要靠近机器或需要通过使用C-API扩展语言的场合.


von*_*rad 4

首先,您必须定义“网络开发人员”。您正在构建网站或基于网络的软件吗?虽然这两项任务很容易属于“Web 开发”类别,但它们在成功完成任务所需的技能方面有些不同。

您更有可能遇到后台处理和文件/操作系统与软件的交互,而不仅仅是网站,从而增加了使用 C 等低级语言的可能性。

话虽如此,你会使用它吗?不太可能。数十种高级语言已经被引入来解决网络开发问题。从 Web 开发的角​​度来看,如果您不得不求助于 C,很可能是因为您不具备更合适语言的必要技能。请记住,大量不同规模的网站和软件解决方案都可以在 PHP 和 Rails 上正常运行。

值得学习吗?或许。如果您觉得您需要核心编程技能来补充您的 Web 开发技能,并且您有空闲时间;大胆试试吧。如果没有,就不要。相反,您最好真正擅长 Ruby/Rails。