Inside Paulo Abrantes' head
[ start | index | login or register ]
start > comment-start > 2008-03-24 > 1-1

1-1 commented start/2008-03-24/1

Created by m4ktub. Last edited by m4ktub, 201 days ago. Viewed 205 times. #4
[diff] [history] [edit] [rdf]
labels
attachments
pabrantes said: Knowing how bytecode works isn't actually necessary for Java developers, although knowing it, or at least, knowing how to interact with it gives news possibilities in the developing process.

Well, I understand that many people have that line of thought but it's more or less like saying that if you start editing your native binaries you open the possibility of tailoring them in very imaginative ways … like hacking a password protection smiley. You can do amazing things at that level but do you really should/want to be doing that? In my opinion you should focus on the goals of bytecode injection and why tools like javassist exist. Stay on the light side!

pabrantes said: The idea is simple, instead of parsing all classes at build time, each class is injected on demand at runtime when is requested to the class loader to load it.

That is actually quite interesting but, once again, lets focus on the ends instead of focusing on the means. We want to change classes in a way that is not supported by the Java language, nor natively by the JVM, when they are loaded. But why? Why during the loading phase?

In my opinion that tells us something about the Java language:

  • it's not expressive enough to allow some programmers to describe what they want to do or
  • the Java language is used by some crazy programmers.
That last point being obviously right I would have to go with the first. What do you think? Is the language limited in important ways or is it fine as a base generic language? More specific goals should seek their own ways of being described instead of this assembly language?

PS: I've remembered that while looking at GWT I've noticed that the toolkit regards HTML + Javascript (DHTML) as binary code. The problem is that many people spend they whole day programming in DHTML and they say "The code produced by GWT is completely obfuscated". Off course it is! Your looking to assembly code. The point is, bytecode is assembly. Hell! In some cases even Java is assembly. You should always be working above the compiler (compiler compiles down smiley)

4 comments (by m4ktub, pabrantes) | post comment
Who am I?
paulo-roca2My name is Paulo Abrantes AKA pabrantes and I'm a software developer. I'm currently employed at >>CIIST working as a Java developer in >>FenixEDU.

This blog is mostly about Java programming, domain driven design and snipsnap bliki developing. Everything written in this blog is my personal opinion and it may not reflect the opinions of my employer and co-workers.


Blog subscription
subscribe by rss subscribe by email

Links
>> Home
>> Paulo's Profile
>> Post History
>> Add to Technorati Favorites
>> Paulo's Photo Gallery
>> WishList
>> Posting without Login

Search Blog
Fellow Bloggers

Recent Posts

Java Programming: Bytecode Injection
Intermission: Sorry For Downtime
Software Developing: Studying The Bliki Domain Model
SnipSnap Developing: Trying to settle a roadmap
System Administration: Load Balancing with Apache
Blogging: Two years have passed
Software Developing: The SnipSnap Saga
Java Programming: Getting your code spicy with Groovy
Software Developing: Fluent Interfaces
Software Developing: Implementing a ShoutBox on SnipsSnip
Software Developing: SnipSnap, SnipIt and SnipSnip
Java Programming: Proxies and Access Control
Java Programming: Proxies and References
Java Programming: References' Package
YALM: Yet Another Layout Modification

For older posts, please refer to post-history for a complete Post History

Logged in Users: (0)
… and 8 Guests.
This is a modified version of snipsnap.org created by >>Paulo Abrantes