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

How many Threads in my method?
Inserting a row into Excel Spreadsheet via C# and OleDb
CPUID support in C#
updating row in SQL table throwing Operand Type Clash error
asynchronous process notifies some form about its progress
dottrace and optimizing method with indexof
Passing argument to StartupUri in WPF
Instead of scanning multiple ports I'm scanning only one and when port is closed my app closes
Write byte array to middle of an existing file in C#.NET
How to redirect output in an app run on mono (c#) on Linux to avoid 'Array index is out of range.' when multiple threads write to console?
Ordering Coded UI tests and Results in Test Manager
Mixing errors and exceptions in C#
url which references an object
Luainterface 5.1 get all used globals for a script
Get the first sorted element with LINQ? (C#)
Rx join over keys and not durations

Categories

HOME
fortran
intellisense
glsl
ebay-api
highmaps
livecharts
lithium
overrides
angularjs-directive
richtextbox
kohana
collision-detection
hibernate-mapping
sequence
zabbix
virtualhost
ejb-3.0
angularjs-ng-repeat
angular-universal
point-of-sale
javascript-debugger
jinja2
bookmarklet
novacode-docx
beacon
audio-streaming
aiml
computation-theory
git-branch
rndis
waterfall
priority-queue
rollupjs
andengine
visual-studio-debugging
ng2-bootstrap
jsonapi-resources
machine-code
headphones
multi-user
form-fields
redhat-brms
observer-pattern
autodesk-data-management
mtm
binary-decision-diagram
python-venv
result
cakephp-3.2
android-doze-and-standby
jenkins-2
hdpi
lucee
e4
perldoc
htop
boost-regex
opticalflow
jtextarea
ownership
objectify
razorengine
mod
alchemy
music-player
dday
android-contentresolver
newlib
commercetools
event-tracking
jts
dnvm
eaaccessory
eula
web-standards
skview
pymol
conkeror
backtrace
static-files
nsq
os.walk
api-eveonline
breeze-sharp
tigase
ios-enterprise
disparity-mapping
switchpreference
banana-pi
android-relativelayout
nodeunit
power-management
complete
aspnet-compiler
objectdatasource
azure-pack
mandelbrot
usersettings
backbone-views
proj4
coinbase-php
string-length
blotter
linqdatasource
junit-rule
event-propagation
pdf-reader
nserror
jqueryi-ui-buttonset
helicontech
inserthtml
towerjs
clgeocoder
symfony-1.2
zipstream
n2
mass-emails
viewdata
chars
newspeak
dgml
coderush-xpress
ihtmldocument2
memory-consumption

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