Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Next year I'm going to school to study IT. I went to some schools' open door days already and I was given much information.

However, at one school I was told they primarily focus on the .NET Framework and Java. I'm concerned about this because I think the programming language and frameworks used isn't as important as the design of a software program. I'm also concerned about the fact that you can get used to the flaws in those languages and frameworks and you may lack knowledge of other paradigms (such as functional programming). Am I getting this right?

Is it normal for a school to focus on a specific language or framework?

share|improve this question
2  
If you're asking this, you stand a good chance of teaching yourself far more than even the best schools can teach you in a few years' worth of afternoons ;) –  delnan Aug 29 '11 at 10:28
    
You say "primarily" focus. It's reasonable to have a primary platform and do most things in it, but it's vital to get exposed to language concepts in other platforms. Do they teach in, oh, Lisp or Prolog or Erlang or something else when appropriate? –  David Thornley Aug 29 '11 at 13:52
    
encrypted.google.com/… –  Joe Internet Aug 29 '11 at 15:44
add comment

5 Answers

up vote 5 down vote accepted

I think the programming language and frameworks used isn't as important as the design of a software program.

You already have the answer. It doesn't matter which language or framework they teach you, nor if it is normal for a school to focus on specific languages/frameworks. You should be concerned about which programming methods and practices they teach you.

I guess the only way to tell if that school offers "good" teachers/teachings is to ask someone who studied there before you.

share|improve this answer
    
I think I'm going to that school again and ask about it. Thanks! –  rightfold Aug 29 '11 at 10:58
    
The problem is that you have to learn something first before starting to understand it's concept. Then you can generalize when you start playing with other tools, see the differences. –  Klaim Aug 29 '11 at 12:44
    
@Ramhound: any programming language could do, because you will learn to code and how to be a programmer. Every language has its different concepts, functionalities and require a different approach to problem solving, but whatever the language is, they will still teach you how to code and solve problems. So of course they teach you something, but you may want to be sure that they are good teachers, so that they teach you good. –  Jose Faeti Aug 29 '11 at 14:46
add comment

Some computer science schools don't teach any programming language at all. Caltech didn't when I attended. Instead they teach theory, with the student being expected to pick up whatever languages they need entirely on their own.

For a school to focus specifically on high-level interpreted languages suggests that it might not be such a good school. A computer science education should include stuff like operating system design, computer architecture, compiler design and so on. For all that you need low-level languages like C and Assembly Code.

share|improve this answer
1  
There's a lot more to computer science than low-level working. Exposure to low-level workings is very useful, yes, but not all programming is kernel programming. –  delnan Aug 29 '11 at 10:23
    
I wasn't trying to imply that low-level computer architecture is all there is to a computer science education. But teaching particular programming languages isn't really what computer science is about. What you really need to know can be coded in just about any programming language. If the school has to go to a lot of effort to teach its students to write in some particular language, then the students are probably not very bright. A better school would expect you to pick up the languages on your own, and would have you work in several different languages over the course of your studies. –  Michael Crawford Aug 29 '11 at 10:27
    
That's a reasonable statement, and I agree. But that wasn't what the second half of your original answer was saying ;) –  delnan Aug 29 '11 at 10:28
add comment

The important question isn't whether it's normal but whether it's worrying, and you're right to be concerned. It doesn't necessarily mean that they don't teach you good basic principles, but it's a factor to take into account. If you find another school which appears the same except that does some courses in an OO language and others in an FP language, it's worth prioritising that one.

share|improve this answer
add comment

Though I agree that there is no point in learning more languages than learning more techniques, I also want to point out that each language is generally good at doing something. There are some concepts that are only available in certain languages and would not even seem feasible in other languages.

For example recursive programs are better learnt in a functional programming language, though C/C++ can do it most students don't see why take the pain to learn. You can learn basic oop good practices with Java but there are many concepts like Mixin's, Multiple Inheritance, AOP, etc that are not really native to Java.

So in summary, its good to spend a year with one language, but to widen the gaze you should learn other languages.

Schools often focus on a single language to give the students higher chance of getting a job. As you spend more time with the language so you tend to gain expertise with that language. I wouldn't be so worried about what my school teaches as long as I have enough time to learn other languages.

share|improve this answer
add comment

It depends on the type of school. Universities are more likely to focus on theory and to teach/certify you in a particular language. They pick languages that are relatively widely used but not necessarily cutting edge. This would reqire changing the curriculum too often; why bother when the focus is on theory.

Local colleges and technical schools may focus on a particular language because their goal is direct job placement. Certain industries want graduates to know language 'X'. Some professors are consultants, so they drive businesses to technologies in their area of expertise. They turn around and look to their students as job candidates. Job placement statistics are very popular to local colleges and trade schools.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.