Welcome Guest.   Make a donation to an author on the site September 21, 2014, 07:06:03 AM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
View the new Member Awards and Badges page.
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1] 2 Next   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: Visual Basic or Visual C++  (Read 5264 times)
hulkbuster
Participant
*
Posts: 200


see users location on a map View Profile Give some DonationCredits to this forum member
« on: July 06, 2012, 01:49:19 PM »

Hello again, i am aspiring to be at least a novice programmer who can make a small clock for pc or making some little puzzle game that doesn't require some heavy duty programming skill, all i want to make a single exe programs that could be used by any user.

So far , i just got my head into QBASIC and slowly i want to move up to Visual Basic and then Visual C++, but what i would to know if, i can achieve this by using Visual Basic or Visual C++, lately i got this feeling of sticking just with one programm:  and achieve mastery in one tool of a trade.

So what would you suggest me with to start with QBASIC or move to C++ then Visual C++ and Visual Basic, hell i don't know what all this terminology mean even in theoritical manner.

Can anyone suggest me something to this dilemma.

PS: i already have Express edition which contains Visual C# 2008,Visual C++ 2008,Visual Basic 2008 and Web Developer: so i want to learn Basic now, so would be the choice.



Also i got a copy of microsoft Visual Studio 6, which also contains Microsoft Visual Basic 6.0


Logged

Autorun Virus Remover.V.2.3 / Default Win7 Firewall / Shadow Defender.V.1.2 / Some Sense
Ath
Supporting Member
**
Posts: 2,214



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #1 on: July 06, 2012, 01:53:55 PM »

None of those 2, choose Visual C#

You won't be able to create proper single-exe programs with VS without installing a runtime-part anyway, and most modern computers (should) have the .NET runtime installed anyway, so select the language that the majority of Visual Studio programmers is using: C#
Logged

hulkbuster
Participant
*
Posts: 200


see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #2 on: July 06, 2012, 02:18:25 PM »

Then microsoft VisualC# contained  withing the Express Edition would do the job right. smiley
Logged

Autorun Virus Remover.V.2.3 / Default Win7 Firewall / Shadow Defender.V.1.2 / Some Sense
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #3 on: July 06, 2012, 02:19:51 PM »

won't be able to create proper single-exe programs with VS without installing a runtime-part anyway, and most modern computers (should) have the .NET runtime installed anyway, so select the language that the majority of Visual Studio programmers is using: C#

Ever hear of statically linking to the CRT? This requires no CRT DLLs, because they are statically linked into the EXE. (speaking of unmanaged code, of course)

I also heavily question the statement that 'most VS programmers are using C#'. Would love to see that backed up with any real statistics...
« Last Edit: July 07, 2012, 08:34:45 PM by db90h » Logged
flamerz
Supporting Member
**
Posts: 112



View Profile Give some DonationCredits to this forum member
« Reply #4 on: July 07, 2012, 03:05:16 AM »

you could start with c#... but if you want to try some basic flavours, give a try to purebasic or powerbasic.
Logged
Ath
Supporting Member
**
Posts: 2,214



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #5 on: July 07, 2012, 03:58:04 AM »

Would love to see that backed up with any real statistics...
Something like this ohloh graph ?

It shows that Java is quite dominant in what they measured, but MS/VS doesn't have a Java-language any longer (though C# is close in some areas). It also shows that C# is quite a bit more used than VB or C++.
Logged

Ath
Supporting Member
**
Posts: 2,214



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #6 on: July 07, 2012, 04:19:13 AM »

Java, using the Eclipse or Netbeans IDE, could be a feasible alternative to any of the suggestions, but you can't (easily) create a single-exe application from that, also requires the installation of a runtime environment, and selection of a GUI library/technique where .NET comes with 2 built in (WinForms and WPF) (both support web).
Logged

Renegade
Charter Member
***
Posts: 11,381



Tell me something you don't know...

see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #7 on: July 07, 2012, 08:39:46 AM »

FWIW...
Logged

Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker
wraith808
Supporting Member
**
Posts: 6,307



"In my dreams, I always do it right."

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #8 on: July 07, 2012, 10:38:50 AM »

Would love to see that backed up with any real statistics...
Something like this ohloh graph ?

It shows that Java is quite dominant in what they measured, but MS/VS doesn't have a Java-language any longer (though C# is close in some areas). It also shows that C# is quite a bit more used than VB or C++.

Thanks for that!  I never knew about that site!

And my .02 is that if you have already done work in QBasic, VB.NET, while a totally different beast, would feel more like what you've been doing in syntax and such, so the new concepts being stacked on top wouldn't be that much.

If you are starting from scratch, I'd actually recommend Python.  I'm not a big python enthusiast (some here are), but I know my brother-in-law, who had no little aptitude for the subject, was able to pick it up from this book with little help from me, and it helped his transition to programming conceptually.  There's also a tutorial on google code.

But, if you're determined to delve into Visual Studio, and don't have that much experience, I'd definitely recommend C# over C++ or VB.NET.  There's more resources for C# than VB.NET, and it's more forgiving than C++.

Just my .02.
Logged

Renegade
Charter Member
***
Posts: 11,381



Tell me something you don't know...

see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #9 on: July 07, 2012, 01:01:31 PM »

Oh oh oh~! Forgot one thing...

No matter what... DO NOT got for any language that doesn't have an IDE with code completion.

Code completion (or Intellisense) is BRILLIANT~!

You can basically learn a language on the fly with it.

And, even better, go for Visual Studio 2005 or 2008 but NOT 2010+ because VS 2005 and 2008 have dynamic help. It's a f***ing incredible help that is just way beyond amazing!

You can learn VB.NET or C# in VS 2008 with almost zero effort with Intellisense and dynamic help. They're THAT good.

I CANNOT emphasize just how helpful code completion is. (Similar for dynamic help.)

But 110%, DO NOT get an IDE without code completion. Forget it. Too much work. Way too much.

Like seriously, do you give a shit whether it's "toString()" or "ToString()"? Yes. That is a very real example and will throw an error and mess you up. Code completion solves that 110%.

Logged

Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #10 on: July 07, 2012, 04:43:40 PM »

Something like this ohloh graph ?
It shows that Java is quite dominant in what they measured, but MS/VS doesn't have a Java-language any longer (though C# is close in some areas). It also shows that C# is quite a bit more used than VB or C++.

That is the number of commits for certain projects, likely many web 2.0 projects since JAVA is the #1 language. It is a SMALL SUBSET of projects. A better source would be SourceForge.

Come on... C++ is still the most dominant language for real coding there is.

All UNMANAGED C/C++ here -- no MANAGED C++

FireFox - C++
Opera - C++
IE - C++
Windows Kernel - C/C++
Linux Kernel - C
Linux Base Packages - Mostly C or C++
Android Kernel - C/C++
iOS Kernel - C
OS/X Kernel - C
SysInternals Tools - C (mostly, some C++)
LZMA / 7z - C/C++
RAR / WinRAR - C/C++
Apache - C
IIS - C/C++
MySQL - C/C++

« Last Edit: July 07, 2012, 08:37:47 PM by db90h » Logged
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #11 on: July 07, 2012, 04:48:34 PM »

As for 'code completion' (Intellisense in VS), yes that has improved for ALL LANGUAGES, including C/C++, and is WONDERFUL. It makes VS the most superior IDE I've ever tried, by far. I would disagree that VS2008 is superior to VS2010 because of its dynamic help. I haven't missed it much, but that's just me. I did use it, and it was helpful though, so can understand that.
« Last Edit: July 07, 2012, 05:20:08 PM by db90h » Logged
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #12 on: July 07, 2012, 04:50:11 PM »

http://www.doublecloud.or...ar-programming-languages/
Source: http://www.tiobe.com/inde...paperinfo/tpci/index.html

20 most popular languages

NEWER CURRENT DATA


original post -- sorry it was a couple years out of date
« Last Edit: July 08, 2012, 04:19:59 PM by db90h » Logged
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #13 on: July 07, 2012, 04:58:00 PM »

But you ARE RIGHT that C# is *easier* and *more forgiving* because it compiles to MANGED CODE (.NET).

What is .NET / MANAGED CODE? It compiles your stuff into MSIL (an intermediate language). At runtime (or sometimes before) it is optimized or compiled Just in Time to native code. All lots of additional overhead, needless to say.. as it does things like garbage collection and protecting the programmer from themselves. In other words, very hard to screw up in.

(unmanaged, natural) C/C++ compiles to NATIVE CODE. Often, modern C++ is self-managed. Meaning you use objects that manage themselves. It is MUCH more efficient, which is why it is used when efficiency counts. Does efficiency count? These days, a modern C compiler can out-optimize even hand-crafted assembly language because the processors were designed to handle compiled code, and the compilers designed to optimize for the processors.

Now, what matters MOST is what you are DOING WITH the language. Obviously, that chart has ALL LANGUAGES. PHP, an interpreted language, for instance, obviously can't replace a C kernel component. SO, each language has their good and bad, and you need to pick the right one for YOU. C#, likewise, can't be used for kernel components OR for applications that NEED maximum performance. It CAN be used for applications where performance doesn't matter THAT much though, as it performs well ENOUGH for MOST application development.

Still, I believe strongly ANY programmer needs to understand the fundamentals of unmanaged C/C++ and even assembly language... As the universities TEACH. It is important to understand these so you know what the higher level languages are doing behind the scenes. Now, for 'Web programming', it is a slightly different story ...
« Last Edit: July 07, 2012, 08:39:07 PM by db90h » Logged
wraith808
Supporting Member
**
Posts: 6,307



"In my dreams, I always do it right."

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #14 on: July 07, 2012, 06:40:33 PM »

Still, I believe strongly ANY programmer needs to understand the fundamentals of unmanaged C/C++ and even assembly language... As the universities TEACH. It is important to understand these so you know what the higher level languages are doing behind the scenes. Now, for 'Web programming', it is a slightly different story ...

Actually, the universities don't seem to agree with you anymore, and haven't for many years.  And I'd be surprised if Ath didn't understand static linking.  He was talking about .NET programming in Visual Studio from the prospective of his talking about the .NET runtime, and under those situations (using managed C++) it doesn't really apply as managed C++ doesn't compile to native code- it compiles to MSIL just like C# if you're using C++/CLI.

(Even though even with that caveat it's more complicated than that, as C++/CLI supports several modes of code generation. The /clr option generates a IJW mixture of native and MSIL code, while /clr:pure results in a managed-only assembly, although native types as needed could be translated into their .net equivalent structures, which also makes it very much like C# with /unsafe, i.e. type-safety isn't guaranteed and pointer arithmetic might be in use.  The strictest of options is /clr:safe, which produces type-safe, verifiable MSIL-only assembly, exactly like the C# compiler does.)

Of course, all of this is going a bit far afield.  Everyone will have their own preferences, and their own reasons for it, which is why its best IMO if these stay to stating your own opinion rather than trying to denude someone else's statements.
Logged

db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #15 on: July 07, 2012, 07:56:38 PM »

Actually, the universities don't seem to agree with you anymore, and haven't for many years.  And I'd be surprised if Ath didn't understand static linking.  He was talking about .NET programming in Visual Studio from the prospective of his talking about the .NET runtime, and under those situations (using managed C++) it doesn't really apply as managed C++ doesn't compile to native code- it compiles to MSIL just like C# if you're using C++/CLI.

First, that may be right, especially with MS so heavily subsidizing universities. I've been out of the universities a while, I am 34 now, so its been about 10 years. It probably depends on what university you happened to attend though. If that is true, then they are doing a disservice to their students. I believe that if we have truly lost education of unmanaged code, then we need to get that back - perhaps as a 'systems programming' vs 'applications programming' branch. Unmanaged code still beats the crap out of managed code when it comes to performance, and is NOT available on all platforms. And you sure aren't going to find device drivers written in managed code ;p

There may have been misunderstandings. I do see I may have taken his statement wrong.

1. Of course *managed* C++ compiles to MSIL, managed code is all the same regardless of the language used to create it (with caveats, of course, as you mention).
2. I could have sworn he meant 'with unmanaged C++, you have to redistribute the MS CRT runtime DLLs'.. but I think he *assumed* that the programmer was only going to be creating managed code, and meant that all of them would require the .NET framework anyway.
3. Like I said, it matters more to choose the language for what you are doing, rather than some 'perfect language for everything'.

I had no intention to denude his statements, just felt the link he referenced to back up the C# utilization claim was false. *Unmanaged* C/C++ is still the most heavily used programming language, IMHO.

For a managed code language, I would recommend someone just go with C#, as managed C++ is a weird thing to me. I remember when they first created managed C++ (CLI) and I told my boss at the time. He was so arrogant, saying that is impossible, and telling me how wrong I was. I send him PROOF, but he refused to look. Infuriated me.

In the end ... what does the student want to learn?

1. Systems programming? What is really going on behind the scenes? Then learn native C/C++.
2. Applications programming? Don't care what is going on behind the scenes? Learn whatever else ;p.

The one advantage is that if you go with #1, then later #2 becomes VERY easy smiley. Also, you'll find #1 more portable to other platforms, more in use by common applications, and generally very useful and robust .. just a good thing to know.
« Last Edit: July 07, 2012, 10:15:28 PM by db90h » Logged
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #16 on: July 07, 2012, 08:34:07 PM »

Ok, that was my final edit. I can't believe I even got involved in this thread.

@OP / hulkbuster - learn whatever YOU feel most comfortable with. That said, if you do learn unmanaged C++, you will have a great advantage, as everything else will be quite easy from there. But for the purpose of creating a game, using managed code, C# is probably the easiest option. I would prefer it over VB for sure.
Logged
wraith808
Supporting Member
**
Posts: 6,307



"In my dreams, I always do it right."

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #17 on: July 08, 2012, 11:05:14 AM »

LOL... no problem, at least to me.  I like to see dissenting positions and reasoning behind them.  I just don't like to see the posing of a dissenting position being based on tearing someone else's position down.  I know that's a valid debating talent- that's why I never got into debating. smiley

Oh... cool link on the positions of programming languages.  I finally went to the link after I noticed today the chart was from 2010, and found out it was from a different site, and they update monthly.  I haven't looked into their methodologies, but it's a pretty cool artifact nonetheless.

Here is the link to the live chart - http://www.tiobe.com/inde...paperinfo/tpci/index.html

The rankings are quite a bit different now...
Logged

Renegade
Charter Member
***
Posts: 11,381



Tell me something you don't know...

see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #18 on: July 08, 2012, 11:22:04 AM »

I kind of wonder about those charts. C? Really? Yeah, it's great for speed and all, but it's slow to program in, and really only good for low-level things now. Building a GUI in C is, well, would masochistic be a good description?

I'm just a bit surprised that C is #1 there. I can't figure out how that works. Where do they get their data from?

Moreover, what does it say about the kinds of projects that people are working on? THAT seems like the real question to me.
Logged

Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker
wraith808
Supporting Member
**
Posts: 6,307



"In my dreams, I always do it right."

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #19 on: July 08, 2012, 11:47:46 AM »

^ I'd agree with all of those statements.  I glanced at their methodologies after I posted the reply, and it's quantitative rather than qualitative, i.e. from their site:

Quote
The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

Those two lines seem to indicate it's more about the job market penetration, rather than any metric that would be useful to those that actually utilize the languages, in my opinion.
Logged

MilesAhead
Member
**
Posts: 4,841



View Profile WWW Give some DonationCredits to this forum member
« Reply #20 on: July 08, 2012, 01:52:58 PM »

You seem to have one or two types of Windows programs you wish to code already in mind. You also have some understanding of a flavor of Basic.  Rather than trying to map out your future development as a developer, why not use your current knowledge to learn more about the type of applications you wish to write?

Here's a good code respository:
http://www.planetsourceco...m/vb/default.asp?lngWId=1

also here's an open source, source:
http://sourceforge.net/

If you search source forge with "win32" as one of the terms it tends to bring up the Windows apps and filter out most of the Linux stuff.

There's nothing like looking at working code to learn. Especially if you can load it in a debugger, make changes, see what happens.

As you learn various programming languages and more about computers in general, it changes your perspective.  I know when I first started to program in GWBasic.. after a little time I got confidence. I thought I could do anything.  Then as I learned more about computers I realized gwBasic was just a program that provided a sand box for me to play in. I could do some useful things, but it wasn't going to be useful for writing device drivers. But I didn't know that then.

Learn a bit. Experiment a bit. Read a bit.  Have fun with it. Along the way you'll make some stuff that works and you enjoy using. Others may enjoy using your apps too.  But it's a bit soon to map out your career as a software developer unless you have a guaranteed position waiting for you someplace. smiley  The "spider web" approach is a valid approach esp. if you are not attending classes at university.  Read books and articles. The interesting ones may list references.  Expand to those and see where they got their insights.

It's kind of like finding music you like. If you enjoy a musician's work in a certain style you might listen to other works by the members of that band, and who is in their bands etc..  It spider webs out pretty naturally if you're curious. smiley

Logged

"Genius is not knowing you can't do it that way."
- MilesAhead
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #21 on: July 08, 2012, 03:56:11 PM »

I kind of wonder about those charts. C? Really? Yeah, it's great for speed and all, but it's slow to program in, and really only good for low-level things now. Building a GUI in C is, well, would masochistic be a good description?

I build my GUIs in straight C++ /w no abstraction layers or UI libraries, LOL... Yes, masochistic is probably the right word ;p. HOWEVER, so does SysInternals, FWIW. And Many of the most popular software today. It really isn't that hard, just not quite as easy. Other apps that code their UI's in C/C++ - Firefox, IE, Opera, Chrome, SysInternals Suite of utils, Microsoft Security Essentials, blah blah blah ... well, you saw my list ;p.
« Last Edit: July 08, 2012, 04:08:30 PM by db90h » Logged
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #22 on: July 08, 2012, 04:01:21 PM »

Those two lines seem to indicate it's more about the job market penetration, rather than any metric that would be useful to those that actually utilize the languages, in my opinion.

That's probably right. Though. remember, most of what we use today is written in C and C++, so it's not antiquated, or going anywhere. There is *plenty* of C and C++ in the job market. All over the place. It depends on what you're coding though. Obviously, nobody is going to write a Web 2.0 app in C++.

The problem I have with his original link is mostly just how LOW C/C++ was on the list ... as if it isn't used anymore and is COBOL. Yet, I listed off the top of my head most of the major applications we used are coded in C/C+. The WEB BROWSER YOU ARE USING NOW is written in C/C++ (99% chance anyway, probably some weird exception out there ;p).

In the end, pick whichever suits your NEEDS. As for the job market.. dunno who is hiring, etc... I'm sure there are lots of Web 2.0 companies hiring , maybe making C# a good language. But, ya know what? If you know native C/C++, C# is a piece of cake.
« Last Edit: July 08, 2012, 04:19:12 PM by db90h » Logged
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #23 on: July 08, 2012, 04:15:41 PM »

Oh... cool link on the positions of programming languages.  I finally went to the link after I noticed today the chart was from 2010, and found out it was from a different site, and they update monthly.  I haven't looked into their methodologies, but it's a pretty cool artifact nonetheless.

Thanks for providing a link to the new chart.. I was in a rush. The rankings aren't THAT different though. Since the new chart isn't an image, I had to snip it. Here it is for anyone too lazy to click:

Source (original source this time ;p): http://www.tiobe.com/inde...paperinfo/tpci/index.html

Methodology:
Quote
The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

Logged
db90h
Coding Snacks Author
Charter Member
***
Posts: 455


Software Engineer

View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #24 on: July 08, 2012, 04:22:13 PM »

Ok, final edits made ;p. I updated the original pick to provide the proper source. Sorry about that guys, I just did a super fast google, and moved on. NOW, new post has methodology used, and latest chart.

My ONLY point, again, was that C/C++ is not somehow 'dead'. Whether they teach it in universities these days, I dunno - but I'd hope so. Microsoft subsidizes universities a lot, so I'm sure they do teach a lot of .NET. But, still, most of the popular Windows and Linux software is written in native (unmanaged) C/C++.

I *was* surprised that Objective C has become so popular so fast due to use on mobile platforms.
« Last Edit: July 08, 2012, 04:40:51 PM by db90h » Logged
Pages: [1] 2 Next   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.066s | Server load: 0.07 ]