As an aside to what other people are telling you (i.e. that whatever you do is reversible, given enough time/money/intelligence): that's probably true for any reasonably documented/researched language. Java decompilers are quite common, for example. It probably even doesn't matter whether you're using a high- or low-level language. High level language implementations probably have all kinds of recognizable fingerprints, and low-level languages are "by definition" either close to assembly and/or easy to decompile.