|
A good programmer don't think a programming need only on language,
a good programmer can use each language do same project!
|
|
|
|
|
To whom you want to deceive?
|
|
|
|
|
It seems most C programmers are stuck in some sort of time warp here. Since VB4, I would call VB a fully functional language. Yes it might not have had the indepth control of the operating system that was available in C++ (and yes I used C++ in my projects for the really low level stuff), but with VB I didn't have buffer overrun issues to deal with either!
Since the advent of .NET this discussion has become academic. I now code in C#, mostly due to the fact that I prefer the way the XML comment feature works with C#, but no doubt I will move back to VB.NET when Whidbey comes out; especially as VB.NET promises to have the old "Edit and Continue" feature which I sorely miss, and which currently won't be supported in C#.
My personal preference is to code in VB.NET. The amount of extra code in C# that I have to write (i.e. break commands in Switch statements) bugs me. VB.NET lacks operator overloading, which I've yet to use in C# anyway, but most of the code examples for the more complex operations seems to be in C# which gives it an edge. However this doesn't make it a better language, just better used.
|
|
|
|
|
<quote>
The amount of extra code in C# that I have to write (i.e. break commands in Switch statements) bugs me.
</quote>
The amount of EXTRA code you have to write in C#???
You mean all the Dim's Byval's, EndIf's, Mod's, Sub's, WithEvents, Default Properties, Inherits and all other crap that surrounds otherwise normally readable code is no extra efford? One has to type A WHOLE OF A LOT MORE CODE in VB to accomplish the same things you get from C#. You really don't need all the extra crap.
Example:
VB.NET
Public Overloads Function TaxAmount(ByVal decPrice As Decimal, ByVal TaxRate As Single) As String
Public Overloads Function TaxAmount(ByVal strPrice As String, ByVal TaxRate As Single) As String
C#
public string TaxAmount(decimal decPrice, float TaxRate)
public string TaxAmount(string strPrice, float TaxRate)
Shall we start counting
This is just 1 random example of a very common situation.
Does this ommission of extra commands make my code less readable or harder to understand? Nope!
Au contrare, the VB.NET clutter easily takes your eye of what really matters, namely the method signature, which is embedded somewhere deep inside redundant keyword blah.
It is obvious you are overloading when 2 methods share the same name, but have different signatures. ByVal is pointless to, since the whole language (c#) has value semantics.
I rest my case....
Wouldn't you take the rather small extra effort to type in some extra ';' and '{}' and a very, very occasional break;
Besides, why are you bothered by a break in a switch statement?? Most (not all) switch statements are obsolete most of the time when you have the possibility of using polymorphism. I know, this is an OO thingy that VB.NET might be capable of doing, but a lot of VB programmers persumably are not (yet) aware of.....
Might be good to review your coding designs or use some Refactoring patterns on your existing ones. What? No good Refactoring tools for VB? Why would that be
I think there is an answer to all this. Look what I found when browsing the web.
This article will describe part of the problem VB has:
http://www.vsdotnet.be/blogs/tommer/PermaLink,guid,9ef43206-98fa-43ce-8d87-1097724d9ec1.aspx
This is a more bold statement (fortunately not made by me)
http://www16.brinkster.com/messydesk/db/refactvb.asp
<quote>
"According to Microsoft's Paul Vick, Refactoring support in VB.net will differ from that in C#. Terminology and structure of available features will be simplified to cater for the less rigorous intellect of the VB developer."
</quote>
Wow....
I realize this IS a very bold thing to say, and i'm not trying to offend anybody, but my personal opinion is that the VB / VB.NET language is not designed with the expert programmer in mind. This doesn't mean there are a lot of very talented programmers out there who are doing AMAZING stuff with VB.
It is the attitude MS gives VB in the first place. Microsoft treats VB programmers like kids. Take a good look at the language. Almost every keyword has either be renamed or given a whole different meaning in VB.NET. The same goes for names of concepts widely known in the professional software engineering community. Why??
Stuff like this works as a deterrant to a lot of professionals who are enchanted by elegant languages like C++,C# and Java. It does however has an attraction to the target group the language is primary designed for:
- people who are not familiar with programming at all and have easy access to otherwise complicated syntax and foreign conceptual models.
As a result, the whole language is geared to please this group.
Personaly I dislike VB.NET because is is ugly, and needs tons of clumsy and unnessesary extra commands to incorporate the same capabilities that C# programmers take for granted. (operator overloading in VB.NET for example will first see the light in Whitbey..)
Another thing that makes me a bit weary is the simple fact that C# language reference is registered by a third party. (For the MS haters among you, the C# syntax isn't the sole property of Microsoft anymore. Every change has to be approved.)
VB.NET however, well......I don't know......
Final comment on some blah statements elseware within this topic /forum about .NET in general:
.NET certainly has a future. It is a relative "new" programming concept, carefully "stolen" from SUN/Java and refined.
If you think the concept is a dead end, wake up and smell the coffee (http://www.go-mono.com/)
Microsoft might have a bad reputation, the .NET concept certainly has a future.
|
|
|
|
|
In reply:
When I see comments like the following ...
}//end while
or
}//end class
deep in to C# code so that it is more readable, VB.NET seems to make a whole lot more sense.
|
|
|
|
|
No!
Refactoring / redesigning that piece of code makes a whole of a lot more sense!
It doesn't matter anymore if the code is written in VB.NET, C# or any other language.
Using blockstatements that long is just plain bad design, and should be reconsidered.
A language syntax is not going to help you here....
|
|
|
|
|
VB suxx just like .NET !!!
Both will die soon!!!
bwaaahahahaha....!
|
|
|
|
|
VB is only popular today because Bill Gates has promoted it as Microsofts RAD tool. It was not designed to its present state , but evolved there in response to several influences along the way . That is not to deny it is useful , it does not deny its power , but it does go some way towards explaining the fact that it is a syntactic mess . Why anyone starting today would want to jump through the hoops and learn VB ,which has only just been able to claim it is an OO language, when C# exists with a clean , well designed , syntax is a fact I will never understand. VB was good at rapid development which always has been its aim .Now cleaner langauges can do the same job as quickly , so why bother with VB ? What does VB bring to the party that other languages cannot provide ? Legacy , thats what. There are a bunch of programmers who used VB5/6 because it was the most appropriate tool , now with VB.NET they have to learn more about OO programming than they were exposed to before , MS either supports them , or they do not support .NET. Since one of .NEts aims is to improve productivuty , it would not be good if a lot of MS customers who used MS's old RAD tools suddenly avoided the new RAD tools wouldnt it ?
Logic will win through , C# will become the language of choice !
|
|
|
|
|
yeah i agree with you, VB can not be used for full OO design, I am not sure inherentance n stuff is not possible in VB6. as for VB.NET i feel the .NET stuff itself sucks. .NET is a big failure on MS part. Now they will push the .NET technology by removing support for VC++ in the future. MS will do it and has done in the past.
|
|
|
|
|
> VB is only popular today because Bill Gates
> has promoted it as Microsofts RAD tool.
VB is popular (in certain circles) because it is
easy to slap together a dialog box and a window
form quickly, so that your app *looks* like
something, which gives people the warm fuzzies.
> That is not to deny it is useful
No, it's useful alright. I had access to VB for
a couple of years in college, and it makes a nice
macro toolkit for Windows, I can tell you. I was
never able to justify that in my budget when I
left school, but that's because I keep a tight
budget.
> the fact that it is a syntactic mess
Syntax is not VB's problem. It's the semantics.
The whole event-oriented paradigm is essentially
a big pain. Tcl suffers from the same problem.
So does Lingo.
> when C# exists with a clean, well designed,
And here I was thinking that C# was based on C++
that was based on C, which itself was based on
earlier languages. "clean design"? What does
that mean, anyway? All serious modern computer
languages are based on earlier languages. Most
of them are based on C and/or lisp. (As a rule,
the ones based on C are more efficient with the
computer's resources, and the ones based on lisp
are more efficient with programmer time, but
those are gross overgeneralizations and should
not be taken too seriously.)
> Logic will win through , C# will become
> the language of choice
I doubt it. As RAM and CPU time get to be less
of an issue, languages that make the programmer's
job easier are beginning to take over. Except
for C#, all the hot new languages people are
getting excited about these days are VHLLs. Most
of them have garbage collection (which formerly
was viewed with disdain by everyone but lisp
programmers, due to efficiency issues). We're
now seeing languages with C-like syntax
(semicolons separating statements, unlike the
nested parentheses and such used by languages
based on lisp) getting garbage collection left
and right. Garbage collection itself is just
a symptom of a general trend, though -- a trend
toward languages that provide a higher level
of abstraction, taking more lowlevel details
out of the hands of the programmer. Dynamic
typing, string interpolation, lists as a builtin
data type, anonymous subroutines, implicit type
casting (e.g., automatically promoting an int
to a long and then to a bignum or whatever so
that there is no such thing as overflow),
strings that are dynamic in length so that
buffer overruns are a total non-issue, lazy
evaluation on demand, and all manner of other
niceties. There is not an MS Visual language
in this category yet as far as I am aware, but
there will be, soon.
|
|
|
|
|
Thank you.
Tech.Support : Mam, is your pc running under windows?
Customer : No actually its close to the main door.
|
|
|
|
|
no not really, although the code written vb.net can also made in c# exact the same way (if you use the official guidelines and don't use functions like msgbox)
Greetings....
|
|
|
|
|
Actually, C and C++ are not that portable. Well, C and C++ code can be written to be portable, but it takes extra doing, and programming is almost like real work, then.
If you want *real* portability, you program
in Inform, and then your program will run on
absolutely anything, from mainframes to
wristwatch computers, from Cray to Gameboy,
old obscure 8-bit microcomputers, and certain
brands of pocket calculators.
Of course, programming in Inform limits your
application somewhat, especially in terms of
I/O, since you don't have certain niceties
like networking, access to the filesystem
(some supported platforms don't actually
*have* a filesystem), and things like that.
But hey, that's the price you pay for
portability
|
|
|
|
|
C/C++ are portable, if you are using standards. STL is a good example, I think.
|
|
|
|
|
You may all be missing the point - I have used many languages over the years, from Basic through Java through C++ and everything in between.
Why so many? Because I do this to make money and I'll use whatever tool allows me to do that in the most efficicient manner given the job at hand, environment, etc.
I really don't care that C++ might be faster than VB under a particular set of circumstances. At that point I pick up C++ and drop VB.
Everything else is just naive evangelism which makes me smile - it leaves more work for me that other people sneer at.
Keep bashing - its money in my pocket.
|
|
|
|
|
Perhaps you NEVER maintain your code.... (because your apps are so bug-free or another person will maintain them.)
If you have to maintain some lousy-coder's lousy programs, you may wish to kill all lousy-coders. (Most of them are VB coders)
|
|
|
|
|
Anonymous wrote:
I really don't care that C++ might be faster than VB under a particular set of circumstances. At that point I pick up C++ and drop VB.
Jack of all trades master of none, eh? You just better hope you're not asked to write a complicated program or one that people’s lives, etc. could be at risk because you don't know your/one language well enough to be considered competent by a real professional with that particular language.
Jeremy Falcon
|
|
|
|
|
Hey! Over here everybody! I think we just found god!
Hi god! Ever had your code audited? Well then. Validated? What's your SEI rating? PLEASE oh PLEASE don't tell me it's not a 5! No? Then what about your European rating? And since you are perfect, are none of your projects scrapped then? And PLEASE, oh god, you must be perfect and a real professional in every way! PLEASE don't tell me you hide behind a EULA with every thing you write!!!
Too bad half of what god knows is obsolete in about five years. Want to see where god's job might be going? - No, not to India. In the toilet. There's a lot of money being spent by people who matter, i.e. "real professionals," in hopes of getting rid of god. Read on...
http://www.technologyreview.com/articles/tristram1103.asp
And for other non-god news...
http://www.stevemcconnell.com/ieeesoftware/eic10.htm
http://www.technologyreview.com/articles/mann0702.asp?p=1
http://www.technologyreview.com/articles/wo_sherman071902.asp?p=1
|
|
|
|
|
you guys are full of it... any real programmer should be able to master multiple language. It's all the same sh*t, only different syntax, algorhymths, and levels of complexity. Back in the VB6 days, if whatever operation needed to be blazing fast, I used c++ for my COM work... then VB or ASP for the interface. Why? Because it got the work done.. it got me paid. Was my code lousy? NO! Because not only I had to maintain it all the time, I needed to add and change functionality every other week (stupid managers). I don't use VB anymore since VS.NET has a beautiful time-effective designer.. so my coding is mostly c# and occasionally c++. VB was a great tool for it's job. Now, what the job actually was, that might be what's in question here.
EL ZORRO!
|
|
|
|
|
Agree. It is not difficult to learn all kind of programming languages. It is more or less the same. They share one thing in common, they run in computer.
However, just make one your favorite and sharpen it. I would choose C++ for that.
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
Fortner wrote:
Hey! Over here everybody! I think we just found god!
You truly are an idiot. Thanks for the obvious demonstration of being unable to hold an intelligent rebuttal to your belief you can master all languages as needed.
Fortner wrote:
Too bad half of what god knows is obsolete in about five years.
I'll be writing your crappy language components so you can afford to feed yourself.
Jeremy Falcon
|
|
|
|
|
Say, is that god speaking again? Why, yes indeed! Everyone! Listen closely to the wise master! Watch him closely as he pats himself on the back AGAIN. Not an easy task, but then again, god can do anything. Watch god pat himself on the back and prance and exude anti-VB godliness.
The demonstration is all god's as he is only keen on rebuttals that smack of help-not-found or a blue-screen-of-death.
If everyone looks closely it can be seen that god thinks mastering VB as a language is certainly lesser than god.
And the crappy language components... so those were yours?
|
|
|
|
|
Fortner wrote:
If everyone looks closely it can be seen that god thinks mastering VB as a language is certainly lesser than god.
For one you moron, you stated exactly the opposite practice and theory in your first post. Get your sh*t straight and quit wasting my time on the matter.
Fortner wrote:
And the crappy language components... so those were yours?
It was meant as "crappy language". Surely, someone of your intelligent and caliber would've picked up on that?
Jeremy Falcon
|
|
|
|
|
congratz, you just discovered the logical system, not just the language !
Greetings....
|
|
|
|
|
Unfortunately, you're right...
Yesterday morning I started a demo for a quite simple job: to parse and merge two text files for producing a Word document.
While I was thinking to write classes, exceptions, STL collections etc., another coder using VB nailed me for a half of price (and probably much soon delivery).
I was quite upset; not only for the lost money, but especially when someone else using a 'not-so-real-programming-language' probably delivered the same result expected by the client, in twice the time and half the price. VB beats C++...
I learned VB and Python just to make money (and, in fact, I did, even if I don't like these languages). After all, Perl, C, C++, Delphi (I considered Pascal/Delphi even more ugly than VB) - who cares? It's all about the success.
How much of the code written is a one-time-shot and how much is reused? If you write for one-time, probably VB is the best choice. If you design a template-based collection, probably C++ is the prime choice. If you write a custom GINA or SQL Server extended stored procedure, then it's C.
Ah, I almost forgot: how do you use OLE automation from Prolog? Just kidding...
|
|
|
|
|