Language choice is very difficult. Java is derived from Ada95. Ada95 gets the maximum points as per David Wheeler's Ada comparison chart . But the price you pay for cross-platform portability is the performance, applications written in Java run very slow. The memory problems are extremely hard to debug and are very time consuming to fix and trouble-shoot.
Memory problems bring down the productivity of programmers.
Memory related bugs are very tough to crack, and even experienced programmers take several days or weeks to debug memory related problems. Memory bugs may be hide inside the code for several months and can cause unexpected program crashes. Give preference in the following order - Use references instead of pointers. It can completely replace char datatype. Plus added benefit is that programmers do not have to worry about the memory problems and memory allocation at all.