|
Norm .net wrote: True, but it would have a limegreen background with a pink buttons.
And 17 different responses accessed by a double dropdown menu.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
|
|
|
|
|
Oakman wrote: Truth be told, C# is VB.NET with C syntax.
I thought C# was derived from Java?
Continuous effort - not strength or intelligence - is the key to unlocking our potential.(Winston Churchill)
|
|
|
|
|
GuyThiebaut wrote: I thought C# was derived from Java?
It was supposed to be a Java-killer and was therefore an attempt to create a C-syntax language that those who couldn't or wouldn't deal with C++ that could be migrated to. But C# needed to be as attractive and useful on the desktop as it was on the Web, a task at which Java was failing. MSFT already had a kinder/gentler language that was useful in both environments so there is a goodly chunk of C# that was modeled on VB. Meanwhile VB was forcibly converted into OO, just as C had been shoved (kicking and screaming IIRC) into C++. 2000-2001 was an interesting time to be involved in programming.
However, my point was that these days nothing but syntax differentiates the two languages. Folks who claim that one is better than the other are arguing about which flavor of ice-cream they like and trying to turn it into a holy war, and as I said to Alan, both VB and C# (at least on the desktop) are just ways of asking C/C++ to pretty please do the heavy lifting.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
|
|
|
|
|
Oakman wrote: the others are all methods of connecting to C++ and asking it to do the heavy lifting.
True. I have a lot of respect for those who can actually stare at C++ code and have a clue what it means. C# I can figure out even though I don't use it. C++ gives me heartburn.
XAlan Burkhart
|
|
|
|
|
Well i wrote my very first "real "program in BASIC, since it was/is an interpretative language there was no need to compile it, or do anything else other that run it once you had the code ready. It was a program that told you the type of triangle based on it size length or angles by the way. I even remember i did it on a 8086 with a monochromatic amber screen, 5 1/4 floppy, NO HARD DISK whatsoever, sadly i don't remember the DOS version.
So I know basic is really "beginner friendly", but not much later i learned pascal, i immediately though that BASIC "style" was too verbose, THEN i learned C, oh boy that was a beauty to write on, the first couple of weeks i spent more time REWRITING code that worked just to try to make it more compact, 10 lines of atomic instructions cramped on a single crazy statement, for the heck of it. This was early 90's, i was on my teens and everything i did was for my own use, so "readability" was an alien concept to me...
I do think of C style not as something superior per se, but that is just right, and most programmers i know feel the same. Problem is there are lots of smugs that will tell you that "other" languages suck, but thats being just stupid.
I would like to VB to die, but just because i have this personal philosophy about life, if 2 thinks do exactly the same, there is no reason for both to exist, is a survival of the fittest thing. VB does not do anything better or worse than many other languages, so i don't see a reason for it to continue existing. But it is not ME who will decide that, it will be the environment...
|
|
|
|
|
jim norcal wrote: stop using it
Absolutely.
I'm a C/C# guy, but I've been doing VB.net for just about a year now and it's just horrible. Whenever I try to write C# I have trouble. Just last week I tried to access an item in a Dictionary with parentheses instead of brackets and couldn't understand the error it caused.
VB use has even affected my health -- I've never had indigestion, but I was diagnosed with gastritis last week.
C# is just a way better language. 
|
|
|
|
|
PIEBALDconsult wrote: C# is just a way better language.
I can switch back and forth with no problem. I occasionally make the kind of stupid mistake you talked about, of course, but I am way smarter than to blame that on the language.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
|
|
|
|
|
i too can switch back and forth very easily, yeah the occasional syntax leak over in both directions occur, but that simply boils down to me not paying attention.
in a given day and all at the same time i am working on apps using several languages (each a seperate app) for example:
PHP, C#, VB.NET, C++ at any given moment. and generally i have no real issues with any of them.
it is not the language at fault, it is the fault of the developer for blaming the language.
Plus just remember this (and this meant for all the C# only fan boys);
if it was not for VB.NET C# would NOT i repeat NOT exist at all. So give it the respect it deserves as being one of the parent languages of C#.
|
|
|
|
|
Agreed.
Compared with the clean syntax of C#, VB.NET is horrid. Though, aside from these aesthetic, the major issue I've encountered is with the skills and abilities of those using VB compared with those coming from OO backgrounds.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Mark Nischalke wrote: Compared with the clean syntax of C#, VB.NET is horrid.
One of the silliest things some folks do is think that their personal preferences are actually laws of nature. When someone is used to reading one language and has trouble with the other that defines not the language, but the programmer.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
|
|
|
|
|
Oakman wrote: One of the silliest things
So your arguement is my stated personal opinion is "silly" and I'm at fault for perfering one over the other?
Good arguement. A really a good way to have an open and mature discussion.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Mark Nischalke wrote: So your arguement is my stated personal opinion is "silly" and I'm at fault for perfering one over the other?
Nope. I'll type slower so maybe you'll understand.
When someone expresses his personal opinion as if it is a law of nature, he is being silly.
When a programmers blames the language for the mistakes he makes, he is being silly.
Now, if the shoe fits, then by all means wear it. If not, then deal with the points I made rather than acting as if I attacked you rather than your argument.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
|
|
|
|
|
Not necessarily, for instance:
VB.net has certain restrictions on how you can format your code (e.g. linebreaks) that C-like languages just don't have.
C-like languages have multi-line comments, VB.net does not.
In C# I can make an event based on a delegate that returns a value, in VB.net you can't. While that's not something most situations require, it's nice to know I can when I need to.
C# has auto-implemented properties, VB.net does not (at least not in the version I have to use at work).
That's what comes to mind at the moment and my dinner is getting cold.
|
|
|
|
|
If someone is used to one language and regards having to use another as a trial, no amount of discussion, explanation, or examples will convince him that his problems lie within himself and not the language.
Suffice to say that for every goody that C# has, VB.NET has a one,too, a different one. For every gotcha that VB.NET has, C# has one, too.
When it comes to C# and VB.NET, there's nothing wrong in preferring one language over another, but folks who think that their personal preference represents a real-world value judgement that should be recognized by all is making a mistake. Developers who go so far as to claim that all or most of their peers who use their language choice are superior in skills and ability to those who use the other, are amusing. Developers who refuse to learn as much as possible about any language that might get them a job are shooting themselves in the foot.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
|
|
|
|
|
C-like languages have multi-line comments, VB.net does not.
|
|
|
|
|
|
Well we have horrible practioners in both languages here. It really does come down to experience and training in both (or any) language.
|
|
|
|
|
jim norcal wrote: Very few articles on Code Project and other sites. ...So, what am I supposed to do?
Sure its a crazy thought but...why don't you write some?
|
|
|
|
|
Well worded post and valid concerns.
I think it's a matter of syntax, don't worry though, you can pick up C# real quick if you want to.
"I have a theory that the truth is never told during the nine-to-five hours. "
— Hunter S. Thompson
|
|
|
|
|
There are tons of new tutorials for VB.Net, MS have just released Light Switch, and all the demos are pretty much exclusively in VB.NET. It won't die, MS make programming for all types of people, including people that shouldn't be programming, but they can, because of VB and VB.net.
I'm not slating VB.Net, We use it for our major project without issue, and you've got to admit, XML literals are ace. We also use C# for another project, and I really miss the WithEvents keyword 
|
|
|
|
|
...and automatic event wireups 
|
|
|
|
|
I started VB with 1, after years of programming in FORTRAN, COBOL, Clipper, and QuickBasic. I never did use procedural programming, but did modular programming. That made the transition to OOP inVB4 through 6 pretty easy. Since my VB6 programs were OO, they ported easily to VB.NET.
I also learned C# several years ago. I program in C# where I work since C# is the comfortable choice for the decision makers with a Java and C background. I program in VB.NET for my own development. I find VB.NET to be more productive, even in complex n-tiered apps. VB.NET does everything C# does, so why should I program in a 1960s throwback style when I can program in a simpler, more powerful syntax?
I hear the anti-VB folks talk about C# being more "elegant". Huh? What does that mean? My wife and daughter are elegant. I don't want my language of choice to be girly or curly. I think "elegant" is used in the context of programming languages when one is unable to give a coherent reason for using a language.
Simply put, if Java or C/C++ is your background, then use C#. If VB6 is your background, then use VB.NET. If you want to be mire hirable, know both well. After all, 80% of being an excellent .NET developer is knowing the framework.
|
|
|
|
|
Hummmmm! Interesting!
I started with VB in 1994 and move to c# in 2000, then back to VB and again back to c#. If you are a vb developer I feel you will be able to make an easy transition to c#. I see they both are very similar in performance, and different in syntax. However, if you have developed web sites, chances are you have used JavaScript. I personally like C# better because I think it is more standard and in a certain way close to Java and JavaScript. As far as VB being retired, I do not think so. As far as c# being more popular, yes of course.
At the end , the choice is yours.
|
|
|
|
|
MSBassSinger wrote: I started VB with 1,
I started with VB for DOS - now that was a strange animal!
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
|
|
|
|
|
From Dictionary.com:
el·e·gant /ˈɛlɪgənt/ Show Spelled
[el-i-guhnt] Show IPA
–adjective
1. tastefully fine or luxurious in dress, style, design, etc.: elegant furnishings.
2. gracefully refined and dignified, as in tastes, habits, or literary style: an elegant young gentleman; an elegant prosodist.
3. graceful in form or movement: an elegant wave of the hand.
For most of us who use the term, programming elegance is expressed by the third definition. C, C++, etc. use fewer symbols to convey more meaning, the C-like syntax imparting grace through requiring fewer decorations. Thus, it appears to be purely a matter of taste at first.
My experience, though, is that their are more programmers who are better programmers who appreciate the elegance of C-like syntax than there are programmers who are better programmers who prefer the wordier but more easily remembered keywords and forms of languages like VB.NET, FORTRAN, and COBOL. That experience may be influenced by the fact that I've had to maintain C code written by BASIC programmers as well as BASIC code written by C programmers - let me tell you, the better attempt was NOT made by the BASIC programmers. C-like syntax is harder to learn than wordier syntaxes, so it's less likely that any given BASIC programmer can learn C that it is that any given C programmer can learn BASIC, given equal exposure or lack thereof to the system being learned. Unfortunately, given this observation, since smarter people usually write better code, it is strongly suggested that more of that better code is being written in C# that is being written in VB.
I expressed this opinion well before the advent of .NET when my client (and former employer at the time) expressed surprise that I would reject C/C++ for a new project he was staring. First, I told him, you'll need a database management system for what you want to do, which means that if you have Access, you can build a prototype with little difficulty; second, Access used (and still uses) a dialect of BASIC, and BASIC programmers are cheap and easily disposable because fewer of them are going to write code that requires deep intellect to understand and maintain, thus new programmers will spend less time getting up to speed on what their predecessors were doing. Note that the application my client wanted to build, while complex, was not "rocket science"; if it had been "rocket science", I would have recommended C/C++ as the develompent language without hesitation, simply because we'd attract a better class of programmer to the problem.
I think this is not as true as it once was, for the very reasons that several in this thread have noted that suggest that VB.NET and C# are interchangeable: each one is using the same runtime library, which makes the syntax the only real difference between the two languages, and that runtime library far more resemebles the wide offerings with obscure options offered by C than it does the more restricted list of standard functions offered by MS BASIC...implying that the same skills must be available (to use the runtime library) whether you use VB or C#.
I spent most of the first half of my career programming in C. I've spent much of the second half programming in dialects of Basic (VBA and previous dialects (e.g. WordBasic), VB 6.0, VB.NET, VBScript) while also learning and using Java, Javascript, and C#. But, to keep things in perspective...I did my graduate research project using Prolog, which uses a wildly different paradigm than either C# or VB (if anything, it resembles SQL in its usage if not in syntax). In those days, only languages such as Lisp, Prolog, and other lesser-known examples could offer the functionality that the addition of generics and lambdas have brought to VB and C#.
So, at this point, in my opinion, it is simply a matter of taste when deciding between the languages. Neither offers significantly greater capability than the other (though, so far, it seems that C# gets new language features before VB). Each can use assemblies written in the other. Each can easily be rewritten into the other language, at least in my experience to date (I maintain and build applications, assemblies, and components in both languages and have had to perform conversions when moving code from a C# application or DLL to VB instance of the same).
As to the likelihood that MS will drop BASIC...what are the odds that that will EVERY happen, given that BASIC was the very first product Microsoft ever offered for sale? If MSDOS had never been written, Microsoft would still be well known as having set the standard for BASIC interpreters (remember Applesoft Basic, anyone?) for the entire early history of the PC. Granted, Bill Gates has stepped away from the company and with this stepped away from his long support of the continued advancement of BASIC within Microsoft, but he was not alone. BASIC is still easier to learn for most people than the C-like languages, so it will continue to offer a wider range of people the chance to program (until some successor proves even easier to learn while also providing as complete a set of functionality, which despite numerous attempts (e.g. Java) still hasn't happened yet).
I think any rumors of the death of Visual Basic are as likely to be real as the "sure-fire" prophecies I've been hearing for twenty-odd years about the impending death of COBOL. Quit worrying about it, and sharpen your search skills so you can find more VB sites.
|
|
|
|
|