Skip to main content

Java Everywhere: Java as Universal Programming Language

Manuel Klein and I wrote an article about using Java as Universal Programming Language at heise Developer. Writing about programming language is always interesting since many developers look this topic as religion. You can see this in the discussion part of the article with more than 200 discussion threads. It is always the question which is the best programming language ever.

I'm just very pragmatic, Java is still the programming language to be chosen - with all its advantages and disadvantages, if you want to implement every single of your software with one programming language. It is often better to have one programming language for all part of your software and also for all the developers in your company, so that they can communicate and articulate. This has an analogy with a "normal" language.

A good example is English as a general purpose language. With English many people in the world can communicate with each other. Also a good example is Indonesian language. Indonesia consist of more than 13,000 island with 700 living languages. With Indonesian language "Bahasa Indonesia" it is for the first time possible to communicate with each other. So maybe the Indonesian language is not as effective as those other 700 languages but the power to be able to communicate with all is in my opinion the most important thing.

In this sense Happy Indonesian Independence Anniversary Day on 17th. of August 2017!

Enjoy reading Java as Universal Programming Language!

Comments

Popular posts from this blog

Creating Spring Bean dynamically in the Runtime

In my training someone asked me whether it is possible to create an object (a Spring Bean) dynamically so you can choose which implementation you want to have in the runtime. So at the compile time you don't know what object actually should be created yet. The application should decide what object to be created based on a property file.

1. We create an annotation so we can mark the method which should be able to create the object dynamically:

...
package your.package;
...
@Retention(RetentionPolicy.RUNTIME)
public @interface InjectDynamicObject {
}
...
2. Use the new created annotation in your method which should be able to create the object dynamically:
... @Named("customerBo") public class CustomerBoImpl implements CustomerBo { ...     @Override @InjectDynamicObject public Customer getDynamicCustomer() {         return this.dynamicCustomer; } ...
3. Write an aspect with Pointcut and Advise which change the object returned by the method in the step 2:
... @Named @Aspect public class Dyn…

Software Development Macro and Micro Process

If you think that in year 2012 all companies which produce software and IT divisions in our world have already their optimized software development process, you are wrong. It seems that we - software architects, software developers or whatever your title is - still need to optimize the software development process in many software companies and IT divisions.

So what do you do if you enter a software company or IT division and you see following things:

1. There is a perfect project management process to handle all those development of software butit is a pure project management without a context to software development. So basically you only take care of cost, time, budget and quality factors. In the software development you still use the old fashioned waterfall process.

2. From the tooling point of view: you have a project management planning and controlling tool but you are still in the beginning of Wiki (almost no collaboration tool) andyou don't use issues tracking system to han…