Internosis - knowledge management,ecommerce and project consulting
*Home>>>Software Development

Java Programming Issues?


Anyone who knows about programming languages is aware that most compilers produce executable files (normally .exe in windows) which cannot be easily decompiled; however some interpreters (especially of Basic languages) do exist and they do not create .exe files; however such interpreters do not pose any security issues on the scale of Java. Java is being used more and more on applications and devices. However most of the java executables are in the form of .class files which can be easily decompiled, modified and reused. Are there any ways to prevent such decompilation currently? If not, does not Java pose a major threat to software development, apart from the serious security issues? How is javac.exe made, if its source is Java?

Yes, you are right Chutpun as to java capababilities; i am also aware that the more advanced a programming language is, the more difficult to decompile it; VB 3.0 was easily decompiled but VB 6.0 could not be (though some firms claim they'd do for a fee). Of course, common sense tells us that it is always possible to reverse a process if the output is made in a structured way... here, the problem is that java is too easy to decompile and yet it is becoming more and more universal in applications... i feel, standalone applications of java is under threat, not that server-client applications are safer. Besides, developers will not be very willing to put in efforts if their work is going to be copied and modified easily... that is a challenge to java's own growth... certainly there must be a way to make JVM to consider these aspects....

Java is just as suspect to hacker as any other coding language though there are some benefits to Java, such as bounds checking, class and object structures, lack of accessible direct/indirect pointers, etc. I suppose you need to understand that Java is a compiled language. It compiles to Java bytecode which is the then interpreted and run via the Java Virtual Machine (JVM). This JVM, besides human coding issues, is probably the most vulnerable point in the execution of a Java class. The class file is not executable but interpreted by the JVM. The issue of reverse engineering is somewhat a non-issue in that almost everything can be reverse engineered and to make it impossible to do so would defeat any functionality benefits. You could encrypt a compiled file then decrypt via the virtual machine but then you have performance issues plus possible hijacking or cryptological reverse engineering means. You have to way the benefits of safety versus functionality...in all things.

Tags
  Supply Chain   Data Mining   ERP   CRM   Application Development   Software Consulting   Software Development   Information Technology   Technology Consulting   Project Training   Project Team   Project Control
Related information
  • What is verification and validation of IT systems in Health care organisation?

    You need to get a detailed program

    ...
  • I'm a foreign student getting a BS in Computer science. Is there a way I can get an internship in the States?

    yes there are .

    ...
  • What is the difference between Productivity vs Efficiency?

    Productive means getting things done. Outcomes reached. Goals acheived. Efficiency means doing the same thing with as little waste as possible. Having the air conditioner on with the windows...

  • Which is the best place outside India for education in computer engineering???

    Go to Carnegie Mellon University in USA. Web site is ...

  • What is the best LAN desgin?

    Blimey... Don't want much do you? Seems like a fairly standard setup. I would start with a 48port Gb layer 3 switch in each of the cabs on Floor A, B, C & D I would also have eith...

  • I already have a B.A. and am looking to transition into IT - what courses/degrees do I need to start out?

    If you're getting into .NET programming, then get your MCPD certification: ...

  • Where can I learn ASP .NET in Singapore? Any courses/schedules? For absolute beginners in S/W devt.?

    First stop should always be a call to the local adminssions office of a nearby university or tech school. They can tell you if they offer any courses in ASP.NET. Second stop should be the Internet....

  • Where do I start?

    Start with Borland Delphi absolutely best choice for beginners

    ...
  •  

    Categories--Copyright/IP Policy--Contact Webmaster