Next Question
RSS
I think it depends entirely on your circumstances. Both are valid programming languages and can be used equally well to develop applications.
If you are new to programming, VB.NET will probably be easier to learn, but if you already have some programming knowledge, then you will be able to pick up both languages fairly quickly.
With VB, you don't have to worry about what frameworks or what libraries you need to use. You basically load up Visual Studio and start programming. With Java, depending on what you want to do, you will have to decide which 3rd party products to use (mostly these are open source) for example, what tools to persist objects to a database or what web framework to use. You will also have to chose what IDE to use. There are several to pick from (Eclipse, NetBeans, IntelliJ) each of which have their merits.
A final thing to consider is where your application is intended to run. If your application needs to be platform independent, then Java is probably your best bet. If you are only targeting Microsoft Windows, then VB.NET may be a better choice.
At the end of the day, don't let anyone tell you that one language is better than another. Remember that you can do good object oriented development in both languages, just as you can do bad object oriented development in both.
My personal preference would be Java, but that's because I write cross platform apps. That's my choice, but may not be yours.
Source(s):
20 years professional software development with experience of both Java and VB.NET.
Permalink | Report
Others, and I count myself among this second category, believe that being a programmer is something you're born to, and if you've got the passion for it, then you will seek it out whether somebody's paying you a salary or not. If that is the case then you will want to wrap yourself in the tools that allow you to best express yourself, regardless of their marketability. Maybe for you that's Java - I did just under 10 years in Java myself, and when it's not trying to be an "enterprise platform" it is a very nice language. But there are many, many languages to choose from besides these two. Perhaps you want to take a crack at writing iPhone applications. In that case you'll need Objective C. But if you prefer Android (the Google phone), I believe that one can be coded in Java.
If you made me pick between your two choices alone, I would take Java in a heartbeat. The "visual" style of programming to me always lacked something, like all you were doing was stitching pieces of other people's code together. I much prefer to write code. As I said, I enjoy it. I don't consider the code writing to be a chore that stands between me and the solution, I consider my job to be solving the problem by writing code.
If you're up for something new, check out Ruby on Rails, or Python, or Haskell or maybe Clojure.
[ Now, see, if your reaction to that last line was "Just tell me which language will help me get a job", then you know the answer to my opening question. :) ]
Permalink | Report
ilaksh
Just to answer your question, I was more productive in VB.NET, but there is a huge stigma associated with it, so overall I was happier when I was coding in Java. That is, to pick between the two. Non-technical people will assume you are a 'beginner' programmer and technical people (that aren't VB.NET programmers) will assume you do not understand object oriented programming if you tell them you write VB.NET code. Of course, this is absolutely not true but its what people generally think.
Neither one would be on the top of the list. C# would be up there, higher than Java because I think the libraries and tools are a bit more productive and the code generally runs faster. (Someone will probably dispute all of that but that's ok.) Python or IronPython is up there, because the language is much more streamlined. F# is up there, because its just frigging cool. ActionScript 3 is up there, because its incredibly useful since it runs in 95+% of the browsers out there.
As far as cross-platform goes, Mono is the open source version of C#, which also runs IronPython. Mono runs on Linux and other non-Windows platforms.
I actually mostly code in PHP and JavaScript right now (not really by preference to be honest). By the way, both of those are object oriented languages, although classes in JavaScript are a little weird.
Don't be confused by the name Visual Basic. Its not a visual programming language. It does have form builders and other designers but you get that with Java too.
Also, its not really so basic as the name would indicate. Every single library and every single (normally used) piece of functionality available in C# is available to you in Visual Basic. The exceptions are things like unsafe code blocks which you probably won't miss. VB.NET doesn't usually require things like type casting which makes it easier to use than C# or Java. Although you do need to understand object oriented programming and an awful lot of other things to be a good VB.NET programmer.
One more thing. The newer 3.5 (or 4.0 soon) .NET libraries and tools can be pretty different from the old ones. Make sure you don't waste your time on .NET 1.1 or 2.0. Also, at least take a look at Java 7 before you settle on Java 6 and don't get into Java 5.
And one more one more thing. Object-oriented isn't the be-all and end-all of programming paradigms. Many languages, like F#, are multiparadigm. Some other programming paradigms are functional, aspect-oriented, flow-based, process oriented, etc. See source.
Source(s):
http://en.wikipedia.org/wiki/Programming_paradigm
Permalink | Report
Answered Question
December 29, 2008 09:21 AM
Visual Basic.NET or JAVA?
Which object-oriented programming language do you prefer?
Interesting Question?
Yes (0)
No (0)
- In Technology & Internet |
- |
- Report |
-
Share
RSS
Best Answer Chosen by Asker
| December 29, 2008 05:29 PM |
If you are new to programming, VB.NET will probably be easier to learn, but if you already have some programming knowledge, then you will be able to pick up both languages fairly quickly.
With VB, you don't have to worry about what frameworks or what libraries you need to use. You basically load up Visual Studio and start programming. With Java, depending on what you want to do, you will have to decide which 3rd party products to use (mostly these are open source) for example, what tools to persist objects to a database or what web framework to use. You will also have to chose what IDE to use. There are several to pick from (Eclipse, NetBeans, IntelliJ) each of which have their merits.
A final thing to consider is where your application is intended to run. If your application needs to be platform independent, then Java is probably your best bet. If you are only targeting Microsoft Windows, then VB.NET may be a better choice.
At the end of the day, don't let anyone tell you that one language is better than another. Remember that you can do good object oriented development in both languages, just as you can do bad object oriented development in both.
My personal preference would be Java, but that's because I write cross platform apps. That's my choice, but may not be yours.
Source(s):
20 years professional software development with experience of both Java and VB.NET.
| Asker's Rating: |
• I agree. There's no best oopl. But I also prefer Java over VB.net because of its cross platform feature. However, VB.net is a lot easier and ui wise, VB.net does better than Java.
Permalink | Report
Other Answers (2)
December 29, 2008 01:50 PM
I think it depends greatly on whether you plan to program, or to be a programmer. Some folks believe that programming is just a skill to be taught, much like, say, learning Excel or Powerpoint. You either have that skill, or you do not. It is a means to an end. If this is the case for you, then any of the .NET family of languages will probably be fine - lots of visual tools, lots of documentation and certification programs to prove you have that skill. After all, what's more important - actually knowing it, or simply having a piece of paper that says you do? Lots of places looking to hire those skills. Others, and I count myself among this second category, believe that being a programmer is something you're born to, and if you've got the passion for it, then you will seek it out whether somebody's paying you a salary or not. If that is the case then you will want to wrap yourself in the tools that allow you to best express yourself, regardless of their marketability. Maybe for you that's Java - I did just under 10 years in Java myself, and when it's not trying to be an "enterprise platform" it is a very nice language. But there are many, many languages to choose from besides these two. Perhaps you want to take a crack at writing iPhone applications. In that case you'll need Objective C. But if you prefer Android (the Google phone), I believe that one can be coded in Java.
If you made me pick between your two choices alone, I would take Java in a heartbeat. The "visual" style of programming to me always lacked something, like all you were doing was stitching pieces of other people's code together. I much prefer to write code. As I said, I enjoy it. I don't consider the code writing to be a chore that stands between me and the solution, I consider my job to be solving the problem by writing code.
If you're up for something new, check out Ruby on Rails, or Python, or Haskell or maybe Clojure.
[ Now, see, if your reaction to that last line was "Just tell me which language will help me get a job", then you know the answer to my opening question. :) ]
Permalink | Report
ilaksh
December 30, 2008 11:12 AM
Visual Basic and Visual Studio are not visual programming languages. Its just part of the name.
Tip ilaksh for this comment
Report
December 30, 2008 11:45 AM
First, you asked which we prefer not which would we recommend to someone who was learning programming (which is what people seem to be assuming). What is your background? Have you coded in other languages? Why are you asking this question? Just to answer your question, I was more productive in VB.NET, but there is a huge stigma associated with it, so overall I was happier when I was coding in Java. That is, to pick between the two. Non-technical people will assume you are a 'beginner' programmer and technical people (that aren't VB.NET programmers) will assume you do not understand object oriented programming if you tell them you write VB.NET code. Of course, this is absolutely not true but its what people generally think.
Neither one would be on the top of the list. C# would be up there, higher than Java because I think the libraries and tools are a bit more productive and the code generally runs faster. (Someone will probably dispute all of that but that's ok.) Python or IronPython is up there, because the language is much more streamlined. F# is up there, because its just frigging cool. ActionScript 3 is up there, because its incredibly useful since it runs in 95+% of the browsers out there.
As far as cross-platform goes, Mono is the open source version of C#, which also runs IronPython. Mono runs on Linux and other non-Windows platforms.
I actually mostly code in PHP and JavaScript right now (not really by preference to be honest). By the way, both of those are object oriented languages, although classes in JavaScript are a little weird.
Don't be confused by the name Visual Basic. Its not a visual programming language. It does have form builders and other designers but you get that with Java too.
Also, its not really so basic as the name would indicate. Every single library and every single (normally used) piece of functionality available in C# is available to you in Visual Basic. The exceptions are things like unsafe code blocks which you probably won't miss. VB.NET doesn't usually require things like type casting which makes it easier to use than C# or Java. Although you do need to understand object oriented programming and an awful lot of other things to be a good VB.NET programmer.
One more thing. The newer 3.5 (or 4.0 soon) .NET libraries and tools can be pretty different from the old ones. Make sure you don't waste your time on .NET 1.1 or 2.0. Also, at least take a look at Java 7 before you settle on Java 6 and don't get into Java 5.
And one more one more thing. Object-oriented isn't the be-all and end-all of programming paradigms. Many languages, like F#, are multiparadigm. Some other programming paradigms are functional, aspect-oriented, flow-based, process oriented, etc. See source.
Source(s):
http://en.wikipedia.org/wiki/Programming_paradigm
Permalink | Report
Answer this Question
Related Questions
Ask a Question
Buy Mahalo Dollars with Credit Card or PayPal
Top Members
Most Popular Tags
Categories
- Anonymous
- Arts & Design
- Beauty & Style
- Books & Authors
- Business
- Cars & Transportation
- Consumer Electronics
- Coupons Deals
- Education
- Entertainment
- Environment
- Fitness
- Food & Drink
- From Email
- From Iphone
- From Twitter
- Health
- History
- Hobbies
- Home & Garden
- How Tos
- Humor
- Jobs
- Legal
- Local
- Love & Relationships
- Mahalo Answers Community
- Money
- Music
- News
- NSFW
- Parenting
- Pets
- Science & Mathematics
- Services
- Shopping
- Social Science
- Society & Culture
- Sports
- Technology & Internet
- Travel
- Video Games
Welcome New Members
- daytracing, December 01, 2009 10:26 PM
- alexpriest, December 01, 2009 10:20 PM
- violeta, December 01, 2009 10:10 PM
- natalic, December 01, 2009 10:09 PM
- truthteller, December 01, 2009 10:09 PM
Mahalo Dollars are the currency of Mahalo Answers.
Each Mahalo Dollar costs $1.
Once you earn more than 40 Mahalo Dollars, you can request to be paid via PayPal. Each Mahalo Dollar is currently worth $0.75 when paid out via PayPal. Learn More