Beginning Programmer

ksaajasto

Senior member
Nov 29, 2006
212
0
0
I'm sure that this category has seen this question before, but I didn't see one, so i'll just ask it again.

okay, i took one class on Visual Basic, but the class was a joke, i didn't learn anything, i basically had to copy and paste code...

so my question : Which programming language do you suggest that i start with. And what can you do with each type of program?

thanks in advance for your help, and again, sorry for repeats
ks
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
There's nothing wrong with VB as an introduction to higher-order language elements and mechanisms, or as an avenue of access to .Net for people who are used to VB. But it's sort of an oddball in the family of .Net languages, and if you're just starting out I would suggest skipping the VBaggage and downloading a copy of Visual Studio 2008 Express Edition for C#. It's free, and has everything you need to develop programs for Windows using C#. Beyond that the best way to learn is to dive in and start making some simple programs.
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
I personally would pick a language with tools to allow you to complete a project. Without well defined goals you will be hard pressed to teach yourself. I started by writing bash shell scripts to automate tasks that I did. Then I tried to write a gui front end to a common task. That got me into using more advanced programing with perl. Eventually I got into web development and I started picking up php, then I wanted to do client side stuff and got into javascript. That lead to a few projects that used java/jsp and that lead me to having to strip back down and learn object oriented programing, which eventually lead me to writing a few small java apps for my own personal use. From there I picked up a few rent a coder jobs to have even more well defined goals, and eventually landed a full time programing gig. The whole time I was trying to meet best standards possible for my code by reading books on how to write good code, doing flow charts and diagrams, and writing out workflows. I'm still not a awesome programing, but I think I've gone a long way. I'm going to start taking classes in the spring to further my knowledge.

So really, the language doesn't matter, just make sure it lets you get your job done. I'd suggest python, ruby, c#, java, or php (yes, I know the argument that it's not a programing language, but I've done some really advanced things with it when I needed to). Just learn a tool that lets you do your task. Wash, rinse, repeat.
 

Net

Golden Member
Aug 30, 2003
1,592
2
81
If you want to learn programming you should definitely start with C. Why? Because it will teach you what is going on under the hood. You will learn stacks, pointers, arrays, etc... This will give you a good foundation. It will help you learn good programming style so when you want to learn other languages such as java, C#, etc... the understanding will come fast.

Visual basic is a great rapid development programming language. If you just want to pump out an application without really caring about learning "programming" then visual basic is a good choice for a language.

Here is a good compiler for C http://www.mingw.org/download.shtml

I would recommend getting the book http://www.amazon.com/Programm...&qid=1204389667&sr=8-1

and as a supplement (advanced)
http://www.amazon.com/Programm...&qid=1204389667&sr=8-2

Those are the best two book for C on the market in my opinion. The first one will guide you through the language. After you know those concepts the second book will increase your understanding of those concepts.

The best way to learn a programming language is to set deadline dates of certain programs you want to make.

I would start with these:

1. Finding Prime numbers
2. Find Prime numbers and print it out as a matrix
example

3 7 13 15
17 19 23 29



You can also learn visual basic at the same time. That can be the language for making those cool applications, like games, etc... since it is so easy.

I've made a lot of cool visual basic programs and I never read any books on visual basic. It's funny. I started with C++ then wanted something more low level and learned C. I feel in love with C. Then any program I wanted to make in visual basic just made sense. It's really forgiving. If I had a question on how a certain thing such the syntax for for loops in VB I would just look it up online really quick.

Good luck.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
I struggle with the point made in the above reply. I'm one of those graybeards who started out in the late 70's when we had to know everything about the machine down to the byte order for integers and the segmentation scheme. I still have old Intel manuals for the 8254 timer, the VGA chip, and the .... 806x keyboard interface (I think). So I am sympathetic almost by nature to the idea that the more a programmer understands about how things really work the better they will be at what they do.

That said, I also honestly believe that we are almost past the era when application programmers had to undertand memory and pointers. I think it's damn near over on Windows, and a few years behind on Linux but ultimately heading the same direction. Software is too ubiquitous, schedules too tight, the masses too dependent on what we do, for complexity to be celebrated. The low level stuff has to be, and is being, buried under less complex metaphors that we can use, so that we can focus on logic.

For that reason I find it tough to recommend C to new guys starting out. While they are struggling with pointers and addressing the people they have to compete with will be learning to build applications. That said, if someone is personally driven to learn this stuff, I still think it will make you a better programmer overall. But I don't think that advantage will last for very many more years.
 

Jeff7181

Lifer
Aug 21, 2002
18,368
11
81
I'd only start with C if you're taking classes and will have someone to answer your questions and give demonstrations. If you're learning this on your own I'd start with Visual Basic. As Markbnj sorta said, it's not necessary for you to know every little thing that happens when your program runs as long as it runs well without crashing and without memory leaks. With VB you can learn the basic structure of a program, create one, see it working and build on that. Whether you build your knowledge up (to more advanced VB programming or SQL) or down (to C++, C, or even machine language) is up to you at that point.

Visual Studio is really nice for programming because it helps you use a bunch of things together. For example, right now I'm using it to create a web page using ASP.NET and VB to interface with a SQL Server database to track jobs/orders for a friend's business.
 

nordloewelabs

Senior member
Mar 18, 2005
542
0
0
Originally posted by: Markbnj
That said, I also honestly believe that we are almost past the era when application programmers had to undertand memory and pointers. I think it's damn near over on Windows, and a few years behind on Linux but ultimately heading the same direction. Software is too ubiquitous, schedules too tight, the masses too dependent on what we do, for complexity to be celebrated.

well said! :thumbsup:

besides, before you run, you have to learn how to walk. VB, C# and Java are relatively easy (at least when compared to C or C++) and therefore more motivating and quicker to learn. between VB and C#, you're better off with C# because that's the preffered language of .Net. i read somewhere that, after VB was adapted to comply to the .Net Framework (and then reborn as "VB.Net"), its "programming-learning-friendliness" was diminished substantially, which has made VB.Net only a tiny little easier that C# now.

i suggest that you choose between C# or Java (both very, very similar). these languages are very popular (which helps a lot when browsing the web for help) and have free Development Tools available (Google them):

C#: Microsoft Visual C# Express 2008.
Java: Eclipse or NetBeans.

take a look at the site below for a good (n00b) tutorial on C#:
http://www.functionx.com/vcsharp/index.htm


 

presidentender

Golden Member
Jan 23, 2008
1,167
0
76
Google search for "java tutorial" returns more than 4,060,000 results, while searching for "c# tutorial" returns 268,000. They're both easy. Take your pick. Avoid anything called "basic" like the plague.
 

PhatoseAlpha

Platinum Member
Apr 10, 2005
2,131
21
81
I'd actually start with VB.net over C# if you're just starting to learn. Functionally, they're highly similar to the point of being essentially interchangeable, but Visual Studio is about a hundred thousand times more user friendly when writing VB.net code then C#. It's certainly far more effective for rapid development, but the interface is also much much more helpful for learning things you don't know.

Realistically, most .net dev jobs are VB, so switching over to C#, while doable and not as painful as it could be, is pretty much optional (unless you plan to work for Microsoft themselves.) You can do it without massively relearning, but you might find that C#'s few advantages are not worth dealing with the decidely unfriendly environment - both in terms of Visual Studio being less then helpful, and the culture having a chip on their shoulder.
 
Aug 25, 2004
11,166
1
81
Originally posted by: presidentender
Google search for "java tutorial" returns more than 4,060,000 results, while searching for "c# tutorial" returns 268,000. They're both easy. Take your pick. Avoid anything called "basic" like the plague.

Agreed x100
 

ksaajasto

Senior member
Nov 29, 2006
212
0
0
thanks so much, these are very helpful. I think I will check out the book you mentioned net.

thanks again
 

kamiller42

Member
Sep 2, 2004
77
0
0
I would say begin learning using Object Pascal. It is a powerful language (it strikes great middle ground between C-like languages and VB.), works with native Win32 and .NET (unlike VB and C#), has plenty of online resources including tutorials, and an active helpful community (see CodeGear newsgroups).

Need a free tool? Try one of the Turbo Explorer packages. If you need more power, try an academic priced Delphi or RAD Studio package.
http://www.turboexplorer.com/downloads

There is also this free option. http://www.lazarus.freepascal.org/
 

Dimmu

Senior member
Jun 24, 2005
890
0
0
Originally posted by: thatolchestnut
imo Python is one of the most powerful intuitive language to program.

I second this. Python is known for being easy to pick up as its syntax is logical, organized, and very much like spoken English. You can use Python for almost anything. PM me if you have any questions.
 

nakedfrog

No Lifer
Apr 3, 2001
58,570
12,874
136
Originally posted by: Markbnj
That said, I also honestly believe that we are almost past the era when application programmers had to undertand memory and pointers. I think it's damn near over on Windows, and a few years behind on Linux but ultimately heading the same direction. Software is too ubiquitous, schedules too tight, the masses too dependent on what we do, for complexity to be celebrated. The low level stuff has to be, and is being, buried under less complex metaphors that we can use, so that we can focus on logic.

No kidding. The project I'm about to wrap up at the end of this week started development in the beginning of January, and the specs might have been finalized last week.
As long as they don't change again.
 

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
If you are going for a programming degree and want to get ahead of the game, you might want to check with the university that you are planning on attending to see what language(s) they place an emphasis on. For example, the two languages that they force you to learn at my university (CS majors) for the first two years (used in the "core" classes) are C++ and assembly.

I don't get why people dog VB.NET. I hear that it's the same as C# once it's compiled? Why do people not like it?
I think the VB bashing above is limited to VB6 and before. I do not see why a C# fan would "hate on" VB.NET.
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
I'm not a hater of vb.net (although I've never done much .NET programing at all). I have heard though that C# can do some things vb.net can't do because it has calls that implement some functions of the .NET runtime that vb.net does not. I do not know if that was true, but that is what I've been told by the c# advocates. I'd like to know why one would choose one over the other.

*edit* according to wikipedia, the issue I mentioned about vb.net was resolved in vb 2005.

Interesting, I really want to know more.
 

SoundTheSurrender

Diamond Member
Mar 13, 2005
3,126
0
0
Well according to my teachers here, they are almost exactly the same once compiled. My major is Operation Management and Information Systems and the programming classes here are in Visual Basic due to the ease of use and learning curve. Although there are people like me that are a little better at programming then others who just need to take the class I still like the language. I've learned C++ but I don't like it, I'd rather learn something web based then C++. I think people don't like VB because it isn't similar to C++ or Java. I like because I have a hard time with C++ and C# looks a bit similar and I can't get into the mode of it.
 

JACKDRUID

Senior member
Nov 28, 2007
729
0
0
I have done both vb.net and c#. its exactly the same to me... absolutely no difference...

its actually the same as after you compile them into a library meta file.
 

PhatoseAlpha

Platinum Member
Apr 10, 2005
2,131
21
81
Last I heard, VB.net misses a few minor features from C# - unmanaged code and pointers come to mind. You can fake it with the marshalbyref object, but it takes a pretty nasty speed hit, IIRC.

The main issues are cultural - there are a lot more jobbers out there programming in VB.net then C#, and the C# squad has a tendency to look down upon VB.net devs as being non-serious because of that.
 

fallstoofast

Member
Feb 14, 2008
35
0
0
It's easy to start with Javascript and PHP. They have easy structures and are the most widely used languages on the web. C and other programming languages might be a bit harder to understand since they're more advanced (of course, it could just be me.) Oh, and Javascript and PHP are basically the same except how they treat objects. Anyways, I recommend these two.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |