Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should I learn a operating system specific language or something like Java? [closed]

I am torn. I want to start making applications for OS X. There is a specifically under-served market that I would like to tap but I don't know if I should develop it only for the mac with Cocoa and Objective C or if I should develop it with Java and JavaFX.

I guess my question is, is Java robust enough to handle the same things as Objective C on Mac and C# (.net) on Windows?

like image 532
Ben Avatar asked May 20 '10 16:05

Ben


People also ask

Which programming language should I learn for making operating system?

C is the programming language most commonly used and recommended for writing operating systems. For this reason, we are going to recommend learning and using C for OS development. However, other languages such as C++ and Python can also be used.

Is Java good for operating system?

Java runs very well on Windows, macOS and Linux Distributions. I work for Chronicle Software, and much of our software is open-source Java libraries, so we don't, or rather we can't, require our customers to run on a particular operating system.

What language is better than Java?

Programmers prefer to use python instead of Java because python contains less line of code whereas Java is just opposite to it. Python programs are much shorter than JAVA programs.

Why Java is not used in operating system?

writing an OS using Java is not a good choice. OS needs to deal with hardware which is not doable using java (except using JNI). And that is because JVM only provided limited commands which can be used in Java. These command including add, call a method and so on.


4 Answers

If you want to develop (exclusively) for OSX (and/or IPhone, Ipad) your best bet for native looking (and behaving) applications which tap into the power of the OS would still be learning Objective-C (and the Cocoa framework).

Learning Objective-C syntax isn't hard if you happen to have some plain C experience. Exploring the framework and functionality provided (Cocoa) is the more time-consuming part (the same can be said of other languages).

like image 64
ChristopheD Avatar answered Sep 28 '22 06:09

ChristopheD


Mac users will generally avoid applications that don't behave as they expect. If you honestly think you can "tap" that market then you are going to have to be prepared to put the effort into understanding that market - and the native development tools will make that task easier.

like image 22
Goibniu Avatar answered Sep 28 '22 07:09

Goibniu


Well, Java is robust, but still, there are some things that you want to do in a operating system specific... Mostly UI, since you can access both Windows and OS X libraries from Java, there are complications in the use of specific technology, for instance WPF creates very handsome GUIs for windows, while Java is not as good as creating those.

It usually depends on the type of applications that you want to create, are those for business, enterprise usage where UI is not a big issue, but portability is? Go with Java. If you want to create visually appealing or speedy tools for a specific market? Go with OS Specific languages.

like image 24
jpabluz Avatar answered Sep 28 '22 06:09

jpabluz


You should look at things differently. You need to learn programming and most of the cases Java is not the answer for a beginner.

What you needn't do is choose a language because "it's better". If you want to develop applications for OS X you should learn Objective C.

Then at some point in the future you might realize you need to do Java. No problem, you already are a developer, it'll be a breeze to learn Java then.

So the point is just learn to program.

like image 40
sovanesyan Avatar answered Sep 28 '22 08:09

sovanesyan