Jump to content

Besides multithreading...


Recommended Posts

rival highly developed programs like 3D video games

dono about that one, in my head if

:runescape is highly developed 3D video game i do think that it is hily plossible that someone can make similar to that game with autoit + irr wraper.

:pirates of carebian online is highly developed 3D video game i do think that it is hily plossible that someone can make similar to that game with autoit + irr wraper.

In case of runescape i even think that autoit will have more that *2 FPS for something like java web based game comparing with autoit .exe

In case of PoCo i think that effect can b almost identical.

Edited by bogQ

TCP server and client - Learning about TCP servers and clients connection
Au3 oIrrlicht - Irrlicht project
Au3impact - Another 3D DLL game engine for autoit. (3impact 3Drad related)



460px-Thief-4-temp-banner.jpg
There are those that believe that the perfect heist lies in the preparation.
Some say that it’s all in the timing, seizing the right opportunity. Others even say it’s the ability to leave no trace behind, be a ghost.

 
Link to comment
Share on other sites

In case of runescape i even think that autoit will have more that *2 FPS for something like java web based game comparing with autoit .exe

Java does all the 3D calculations in Java. AutoIt does all the 3D calculations in C++ using the Irrlicht Engine.

It would not be possible for AutoIt alone to do this kind of calculations and even get a single frame per second. You would get about one frame per 5 seconds, maximum.

Link to comment
Share on other sites

thats why i tolded with autoit + irr wraper.

when you make app in java that use c++ dll for you calcs, is that aplication java app or c++ app...

:huh2:

TCP server and client - Learning about TCP servers and clients connection
Au3 oIrrlicht - Irrlicht project
Au3impact - Another 3D DLL game engine for autoit. (3impact 3Drad related)



460px-Thief-4-temp-banner.jpg
There are those that believe that the perfect heist lies in the preparation.
Some say that it’s all in the timing, seizing the right opportunity. Others even say it’s the ability to leave no trace behind, be a ghost.

 
Link to comment
Share on other sites

Java applications that use C++ dlls are doing it wrong. Java shouldn't have any platform specific dependencies because that breaks the whole design idea.

Richard, please think about the things you say. What if multi-platform support is not part of the whole design idea. Just because somebody chooses to use a language that's easier to port to other environments does not mean every single application ever written in that language is going to be ported or should be ported or should support being ported. If somebody is writing a Windows-only application and there are DLLs that provide functionality to aid the development then they are doing it wrong if they don't leverage existing tools to achieve their goal.
Link to comment
Share on other sites

Why would anyone choose Java over something like C# if they were going to write a Windows only application?

Why would anyone choose anything over writing raw machine code directly to a file? Because there are a fucking million reasons to choose any one language over other languages. Number one on the list is probably "Because I know Java but not C#". Edited by Valik
Added missing word.
Link to comment
Share on other sites

Java applications that use C++ dlls are doing it wrong. Java shouldn't have any platform specific dependencies because that breaks the whole design idea.

Don't flame me but isn't C++ also cross-platform?

Edit: Excuse me for growing up on Windows :huh2:

Dynamic-link library (also written without the hyphen), or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems.

Edited by Info
Link to comment
Share on other sites

Don't flame me but isn't C++ also cross-platform?

This is such a great question, maybe while I answer it I can give some more background information.

A computer language is always independent of platform, just like German can be spoken outside of Germany. Syntax wise any language is not bound to a particular operating system. We say that AutoIt as a whole is a Windows automation language because the AutoIt interpreter and compiler can only run on Windows to produce Windows executables. Along with that, AutoIt requires a determined set of functions to be available (MsgBox, ConsoleWrite, etc.) which all depend on some Windows dependencies. The language AutoIt, meaning its syntax, is platform independant.

Now if you take that knowledge and look at C++, you will see that in C++ anything that depends on a particular platform or external libraries are introduced via includes of code and header files. The language C++ itself (syntax) is, like many other languages, platform independent. Whether or not a language can actually run on a target operating system, depends (mostly) on the availability of a compiler which can create an executable file for that OS.

Link to comment
Share on other sites

Why would anyone choose Java over something like C# if they were going to write a Windows only application?

I guess you are not to familiar with JavaEE and other Java extensions such as Spring, Hibernate, Jasper and OpenTaps. Although the learning curve is larger, Java provides a world or enterprise class software for free. This allows programmers who have a clue to write a large information system at the fraction of the price as no licensing is required for the software or for the development tools.

I know of many private companies and government departments that use an Oracle/Java solution over a .Net solution. The last government department I was at have been using Java extensively for the last 10 years running an eCommerce application - all running on Windows boxes. They leverage the new and updated technology such as Hudsons, JUnit, EJB, SoapUI, Hibernate and Selenium.

ALso, the fact that I can run NetBeans and Eclipse, an Application Server and everything else I need from a portable hard drive (no installation required) and time I want to, makes Java very powerful and great for consulting and doing demos.

I don't know if .Net has this portable capability or if I can easily download and add any extension to my portable hard drive having it running within 5 minutes, however I do know that with Java I can do that as many times as I wish and I don't have licensing restrictions. Its like carrying a free complete dev env in your pocket - sooo good.

Just a few reasons why I choose Java over .Net regardless of the platform.

@Info: C++ in itself is platform interdependent, the exes of a compiled C++ program is not - they are platform specific. Google can explain in detail.

Post your code because code says more then your words can. SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y. Use Opt("MustDeclareVars", 1)[topic="84960"]Brett F's Learning To Script with AutoIt V3[/topic][topic="21048"]Valuater's AutoIt 1-2-3, Class... is now in Session[/topic]Contribution: [topic="87994"]Get SVN Rev Number[/topic], [topic="93527"]Control Handle under mouse[/topic], [topic="91966"]A Presentation using AutoIt[/topic], [topic="112756"]Log ConsoleWrite output in Scite[/topic]

Link to comment
Share on other sites

I guess you are not to familiar with JavaEE and other Java extensions such as Spring, Hibernate, Jasper and OpenTaps. Although the learning curve is larger, Java provides a world or enterprise class software for free. This allows programmers who have a clue to write a large information system at the fraction of the price as no licensing is required for the software or for the development tools.

I know of many private companies and government departments that use an Oracle/Java solution over a .Net solution. The last government department I was at have been using Java extensively for the last 10 years running an eCommerce application - all running on Windows boxes. They leverage the new and updated technology such as Hudsons, JUnit, EJB, SoapUI, Hibernate and Selenium.

ALso, the fact that I can run NetBeans and Eclipse, an Application Server and everything else I need from a portable hard drive (no installation required) and time I want to, makes Java very powerful and great for consulting and doing demos.

I don't know if .Net has this portable capability or if I can easily download and add any extension to my portable hard drive having it running within 5 minutes, however I do know that with Java I can do that as many times as I wish and I don't have licensing restrictions. Its like carrying a free complete dev env in your pocket - sooo good.

Just a few reasons why I choose Java over .Net regardless of the platform.

Qui nimium probat, nihil probat. (if you are familiar with Latin)

Even though you said plenty, you said nothing valid in context of what you quoted.

♡♡♡

.

eMyvnE

Link to comment
Share on other sites

Qui nimium probat, nihil probat. (if you are familiar with Latin)

Even though you said plenty, you said nothing valid in context of what you quoted.

Yes, it was a verbose answer.

Cost, no licensing issues, portability, current skill set and existing frameworks is why I would choose Java over C# when using Windows.

If that proves my point too much then so be it.

Post your code because code says more then your words can. SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y. Use Opt("MustDeclareVars", 1)[topic="84960"]Brett F's Learning To Script with AutoIt V3[/topic][topic="21048"]Valuater's AutoIt 1-2-3, Class... is now in Session[/topic]Contribution: [topic="87994"]Get SVN Rev Number[/topic], [topic="93527"]Control Handle under mouse[/topic], [topic="91966"]A Presentation using AutoIt[/topic], [topic="112756"]Log ConsoleWrite output in Scite[/topic]

Link to comment
Share on other sites

  • 1 month later...

Java might still be quicker at 3D calculations because it's damn fast, with a fantastic JIT and possibly the best all-round mostly-concurrent garbage collector in use today. When using a DLL with AutoIt, there's probably some overhead when making calls to those functions and transferring data? But AutoIt doesn't seem too slow, although I haven't checked benchmarks.

For me, the main things (besides multithreading, although I can't say I've missed it so far) are a lack of first-class functions and OO. I don't care too much about inheritance and private/protected access specifiers etc; it's just nice to have objects for scoping/encapsulation so my programs don't become an unholy mess (although they probably do when I'm writing in OOish languages, anyway). You can kind of work around missing first-class functions with call, but it's not as nice. None of these are game-breakers so far. :mellow:

Link to comment
Share on other sites

And you wonder why your object-oriented programs get messy.

Well, I do use them when writing OO programs, I just don't find that they make my programs neater or tidier - there's an element of bureaucracy to it which Java/OO tomes often get hung up on.

If you've ever used test-driven design, which your comment suggests you probably have not, then you'd know that an abundance of private methods suggests that the class should perhaps be split into two with separate (public) responsibilities.

Link to comment
Share on other sites

Well, I do use them when writing OO programs, I just don't find that they make my programs neater or tidier - there's an element of bureaucracy to it which Java/OO tomes often get hung up on.

If you've ever used test-driven design, which your comment suggests you probably have not, then you'd know that an abundance of private methods suggests that the class should perhaps be split into two with separate (public) responsibilities.

You seem to be missing the point of access control. It is meant to hide implementation detail from clients of your class. If you make too many methods public, exposing what is not necessary, you won't even have the option of splitting the class latter on if it is actually necessary. Even if the only person coding is you, having a well defined, minimal interface that keeps open only what should be will free you from wasteful and annoying refactors latter on.

Edited by danielkza
Link to comment
Share on other sites

You seem to be missing the point of access control. It is meant to hide implementation detail from clients of your class. If you make too many methods public, exposing what is not necessary, you won't even have the option of splitting the class latter on if it is actually necessary. Even if the only person coding is you, having a well defined, minimal interface that keeps open only what should be will free you from wasteful and annoying refactors latter on.

No, I'm not missing the point of access control and I agree with you, but I find it less important in practical terms than the basic data/function encapsulation of OO. Having spent some time coding in Basic (including some horrible dialects), C, assembly and a few other languages which don't provide access specifiers, if I had to name one or two big wins from OO, access control would not be the first thing to come to mind. But of course this is a personal preference.

As I said, when the ratio of private to public methods goes beyond a certain point, splitting the class starts to look like a good idea, usually producing a pair of interfaces with all public methods. Having one class with an uncomfortably large and growing number of public methods is also a code smell and would probably lead to the same refactoring.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...