Java and VB.Net
![]() ![]() ![]() ![]() ![]() |
Java and VB.Net
|
|
Mar 26 2008, 02:55 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#1
|
|
Newbie ![]() Group: Junior Member Posts: 26 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Mar 2008 |
Nowadays, Java and VB.Net are very popular programming language in the market.
May I know :- 1. Which programming language is more powerful and useful? 2. It market value or marketplace today and furure? 3. For you which programming language you will learn? Thks your idea. This post has been edited by knowmore: Mar 26 2008, 03:30 PM |
|
|
Mar 26 2008, 04:37 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#2
|
|
Getting Started ![]() ![]() Group: Junior Member Posts: 205 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Feb 2005 |
Java is more on server side programming while .NET (vb or c#) are mostly developed for windows based client. This is actually a big research which has been discussed/debated over varies of websites/forums... google it and u'll find them...
either way.. if u r new to programming world and wanted to pick either java or .net u'll need to pick up OOP 1st |
|
|
Mar 26 2008, 05:42 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#3
|
|
Getting Started ![]() ![]() Group: Junior Member Posts: 235 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: TTDI-Cyberjaya-TTDI |
Java is more used by corporate and big companies especially in the finance and stock trading industries.
|
|
|
Apr 3 2008, 07:46 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#4
|
![]() 无名大侠 ![]() ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 1,662 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: Manchester, UK |
QUOTE(alwajdi @ Mar 26 2008, 05:42 PM) Java is more used by corporate and big companies especially in the finance and stock trading industries. this is only half the truth. java is widely used because of portability. it can be compiled once and run on many platforms as long as a JVM exists for that platform. so called big companies and finance companies use java because they have heterogenous platforms (ie bsd + linux + win + HPUX etc etc). VB.net runs primary on Windows environment but novell has already debut its experimental .net CLI for UNIX (Mono). the definition of "powerful" is extremely abstract. VB.Net is built to run in a Common Language Runtime (CLI) environment known as Microsoft .Net Framework. The framework has tonnes of classes and methods that would simplify a programmers life and make Win32API/MFC programmers retreat in admiration. Java, like .Net, has also an application framework that provides classes and methods to ease life. Both .net and java compiles to an intermediate language (byte codes) and are just in time (JIT) compiled to native code when executed. In terms of performance, both are actually on par. About "useful", both languages are useless if you define useful as being able to do everything. Since you cannot make low level system calls through JVM and CLI, you never see system drivers written in java or .net, nor could you see fully functional operating systems being written from java or .net from scratch. Few experimental managed OSes are exceptions though, like Singularity which uses a C# kernel but the truth is, it still depends on ASM/C/C++ to perform low level system tasks. The real difference is the programming paradigm. VB.Net is for VERY RAPID application development (RAD) while Java is for VERY PORTABLE application dev. VB.net syntax is very english like (with little cryptic symbols) and its grammar is relaxed and less strongly typed. Java on the other hand is strongly typed and the sheer amount of symbols could scare novice users. For me, I have picked up C, C++, C#, VB(.net), Java, PHP and if you dont mind low level languages, I have also studied x86 Assembly language (ASM). My primary language is C# because I do rapid turnovers (a complete app in less than a month), my primary target audience is Windows Server system and I'm used to C++ styled syntax. About market, the current market is saturated with java and vb programmers. why not pick up LISP, PROLOG or what and create Skynet. LOL |
|
|
Apr 4 2008, 01:28 AM
Show posts by this member only |This post's rating (0+, 0-) | Post
#5
|
|
な に あ っ て !!! ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 768 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Sep 2005 From: Eee-poH !!! |
Lol...good description there..totally agree with you...and wow, LISP / Prolog..learnt that for one month..and dun really wan to touch that anymore..
|
|
|
Apr 4 2008, 09:25 AM
Show posts by this member only |This post's rating (0+, 0-) | Post
#6
|
|
Newbie ![]() Group: Junior Member Posts: 26 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Mar 2008 |
all guy,
thks a lot urs description n idea. especially sennheiser |
|
|
Apr 4 2008, 03:03 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#7
|
|
Regular ![]() ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 1,282 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Sep 2006 From: KL |
so which 1 u choose ?
|
|
|
Apr 4 2008, 03:46 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#8
|
|
Newbie ![]() Group: Junior Member Posts: 6 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Apr 2008 |
even if you decide not to choose java, please learn c# instead of vb.net..
vb.net as a first language is bad, because it teaches you things like not initializing, or even declaring, variables, loose typing, and other stuff that you'll have to unlearn later.. |
|
|
Apr 4 2008, 05:44 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#9
|
|
Casual ![]() ![]() ![]() Group: Junior Member Posts: 391 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Aug 2005 From: [MyFeS.INC] |
er...yea..prefer C# rather than vb.net
|
|
|
Apr 4 2008, 06:33 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#10
|
![]() 无名大侠 ![]() ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 1,662 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: Manchester, UK |
QUOTE(ahmadfarhan @ Apr 4 2008, 03:46 PM) even if you decide not to choose java, please learn c# instead of vb.net.. vb.net as a first language is bad, because it teaches you things like not initializing, or even declaring, variables, loose typing, and other stuff that you'll have to unlearn later.. That is so not true. VB.NET comes with Option Explicit on by default, so if you don't declare a variable, it will throw an error. PHP is the only language I know where you can simply throw in a variable and forget about it. Let's consider types: PHP: String: $foo = "bar" Int: $widget = 123 $widget = $foo is valid Java/C#: String: string foo = "bar" Int: int widget = 123 widget = foo will throw implicit type conversion error VB.Net: String: Dim foo as String = "bar" Int: Dim widget as Integer = 123 Hybrid: Dim sprocket as Object = Class.Member.Structure widget = foo will throw implicit type conversion error sprocket = foo = widget is valid If I were you, I would "unlearn" PHP because it encourages me to throw types away. But before I get flame wars waged against me, let me clarify my stance: Every language has its own beauty. PHP and VB.Net being bloody fast and easy to master but hell when it comes to debugging, and C and its influenced language being bloody hard to master but bloody safe. This post has been edited by sennheiser: Apr 4 2008, 06:36 PM |
|
|
Apr 4 2008, 09:26 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#11
|
|
Getting Started ![]() ![]() Group: Junior Member Posts: 235 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: TTDI-Cyberjaya-TTDI |
well, i found that it's not really hard to master c# or java or any other language.
the only thing that is hard to grasp at first is the concept of programming (OOP, AOP or whatsoever). once you've mastered the concept, all that is left is the matter of syntax and library. job market saturated with java programmers?I found it the other way round.nearly all job ads with java as the requirement that I applied before would just offer me the job after the 1st interview and this was less than a year ago. |
|
|
Apr 4 2008, 09:51 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#12
|
|
Look at all my stars!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 2,181 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Nov 2005 |
As a VB6 Programmer that is migrating to VB.NET, I'll say a little icky thing about Conversion Errors.
It is not the Languange's fault if you don't declare your variable etc. Although there is the convenience of not declaring it (variables) in VB6, I still add it (Option Explicit) in my code ALL THE TIME and Declare my variables ALL THE TIME. It has nothing to do with the language, but the attitude of the programmer. Terrible Programming Habits = Terrible Debugging Process. Why make it hard for yourself? Inculcate good programming habits. ~Cheers! EDIT: Make stance clearer. This post has been edited by natakaasd: Apr 4 2008, 09:53 PM |
|
|
Apr 5 2008, 01:27 AM
Show posts by this member only |This post's rating (0+, 0-) | Post
#13
|
|
Newbie ![]() Group: Junior Member Posts: 6 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Apr 2008 |
QUOTE(sennheiser @ Apr 4 2008, 06:33 PM) That is so not true. VB.NET comes with Option Explicit on by default, so if you don't declare a variable, it will throw an error. PHP is the only language I know where you can simply throw in a variable and forget about it. [snip] If I were you, I would "unlearn" PHP because it encourages me to throw types away. But before I get flame wars waged against me, let me clarify my stance: Every language has its own beauty. PHP and VB.Net being bloody fast and easy to master but hell when it comes to debugging, and C and its influenced language being bloody hard to master but bloody safe. [Not trying to satrt flame here.. Just trying to get my point accross] PHP is a web based scripting language. And VB is a full blown programming language. The diffence is not only semantic, scripting language is compiled differently that's why PHP is loosely typed. But That's not my point My point is that there are other things that is ugly with VB(VB.NET is slightly better, but only slightly), For example convention for calling a method/function . Just about every programming language separate method calls (with barackets "()") as opposed to member variable calls ( no brackets ). With VB you call them both the same way. And what's the deal with methods not returning value are called Sub procedure and methods returning values are call function. VB doesn't differentiate between the assignment operator and the equal to comparison operator. VB also do not differentiate between bitwise and logical operator. These are all very bad things to learn as a beginner. I'm not thrashing VB, it is good for RAD and interface prototyping(and probably a lot of other stuff). But as a first language it is BAD. A seasoned programmer could understand that these are not best practices and accept the lower complexity for the fast development time and powerful gui toolbox, but a beginner might mistake these as common practice. (IMHO) Of course to each his own. No hard feelings |
|
|
Apr 5 2008, 04:27 AM
Show posts by this member only |This post's rating (0+, 0-) | Post
#14
|
![]() 无名大侠 ![]() ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 1,662 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: Manchester, UK |
QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM) For example convention for calling a method/function . Just about every programming language separate method calls (with barackets "()") as opposed to member variable calls ( no brackets ). With VB you call them both the same way. The standard method calling convention in VB.net DOES have parentheses behind! Only classic VB and VBS fail miserably if you add parentheses when calling methods: http://blogs.msdn.com/ericlippert/archive/...9/15/52996.aspx Anyways lets not veer off topic. We're talking about VB.Net not the classic VB. QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM) And what's the deal with methods not returning value are called Sub procedure and methods returning values are call function. Because the original BASIC developed by John George Kemeny and Thomas Eugene Kurtz in 1963, not Bill Gates, said so. QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM) Agree. But don't forgot what the B in BASIC stands for. == and = means noughts to newebs.. QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM) Agree. Again, don't expect a beginner to understand what && or || are. QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM) Disagree. You cannot teach one to run without first teaching him to crawl. VB.Net is way more english like than other languages so its a natural first for many beginners. QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM) I'm not thrashing VB, it is good for RAD and interface prototyping(and probably a lot of other stuff). But as a first language it is BAD. A seasoned programmer could understand that these are not best practices and accept the lower complexity for the fast development time and powerful gui toolbox, but a beginner might mistake these as common practice. (IMHO) Agree. But a beginner will eventually become a seasoned developer. So why the fuss?? Anyways I think I'm bored of this age old debate so I'm signing off from this thread. If you love VB.net bashing, just google for it. I bet if it wasn't because VB.Net was invented by Microsoft, it wouldn't receive such disrespectful treatment today. P/S: My first language is C# and I speak fluent C++ but I still keep VB.Net for fast and simple tasks, it's dispensible. This post has been edited by sennheiser: Apr 5 2008, 04:31 AM |
|
|
Apr 5 2008, 11:34 AM
Show posts by this member only |This post's rating (0+, 0-) | Post
#15
|
|
Mehh ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 794 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Sep 2004 From: Aurora |
Java can also be used as desktop application, with editor such as Netbeans and Eclipse, you won't even really need to go into the OO concept, but of course if you want to build something more complicated than usual, you need to know about it. I've seen people created information system using Netbeans without really knowing the concept.
My main concern about Java desktop application is that it can't be encrypted properly. The byte codes can be decompile and you can see everything in there even if you scramble your code. So, if you got database connection info in the jar, anyone who has a little knowledge about decompiling can find your connection info which impose a great security risk. But, the portability between different OS is definitely amazing. |
|
|
Apr 5 2008, 03:46 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#16
|
|
Getting Started ![]() ![]() Group: Junior Member Posts: 236 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Apr 2007 |
QUOTE(Ee_ @ Apr 5 2008, 12:34 PM) My main concern about Java desktop application is that it can't be encrypted properly. The byte codes can be decompile and you can see everything in there even if you scramble your code. So, if you got database connection info in the jar, anyone who has a little knowledge about decompiling can find your connection info which impose a great security risk. But, the portability between different OS is definitely amazing. It's definitely a bad idea to include such details at the code level. I will never agree with. Keep it elsewhere, e.g. keep it at the fs then either encrypt it or lock it with restricted permissions. One thing to point out, which is related with the topic, whenever you find that a programming language or framework doesn't fit your requirement, it could just be (or could not) the way you design it is wrong. Rethink, before you switch to another. |
|
|
Apr 5 2008, 04:15 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#17
|
|
Getting Started ![]() ![]() Group: Junior Member Posts: 235 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: TTDI-Cyberjaya-TTDI |
QUOTE(Ee_ @ Apr 5 2008, 11:34 AM) Java can also be used as desktop application, with editor such as Netbeans and Eclipse, you won't even really need to go into the OO concept, but of course if you want to build something more complicated than usual, you need to know about it. I've seen people created information system using Netbeans without really knowing the concept. My main concern about Java desktop application is that it can't be encrypted properly. The byte codes can be decompile and you can see everything in there even if you scramble your code. So, if you got database connection info in the jar, anyone who has a little knowledge about decompiling can find your connection info which impose a great security risk. But, the portability between different OS is definitely amazing. Sure you can build a Java system without really knowing the concept of OOP, but seriously, it will be hard to maintain at later stages when modification or extra features are needed. you'll end up rewriting the whole system all over again. In other word, not scalable. Do some reading on software design patterns and anti patterns and you'll know what I mean. about your second concern, there is this thing called Obfuscator. Google about it! |
|
|
Apr 5 2008, 07:33 PM
Show posts by this member only |This post's rating (0+, 0-) | Post
#18
|
![]() 无名大侠 ![]() ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 1,662 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: Manchester, UK |
same goes to MSIL (.net bytecode). it can be decompiled using msil dasm or .net reflector. n about obfuscators, i think they are plain useless. they just make things hard for humans to read, but not impossible for machines to interpret.
I run my app's msil through rijndael-256 encryption and wrapped it with a decryption class coded in C++ (compiled to native code). The assembly is invoke using interop. This post has been edited by sennheiser: Apr 5 2008, 07:35 PM |
|
|
Apr 6 2008, 03:06 AM
Show posts by this member only |This post's rating (0+, 0-) | Post
#19
|
|
Mehh ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 794 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Sep 2004 From: Aurora |
QUOTE(alwajdi @ Apr 5 2008, 04:15 PM) Sure you can build a Java system without really knowing the concept of OOP, but seriously, it will be hard to maintain at later stages when modification or extra features are needed. you'll end up rewriting the whole system all over again. In other word, not scalable. Do some reading on software design patterns and anti patterns and you'll know what I mean. about your second concern, there is this thing called Obfuscator. Google about it! Obfuscator can only delay the time taken to search for what you want. Encrytion must be decrypted before it can be ran, so, it's not very safe. There's no definite solution for this. Edit: About the OO thing, actually, when you write information system that requires you to know how to DELETE, ADD, EDIT data, you don't really need to know the OO concept simply because Netbeans has taken care of it for you. So, that's it, just wanna give thread starter a general view about Java in creating desktop application. This post has been edited by Ee_: Apr 6 2008, 03:12 AM |
|
|
Apr 6 2008, 05:54 AM
Show posts by this member only |This post's rating (0+, 0-) | Post
#20
|
![]() 无名大侠 ![]() ![]() ![]() ![]() ![]() ![]() Group: Senior Member Posts: 1,662 Ratings earned: 0+, 0- Ratings given: 0+, 0- Joined: Jan 2003 From: Manchester, UK |
In memory decryption can at least prevent casual users from peeking into your codes. Even native codes can still be reverse engineered by professionals. No code is safe
|
![]() ![]() ![]() ![]() |
| Lo-Fi Version | Time is now: 10th February 2010 - 02:49 AM |