I read a convo on some boards and...

K.I.L.E.R

Retarded moron
Veteran
they came to the conclusion that C++ coders are scarce. Is that true?
If it is, I am looking forward to the millions I am going to make. :LOL:
 
I wouldn't exactly call C++ coders scarce! But you wouldn't go wrong with following the C++ route, though don't expect to make your first million in a year. ;)

Things in the financial world over here in London and pointing towards .Net in a big way. If you had C++ (MFC) and C# (.NET), you'd be laughing.
 
That doesn't sound to good, .Net presents many ways for MS to lock you into a product. I'm sure there will be much moaning after the fact.
 
About 4 years ago they transitioned the Comp. Sci. program at the University of Wisconsin from C++ to Java. It was the final straw in the decision for me to never pursue a CS degree.
 
Crusher said:
About 4 years ago they transitioned the Comp. Sci. program at the University of Wisconsin from C++ to Java. It was the final straw in the decision for me to never pursue a CS degree.

Now that sounds F'CKED. :eek:
 
I think the use of Java at low levels isn't that good an idea. It makes a lot of lazy programmers who are incapable of "handling" the nitty gritty coding. I know I'm lazier after I did Java. I know I don't really wanna do too much C/C++ but it's a necessity and it really is basically the only answer if you want high performance apps or anything low levelish. I'm not sure how good it is to have programmers grow up on Java. Maybe I'm just too much a pay your dues kinda guy.
 
I think Java is good for teaching "abstract" things, such as algorithms and data structures. Students can focus on the algorithms/data structures instead of some annoying details. That can make learning easier.

However, I also believes that knowing details of computer architecture is important for a programmer. C/C++ is probably more suitable for these. Personally I like the multi-paradigm approach of C++.
 
pcchen,

I think Java is ultimately a poor language. Having done a lot of looking around, I'm starting to find myself fed up with it. There are some serious issues with it as a professional language alone. Such as no explicit schemes to force the use of certian API versions. There are many software houses which say we only support JDK 1.X for this reason. There are other issues of abstraction, Java isn't paricularly good at this, well interms of language level. Maybe I've spent a bit too long with scheme. ;)

I think C++ would be a better language to cover data structures and algorithms. C++ would be the best, it would force you to deal with memory which isn't a bad thing, remember we use data structures and algorithms for efficiencies sake, dealing with memory appropriately has a few good lessons in it. C++ also has facilities for purely procedural code. Which is simple, since we don't have to write things like class {public static void main(String [] args){...}...} and myObject.someMethod(); in C++ you just get told main is an entry point that's why it's in there. In java you have to do a fair bit to ignore the security, static, objects, methods and messages. It's just something that students tend to get stuck on, which isn't really their fault, just their curiosity.

Now don't get me wrong, I use Java for a lot of things and it's handy, I just think it's not the best language for a lot of courses and applications.
 
Guys, we can moan about .Net and Java for as long as we like. However, at the end of the day there's a LOT of money to be earnt in these areas. AFAIC, that's the bottom line. :)
 
Saem,

although Java certainly has its issues (especially concerning Swing),
as a language I find it lovely. Of course it's almost unusable for low-level programming, but for high-level applications (e.g. business SW) it is quite elegant and makes debugging a lot easier.
Two examples:
Not having to care for memory management (most of the time, that is) is one of the things I love about it. (and with the new multithreaded GC it runs quite good)
Every programmer knows how arduous it is to track a memory leak in a sufficiently complex program.
Another thing is the elegant handling of memory structures (Objects are references, primitives are values). You won't need to use your data structures in another way 95% of the time, at least in high-level applications. And for these you can use Object.clone or put the primitive in its associated Object. (Long for long, Double for double etc.)
I think it's not coincidence that C# looks so similar to Java. C++ may be more powerful, but it is IMO more prone to programming errors and because of that I prefer Java when I don't need the level of control C++ offers.

Oh and I share your concern regarding .NET. If it weren't so goddamn sexy...;)

Edit: I forgot something...
Having the ability to write procedural code is great if you want to do quick hacks, or for low-level programming. But when you have a complex piece of software with hundreds or even thousands of classes, it undermines the benefits of OO programming.
 
Saem said:
pcchen,

I think Java is ultimately a poor language. Having done a lot of looking around, I'm starting to find myself fed up with it. There are some serious issues with it as a professional language alone. Such as no explicit schemes to force the use of certian API versions. There are many software houses which say we only support JDK 1.X for this reason. There are other issues of abstraction, Java isn't paricularly good at this, well interms of language level. Maybe I've spent a bit too long with scheme. ;)

IMHO Java is a clean language (without the API). Since I didn't use it much (I mainly use C++ at work), so maybe you are right... :)

I think C++ would be a better language to cover data structures and algorithms. C++ would be the best, it would force you to deal with memory which isn't a bad thing, remember we use data structures and algorithms for efficiencies sake, dealing with memory appropriately has a few good lessons in it. C++ also has facilities for purely procedural code. Which is simple, since we don't have to write things like class {public static void main(String [] args){...}...} and myObject.someMethod(); in C++ you just get told main is an entry point that's why it's in there. In java you have to do a fair bit to ignore the security, static, objects, methods and messages. It's just something that students tend to get stuck on, which isn't really their fault, just their curiosity.

I think C++ is a bit too complex for beginners. The multi-paradigm approach is great but may confuse beginners. On the other hand, the security features of Java is not really embedded in the language and can be ignored by beginners. Perhaps we need a better language for learning... of course others may object this idea :p
 
The place I learned C++ did a three course approach. The first course was procedural abstraction, that's all we learned. The farthest we went was array and some I/O. We used that to learn how to break down tasks into procedures --supposedly we're one of the few places that puts a lot of emphasis on this. According to the college's findings, you produce better programmers if they know procedural programming before heading into anything else, especially OO. The following course is again in C++ where pointers, memory allocation and classes are covered. No function pointers or inheritance however. This is a data abstraction course, you learn lots about interfaces and so on. Not to mention data structures and algorithms. The last course in this series is a data structures course, where it's just algorithms and data structures.

A little while ago the college added a Java course which is taught side by side the data abstraction course. Having gone throught this, I felt sorry for those that didn't know Java from before hand, it's a bit much. OOP is quite the "brain fuck" and most students tell newbies to take the Java course after the procedural abstraction course, since it's a more natural progression.

I've done a lot of coding in Java, more than enough to know where it's good and where it isn't. I'm not disagreeing with those that say it's nice to do a lot of things in and it runs at acceptable speed. But it isn't exactly a good language which can go much further than where it started. Other languages are very good at extending themselves and building upon themselves, Java isn't. I think I'm sounding a bit too much like Paul Graham at this point. *shudder*
 
I think C++ is a bit too complex for beginners. The multi-paradigm approach is great but may confuse beginners. On the other hand, the security features of Java is not really embedded in the language and can be ignored by beginners. Perhaps we need a better language for learning... of course others may object this idea
---------------------------

Rubbish, C++/C I have no trouble learning whatsoever. Sure there are times when I need help (as anyone will when it comes to coding) but I am able to grasp C++ so much better. Java does not excite me, it's so slow to compile. I hate Java. I have sworn off it after I seen the time it takes just to compile a few pieces of code.


=============================

Mono is great for M$? I thought it would be a blow to M$? M$ hates open source.
 
Rubbish, C++/C I have no trouble learning whatsoever. Sure there are times when I need help (as anyone will when it comes to coding) but I am able to grasp C++ so much better. Java does not excite me, it's so slow to compile. I hate Java. I have sworn off it after I seen the time it takes just to compile a few pieces of code.

Easy there young grasshopper. C++ is harder once you really get into it. And I'm sure you'll really enjoy it when you have to do "real" programming in it. C/C++ have a lot of annoying flavours and things of that nature, chances are you haven't hit those as of yet. You'll have lots of fun with all the preprocessing fun. ;)

Now, Java is better in this regard, it's standard all around, until MS tried to screw around with it. Compile times in Java depend on the compiler, not just the people who made it but the version, seeing as they improve. Long compile times aren't that big a deal on small code since you're mainly witnessing overhead, but on large projects Java actually compiles quite fast. It also depends on the machine and the amount of RAM you available.
 
Back
Top