c#


what shall i use VB.net or C# for desktop application


im coming from unix / server / c++ /java background with no GUI experience
i need to build windows GUI application , i need to build it fast i was told that
the .net family is the exact thing for such job .
but there is VB.net and c# what should i choose what is faster and better for such job ?
what will be easier for none teachi user to install and for me to deploy the end product
In terms of what is available, they are exactly the same.
That said, if you come from a C++/Java background, I would recommend C# as there will be a much smaller learning curve, you won't need to learn a whole new syntax.
As far as deployment goes, .NET applications with OneClick (if appropriate) is very easy for non-technical users to use. It boils down to "go to my website and click the install button". From the developers point of view, it's usually not much more difficult than that too. Visual Studio has options for making traditional installation packages too.
The short answer is that it doesn't matter.
In terms of features, the .NET framework provides the Base Class Library, the run-time environment etc. You can use whichever language you choose. You can accomplish the same with VB.NET, C# or any other first-class .NET language.
However, since you come from a C++/Java background, you will probably find the C# syntax more familiar than VB.NET.
There is a quote from Jeremy D. Miller:
VB.Net and C# are essentially Country and Western.
Explains it perfectly, doesn't it?
There is almost a religious war to the matters of VB.NET vs. C#.
They are quite closely equivalent in what they allow you to do and how fast you can do it.
Seeing that you have C++ background, C# will probably look much more familiar, but you will still need to learn. Your learning curve with VB.NET will be much steeper.
To the question of deployment, your users will need to have the respective .NET framework installed. It exists in versions from 1.0 to 3.5 SP1 with 4.0 closing on us.
Windows Server 2003 has .NET 1.1 preinstalled
Vista / Windows Server 2008 have .NET 3.0 preinstalled
Windows 7 has .NET 3.5 preinstalled
These languages are pretty much equivalent for what you want to do. I'd say use C# as your C++ background will allow a shallower learning curve with C# than VB.net.
Pick C# because:
It has the best tool support among all .Net languages.
You are a C++ guy. You'll find its syntax easier to adapt to than that of VB.
VB offers no special advantage over C# as far as a GUI-based desktop apps are concerned.
Since it's far more popular, learning C# will prove way more fruitful to you career-wise.
The languages are almost equivalent. If you use Visual Studio (I recommend doing so, if you need to build the application fast), the GUI design experience will be the same for both languages. Likewise, the installation and deployment procedures don't differ for VB.NET and C#.
So, unless you need some specific feature only supported by one of the languages (like multi-line lambdas in C# or XML literals in VB -- you probably won't need either for a simple GUI application), feel free to choose the one whose syntax is more familiar to you. Since you have a C++/Java background, I guess this means C#.
I would say because of your background, go with C#.
Its true both languages end up doing the same thing and you'll end up being able to read both languages as time goes by. But C# is the way forward, and to the best of my knowledge I would have to say more work opportunities exist for C# developers than those who only know vb.net.
VB.net might be easier to learn if you come from a pure vb6 background, but I've found most web developers with a bit of JS experience can pick up the C# syntax easily enough.
When you think about learning .net, you should get a grasp on the framework, because understanding which framework classes to reuse and when is important to your overall skill as a .net developer.
In terms of capabilities the two are more or less identical - there are some differences but those are not too significant in the general case. In terms of deploying apps to users they're the same - the capabilities are in the framework not the languages.
Consequently there are two ways to look at this:
1) use C# because the syntax is familiar and you won't tie yourself in knots trying to forget to add a ; at the end of a statement
or
2) Use VB.NET because its different so you'll struggle less to work out which environment you're working.
Pragmatically I'd go with C# - there are probably more samples out there in C# than in VB.NET and if you can already cope with swapping between C++ and Java then adding a 3rd similar language probably isn't going to be too stressful.
We do programming in asp.net vb.net but sometimes we find algorithms in C# and we havent had a problem converting them to C#. C# was specifically created for .NET, but I coudlnt tell you why is better. In webforms you can code some pages in one language and other pages in other .net language, and we coded a couple of C# pages in a mostly VB.NET based project. If you have to do a webforms based application you could give a try to both, but if you don't have the need of doing webforms I wouldnt recommend to use them over winforms
In the last asp.net book we read they switched the code examples from VB.NET to C# because now most people uses C# for .NET. We use VB.NET for trivial reasons, since any .NET language shares the Base Class Library, we just want to avoid typing "{", ";" and case sensitiveness

Related Links

Set the SendTimeout on a WCF client callback binding?
CNTKLibrary-2.0 “System.AccessViolationException: Attempted to read or write protected memory. ”
How to access client side scripts from Source View smart tag designer by using GetClientScriptsInDocument
After some idle time images not load from database
C# string contains daterange which should splitted into 2 dates
Div “modal-content” control does not appear until mouse pointer is hover on it while running on remote machine
Defining Expected filenames from Directory.GetFiles
Serialize / Deserialize XML Derived From Treenode
IronPython adding namespace to scope in C#
How to convert date from Gregorian to Shamsi
how to start/stop smtp or make error on smtp from different (dev or test) machine
How to include .exe files as zip files while uploading to hosting?
DataAnnotations OrderBy Length Errors
Is it possible to generate a private key knowing the public key of a signed assembly?
How do I change some of the syntax colors in the Visual Studio IDE
I can't sort and page the filtered listing (query string disappears)

Categories

HOME
classification
postgresql
optimization
system-calls
oracle-sqldeveloper
ms-access-2010
symfony-3.2
doctrine2
yacc
ethereum
rename
solidity
openstack-horizon
luis
aiml
accordion
udeploy
polybase
serenity-js
rndis
ng-tags-input
nsopenpanel
mongoose-im
pypy
delphi-2010
paper-trail-gem
concrete5
apm
vtd-xml
overflow
key-bindings
spring-oauth2
kubectl
scene7
flickr
minitest
matrix-multiplication
word-wrap
mockserver
ngrok
aspose.pdf
observer-pattern
compiler-warnings
scrapinghub
servicebus
django-cors-headers
synchronized
jks
anonymous-function
infovis
noise
r-commander
multi-select
printer-control-language
codesniffer
cardview
copy-constructor
directinput
android-music-player
mate-desktop
hoare-logic
sbt-proguard
jde
paypal-subscriptions
custom-build-step
fadein
yfiles
ruby-1.8.7
webservices-client
play-json
biginsights
android-togglebutton
dnvm
xml-simple
android-networking
tidesdk
radgrid
skview
data-quality-services
dockerpy
shunting-yard
alpha-beta-pruning
crystal-reports-7
yosemite
ios-enterprise
azure-worker-roles
dotcmis
mvcgrid
reactjs-native
farpoint-spread
internet-radio
mixradio
grunt-wiredep
scidb
infomaker
record-locking
nx
zepto
libx264
freeimage
expresso-store
winrt-async
github-archive
funambol
jqtransform
nbehave
mass-emails
onunload
fxcopcmd
j++
office-2003
asp.net-1.1

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App