Server Help Forum Index Server Help
Community forums for Subgame, ASSS, and bots
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   StatisticsStatistics   RegisterRegister 
 ProfileProfile   Login to check your private messagesLogin to check your private messages   LoginLogin (SSL) 

Server Help | ASSS Wiki (-1) | Shanky.com
Best quote I ever invented...
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic Printable version
 View previous topic  Trench Wars Development Zone Hiring Post :: Post Beta Test new Wiki  View next topic  
Author Message
Mine GO BOOM
Hunch Hunch
What What
Hunch Hunch<br>What What


Age:42
Gender:Gender:Male
Joined: Aug 01 2002
Posts: 3616
Location: Las Vegas
Offline

PostPosted: Tue Jan 04, 2005 10:22 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dr Brain wrote:
There are very few fully funtional x86 emulators. There are fully operational Java JVMs for almost every platform.


Virtual PC and VMWare. Now on the other hand, both Sun's and Microsoft's JVM for Windows, for lack of a better term, suck.
Back to top
View users profile Send private message Add User to Ignore List Send email
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Tue Jan 04, 2005 10:47 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

OK, fine, I won't talk about implementation because it seems that I am unqualified. (I'm not convinced, though, Java definitely seems slow to me.)

And I won't even mention Windows.

Here's something about the Java language itself which ticks the heck out of me. Why are there no normal unsigned datatypes?
_________________
This help is informational only. No representation is made or warranty given as to its content. User assumes all risk of use. Cyan~Fire assumes no responsibility for any loss or delay resulting from such use.
Wise men STILL seek Him.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Tue Jan 04, 2005 11:13 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Mine GO BOOM wrote:
[..]



Virtual PC and VMWare. Now on the other hand, both Sun's and Microsoft's JVM for Windows, for lack of a better term, suck.


Note that they don't work with every application. The Java JVMs though, are basicly gaurenteed to work with every legal Java class file. If it doesn't run in the Windows JVM, then there's something wrong with the program (not the other way around, as with the x86 emulators).

I can't vouch for the MS JVM, but I've never had an issue with Sun's.

Unsigned? Because there's no real use for them. If you need a bigger storage location, then use a bigger storage location. One extra bit rarely does anyone any good. Unsigned just makes things more complicated in the source code. The only good use of them is packing into network packets. And that kind of packing can be done with simple casting.
_________________
Hyperspace Owner

Smong> so long as 99% deaths feel lame it will always be hyperspace to me
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
SuSE
Me measures good


Joined: Dec 02 2002
Posts: 2307
Offline

PostPosted: Tue Jan 04, 2005 11:33 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dr Brain wrote:
someone like me, who studies computer architecture, feel free. I could use a good debate.

just makes me laugh biggrin.gif
Back to top
View users profile Send private message Add User to Ignore List Send email Visit posters website
myke
Seasoned Helper


Gender:Gender:Male
Joined: Sep 11 2003
Posts: 142
Offline

PostPosted: Wed Jan 05, 2005 5:08 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

i'm not anti java or anything, sure java is slow for me, but this made me laugh quite some time ago

http://bash.org/?338364
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Wed Jan 05, 2005 6:13 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

No real use for them? What if you're reading from a compactly-designed file and have to index an array from a value in that file?

If a language already exists that supports unsigned datatypes, why switch?

Another point: Why no global functions? Why can't I just have a stupid SwapBytes() function that isn't in a class? And if you say it's because Java is "pure-OO", please tell me why "pure-OO" is better than the choice C++ gives its users.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Wed Jan 05, 2005 8:16 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Um, just store the value in a larger storage location. Although, of course, one cannot create arrays that large.

So you're saying because Java supports classes, that no one should ever switch to C? I think your reasoning is flawed there.

Globals were felt to be a bad thing. I think they are too. Making a Util class and then calling Util.SwapBytes() isn't hard. And generally, there is a place to put it that makes more sense (such as the calling class).

Pure-OO encourages better design from the programmers. Coding is only 10% of programming. Design is the other 90%, so I don't think that engouraging a good design is a bad thing.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
SuSE
Me measures good


Joined: Dec 02 2002
Posts: 2307
Offline

PostPosted: Wed Jan 05, 2005 9:53 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

limitation is...limiting
Back to top
View users profile Send private message Add User to Ignore List Send email Visit posters website
Solo Ace
Yeah, I'm in touch with reality...we correspond from time to time.


Age:38
Gender:Gender:Male
Joined: Feb 06 2004
Posts: 2583
Location: The Netherlands
Offline

PostPosted: Wed Jan 05, 2005 1:58 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

What an interesting discussion. icon_sad.gif

Btw, Brain, don't you have to kill somebody? sa_tongue.gif
Back to top
View users profile Send private message Add User to Ignore List
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Wed Jan 05, 2005 3:10 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dr Brain wrote:
Pure-OO encourages better design from the programmers.


Good programmers make good design. You can make as many bad choices with either style.

All the arguments that "embedding everything in a class is better" are bullshit. Inside every class is non-OOP code. You simply choose where to wrap it and provide interfaces. Addition is a global function. There's nothing wrong with global anything.
_________________
4,691 irradiated haggis!
Back to top
View users profile Send private message Add User to Ignore List
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Wed Jan 05, 2005 5:00 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dr Brain wrote:
Um, just store the value in a larger storage location. Although, of course, one cannot create arrays that large.

And if I want an array of unsigned datatypes? Do I want to use twice the memory just because Java doesn't support it?

Br Brain wrote:
Making a Util class and then calling Util.SwapBytes() isn't hard. And generally, there is a place to put it that makes more sense (such as the calling class).

Just making a function called SwapBytes() is easier. And yes, I'll admit that most functions fit nicely within a class, but some most definitely do not (like SwapBytes()). Can you please tell me why global functions are bad?

Ekted wrote:
Good programmers make good design. You can make as many bad choices with either style.

Indeed. Java tries to enforce good design, but as I said somewhere else in another topic, a language/compiler can never properly enforce good design! And anyway, there are always certain things that are actually cleaner (like swapping bytes) in non-OO.

FFS, leave it up to the programmer! I've seen badly designed C/C++ but have actually seen more of badly designed Java.

Another point: Class instantiations in Java are obviously just constant pointers. So why can't I read straight from a file into memory like I could in C/C++. javac could obviously complain if I try to read to much and cause memory corruption, right?
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Wed Jan 05, 2005 11:30 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Cyan~Fire wrote:
And if I want an array of unsigned datatypes? Do I want to use twice the memory just because Java doesn't support it?


Don't be silly, of course not. Make an array of signed ints, then convert them when you take them out.

Cyan~Fire wrote:
Just making a function called SwapBytes() is easier. And yes, I'll admit that most functions fit nicely within a class, but some most definitely do not (like SwapBytes()). Can you please tell me why global functions are bad?


Two words: Namespaces. C++ namespaces SUCK. Java it seems didn't want to implement a system like this, so the eliminated all globals.

They also break Java's OO-ness.

Cyan~Fire wrote:
Indeed. Java tries to enforce good design, but as I said somewhere else in another topic, a language/compiler can never properly enforce good design! And anyway, there are always certain things that are actually cleaner (like swapping bytes) in non-OO.


Um, so? Java is meant to be as clean as it possibly can. I think it achives that goal. Interfaces just make sense, for example.

Cyan~Fire wrote:
FFS, leave it up to the programmer! I've seen badly designed C/C++ but have actually seen more of badly designed Java.


I take it you haven't looked at much C++ code, then.

Cyan~Fire wrote:
Another point: Class instantiations in Java are obviously just constant pointers. So why can't I read straight from a file into memory like I could in C/C++. javac could obviously complain if I try to read to much and cause memory corruption, right?


Sandboxing. Reading pointers in from disk allows one to point to OS memory locations and hack around. Java was designed to never allow some of the nastier computer issues. Notice that you've never heard of a virus/worm written in Java? Trojans are possible, but not as applets.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Thu Jan 06, 2005 5:44 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dr Brain wrote:
Don't be silly, of course not. Make an array of signed ints, then convert them when you take them out.

Well it's obviously more code. I still don't see any downsides to having unsigned types.

Dr Brain wrote:
Two words: Namespaces. C++ namespaces SUCK. Java it seems didn't want to implement a system like this, so the eliminated all globals.

Why do you need namespaces for global functions?

Dr Brain wrote:
They also break Java's OO-ness.

Putting the cart before the horse here. Pure OO means (and is supposedly better because) everything is in a class. Now you can't say that something can't be global because it breaks OO. So, please give me a good reason pure OO is better.

Dr Brain wrote:
Um, so? Java is meant to be as clean as it possibly can. I think it achives that goal. Interfaces just make sense, for example.

"As clean as it possibly can" means absolutely nothing, because it accomplishes nothing. Yes, interfaces are available, but one doesn't have to use them. No matter how hard it tries, Java will never eliminate a programmer's having to make a design choice.

Dr Brain wrote:
I take it you haven't looked at much C++ code, then.

I haven't looked at much of either code. It just so happens that the 2 Java programmers I know write worse code than the all of 4 C++ programmers I know. (The C++ ones still suck, IMO, though.)

Dr Brain wrote:

Sandboxing. Reading pointers in from disk allows one to point to OS memory locations and hack around. Java was designed to never allow some of the nastier computer issues. Notice that you've never heard of a virus/worm written in Java? Trojans are possible, but not as applets.

Huh? I wasn't talking about reading pointers from the disk, not reading from any location on the disk. I was just saying why can't some class data be read as a block from the disk like you can in C++? (I'm correct in assuming this still isn't possible?)

Oh, and though I might seem unqualified to discuss anything like this right now, I'm most likely going to end up writing an essay comparing Java and C++ over the next year or so if I don't end up writing one on a powerful country's responsibility to other countries. (That is, no to Iraq war, yes to helping Tsunami stuff.)
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Fri Jan 07, 2005 6:42 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Cyan~Fire wrote:
That is, no to Iraq war, yes to helping Tsunami stuff


Sorry, end of discussion.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Fri Jan 07, 2005 11:13 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Uhhhh, ok.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Mine GO BOOM
Hunch Hunch
What What
Hunch Hunch<br>What What


Age:42
Gender:Gender:Male
Joined: Aug 01 2002
Posts: 3616
Location: Las Vegas
Offline

PostPosted: Sat Jan 08, 2005 11:18 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dr Brain wrote:
Sandboxing. Reading pointers in from disk allows one to point to OS memory locations and hack around. Java was designed to never allow some of the nastier computer issues. Notice that you've never heard of a virus/worm written in Java? Trojans are possible, but not as applets.


Please refrain from making comments without first looking it up. Any language can be made into a virus/worm.
Back to top
View users profile Send private message Add User to Ignore List Send email
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Sat Jan 08, 2005 11:32 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Please refrain from making comments without first reading what I said. I said "notice you've never heard of one?" I knew that some had to exist, but thank you for proving my point by showing that there are so few. I only noted two Java VIRUSES. There were plenty of trojans--which I explicitly stated could be written in Java.

Yes, JVM bugs can allow viruses. Note, however, the the JVMs are not witten in Java.

My point in mentioning sandboxes was not to make the point that viruses cannot be written in Java, but rather to make the point that Java programs are far less likely to fall victim to buffer overflows from malformed data (the most common way worms spread). I'm not saying it's not possible to have a worm spread through Java, but I AM saying that Java is orders of magnitude better at eliminating the problem than either C or C++ are.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Sat Jan 08, 2005 2:13 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dr Brain wrote:
Yes, JVM bugs can allow viruses. Note, however, the the JVMs are not witten in Java.

That has to be the stupidest point you've made so far.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Sun Jan 09, 2005 2:28 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

I think he's trying to agure about Java more abstractly, Cyan. The idea that array accesses should check to see if they are out of the declared array's boundries yields to a language less prone to viruses, but of course if your range checking has a bug in it, people can still abuse this weakness.

An ideal VM would translate java bytecode to native instructions flawlessly, but if the VM is poorly written, you shouldn't blame Java for that, as the bytecode is fine (even though Sun might also be providing the buggy VM).

The arguement is basicly is it better to slightly slow everything down and limit programmers by not allowing pointers and checking ranges on arrays, or is it better to put the burden of security on the programmer's shoulders and take advantage of the speed increase by trusting that programs are not made with vulnerabilities that may allow something like a buffer overflow. Programmers make programs with bugs and mistakes, so it would look like Java's sandbox model is superior, but an educated programmer should realize when his or her code is prone to attack, so there may be no need for the overhead and slowdown of the sandbox model.

I suggest an alternative: the operating system should limit what different processes can do. For example, unless the user specifies that a process can spawn new processes, or delete/overwrite files outside of it's own directory, or access the net, it should not be allowed to use the system calls that make these operations possible. That way if someone finds a way to insert remote code and make your process run it, it won't be able to cause any damage unless you've granted your process unlimited capabilities. After all, why would Calculator need to access the net, or write to my Windows directory? Why should PrecisionTime be able to access your browser's history, or create a pop up? Most programs do not need all the privilages they have, and limiting their privilages would limit how many and how much impact viruses have.


Last edited by Bak on Sun Jan 09, 2005 4:52 pm, edited 2 times in total
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Sun Jan 09, 2005 3:33 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Yes, an OS with a sandboxing model would be ideal. You could take the idea and really go far with it.

At some point, programs won't be written in low level languages like C/C++. Just like programs are no longer written in Assembly. Portions are, but no one would ever dream of writing an entire application in assembly. We're moving toward faster and faster compuers, and the easier it is for a programmer to write code that fits the specs, the better. No one cares how fast the program runs as long as it's acceptable.

C is written on the idea that speed is the number one need for a program. Twenty years ago, this may have been the case, but certainly, today it is not so. Reliabilty is now the number one need. I'd rather have a program run a little slower and check for errors than have a program run at lightspeed and blow up in my face.

I DO have issues with Java, but they aren't the same issues as you guys have been talking about.

DISCLAIMER: I am talking about applications. None of what I've said applies at ALL to operating systems or low level code such as hardware drivers.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Sun Jan 09, 2005 10:55 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Bak wrote:
I suggest an alternative: the operating system should limit what different processes can do.

I definitely agree.

Dr Brain wrote:
C is written on the idea that speed is the number one need for a program. Twenty years ago, this may have been the case, but certainly, today it is not so. Reliabilty is now the number one need. I'd rather have a program run a little slower and check for errors than have a program run at lightspeed and blow up in my face.

Although it's true that the runtime difference between Java and machine code is usually negligible, I don't see that a reason to excuse it. If I had a lot of money, I wouldn't just throw it away. If I have a good computer, I wouldn't waste it on doing the same things I did with a crappy computer.

And, actually, it's not so much the security aspects of Java which irritate me (they're the strongpoint, IMO), it's awful interface created by cross-platform-ness and the silly control it puts over a programmer's style.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
myke
Seasoned Helper


Gender:Gender:Male
Joined: Sep 11 2003
Posts: 142
Offline

PostPosted: Mon Jan 10, 2005 6:16 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

speed matters to me, i'm impatient
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Mon Jan 10, 2005 8:43 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

myke wrote:
speed matters to me, i'm impatient


Then don't use newer Windows OSes. They are specificly designed to slow down to the speed of the previous OS so you'll want to buy a better chip from Intel. Remember how fast Windows 95 was? Well, I hate to break it to you, but Windows XP is only slightly faster on a 2 GHz machine than Windows 95 was on a 100 MHz machine. Of course some things are faster, but most aren't.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Mon Jan 10, 2005 12:17 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

If you wish to continue with your blatant lies, start a new thread please. biggrin.gif
Back to top
View users profile Send private message Add User to Ignore List
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Mon Jan 10, 2005 6:17 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Windows XP is definitely slow, you can't deny that. However, Windows 2000 (which I'm running) is speedy quick: I almost never have to wait for any purely Windows task.

Since it seems our discussion of Java is ended (?), I'll say that although I don't think MS is purposefully making their OSes slow, they're definitely not putting as much effort into them as they used to. (Must be programming in Java or something. biggrin.gif)
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Display posts from previous:   
Post new topic   Reply to topic    Server Help Forum Index -> Trash Talk All times are GMT - 5 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 3 of 4

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
View online users | View Statistics | View Ignored List


Software by php BB © php BB Group
Server Load: 258 page(s) served in previous 5 minutes.

phpBB Created this page in 0.179888 seconds : 45 queries executed (27.6%): GZIP compression disabled