我的大学不提供php课程,因为它是一种“简单”的编程语言?[关闭]


10

我遇到了一位来自计算机科学系的学生,发现他们只教Java和ASPX。我问他为什么他们不教php,因为它是网络上最流行的一种编程语言。他说这是一种“简单”(或业余爱好者)的编程语言。我不知道那是什么意思。

你怎么看?


11
如果他们不教授简单易学的语言,为什么他们会教aspx令我有些困惑。
Dietbuddha 2011年

17
......?Java比PHP更容易。PHP很丑。我的意思是,不是ColdFusion丑陋,也不是我的键盘摔得像Perl丑陋,但仍然……我认为这意味着他是一个语言势利小人。或无知的菜鸟。或两者。可能两者都有。
史蒂文·A·洛

10
只有Java和ASPX?他们是在教计算机科学,还是只是提供职业培训?
凯文·克莱恩

18
引用我大学的CS系主任的话:“我们不教编程语言,我们教计算机科学。” 我们接触了很多语言,这些语言或多或少地与每种课程的主题相适应。很少的时间花在实际的语言上,这只是达到实施课程中所教授概念的一种手段。
MetalMikester 2011年

5
请从任何开放源代码/封闭源代码的Flamewar中排除PHP。PHP是一种非常特殊的野兽,它提供了许多快速实用的功能,特别是对于初学者来说很高兴,但另一方面,它却很丑陋。它记录了错误的设计决策,这些决策导致PHP驱动的Web应用程序出现了很多安全漏洞(我想到了register_globals和字符串转义)。因此,PHP凭借自身的优点为一次以上的大火提供了足够的燃料。无需将其包括在FLOSS与M $ Flamewar中。
user281377 2011年

Answers:


15

此查询可能有很多角度:

  1. 您朋友的反应是轻率的,或者是一系列事件的误导性摘要,他无法为您提供所有详细信息。

  2. 您朋友的回应是他/她自己的个人观点,不一定反映您学习机构的整体学术策略。

  3. 在某种程度上,作为一个自学过PHP(并且不懂其他编程语言)的人,我不会称其为大学不教它的巨大损失。

  4. 在大学里学习编程概念要比世界上的各种方式有用得多你好,天哪,这很愚蠢!就像我一直看的介绍性任务一样。

清单继续,但我的咖啡在等。


一年前(很久以前),一所主要大学的CS院长曾告诉我,OOP是一时的流行,因此他们不必费心教任何OOP语言。那是在1993年,所以他的无知/怀疑是可以原谅的。
Steven A. Lowe

3
CMU决定几天后停止教授OOP作为入门级课程,并将其选修。developers.slashdot.org/story/11/03/26/0016229/...
apoorv020

@ apoorv020:因为面向对象的学习太困难了,可怜的新生们无法立即解决问题
史蒂文·A·洛

1
我的第一门CS课程是函数式编程(方案),
Zachary K

2
@Steven A. Lowe,那个院长是一个非常聪明的人。OOP不过是一个巨大的欺诈行为,而在课程中完全忽略它是一件明智的事情。CMU最近将他们的决定解释为“因为它本质上既是反模块化的又是反并行的,因此不适合现代CS课程”-不是因为它很“硬”(不是)。这根本不值得教。
SK-logic

18

大学不是职业学校。您不应该期望他们教您有关特定工具的知识。他们不应该教“如何在半天之内入侵网页”,而应该教编程范例。选择语言时要以它们能例证这些范式的能力以及其教育价值为基础。因此,他们教授OOP课程并用Java或C ++进行举例说明,在操作系统课程中,您可能会做C,Haskell或类似的函数编程,或逻辑编程中的Prolog等。

是的,许多大学里的人们都认为PHP不够认真,无法教授它。


1
为什么不是一种“严肃的”语言?
janoChen 2011年

4
@janoChen:这是不是一个问题。问题是,足够多的人认为这并不严重。
vartec

3
@janoChen:哪种基本的编程原理比其他语言更容易用PHP教?对于我听说过的大学教学的每种编程语言,我都能想到良好的教育用途。PHP怎么样?(这很严重;我从未使用过,所以我不知道它对学术有什么好处。)
David Thornley

2
@David- 如何不命名您的核心职能 ;-)
Drew

3

我怀疑他们在教老师知道的语言,这与他们想传达的编程原则相吻合。

对我来说,Java似乎是一个不错的选择,并且我从未编写过Java程序,但是当我看到Java示例代码时,便立即查看了它。另外,还有许多Java随附的开源工具(Eclipse,JUnit等)以及许多感兴趣的学生可以加入的开源项目。

我认为C#将成为另一种很好的教学语言,但是它的Microsoft传统可能会在学术界与之相反。

像C ++这样的语言也许可以教所有相同的原理,但是有很多语法上的限制只是为了与较早的C代码兼容。

就我个人而言,我从来没有发现任何语言特别难或易。一旦您学会了一个,其他人就很容易来了。编写好的,干净的可维护性,可测试性,易于扩展的,无错误的代码,现在很难了。编写任何可以在打孔卡上干净地编译的代码,这也很难。


以我的经验,语言并不难学,概念却不难。我花了一些时间来掌握函数式编程的知识,但是之后Lisp并不困难。我花了一些时间来掌握OOP,但是在那之后C ++和Java并不困难(这是在C ++大量获得模板之前)。
David Thornley

但是,任何将Java和C#都作为独立的事物来教学而不是说它们在很大程度上非常相似的地方对学生造成了极大的伤害。或者他们是一所低等的贸易学校。
Donal Fellows

2

自己挑选语言并不难。在计算机编程的职业生涯中,您将不得不挑选一堆。我记得布兰代斯(Brandeis)CS部门从未向专业授课语言,除非这是偶然发生的。

当我开始CS学位时,PHP甚至还不存在。CS部门应该教授方法论,而不是语言。了解递归,数据结构和编程原理很重要。至于PHP,请拿起一本书并开始玩。


1

跟进安德鲁。

直到几年前,PHP还没有被认为是正确的面向对象的工具(如果我做错了,请告诉我:)。因此,它不适合使用教学OO。在.NET之前,他们使用C ++和Cobold。

另一个事实是,即使大规模使用它,它也没有像.NET那样被广泛使用-无论如何,它不在专业行业中。
如果查看所有的招聘网站,您将看到大部分可用的作业是.NET或Java。这是因为实际上对.NET程序员(或Java)有巨大的需求。

因此,我猜这是学校优先考虑的事情。


@Steven的需求是基于公司法则还是代码效率?
janoChen 2011年

此外,还有大量基于.NET和Java的高质量教材,远远超过了基于诸如php之类的业余语言的高质量教材。
jwenting 2011年

需求取决于项目的数量和项目的规模。公司通常会承担许多项目,而且期限很短,即使他们没有足够的程序员。在其他时候,无法预料的“颠簸”会导致更多程序员的需求。
史蒂文

PHP仍然不是适当的面向对象,也许永远不会。
vartec'Mar

1
这是“ COBOL”,而不是“ Cobold”(您可能会想到“ Kobold” –它们是日耳曼语民俗中的妖精状精灵; D&D中的鳞片状老鼠/狗怪兽;或者“您不拿蜡烛!” (WoW)。直到2002年,OO扩展才被添加到COBOL中。
Nate

1

我也怀疑您的朋友大多是这么说的,因为他本人也这样认为。我怀疑该系的官方立场是“我们不教X语言,因为它太容易了”,而是“因为[原因],我们教Y语言和Z语言,其余的学生如果愿意的话可以自行学习。 。”

大学并不是在向学生教授每一种重要的语言-他们是在教编程的基本概念(除了很多其他事情)。如果您认为需要学习PHP,则很可能可以在自己的时间进行。确实,在学习了两种或更多种编程语言之后,通常不难学习另一种(相关的)编程语言。不要仅根据所教授的语言来选择哪所大学或课程。


1

注意:我非常忙,所以我还没有阅读所有其他回复,所以希望我不要重复任何想法。

我几乎想说出我同意所说的精神,但我不会把你的教授/老师所描述的名字作为我的名字。

毫无疑问,PHP是一种非常流行的编程语言。话虽如此,我仍将其视作“特定于域”的编程语言,并且,如果我试图传达更多的超越性(对不起!在这里是哲学背景)概念,那么我不会使用PHP。PHP是所谓的“ Turing-complete”编程语言(即,它不是AppleScript,它适用于任何编程问题),但是我认为它具有很多特定于Web的设计(仅考虑PHP序言以及XML的用法) -影响)可能会分散核心编程学科的注意力。

PHP不是爱好者编程语言:许多专业人员都在使用它。实际上,我想说Python 3比PHP更像是一种“爱好者”语言。这听起来像是从象牙塔上发出来的一堆傻话,而不是关于现实的陈述。

至于“简单”部分。男孩,我真的开始不喜欢你的老师。编程不应不必要地拜占庭式或困难的。良好的语言可以让您清晰而不是含糊其词地表达自己的想法。我觉得PHP并不容易。从某种意义上说,我觉得很难提出甚至清晰的任何半困难的想法。我发现用Python或带有Literate Programming的C来执行此操作要容易得多。

简介:PHP很流行,但在处理计算机科学的核心方面并不完美。你的老师听起来像个背包。


我以为AppleScript即将完成。
肖恩·麦克米伦

0

这是一种简单的语言。在我学习的CS系中,他们取消了C课程,因为它被认为是自学语言。


0

我们还在大学里看到过Java和Aspx。

至于为什么呢?他们是找到工作机会最大的两个平台。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.