PDA

View Full Version : What's up with Java programmers, anyway?



Pages : [1] 2

Sebastiani
05-16-2009, 03:28 PM
Something I've noticed from asking questions on the JDN forums is just how clueless these people are. Of the 50+ responses to posts there, except for maybe 3 or so, I've gotton nothing but non-sequitars, head-scratching, and confused expressions. This isn't limited to the junior members, either - even the veterans there are apt to respond with things like "why would you want to do such a thing?" and the like. And if it doesn't come in a can (ie: some Java package) then your chances of getting a meaningful reply dwindle to mostly zero.

Has C++ just made us better programmers - more inquisitive, pushing our minds to the limits, always searching for better insight, while Java programmers brains turn to jell-o due to non-exposure to the 'low-level details'? Pure speculation. But what I do know is that I'd probably get better Java advice on CBoard!

MK27
05-16-2009, 03:46 PM
Has C++ just made us better programmers -

Dunno dude, but I would concurr that cboard stuff is mostly way above the average created on other programming forums, which were probably taken over by trolls years ago. Maybe Java types are hamstrung by a silver spoon?

Could be the nature of the beast. C/C++ seems sort of hardcore/academic to me (I like academic), whereas w/ more "commercial" things there is much less of an establishment/standard/institution to ignore...

cpjust
05-16-2009, 05:05 PM
I've noticed the same thing.
I think if the Java language was a little better (using some of the good ideas from C++ & other languages like a const keyword, unsigned int types, C++ type casts, real templates, more errors caught at compile-time rather than run-time...) then that would also produce better Java programmers. A lot of Java programs I've seen look very sloppy compared to C++. They seem to rely WAY too much on casting and RTTI rather than better designs that avoid the need for such things.

laserlight
05-16-2009, 08:12 PM
even the veterans there are apt to respond with things like "why would you want to do such a thing?" and the like.
What kind of questions have been rebuffed by that sort of question?

Akkernight
05-16-2009, 08:30 PM
I hate. I simply hate it so much when peeps interfere with your coding in a way of 'why' >.< Spending a whole post that you'll have to reply before getting a real answer, just to get a 'why I'm doing it', it makes me wanna soak myself in fuel, light myself on fire, run into a wall and die!
Like, all these pro programmers that I know WON'T give simple answers D: I ask them if a .lib contains the data for a .cpp file ( I did yesterday ) and they reply ".lib contains binary code you dumb ........" (not exactly like that, but they think it, I know it!) instead of just giving me a simple NO >.< I loose it, throw away my programming tools and go spend my time playing games or working on my bike >.>

Sebastiani
05-16-2009, 11:54 PM
>> I hate. I simply hate it so much when peeps interfere with your coding in a way of 'why' >.< Spending a whole post that you'll have to reply before getting a real answer, just to get a 'why I'm doing it', it makes me wanna soak myself in fuel, light myself on fire, run into a wall and die!

That's...a little extreme, but yes, that sort of captures the frustration.

>> What kind of questions have been rebuffed by that sort of question?

The questions ranged from very basic generic programming issues (eg: How can I make XXX into a generic dispatch mechanism (compile error)?), to class extension logistical problems (eg: How can I derive a class from BufferedImage (it can't be resized)?), to locating language functionality (eg: How to obtain class bytes?), just to name a few. Other than perhaps the last question (which was fairly esoteric, I admit), none of the other questions really deserved that sort of treatment. Just simple, straightforward questions, really. But the majority of the responses wouldn't even address the question at all. Just completely random remarks (just barely passing the turing test), making for a very awkward conversation, to say the least.

Akkernight
05-17-2009, 08:38 AM
Yes, I was extreme 'cause I was ........ed at that my final exam at Game Institute failed 'cause my internet started acting up and disconnected in the end >.> I get to finish the exam over again tho...

cyberfish
05-17-2009, 09:08 AM
An online final exam? I thought even online courses have proctored exams (at least the one I took did).

Nyda
05-17-2009, 09:51 AM
while Java programmers brains turn to jell-o due to non-exposure to the 'low-level details'?

I don't know about Java, but I'd concur that PHP definitely has this effect on me. I recently went through my old backups, trying to consolidate them a bit, and glanced at a few C applications I wrote. "what the .... was I doing there" - "how did I do that"...

cpjust
05-17-2009, 11:18 AM
An online final exam? I thought even online courses have proctored exams (at least the one I took did).

All my tests & exams were online. It was a hell of a lot more convenient for my schedule.

BuzzBuzz
05-17-2009, 01:30 PM
It seems par for the course on most sites that when you ask "How would I do this..." you get "Why do you want to do that..."

In some cases it is necessary as obviously there is no reason to reinvent the wheel, unless that really is your intention. But on the whole it is frustrating, however if you want the answer, sometimes you've got to jump through the hoops (and that is not just online and programming...)

MK27
05-17-2009, 01:44 PM
(and that is not just online and programming...)

Gosh, you mean dysfunctionalism is like -- normal?! Definitely.

It would be nice to expect that programmers would be a little more self consciously rational, but obviously YMMV.

brewbuck
05-17-2009, 04:33 PM
There will be antisocials no matter the programming language. This doesn't reflect badly on Java, just the web site where these unhelpful persons congregate.

CBoard is a strange beast, halfway between the introductory forums where the most advanced question is why we have to return 0 from main(), and the private mailing lists where the super-experienced debate things we won't often encounter.

It's not that the other forums are so much worse. It's that CBoard is so much better. A little optimism, hey? ;)

Sebastiani
05-17-2009, 04:59 PM
That's a very noble attitude. But I still have my doubts. :p

abachler
05-18-2009, 12:45 AM
Java is in my opinion an inferior language, I believe therefor that the people who choose to make it their primary language will tend to be of inferior intellect.

Now read exactly what i said twice before knee jerk responding to it.

Programming in C/C++ isn't a simple task, not everyone is cut out to be a programmer.

cyberfish
05-18-2009, 01:25 AM
Java assumes the programmers don't know what they are doing, C/C++ assumes they do.

That is the reason they left out things like pointers, unsigned types (not sure about this one), operator overloading, goto, casting to smaller types ("if (a = 5)"), stack allocations... etc.

laserlight
05-18-2009, 03:06 AM
casting to smaller types ("if (a = 5)")
Perhaps more accurately, implicit conversion to types with a smaller range, since one can still type cast explicitly, or in your example, write "if ((a = 5) != 0)" (though either way it looks like a (potential) bug to me :p).

Snafuist
05-18-2009, 03:57 AM
Has C++ just made us better programmers - more inquisitive, pushing our minds to the limits, always searching for better insight, while Java programmers brains turn to jell-o due to non-exposure to the 'low-level details'?


Java, being a RAD language, attracts sloppy people. Additionally, more "inquisitive" programmers will soon turn to more sophisticated languages.

"Java is C++ without the guns, knives, and clubs."
-- James Gosling

Greets,
Philip

zacs7
05-18-2009, 04:05 AM
Yes Java sucks, but unfortunatly I find myself using it an awful lot. Uni requires it, and most of the jobs want it (so it pays to have a private project written in Java).

Things that I find (really) suck:
* No const
* while(0) is a compile error, whereas if(0) is not.
* Casts galore, i.e. with integer/short/long literals. I've seen a few bugs because of this with overloading.
* Generics suck

cyberfish
05-18-2009, 06:11 AM
Perhaps more accurately, implicit conversion to types with a smaller range, since one can still type cast explicitly, or in your example, write "if ((a = 5) != 0)" (though either way it looks like a (potential) bug to me ).

haha yeah I meant implicit conversion.

I think it should be up to the compilers to warn about this potential bug (as in C++), instead of not allowing it in the language.

I'm so used to C/C++ that


if (a == 0)

looks redundant to me :D.

Akkernight
05-18-2009, 06:25 AM
I disagree.
Everyone is fit to be a programmer, some just more than others. No one can't learn that typing
int main() { } makes a program execute, and that is programming...

zacs7
05-18-2009, 06:38 AM
> makes a program execute, and that is programming...
No, I beg to differ. You haven't "programmed the computer" to do anything.

medievalelks
05-18-2009, 06:58 AM
Java is in my opinion an inferior language

For what? That statement is meaningless without context.


, I believe therefor that the people who choose to make it their primary language will tend to be of inferior intellect.


Or perhaps work in an industry/market where it is the predominant language. The Java market is booming right now, much more than C++. Cast aspersions on their intellect if you like, but I might second guess the assertion that a guy making six figures to develop back end web applications for a Fortune 50 company is "dumber" than a hardcore C++ game programmer working twice the hours but making half as much.

stevesmithx
05-18-2009, 07:22 AM
There will be antisocials no matter the programming language. This doesn't reflect badly on Java, just the web site where these unhelpful persons congregate.

CBoard is a strange beast, halfway between the introductory forums where the most advanced question is why we have to return 0 from main(), and the private mailing lists where the super-experienced debate things we won't often encounter.

It's not that the other forums are so much worse. It's that CBoard is so much better. A little optimism, hey? ;)

I completely agree with this.
If you want a more friendlier forum for java, i would suggest http://www.coderanch.com/forums

MK27
05-18-2009, 09:01 AM
The Java market is booming right now, much more than C++. Cast aspersions on their intellect if you like, but I might second guess the assertion that a guy making six figures to develop back end web applications for a Fortune 50 company is "dumber" than a hardcore C++ game programmer working twice the hours but making half as much.

This is some very flawed logic. It seems to me s/he could be dumber, and that that was the whole point of Java (to make it easier for stupid people*), which would certainly explain why it is booming (that and the applet). Getting paid a lot of money in any field has much more to do with circumstance AND GREED than it does intelligence. Being able to take advantage of, eg, your social status, just demonstrates that you should not be classified as "mentally handicapped", not that you are particularly brilliant. Let's say "smart for a pig". Otherwise, the leaders of those Fortune 500 companies must be smarter than sin, as opposed to people who perpetually leverage any (fair or unfair) advantage they can discern, regardless of the wider consequences a more intelligent person might discern. Perhaps they have done a smart job with the economy? Not.

Also, the idea that throwing a lot of money at something (eg by paying some half wit 6 figures) will make it better can quickly be disproven by surfing casually around a few large corporate (or government) web site. Some of them are a total mess on all fronts (functionality, cosmetics, coherence, etc) despite having a price tag in the millions. I don't play games, but I would say by and large game developers have done a much, much more admirable job in developing product during the last decade than "business oriented" web developers, who are just chowing at a trough (I won't blame someone for doing that, but that doesn't mean you merit pride in anything other than your check).

*I really have no idea or opinion about it, but that is the essential claim of Java proponents.

whiteflags
05-18-2009, 09:26 AM
Things that I find (really) suck:
* No const
* while(0) is a compile error, whereas if(0) is not.


I guess I can agree with the first, unless you're allowed to use tuples, and it's easy like it is in python.

I don't see a problem with a second. All an if(0) statement needs is an else branch to make sense, so why make it an error?

medievalelks
05-18-2009, 09:33 AM
This is some very flawed logic.

I thought one baseless generalization deserved another.


Getting paid a lot of money in any field has much more to do with circumstance AND GREED than it does intelligence.

And apparently you agree :-)

My whole point was that language ........ing contests are silly enough without the insulting of an entire base of programmers. I've worked with outstanding Java developers and I've worked with C++ hacks. I don't draw any conclusion from that other than that there are good and bad programmers in the world, and all kinds in between. Language has little to do with it.

Anyway, in my experience the smartest programmers are the ones who know how to use multiple tools well, and know when to use each.

laserlight
05-18-2009, 09:37 AM
hmm... both if (0) and while (0) sounded suspicious to me, especially after cyberfish raised the issue of Java not allow implicit conversion from int to boolean (among other implicit conversions). A quick check shows that if (0) is not allowed precisely because of the required conversion of int to boolean. while (false) resulted in a compile error due to the code being obviously unreachable.

Perhaps such a decision to make it an error rather than a warning is justified, if indeed static analysis can prove rather than merely suggest that the code is unreachable. (Then again, Snafuist pointed out recently that unreachable code is a valid obfuscation technique.)

bithub
05-18-2009, 10:32 AM
There are so many stupid comments in this thread that it makes my head hurt. This C++ elitism doesn't impress anybody, and only does a disservice to yourself.

even the veterans there are apt to respond with things like "why would you want to do such a thing?"We do that all the time on this board. That response usually comes after a question that doesn't make sense within the bounds of the language. Something like, "In C++, how do I call my destructor function?".

Sebastiani
05-18-2009, 02:01 PM
>> Perhaps such a decision to make it an error rather than a warning is justified, if indeed static analysis can prove rather than merely suggest that the code is unreachable. (Then again, Snafuist pointed out recently that unreachable code is a valid obfuscation technique.)

I don't know. It seems to me that this should just be a warning. Unreachable code can be useful sometimes for debugging purposes.

>> If you want a more friendlier forum for java, i would suggest Big Moose Saloon (http://www.coderanch.com/forums)

I took a quick look at the site, and it does indeed look promising. Thanks.

>> This C++ elitism doesn't impress anybody, and only does a disservice to yourself.

To be fair, I was really only joking (the Jell-O brained Java programmers bit), but to some degree I do feel that C++ is clearly a superior language. Take a look ar Java generics:



public static < Type > void foo( Type data )
{
Type
ref = data, // OK
copy = new Type( data ); // Error
ref.bar( ); // Error
ref.baz = 1024; // Error
}


The only way that this can "work" is if you specify the supertype in the declaration! The reason for all of this, of course, is because generics are compiled into bytecode (and reused via "type erasure"). But it still doesn't make sense. A more logical approach would be to either allow a dual facility where compile-time code could use the templates fully but run-time code could only use the more limited "type erasure" feature, or else provide full support with the aid of reflection or whatnot. Instead, the designers of the language chose a half-hearted and, frankly, dim-witted implementation. So while I agree that we probably shouldn't sit around and make fun of people (who could be just as talented as any other programmer), I reserve the right to have an "elitist" attitude with respect to the language itself.

>> We do that all the time on this board.

True, but we usually reserve those sorts of responses for the truly ignorant questions. :)

>> That response usually comes after a question that doesn't make sense within the bounds of the language. Something like, "In C++, how do I call my destructor function?".

Just as a side note, there are some occasions where this is actually necessary (think: std::vector, for one). ;)

>> My whole point was that language ........ing contests are silly enough without the insulting of an entire base of programmers. I've worked with outstanding Java developers and I've worked with C++ hacks. I don't draw any conclusion from that other than that there are good and bad programmers in the world, and all kinds in between. Language has little to do with it. Anyway, in my experience the smartest programmers are the ones who know how to use multiple tools well, and know when to use each.

Agreed.

>> "Java is C++ without the guns, knives, and clubs." -- James Gosling

:p

whiteflags
05-18-2009, 02:16 PM
Type
ref = data, // OK
copy = new Type( data ); // Error

The only way that this can "work" is if you specify the supertype in the declaration!

Pardon me for butting in but maybe that's not so bad. I'm not very clear on new and how it is different in Java, or "supertype" and if that means what it should in OOP jargon, but it seems like this error is only an error because you're doing too much on one line.

And we all know that's cute in C++ too. Your argument doesn't wash with me.

Of course, it's another thing that's great for obfuscation, but that shouldn't be how we make our preferences.

Sebastiani
05-18-2009, 02:35 PM
>> Pardon me for butting in but maybe that's not so bad. I'm not very clear on new and how it is different in Java, or "supertype" and if that means what it should in OOP jargon, but it seems like this error is only an error because you're doing too much on one line.

Java doesn't have "stack-based" objects (except for ints, floats, etc). All variables are references, and as such you have to call 'new' to allocate an object. So the code I posted is actually equivalant to this in C++:



Type
copy = data;


The meaning of "super-type" is the same as in C++. A base class. But my point was, to actually be able to invoke functions (including constructors) or access variables from the object, you would have to change the declaration to something like:



public static < Type extends Bar > void foo( Type data )
{
Type
ref = data, // OK
copy = new Type( data ); // OK
ref.bar( ); // OK
ref.baz = 1024; // OK
}


...where Bar is an actual type having, at the minimum, this interface:



public class Bar
{
Bar( Bar rhs );
void bar( );
int
baz;
}


In other words, using generics in this case would really buy you nothing, as it is the exact same thing as:



public static void foo( Bar data )
{
Bar
ref = data,
copy = new Bar( data );
ref.bar( );
ref.baz = 1024;
}



There is *one* thing it does buy you in this case, and that is to call the constructor of the derived type. But besides that, nothing.

whiteflags
05-18-2009, 02:45 PM
Well I can see why that would be annoying now. It would be easier if you could specify the extension earlier in the code, instead of member by member like that. Thanks.

cpjust
05-18-2009, 05:41 PM
The only way that this can "work" is if you specify the supertype in the declaration! The reason for all of this, of course, is because generics are compiled into bytecode (and reused via "type erasure"). But it still doesn't make sense. A more logical approach would be to either allow a dual facility where compile-time code could use the templates fully but run-time code could only use the more limited "type erasure" feature, or else provide full support with the aid of reflection or whatnot. Instead, the designers of the language chose a half-hearted and, frankly, dim-witted implementation. So while I agree that we probably shouldn't sit around and make fun of people (who could be just as talented as any other programmer), I reserve the right to have an "elitist" attitude with respect to the language itself.


I've always viewed Java as a Bandaid programming language. When they want to add something new like Generics, they need to keep backwards compatibility, so they just put a bandaid on the language. Maybe it's because they're so runtime oriented instead of compile-time oriented?
I'd like to see a whole new version of Java that has the nice rich library that Java currently has but has all the things it's missing like: unsigned types, stack based variables, destructors, the option of passing by value or reference, real templates, const, C++ type casts, operator overloading, typedef, default values for function parameters, a separation of references & pointers instead of the strange reference/pointer mutation they have now...

Sebastiani
05-18-2009, 07:13 PM
>> I'd like to see a whole new version of Java that has the nice rich library that Java currently has but has all the things it's missing like: unsigned types, stack based variables, destructors, the option of passing by value or reference, real templates, const, C++ type casts, operator overloading, typedef, default values for function parameters, a separation of references & pointers instead of the strange reference/pointer mutation they have now...

I would love to see those features as well, of course, but that would effectively mean completely overhauling the language, which will probably never happen. Besides that, there are some inherent limitations in the virtual machine itself that indicate that it may not be the "language of the future". Just as an example, the instruction set itself can never exceed 255 unique opcodes, since no bits were reserved to allow for multi-byte encoding (there are ways around this, of course, but it would be an ugly hack), and considering that there are already 200+ existing opcodes, real estate is already pretty scarce. Another problem is the fact that almost everything (relating to sizes/counts) are encoded in 16 bits or less. No function, for instance, can be larger than 65535 bytes. While that may be reasonable in *most* cases, it's nonetheless not very 'forward-thinking' (and would certainly make things such as inline functions practically impossible to implement in future versions). Other width-related limitations have even led to the introduction of things such as special 'widening' opcodes, adding yet another layer of complexity and inefficiency to the environment. And as time goes on, computers become more powerful, memory models grow, etc, these problems are just going to get worse - all of the sudden you could be faced with a development tool that just can't handle it. Which isn't to say that these problems can't be fixed, but it will definitely require some drastic changes to the specification itself.

cpjust
05-18-2009, 07:28 PM
I would love to see those features as well, of course, but that would effectively mean completely overhauling the language, which will probably never happen. Besides that, there are some inherent limitations in the virtual machine itself that indicate that it may not be the "language of the future". Just as an example, the instruction set itself can never exceed 255 unique opcodes, since no bits were reserved to allow for multi-byte encoding (there are ways around this, of course, but it would be an ugly hack), and considering that there are already 200+ existing opcodes, real estate is already pretty scarce. Another problem is the fact that almost everything (relating to sizes/counts) are encoded in 16 bits or less. No function, for instance, can be larger than 65535 bytes. While that may be reasonable in *most* cases, it's nonetheless not very 'forward-thinking' (and would certainly make things such as inline functions practically impossible to implement in future versions). Other width-related limitations have even led to the introduction of things such as special 'widening' opcodes, adding yet another layer of complexity and inefficiency to the environment. And as time goes on, computers become more powerful, memory models grow, etc, these problems are just going to get worse - all of the sudden you could be faced with a development tool that just can't handle it. Which isn't to say that these problems can't be fixed, but it will definitely require some drastic changes to the specification itself.

I'm not saying they should add those features to the current Java code. I don't think Java is flexible enough to handle those kinds of changes. They need to break backward compatibility and create a whole new Java. Isn't that what happened when they moved from the original Java to Java 2?

Sebastiani
05-18-2009, 08:28 PM
I'm pretty sure that Java1 is *binary* compatible with Java2, but I think I remember reading somewhere that some of the Java1 packages were deprecated (which of course would break an application just the same), but I'm 100% certain about that. I'd have to look it up.

brewbuck
05-19-2009, 12:13 AM
I'd like to see a whole new version of Java that has the nice rich library that Java currently has but has all the things it's missing like: unsigned types, stack based variables, destructors, the option of passing by value or reference, real templates, const, C++ type casts, operator overloading, typedef, default values for function parameters, a separation of references & pointers instead of the strange reference/pointer mutation they have now...

That would just turn Java into C++ with garbage collection. What would be the point of doing this? The only real distinction between C++ and Java at that point would be the platform-independent nature of the binaries. But a platform-independent C++ is still C++, not Java. We just don't have it yet. (The garbage collection is just an add-on which could be suitably specified)

In fact, what you're talking about seems an awful lot like "Managed C++" by Microsoft. Seriously -- go have a look and tell me it's not.

CornedBee
05-19-2009, 05:41 AM
The meaning of "super-type" is the same as in C++. A base class. But my point was, to actually be able to invoke functions (including constructors) or access variables from the object, you would have to change the declaration to something like:



public static < Type extends Bar > void foo( Type data )
{
Type
ref = data, // OK
copy = new Type( data ); // OK
ref.bar( ); // OK
ref.baz = 1024; // OK
}


That's still invalid. You can't allocate an object of a parameter type.


There's nothing wrong with F-bound generics. It has slightly different applications than parametric generics (as C++ has), and it fits in better with a purely object-oriented language like Java. Once you understand the principle behind Java's generics, you can also trivially see why you need a type bound in the example above.

abachler
05-19-2009, 06:18 AM
>> "Java is C++ without the guns, knives, and clubs." -- James Gosling

:p

Java is C++ without the guns, knives, clubs, hammers, alan wreneches, welder, or cutting torch. Java gives you one hell of a set of regular wrenches, but they only fit 1/2 inch and 9/16, and it gives you a nail gun, but it can only put nails in 1 inch plywood or 2x4's.

cpjust
05-19-2009, 06:27 AM
That would just turn Java into C++ with garbage collection. What would be the point of doing this? The only real distinction between C++ and Java at that point would be the platform-independent nature of the binaries. But a platform-independent C++ is still C++, not Java. We just don't have it yet. (The garbage collection is just an add-on which could be suitably specified)

In fact, what you're talking about seems an awful lot like "Managed C++" by Microsoft. Seriously -- go have a look and tell me it's not.

Exactly! I'd like a platform independent C++ with the huge library of Java. We could call it "C?" ;)

abachler
05-19-2009, 06:32 AM
That would just turn Java into C++ with garbage collection. What would be the point of doing this? The only real distinction between C++ and Java at that point would be the platform-independent nature of the binaries. But a platform-independent C++ is still C++, not Java. We just don't have it yet. (The garbage collection is just an add-on which could be suitably specified) In fact, what you're talking about seems an awful lot like "Managed C++" by Microsoft. Seriously -- go have a look and tell me it's not.

C++ with garbage collection, sounds like C# eh? No wait, C# is java with a new name and proprietary languge protectign it. I'm so confused, what was the need that was so great we needed a new flavor of language gain?

zacs7
05-19-2009, 07:17 AM
Anyway, does this stereotype apply if you know, and use, say Java and C/C++? :)

If so, :)

If not, :(

indigo0086
05-19-2009, 11:00 AM
I don't know about Java, but I'd concur that PHP definitely has this effect on me. I recently went through my old backups, trying to consolidate them a bit, and glanced at a few C applications I wrote. "what the .... was I doing there" - "how did I do that"...

Ever thought that you wrote the code poorly and now as a detached observer (having been detached over the years) you can no longer understand the rotted code?

Happens when I look at my early college programs.

laserlight
05-19-2009, 11:08 AM
Ever thought that you wrote the code poorly and now as a detached observer (having been detached over the years) you can no longer understand the rotted code?
I think Nyda's anecdote was meant to illustrate that his/her old code, written in C, was "better" than his/her new code, written in PHP.

EDIT:
Ah, but you are saying that the old code is not actually better, but merely so bad to the point that Nyda was unable to understand it even after accumulating more programming experience and presumably having a refresher on C?

indigo0086
05-19-2009, 11:17 AM
Before I read "Clean Code" I could have made the same assertion on the effect C# has on my coding abilities. Now it's possible that I just wrote really bad code back then.

*stares in awe at "god functions" 100+ lines long*

I think Java vs C++ vs C# vs Aliens vs Preadator yields the axiom. "No matter who win's, this is a stupid argument"

brewbuck
05-19-2009, 11:28 AM
Exactly! I'd like a platform independent C++ with the huge library of Java. We could call it "C?" ;)

I don't think a VM-based C++ environment is necessarily a bad idea. I just don't think Java is the correct starting point for such an endeavor. As was said, C# is already sort of what you're talking about. But I don't want a C++-like language, I want C++, but targetted to a virtual machine.

Native garbage collection is probably a fine idea as well, but there are really only a limited set of circumstances where it is useful. RAII and containers take care of a lot of problems (maybe most of them).

laserlight
05-19-2009, 11:28 AM
stares in awe at "god functions" 100+ lines long
I still have not recovered from that 900+ line function in C++ that a pair of team mates wrote together.

MK27
05-19-2009, 11:34 AM
Exactly! I'd like a platform independent C++ with the huge library of Java. We could call it "C?" ;)

Good thing we don't have a thread "What's up with C++ programmers?" in the C forum ;) Someone might really find where all those knives and clubs are ("Java is defanged C++, without the sticks, knives, and clubs"). Love weaponry metaphors. Silliness.

cpjust
05-19-2009, 03:46 PM
Good thing we don't have a thread "What's up with C++ programmers?" in the C forum ;) Someone might really find where all those knives and clubs are ("Java is defanged C++, without the sticks, knives, and clubs"). Love weaponry metaphors. Silliness.

Yeah, then they could have a "What's up with C programmers?" in an Assembly forum. :D