I am going to learn programming

  • Thread starter Thread starter adjacent
  • Start date Start date
  • Tags Tags
    Programming
Click For Summary

Discussion Overview

The discussion revolves around the choice of programming languages for beginners, specifically focusing on Visual Basic, Python, C++, and C#. Participants share their experiences and preferences while addressing the challenges of starting programming, including installation issues and learning resources.

Discussion Character

  • Debate/contested
  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Homework-related

Main Points Raised

  • One participant expresses a desire to start with Visual Basic, finding C++ and C intimidating, and asks for guidance on downloading and installation.
  • Some participants advise against starting with Visual Basic, suggesting Python or Java as better alternatives for technical work.
  • Another participant mentions that Visual Basic is popular for its ease of learning and use, especially for beginners.
  • Concerns are raised about the potential bad habits learned from starting with Basic, with some participants suggesting that it may hinder future learning.
  • Several participants recommend C# as a preferable alternative to Visual Basic, citing its advantages over both Visual Basic and Python.
  • There are discussions about the availability of stand-alone versions of Visual Studio and the need for internet access for coding resources.
  • Some participants share links to resources for learning Python and Java, including IDEs and beginner guides.
  • One participant expresses frustration with Python, stating it lacks the graphical capabilities they appreciate in Visual Basic.
  • Questions arise regarding file handling in Visual Basic and C#, with requests for specific coding help.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the best programming language for beginners, with multiple competing views on the merits of Visual Basic, Python, C++, and C#. The discussion remains unresolved regarding which language is the most suitable starting point.

Contextual Notes

Participants express varying levels of familiarity with programming concepts and tools, and there are references to specific operating systems and software versions that may affect the learning experience.

Who May Find This Useful

Individuals interested in starting programming, particularly those weighing the pros and cons of different programming languages and seeking guidance on resources and installation.

adjacent
Gold Member
Messages
1,552
Reaction score
62
I have decided to start with Visual Basic. C++ and C looks scary.
What should I do first? Download the visual basic? I found Visual studio,I think this is better,is it?
Is there any stand-alone version of visual studio? My powerful computer can't access internet.


What should I do if I want to learn C++? Download C++? Where?
What are the additional requirements I need?

Sorry. I am just like a one year old baby when it comes to programming.
 
Technology news on Phys.org
I would advise against starting with Basic, as it is rarely used in technical work. My advice would be to start with either Python or Java, then move on to C/C++. What operating system are you running? If it is some version of Unix (this includes Macintosh), then C, C++, and Python are probably already installed.
 
Last edited:
+1 to what phyzguy wrote, don't start with Basic.
 
phyzguy said:
I would advise against starting with Basic, as it is rarely used in technical work. My advice would be to start with either Python or Java, then move on to C/C++. What operating system are you running? If it is some version of Unix (this includes Macintosh), then C, C++, and Python are probably already installed.
I am running Windows 7 Ultimate S1. I thought of using Python before. Can it be used to build a patch application?
 
I take it you've looked at the "Express" versions and don't like them because they are not stand-alone. Here's the link anyway:
http://www.visualstudio.com/en-US/products/visual-studio-express-vs

Here's a link to a DVD version of the Visual Studio 2008 - which includes C++.
Of course, it operates in the Microsoft Windows environment and generate code for Windows - and it includes the 2008 version of the Microsoft Foundation Classes. That's important for creating Dialog Boxes and most other non-trivial operating system interfaces.

http://www.trustprice.com/643088/mi...tandard.html?gclid=CO_tueutpr4CFYMSOgodPy4ATw

But...
Whether you're just picking up C++ or have been coding for decades, you are going to what the internet handy while you code. There are tons of things about the Microsoft Windows operating that are only documented online - and commonly only by those who have already run into the same problems you will be running into.
 
I want to learn python. How do I start?
 
Before you jump in, check out processing.org and its IDE for java development. Its geared for beginners and casual programmers like graphics artists who want to design interactve art and comes with many example sketches that run right out of the box. There are also several books. Processing will give you a gentle introduction to Java with immediate feedback as you develop and run your sketch.

Python is a good start too. Basic is just too... basic although many of us old programmers got our start with it when python and java were just twinkles in the eyes of their creators.
 
adjacent said:
I have decided to start with Visual Basic. C++ and C looks scary.
What should I do first? Download the visual basic? I found Visual studio,I think this is better,is it?
Is there any stand-alone version of visual studio? My powerful computer can't access internet.What should I do if I want to learn C++? Download C++? Where?
What are the additional requirements I need?

Sorry. I am just like a one year old baby when it comes to programming.

Visual basic is ok as a first language. In fact, it's by far the most popular language because it is easy to learn and use. You'll probably get more use out of it then you will with C++ unless you intend to become a computer scientist.

Microsoft has an express studio version that you can download from their website. Visual basic will be included in it. You just download it, install, and your ready to start.
 
  • Like
Likes   Reactions: 1 person
  • #10
I have done that. I have found a stand-alone version too.
Thanks everyone!
 
  • #11
Python is great. Its functional enough and is really simple.
 
  • #12
Manraj singh said:
Python is great. Its functional enough and is really simple.

I don't think it's simpler than visual basic for a beginner. I will master visual basic and then go to C++.
 
  • #13
Perhaps things have changed, but in the past Basic was the best way to learn bad habits before you even knew how to walk. You may later waste a lot of time trying to unlearn what you will "learn" now.

But it is your choice, you have an inalienable right to repeat the same mistakes others did in the past.
 
  • #14
Borek said:
In the past Basic was the best way to learn bad habits before you even knew how to walk. You may later waste a lot of time trying to unlearn what you will "learn" now.
Perhaps I liked Visual basic because I don't have to write graphics using Visual studio.

If you guys thinks visual basic is bad, prove that python is better. I downloaded it some months ago and I only got a blank space. It didn't have any way to make graphics like in visual studio.
I think I am talking non-sense here :shy:. Is there any free python IDE equilvalent to visual studio?
 
  • #15
We're not here to prove anything, you asked for suggestions and help and we gave it. Python in the opinion of many programmers is a better learning tool that is applicable across many platforms from Windows to MacOSX and Linux of any flavor. There are a raft of books on the subject. Raspberry PI uses Python as a basic teaching tool helping kids to learn programming. That should be proof enough.
 
  • #16
Might I suggest C# instead of Visual Basic? They use the same IDE, but C# is a well-behaved language, easier than C or C++, very similar to Java. I've done a lot of programming in both VB and C# and I strongly prefer C#.

My beef about Python is the same as my beef about VB. These languages are not strongly typed, but rather duck-typed. This means, they try to infer the types of variables from how you use them, which is a fine idea except that, every once in a while, the software guesses wrongly. If you use a strongly typed language such as C# or Java, you'll have to think about the type of every variable, and IMO you will learn more.

The duck-typed languages are so popular because beginners can be lazy and skip learning certain things, which encourages them to get off to a fast start. IMO they pay for this later in having misunderstood what is really going on in memory. Which ultimately you need to know if you're going to be a good programmer.

Microsoft provides an Express version of Visual Studio for either VB or C#, so you can learn either language without needing to buy anything.
 
  • #17
harborsparrow said:
Might I suggest C# instead of Visual Basic? They use the same IDE, but C# is a well-behaved language, easier than C or C++, very similar to Java. I've done a lot of programming in both VB and C# and I strongly prefer C#.
Then it's decided. I will go with C# :smile:
My beef about Python is the same as my beef about VB. These languages are not strongly typed, but rather duck-typed. If you use a strongly typed language such as C# or Java, you'll have to think about the type of every variable, and IMO you will learn more.
Yes. I don't know why I don't like python. Even though lots of people suggest it to beginners, I just can't agree with them.

I have a question. How do I open a file in VB?
I have searched for hours and can't find how to do that.
I have used Diagnostic thing, file.open, IO.file.open,system.IO.open etc. Nothing works.

And how do I open a file in C#?
 
  • #18
adjacent said:
Then it's decided. I will go with C# :smile:

Yes. I don't know why I don't like python. Even though lots of people suggest it to beginners, I just can't agree with them.

I have a question. How do I open a file in VB?
I have searched for hours and can't find how to do that.
I have used Diagnostic thing, file.open, IO.file.open,system.IO.open etc. Nothing works.
FileOpen - http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.fileopen.aspx

Here's a link to an MSDN article on how to read from different file types in VB - http://msdn.microsoft.com/en-us/library/wz100x8w.aspx.
adjacent said:
And how do I open a file in C#?
It seems that opening a file is part of either reading from it or writing to it. How to write to a text file: http://msdn.microsoft.com/en-us/library/8bh11f1k.aspx. How to read from a text file: http://msdn.microsoft.com/en-us/library/ezwyzy7b.aspx.
If you write C# or VB code, a good place to start for documentation is MSDN.
 
  • #19
  • #20
Thanks guys.
I have a very important question. How do you guys remember all those functions(Whatever it is. Like FileOpen , Public static or whatever.)? Do you keep a list of them?
 
  • #21
I never deliberately "memorize" stuff like that. If I use a function often enough, I automatically come to a point where I remember the syntax. If I don't use it very often, I remember the name, or at least "there's a function for that," and I look it up quickly on a website or in one of my reference books (for C++ I use Stroustrup's "The C++ Programming Language").
 
  • #22
adjacent said:
Thanks guys.
I have a very important question. How do you guys remember all those functions(Whatever it is. Like FileOpen , Public static or whatever.)? Do you keep a list of them?

Intellisense helps *a lot*.
 
  • #23
DavidSnider said:
Intellisense helps *a lot*.
Yeah. Especially to beginners. I like it a lot.
 
  • #24
The one caveat people have about python is the indentation feature where code is blocked together if it has the same indentation. If you're off by even one space it will be blocked differently in contrast to using { } in other languages.

The second caveat for me at least is the explicit use of self as the first argument when defining the methods of a class:

Code:
    def myMethod(self,arg1):
        print "Hello "+arg1
        ...

vs calling methods within your class via:

Code:
    def someOtherMethod(self,arg1):
        self.myMethod(arg1)
        ...

and the third caveat is the use of predefined methods like __init__ for the constructor:

Code:
    def __init__(self):
        ...


that use the leading __ characters.

My caveats are mainly rooted in my having programmed extensively in java.

But recently, I've come back to Python for creating a useful developer tool for working with java files and maven projects and its working out quite well.
 
  • #25
My school taught vb when i was 13. I am 15 now, and must say python is much better. Its really simple. But the thing is if you know any other language, you can easily master python in a day.
 
  • #26
adjacent said:
Thanks guys.
I have a very important question. How do you guys remember all those functions(Whatever it is. Like FileOpen , Public static or whatever.)? Do you keep a list of them?

So you have already learned one lesson. There is the language, and there are the libraries that do lots of useful things. With C# (and VB for that matter) there is a "standard library" (even though it is not officially called that way) that is almost part of the language. You CANNOT remember all what it contains, it is huge. Keeping lists is a waste of time, too, because it already has documentation. Familiarise yourself with it, and train yourself to have a look there whenever you want to do something - chances are, it is already there.
 
  • #27
harborsparrow said:
Might I suggest C# instead of Visual Basic? They use the same IDE, but C# is a well-behaved language, easier than C or C++, very similar to Java. I've done a lot of programming in both VB and C# and I strongly prefer C#.

My beef about Python is the same as my beef about VB. These languages are not strongly typed, but rather duck-typed. This means, they try to infer the types of variables from how you use them, which is a fine idea except that, every once in a while, the software guesses wrongly. If you use a strongly typed language such as C# or Java, you'll have to think about the type of every variable, and IMO you will learn more.

The duck-typed languages are so popular because beginners can be lazy and skip learning certain things, which encourages them to get off to a fast start. IMO they pay for this later in having misunderstood what is really going on in memory. Which ultimately you need to know if you're going to be a good programmer.

Microsoft provides an Express version of Visual Studio for either VB or C#, so you can learn either language without needing to buy anything.

When it comes to writing software the wrong way, language selection has very little to do with anything. We develop different languages because we try to reach different audiences with different application domain needs. To write high quality code, one really does need to go through a computer science curriculum with a deep study in algorithms, data structures, operating systems, and bare metal programming. Languages don't infer that kind of knowledge to a person. In fact, some languages like C++ can even make things worse because they are less restricted on things one can do.

So you need to ask yourself what you want to do before selecting a language. For example, if your looking to write a lot of math stuff for engineering or something, you would probably want to learn FORTRAN.
 
Last edited:
  • #28
adjacent said:
Thanks guys.
I have a very important question. How do you guys remember all those functions(Whatever it is. Like FileOpen , Public static or whatever.)? Do you keep a list of them?

There are three components to it:
1. I know a lot of languages in addition to a lot of computer science related stuff. In many cases, I know what I'm looking for even if I don't remember what it is being called in some language.
2. Software engineers in particular often spend their working day using some particular language for some application domain. And so they end up remembering a lot of things through repetition.
3. Learn to use help and look stuff up.

But as mentioned in above posts, your not going to memorize every function that someone can make.
 
Last edited:
  • #29
jtbell said:
I never deliberately "memorize" stuff like that.

There's a nice quote from Stoustrup: "If you fully understand int and vector, you understand the whole of C++. The other 1300 pages of the language standard document are just details."
 
  • #30
Look for a C# cookbook these are always helpful for finding recipes on how best to do some task like read a file, walk a directory list, sort an array... the list goes on...

https://www.amazon.com/dp/059651610X/?tag=pfamazon01-20

A newer release of this book may be in the works since people are at C# 5.0 now with betas of C# 6.0 in April 2014.

http://en.wikipedia.org/wiki/C_Sharp_(programming_language)
 
Last edited by a moderator:

Similar threads

Replies
86
Views
3K
  • · Replies 43 ·
2
Replies
43
Views
8K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 102 ·
4
Replies
102
Views
4K
Replies
10
Views
5K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 86 ·
3
Replies
86
Views
13K
Replies
16
Views
3K
  • · Replies 25 ·
Replies
25
Views
1K