PDA

View Full Version : Visual Express Programming



AZ1
12-04-2010, 12:22 PM
I was just looking at the Microsoft Visual Express website. I was wondering what language is easier to learn. C#, C, C++, Basic. I fyou know anymore please suggest some.:rolleyes:

pctek
12-04-2010, 03:17 PM
Basic is for beginners

nofam
12-04-2010, 04:50 PM
Do you have any experience in programming? I'm guessing not if you're considering BASIC, and you probably need to be more specific on what you want to develop (i.e. web-based apps, or standalone, compiled apps etc).

But my advice would be to start with a platform that:

1. Teaches good programming disciplines - some languages allow you to hack together the most badly written apps that still actually work.

2. Isn't platform-specific like C#/.NET

Erayd
12-04-2010, 05:28 PM
I was wondering what language is easier to learn.This is the wrong way to choose a language - you shouldn't be looking for the easiest one, you should be looking for a language that teaches you the fundamentals of programming, is available on your platform, and works for whatever project you want to create.

Secondary to that is the way you learn it - you should take the time to learn how to do things properly! While some languages will hold your hand more than others, it's possible to write bad code in most of them - and some of them easily allow such travesties as should never see the light of day, even in a bad dream.

Can you explain a bit more about what your goals are, which platform you're working with / want to work with, and what your previous development experience (if any) is?

AZ1
12-04-2010, 05:33 PM
I have had no preevious experience. I am new to this and want to start from Simpale to hard. I want to start of with Windows Applications. Is it the right choice?:confused:

AZ1
12-04-2010, 05:35 PM
This is the wrong way to choose a language - you shouldn't be looking for the easiest one, you should be looking for a language that teaches you the fundamentals of programming, is available on your platform, and works for whatever project you want to create.

Secondary to that is the way you learn it - you should take the time to learn how to do things properly! While some languages will hold your hand more than others, it's possible to write bad code in most of them - and some of them easily allow such travesties as should never see the light of day, even in a bad dream.

Can you explain a bit more about what your goals are, which platform you're working with / want to work with, and what your previous development experience (if any) is?

I have installed Microsoft Visual Studio C# Express 2008

Erayd
12-04-2010, 05:35 PM
I am new to this and want to start from simple to hard. I want to start off with Windows Applications. Is this the right choice?:confused:That's fine, although it doesn't entirely answer my question. What kind of Windows applications are you wanting to develop, and what problems are you wanting to solve with them?

What's the main reason you want to learn programming?

AZ1
12-04-2010, 05:39 PM
What kind of Windows applications are you wanting to develop, and what problems are you wanting to solve with them?

What's the main reason you want to learn programming?

I want to start of making probally something like a Word Processer and a Web Browser, and go harder. Those are my goals. i just want to learn Program language because it is useful.:rolleyes:

Erayd
12-04-2010, 05:48 PM
I want to start of making probally something like a Word Processer and a Web Browser, and go harder. Those are my goals.Those are completely unreasonable goals. You will not be able to start off by writing a word processor and a web browser - they're complex beasts, particularly the browser, and you will need a *lot* more experience before those projects are something you will be capable of tackling.

Note that you can put together something that will browse web pages or edit a simple text file very quickly in Visual Studio, but this won't teach you anything, and the result is not something you could consider a browser or a word processor.

I'd personally recommend you learn, at least to begin with, using a text editor rather than something like Visual Studio - VS is extremely powerful, but it abstracts a lot of the basics by generating code behind the scenes, and it's very tempting to fall into the trap of 'drag & drop' development - which when you're starting out is a very, very bad thing, as you'll end up with something that looks neat, but is essentially useless because it didn't actually teach you anything.

Can you think of a slightly more realistic goal?

AZ1
12-04-2010, 05:53 PM
Those are completely unreasonable goals. You will not be able to start off by writing a word processor and a web browser - they're complex beasts, particularly the browser, and you will need a *lot* more experience before those projects are something you will be capable of tackling.

Note that you can put together something that will browse web pages or edit a simple text file very quickly in Visual Studio, but this won't teach you anything, and the result is not something you could consider a browser or a word processor.

I'd personally recommend you learn, at least to begin with, using a text editor rather than something like Visual Studio - VS is extremely powerful, but it abstracts a lot of the basics by generating code behind the scenes, and it's very tempting to fall into the trap of 'drag & drop' development - which when you're starting out is a very, very bad thing, as you'll end up with something that looks neat, but is essentially useless because it didn't actually teach you anything.

Can you think of a slightly more realistic goal?


Need to think about it:cool:

waldok
12-04-2010, 06:37 PM
If you're developing for Windows and want to quickly (in programming terms) learn to crank out some cool stuff, C# is what I would learn. It handles a lot of background work for you.

A lot of people think you should learn a more "fundamental" language which shows you more of how the computer works, like C or even Assembly, depending on who you talk to. Whether you do it first or later is up to you IMHO because whatever you choose to learn first will teach you things that are useful for what you use later.

If you choose C# are some cool free learning resources you might try like this one:
http://www.robmiles.com/c-yellow-book/

If you want to build a web browser or a simple word processor, you can do that with C# fairly easily if you use pre-built components. Of course you are not really building all the bits from scratch if you use this type of appoach, but you might be ok with that depending on what you're after. Here's one example for a web browser, you can probably find other examples with a bit of searching - http://www.codeproject.com/KB/cs/webbrowser.aspx

cheers
W

Erayd
12-04-2010, 06:52 PM
@Waldok: The problem with that approach is it creates copy & paste programmers, and then when you need them to actually do something on their own, they fail miserably at it.

Learning how the computer works isn't the point - learning to program is the point, and while it's possible to do this in C#, my experience of developers who start out with C# is that most of them are unable to think outside the box, rely on the IDE to do most of the work for them, and don't actually possess the skills necessary to do a good job at something new.

I wouldn't recommend teaching someone C as a first programming language, but you could also do a lot worse - C is a pretty nice language. Where it fails as a teaching tool is it's not an OOP language, but other than that it's not bad at all.

Sweep
12-04-2010, 06:58 PM
Another thing to be thought about to create stand alone applications is a compiler. They are not all free.

somebody
12-04-2010, 07:01 PM
Having used both C# and VB before, I would recommend C# as its syntax is a lot closer to a lot of other languages - meaning if you learn C#, and want to learn Java, C++, or another C-derived language, it's easier to get used to.

I would actually disagree with Erayd on the "drag and drop" programming approach. Doing things the hard way is - well - exactly that. It's too daunting for someone who is new to programming. Using a good IDE like Visual Studio provides a "softer" entrance into programming, and allows you to create more interesting applications while you're learning - for the majority of people who have grown up with GUI applications, learning to write CLI programs is an extra barrier - and to be honest, is boring.

For the "web browser" scenario above, you could simply embed a browser control into a Windows Form Application, and have a primitive "web browser" in 30 minutes. Sure - you won't learn the intricacies of the language etc. but that's not the point at the moment - it's to slowly pick up basic skills, and go from there.

The Beginner Developer Learning Centre on Microsoft's website is excellent and has a lot of free resources for someone new to programming: http://msdn.microsoft.com/en-us/beginner/bb308891.aspx

AZ1
12-04-2010, 09:11 PM
If you're developing for Windows and want to quickly (in programming terms) learn to crank out some cool stuff, C# is what I would learn. It handles a lot of background work for you.

A lot of people think you should learn a more "fundamental" language which shows you more of how the computer works, like C or even Assembly, depending on who you talk to. Whether you do it first or later is up to you IMHO because whatever you choose to learn first will teach you things that are useful for what you use later.

If you choose C# are some cool free learning resources you might try like this one:
http://www.robmiles.com/c-yellow-book/

If you want to build a web browser or a simple word processor, you can do that with C# fairly easily if you use pre-built components. Of course you are not really building all the bits from scratch if you use this type of appoach, but you might be ok with that depending on what you're after. Here's one example for a web browser, you can probably find other examples with a bit of searching - http://www.codeproject.com/KB/cs/webbrowser.aspx

cheers
W

Thanks

AZ1
12-04-2010, 09:52 PM
Just discovered Small Basic, for beginners. You can create your apps then translate them to VB!

Sweep
12-04-2010, 10:38 PM
I've used COBOL, Fortran, Assembler and GWBasic in the past.

I'm now having a very good look at GCC in Debian Linux and have created a program that will print raffle tickets between 1 and 500 and generate truely random numbers between 1 and 500 and the one draw will not ever draw the same number twice obviously. There will be 12 prize winners.

But then I also want to confuse people who also want ticket number xxx every time as it's their lucky number so if a certain ticket number has won a prize in the last X time it should be treated as a a duplicate in the current draw so there is absolutely no chance of winning until the time is up.

BTW. I am getting there I think but I want to do it myself and I have not posted for help for my idea.

Nor will I care if you use my idea for that matter.

I'm still testing the random number generator in case there may be a pattern.

mikebartnz
12-04-2010, 10:50 PM
I've used COBOL, Fortran, Assembler and GWBasic in the past.

I'm now having a very good look at GCC in Debian Linux and have created a program that will print raffle tickets between 1 and 500 and generate truely random numbers between 1 and 500 and the one draw will not ever draw the same number twice obviously. There will be 12 prize winners.

Free Pascal with Lazarus is worth a look at. Lazarus gives Free Pascal a Delphi like IDE and what I like about it is that within Linux I can write a program and target the CPU and operating system.

AZ1
13-04-2010, 09:51 AM
Basic is for beginners

I had once got it and it was not simple. I got small basic but:rolleyes:

AZ1
13-04-2010, 09:54 AM
True point Erayd. Because I do want to do other apps after that!

AZ1
13-04-2010, 09:55 AM
I am reading this at the moment, http://msdn.microsoft.com/en-nz/vcsharp/default%28en-us%29.aspx

AZ1
13-04-2010, 09:57 AM
Whats the difference between C, C#, Basic, C++

Erayd
13-04-2010, 10:22 AM
Whats the difference between C, C#, Basic, C++
Basic (in its many flavours) is a simple procedural language, and these days is best avoided - it's missing API bindings for many major libraries you're likely to want at some point, and is also missing a lot of useful language features. Probably better to steer clear of it.

C is also a procedural language, but is vastly more functional than basic. There are libraries and API bindings for everything under the sun, and some very good build systems to help manage your projects (autotools being one of the best). Due to the way it's designed, you can program either at a relatively high level, or you can get right down to the gritty stuff of writing device drivers. C programs are also *very* fast. Note that C does not have any form of garbage collection, so if you manually allocate memory for anything you need to remember to release it later (this can either be an advantage or a disadvantage, depending on what you're doing and how you work). C also doesn't support any form of object-oriented programming.

C++ is one of many attempts to add object-oriented extensions to C. It is an extremely powerful language, and like C can be used for almost anything you can think of. Note that there are far more differences than just OOP, although that's the major one.

C# is one of Microsoft's .NET CLR languages. It's syntactically very similar to Java, and shares many features with it. Due to the way it works C# programs will generally be slower than the same program written in C or C++, but in almost all cases this doesn't matter - computer hardware these days is more than capable of keeping up. Note that unlike any of the other languages here, C# programs require one or more versions of Microsoft's .NET framework to be installed on the target system.

Regarding portability - if you want to write portable code that will run on (almost) any platform, stick with C (best) or C++ (almost as good). C# is generally a Windows-only language - while some features can be used on Linux via the Mono project, development on that tends to lag rather badly behind the official .NET framework, and features are often missing or unsupported. Avoid basic.

Note that this post focuses only on the languages you asked about. Depending on what you're trying to do, there are many other languages that may be more appropriate to the task.

AZ1
13-04-2010, 10:26 AM
Basic (in its many flavours) is a simple procedural language, and these days is best avoided - it's missing API bindings for many major libraries you're likely to want at some point, and is also missing a lot of useful language features. Probably better to steer clear of it.

C is also a procedural language, but is vastly more functional than basic. There are libraries and API bindings for everything under the sun, and some very good build systems to help manage your projects (autotools being one of the best). Due to the way it's designed, you can program either at a relatively high level, or you can get right down to the gritty stuff of writing device drivers. C programs are also *very* fast. Note that C does not have any form of garbage collection, so if you manually allocate memory for anything you need to remember to release it later (this can either be an advantage or a disadvantage, depending on what you're doing and how you work). C also doesn't support any form of object-oriented programming.

C++ is one of many attempts to add object-oriented extensions to C. It is an extremely powerful language, and like C can be used for almost anything you can think of. Note that there are far more differences than just OOP, although that's the major one.

C# is one of Microsoft's .NET CLR languages. It's syntactically very similar to Java, and shares many features with it. Due to the way it works C# programs will generally be slower than the same program written in C or C++, but in almost all cases this doesn't matter - computer hardware these days is more than capable of keeping up. Note that unlike any of the other languages here, C# programs require one or more versions of Microsoft's .NET framework to be installed on the target system.

Regarding portability - if you want to write portable code that will run on (almost) any platform, stick with C (best) or C++ (almost as good). C# is generally a Windows-only language - while some features can be used on Linux via the Mono project, development on that tends to lag rather badly behind the official .NET framework, and features are often missing or unsupported. Avoid basic.

Note that this post focuses only on the languages you asked about. Depending on what you're trying to do, there are many other languages that may be more appropriate to the task.

Thanks, But what one do you think is more useful:confused:

Erayd
13-04-2010, 10:42 AM
Thanks, But what one do you think is more useful:confused:They're all useful*. It's not possible to give you an absolute list of languages ranked from best to worst - they all have their own individual strengths and weaknesses. That's why I asked you earlier what you are wanting to do - you should be picking your language[s] based on the goals you are trying to achieve, not the other way around.

*That being said, basic sucks and should be avoided at all costs :rolleyes:.

nofam
13-04-2010, 12:45 PM
They're all useful*. It's not possible to give you an absolute list of languages ranked from best to worst - they all have their own individual strengths and weaknesses. That's why I asked you earlier what you are wanting to do - you should be picking your language[s] based on the goals you are trying to achieve, not the other way around.

*That being said, basic sucks and should be avoided at all costs :rolleyes:.


1 Print "Basic Sucks"
2 Goto 1

RUN

There - quite useful!! ;)

utopian201
13-04-2010, 02:06 PM
I'd start off with C#. I started learning Java (which is NOT javascript). Java and C# are quite similar I think.
It sounds as if you dont know anything about programming. All these questions are good and all, but you might get into the state of paralysis by analysis.

You could do worse than start off with an easy hello world program. Doing that in each of the languages will teach you a lot.

waldok
14-04-2010, 05:56 PM
By the way if you are doing C# or one of the other Visual Studio Express languages, a the new "2010" version of Visual Studio Express was launched this week:
http://www.microsoft.com/express/

Good luck with whatever you choose, make lots of mistakes and have fun. Programming is a very cool thing to know a bit about even for me who is not a programmer at all. :)

cheers
W

AZ1
14-04-2010, 06:48 PM
By the way if you are doing C# or one of the other Visual Studio Express languages, a the new "2010" version of Visual Studio Express was launched this week:
http://www.microsoft.com/express/

Good luck with whatever you choose, make lots of mistakes and have fun. Programming is a very cool thing to know a bit about even for me who is not a programmer at all. :)

cheers
W

Thanks
Picked C# 2010

Erayd
14-04-2010, 07:50 PM
Thanks
Picked C# 2010
All the best with it - have fun :D.