Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

janey

macrumors 603
Dec 20, 2002
5,316
0
sunny los angeles
Let's wrap up the argument. I'll just say perhaps my opinion of Java is based with it being the favorite of students who will never graduate.
Not saying Java is my favorite, but when I'm stuck with it because almost every single university (including my #1 being uc berkeley) with the exception of maybe a couple (like UCLA) that I'm applying to (for transfer, mind you) this/next year seems to prefer Java over C++ etc...well then, I'm stuck aren't I. It starts mattering less the more advanced the classes are, but in terms of intro CS material..definitely more Java-wanting.

I don't particularly care either way or another in the Java vs. C++ argument, but I know where my strengths and weaknesses lie, and I'll use that to my advantage (or..when it's a strictly-one-language class/project).

Personally I prefer Ruby, but it's not feasible for everything.
 

darkwing

macrumors 65816
Jan 6, 2004
1,210
0
Not saying Java is my favorite, but when I'm stuck with it because almost every single university (including my #1 being uc berkeley) with the exception of maybe a couple (like UCLA) that I'm applying to (for transfer, mind you) this/next year seems to prefer Java over C++ etc...well then, I'm stuck aren't I. It starts mattering less the more advanced the classes are, but in terms of intro CS material..definitely more Java-wanting.

I don't particularly care either way or another in the Java vs. C++ argument, but I know where my strengths and weaknesses lie, and I'll use that to my advantage (or..when it's a strictly-one-language class/project).

Personally I prefer Ruby, but it's not feasible for everything.

We had a guy at my last job from UC Berkeley. He said that yes, they taught Java at the school. He said because of that, he knew no C++. Somehow he knew no OOP, either. (What the heck?) Luckily he had me to work with and after about a year he was top notch. (Makes me worry about the CS majors UCB is churning out. Personally, I feel they should stick to hippies strumming guitars or writing poetry up in the trees.)

My school (CSU Hayward, now called CSU East Bay) was primarily a C++ school. However, they do use Java for an OOP course and one of the professors is a huge Java fan so if he teaches a software engineering course it's in Java. Pretty useless courses, because all you do is design classes off his UML and write code off his sequence diagrams.

That OOP class at my school was my first exposure to Java. I primarily relied on all my industry experience. I was able to skip 2 classes (and challenged out of assembler) due to that. I had to make up 8 units though for the 2 courses I skipped. Those were the two quarters of C++ programming.
 

rtharper

macrumors regular
Sep 6, 2006
201
0
Oxford, UK
We had a guy at my last job from UC Berkeley. He said that yes, they taught Java at the school. He said because of that, he knew no C++. Somehow he knew no OOP, either. (What the heck?) Luckily he had me to work with and after about a year he was top notch. (Makes me worry about the CS majors UCB is churning out. Personally, I feel they should stick to hippies strumming guitars or writing poetry up in the trees.)

Perhaps that's because UCB's Computer Science program teaches Computer Science. That is not equivalent to either a Software Engineering program nor a vocational program in Computing.
 

G4scott

macrumors 68020
Jan 9, 2002
2,225
5
USA_WA
As stated before, the point of a CS degree is not to learn one particular language, but to make you familiar with programming methods and such. You should be able to pick up a book about a programming language you've never used, and within a day, be able to do something with it.

As far as the Java/C++/C/C#/ML/Haskell/Assembly arguments... I won't get into that too much, but with a CS degree, you shouldn't be stuck with one language, but you should be able to understand and use several of them.

My school primarily uses Java in the introductory classes and such, but when more complex concepts are being taught (such as object oriented programming or operating systems), we'll use C++ and C. For some classes, you may even use perl, haskell, or some other language you may have never thought of using.

If you go through CS knowing just Java, then you've done something wrong. A well rounded CS student should not only understand higher level ideas, but how their code interacts with the hardware down to the lowest level (well, maybe not ones and zeros, but ASM code...)

Either way, I'm sure you'll find there's a lot more to CS than just programming.
 
  • Like
Reactions: 0002378

plinden

macrumors 601
Apr 8, 2004
4,029
142
C++ is for wusses. It's programming with training wheels for those who are too stupid and lazy to learn proper programming.

Real programmers program directly in machine code.
 

deputy_doofy

macrumors 65816
Sep 11, 2002
1,466
410
Now, I must start out by saying that I have not used C++ and Java extensively since school (2002)...
Ok, as messy as they can be, I LIKE pointers. I like being able to manipulate pointers without being forced to only manipulate the variable to which they point. It's not my fault people create too many memory leaks. :p
 

rtharper

macrumors regular
Sep 6, 2006
201
0
Oxford, UK
Now, I must start out by saying that I have not used C++ and Java extensively since school (2002)...
Ok, as messy as they can be, I LIKE pointers. I like being able to manipulate pointers without being forced to only manipulate the variable to which they point. It's not my fault people create too many memory leaks. :p

Or buffer overflows...or segmentation faults...the list goes on and on =p And pointers make it impossible for a compiler to tell you of behaviour that might result from incorrect pointer manipulation.

I have to agree that some hacks for pointers are nice, especially for string and list manipulation. But a) you should know what your doing and b) this should form the basis for creating higher level languages where the abstraction eliminates this need. THAT's the point of C/C++. You don't to go so low level for MOST tasks.
 

darkwing

macrumors 65816
Jan 6, 2004
1,210
0
Perhaps that's because UCB's Computer Science program teaches Computer Science. That is not equivalent to either a Software Engineering program nor a vocational program in Computing.

Understanding OOP is an important part of computer science!
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
We had a guy at my last job from UC Berkeley. He said that yes, they taught Java at the school. He said because of that, he knew no C++. Somehow he knew no OOP, either. (What the heck?) Luckily he had me to work with and after about a year he was top notch. (Makes me worry about the CS majors UCB is churning out. Personally, I feel they should stick to hippies strumming guitars or writing poetry up in the trees.)
...

They've apparently changed a lot. I know schools with two year degrees that teach better. However, I've met a lot of incompetent instructors. I'd say that people should review their instructor truthfully but, in my experience, most people don't care and, lacking experience, can't criticise an instructor who doesn't know what he's teaching.

I'm not sure how you can teach a Java class, even an introductory class, for a whole term without focusing on OOP and touching on UML or some other method to show the relationships. C++ should be the same way.
 

darkwing

macrumors 65816
Jan 6, 2004
1,210
0
They've apparently changed a lot. I know schools with two year degrees that teach better. However, I've met a lot of incompetent instructors. I'd say that people should review their instructor truthfully but, in my experience, most people don't care and, lacking experience, can't criticise an instructor who doesn't know what he's teaching.

I'm not sure how you can teach a Java class, even an introductory class, for a whole term without focusing on OOP and touching on UML or some other method to show the relationships. C++ should be the same way.

I didn't learn UML in my OOP class either. Sometimes I'm not sure why instructors do the things they do. Many students graduate by the seat of their pants, but really don't deserve it.
 

jsw

Moderator emeritus
Mar 16, 2004
22,910
44
Andover, MA
I'm not sure how you can teach a Java class, even an introductory class, for a whole term without focusing on OOP and touching on UML or some other method to show the relationships. C++ should be the same way.
I think this is a fundamental problem with most curricula at most colleges. Students are taught pieces of the puzzle without being taught how they fit together or even really how to use the pieces. There's little or no cohesiveness between courses, and the goals of the course are rarely to improve real-world skills. It's like attending Home Depot University and having a course on each tool where they tell you exactly how it's made and, if you're lucky, ways you can use it - but without ever teaching you how to use all the tools together or when to use a given tool or how to use them as part of a team.

It would be nice if a degree in CS meant that a person would be able to actually integrate into a development team, but it doesn't. Often, all it indicates is that the person probably is interested in software development and maybe knows some interview question answers.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
I didn't learn UML in my OOP class either. Sometimes I'm not sure why instructors do the things they do. Many students graduate by the seat of their pants, but really don't deserve it.

I think this is a fundamental problem with most curricula at most colleges. Students are taught pieces of the puzzle without being taught how they fit together or even really how to use the pieces. There's little or no cohesiveness between courses, and the goals of the course are rarely to improve real-world skills. It's like attending Home Depot University and having a course on each tool where they tell you exactly how it's made and, if you're lucky, ways you can use it - but without ever teaching you how to use all the tools together or when to use a given tool or how to use them as part of a team.

It would be nice if a degree in CS meant that a person would be able to actually integrate into a development team, but it doesn't. Often, all it indicates is that the person probably is interested in software development and maybe knows some interview question answers.

I'd found that by tutoring people. I still believe that students shouldn't touch a computer for the first year of development studies. They should be learning methodology, design, and documentation. Code first, design last is an attitude that happens far too often because many instructors and bosses think that you're supposed to be on the keyboard to be productive. I guess they've never heard "A stitch in time saves nine." or similar adages.

I'm beginning to think that business programmers know what they're doing more often, even though they're often ridiculed by high end software developers.
 
Students are taught pieces of the puzzle without being taught how they fit together or even really how to use the pieces.
Of course, this is something that experience brings. Good programmers always keep learning throughout their career ... not to mention always keeping their minds open to new methods, possibilities and the advantages of more modern technology.
 

Spritey

macrumors regular
Sep 22, 2006
174
0
Canada/Norway/USA
Java and the future...

I've been to a couple of career fairs and met potential future employers such as a couple of the leading IT consulting firms, and they say that they've moved over to java programming (and object oriented programming in general) and that's the language that's used in most of their projects nowadays when developing new software.

It also seems to be used a lot in the cell phone industry, i.e. for games and other random widgets.

I'm only in my 2nd semester of java, and I have no prior prog experience and i found it rather easy to learn and understand. I have some friends in CS, and I personally find it a bit more difficult to understand what's going on in C++ just by looking at the code they write. (But then again, I haven't taken any classes in C++)
 

Spritey

macrumors regular
Sep 22, 2006
174
0
Canada/Norway/USA
I didn't learn UML in my OOP class either. Sometimes I'm not sure why instructors do the things they do. Many students graduate by the seat of their pants, but really don't deserve it.


I never learnt UML in my java class, but interestingly enough I learnt UML in a class called 'System analysis' (not required or no way encouraged to take before taking java) and it helped me a lot in the java class where the prof said there was no point in learning UML... Especially grasping the whole object oriented approach.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.