12

I've met a student from the computer science department and I discovered that they only teach java and aspx. I asked him why they didn't teach php since it is the top one programming language on the net. He says that it was a "easy" (or hobbyist's) programming language. I'm not sure what that means.

What's your opinion?

ChrisF
  • 38,948
  • 11
  • 127
  • 168
wyc
  • 493

9 Answers9

18

Universities are not vocational schools. You should not expect them to teach you about particular tools. They should not teach "how to hack a web page in half a day", but rather programming paradigms. Languages are chosen to by they ability exemplify these paradigms, and by their educational value. So they teach OOP course and exemplify it with Java or C++, in Operating Systems course you'd probably be doing C, Haskell or similar in Functional Programming, Prolog in Logic Programming etc.

And yes, by many people at universities PHP is not considered serious enough language to teach it.

vartec
  • 20,846
15

Lots of possible angles to this query:

  1. Your friend's response was flippant, or a misleading summary of a series of events that he couldn't be arsed to give you the full details for.

  2. Your friend's response was his/her own personal opinion, not necessarily reflective of your learning institution's overall academic strategy.

  3. To a certain extent, as someone who has taught himself PHP (and knows no other programming language) I would not call it a great loss for a university to not teach it.

  4. It is vastly more useful to be learning programming concepts in university than the various ways one can Hello, world! or Hello, god this is stupid! as I always viewed that introductory task.

The list goes on, but my coffee awaits.

Drew
  • 1,283
3

I suspect they teach the language the teaching staff knows, and that dovetails with the principles of progamming that they want to convey.

Java seems like a good choice to me and I've never programmed in it but when I see Java example code I grok it immediately. Plus there are lots of open source tools (Eclipse, JUnit, etc) that accompany Java and lots of open source projects that interested students could join.

I think C# would make another good teaching language, but its Microsoft heritage may work against it in academia.

A language like C++ may be able to teach all the same principles but there's a lot of syntactical baggage that is there solely for compatability with older C code.

Personally I've never found any language particularly hard or easy. Once you learn one the others come pretty easily. Writing good, clean maintainable, testable, easily extensible, bug-free code, now that's hard. Writing any kind of code that just compiles cleanly on punch cards, that's hard too.

Tod
  • 181
2

To follow up on Andrew.

Until a few yeasrs ago, PHP wasn't considered proper Object Oriented (shoot me if I'm wrong guys :). Therefore it was not suited to use teaching OO. Before .NET they used C++ and Cobold.

Another fact is that even though it's used on a large scale, it's not as widely used as .NET - not in the proffesional business anyway.
If you look at all the reqruitment sites, you will see that the was majority of jobs available are either .NET or Java. This is because there is actually a huge demand for .NET programmers (or Java).

Therefore this is what schools prioritize I guess.

Steven
  • 226
2

Picking up languages on your own is not hard. Over the course of a career in computer programming you will have to pick up a bunch of them. As I recall the Brandeis CS department did not ever teach languages to majors, unless it was incidental to something else.

When I started my CS Degree PHP didn't even exist yet. A CS department should teach methodology, not languages. Understanding recursion, data structures and programing principles is important. As for PHP go pick up a book and start playing.

Zachary K
  • 10,413
1

Note: I’m ultra busy and so I haven’t read all the other responses, so I hope I am not repeating ideas.

I am almost tempted to say that I agree with the spirit of what was said, but I would not put my name to the characterization that your professor/teacher gave.

It’s incontestable that PHP is an extremely popular programming language. That said, I would still count it among “domain-specific” programming languages, and if I were trying to convey more transcendental (sorry!—background in philosophy here) concepts, I wouldn’t use PHP. PHP is among the so-called ”Turing-complete” programming languages (i.e., it’s not AppleScript—it’s suitable for any programming problem), but I think it has so much Web-specific design (just think of the PHP prolog and how XML-influenced it is) that it could distract from the core programming discipline.

PHP isn’t a hobbyist programming language: many professionals use it. In fact, I’d say Python 3 is more of a “hobbyist” language than PHP. That just sounds like a rather humbug cackle from the ivory tower rather than a statement about reality.

And as for the “easy” part. Boy, I am really beginning to dislike your teacher. Programming shouldn’t be needlessly byzantine or difficult. A good language is one that lets you present your ideas clearly, not cryptically. I don’t find PHP easy; in the sense that I do not find it easy to formulate even semi-difficult ideas with anything approximating clarity. I find it much easier to do this in, let’s say Python, or C with Literate Programming.

Summary: PHP is popular, but not exactly elegant for treating the core of computer science. Your teacher sounds like a dbag.

1

I also suspect your friend mostly said that because he thinks so himself. I doubt the official stance of the department is "we don't teach language X because it's too easy", but rather "we teach languages Y and Z because of [reason] and the rest the students can pick up themselves if they want to."

University isn't there to teach every important language to its students - they are to teach basic concepts of programming (in addition to lots of other things). If you think you need to learn PHP, you will likely be able to do it in your own time. Really, after learning two or more programming language, another (related) one usually isn't hard to pick up. Don't base which university or course to pick only upon the languages taught.

pyvi
  • 632
1

We also saw java & aspx in college.

As for the why? They were the two platforms with the most chance to find a job.

Carra
  • 4,281
0

It is an easy language. At the CS department where I studied they canceled the C course because it was deemed to be a teach-yourself-language.

jqa
  • 1,410