Is there anything that java cannot do? But other's can? [closed]
Is there anything that java cannot do? But other's can?
I am talking about Java as a programming language.
This is just something to help me about what other programming languages I should also consider 开发者_开发百科learning.
Edit: Ok, ive been doing java programming for many years and i sometimes have the feeling that I wouldn't need to learn another one. Java used to be somewhat limited in previous versions like there's no enums, autoboxing, generics, and many more. I am asking about "Java as a programming language" or maybe we can consider the syntax limitations of java that you guys wish it has. Something about the syntax/features that other languages offer but java doesn't.
Edit: Thank you for closing this. I wish though that i was given a little more time to make my question a little clearer. Seems like it was closed before my first edit was made.
All general purpose programming languages in use are Turing complete, so in that very rigorous theoretical sense, they have the same power. There's NOTHING that is computable in, say, C#, but not computable in Java.
In a more practical point of view, though, yes, there are things that other languages can do that Java can't. It really depends on how you want to pick your nits. Java has no 8-bit unsigned byte
, Java can't convert an int
to a boolean
value, Java has no first class methods, Java has no pass by reference semantics, etc. None of those would prevent you from getting things done, but they are nonetheless things that Java can't do that other languages can.
As far as learning how to program goes, Java is not a bad choice. It's practical enough, but can be quite verbose. Rather subjectively, though, there are other more "fun" languages for learning that is just as if not more instructive than Java.
With regards to this remark:
I've been doing java programming for many years and I sometimes have the feeling that I wouldn't need to learn another one.
I'm sorry to say that this is a very self-limiting point of view. Learning another language can really expand your mind on what programming is all about. It can also be fun.
Related questions
- Is it better to master a few programming languages than to learn many?
- Why learn Perl, Python, Ruby if the company is using C++, C# or Java as the application language?
- Why you/I should not learn another language?
- The benefits of learning languages that you won’t use
- Which programming languages have helped you to understand programming better?
- Learning multiple languages
- Which is more advantageous: Learning new languages or increasing knowledge of ones you already know?
If you mean language constructs that it just doesn't have then you need to look into a different category of language. Something like Haskell is a functional language approaches software development in a very different way. They all DO the same thing (they're all turing complete) but they do it in different ways. Java is a very static language, so you can even look at say Python to see a different approach in that respect.
This is an ambiguous question. If you want to learn programming choosing Java would be a good start.
精彩评论