Jump to content
xisto Community
sujith

Where To Start Learning Programming Please advise me on which language to

Recommended Posts

I am a beginer to programmingi wish to know from which language should i startprogramming C, C++Is there any problem if i jump directly to vb or likeplease respondwhere can i find good beginer tutorialsThank you

Share this post


Link to post
Share on other sites

Ah, the usual beginner question! Don't get me wrong, I don't mean this badly. :)

 

Let's see... the first thing to consider is why do you want to learn programming! Being a programmer for your local community projects differs from being a programmer from Apple. Both are naturally different than doing it as a hobby, or for working freelance. Since I don't know anything about your circumstances, I'll assume you're doing this for fun, hoping it can build up into a business. Fair enough?

 

Alright. Let me tell you first and foremost that Programming IS, regardless of what programming language you may choose. By that, I mean that the main concepts of programming remain the same in every language; it's how you implement these concepts that makes a language different than another (faster, more effecient, easier, etc.)

 

This is a major source of relief for beginner programmers, since they can start out with a relatively easy language, and later move on to more complicated ones depending on their conditions and circumstances.

 

One of the easiest PLs out there is - arguably - BASIC. BASIC is an acronym for "Beginners All-purpose Symbolic Instruction Code..." Sounds a little complicated for a beginner, doesn't it? Well, I assume Bill Gates came up with the acronym first and then tried to work out a meaningful sentence around it. :)

 

Anyway, this is a very easy language to learn, and it contains most of programming concepts. But it's too obsolete, some might say. I sort of agree. That's why many programmers-in-the-making opt for Visual BASIC. It's a huge step from its predecessor, and it works with Graphics more than with actual code. The HUGE downside is that it works SOLELY on Windows, nothing else. People might say it's Microsoft's way of monopolizing the market, and they might be quite right, but I digress.

 

Another fairly easy language is PERL. PERL used to be the absolute no.1 language for the Web, and it has been the no.1 scripting language (which a fancy way to say "programming" in certain occasions and environments) for UNIX (which is one of the greatest Operating Systems of all time, IMHO :)). It works across many, if not all, platforms; it's versatile and can be easy to learn of worked at regularly; it's totally free; and it's supported with loads and loads of tutorials, sample code, Websites, etc. It's still pretty much in use today, but even if it wasn't, it'd still be a great introduction into programming. I trust some will disagree, but that's my opinion, anyhow. :)

 

Since I believe many will add their own opinion about the right introductory language, I think you'll have lots of choices, Knight17. But ultimately, if you want to be a programmer worth the name, you have to learn C, sooner or later. Personally, I think the word "Programmer" doesn't have C in it. :)

 

As you go along, you'll come across numerous information about other programming languages, their advantages and disadvantages, their uses, etc., and so you'll be better qualified to make an educated choice about your programming goals.

 

Trust me when I say, programming is a fun ride, if you're up to it. Just don't give up too early, ok?! :)

Share this post


Link to post
Share on other sites

Oh God, Oh God, too many typos! Sorry about that, Knight, I'm sort of sleepy right now. But I believe you got the jest of it, right? BTW, when I said...

 

Personally, I think the word "Programmer" doesn't have C in it.

I meant to say, I think it weird that "Programmer" doesn't have C in it. It was meant to be subtle witticism, but it's grossly ruined, thanks to my inadequate typing. :)

 

I hope that helped, anyway. Good luck, man!

Share this post


Link to post
Share on other sites

If you want to become a serious programmer, it would be better to learn C/C++. But if it will just be a hobby, then I recommend Pascal or Basic (I personally preffer Pascal).Of course there are so much other languages, but most of them are harder to learn and less powerfull and with slower execution.

Share this post


Link to post
Share on other sites

If you want to become a serious programmer, it would be better to learn C/C++. But if it will just be a hobby, then I recommend Pascal or Basic (I personally preffer Pascal).

Of course there are so much other languages, but most of them are harder to learn and less powerfull and with slower execution.

1064326309[/snapback]


One thing that is a big help is to have existing source code to work on. By that I mean, do not start by just writing things from scratch. Find an OpenSource project you are interested in, download the source and start figuring out how it works. Make small changes and see what happens. It is often helpful to pick out two projects, one fairly small (a small utility, an iTunes plugin, a web app), and one larger (one of the Apache projects, Mozilla, various Linux/UNIX apps, JEdit, etc.). The smaller project will be easier to change, but the larger project will expose you to different programming styles, organization, structure, etc. If you are working with code you are interested in, you will probably stick with it longer; standard textbook programming examples convey simple concepts, but you don't understand them until you see how they work (or fail to work) in a real world situation. Choose your first language/platform/technologies according to what the project uses.

 

When I started learning Object Oriented Programming, I learned Turbo Pascal (Pascal or various flavors of are *great* for learning by the way, they were designed for it) and was developing/adapting Telegard BBS code for local systems operators. The Telegard code was hacked, ugly, insecure, and bug-ridden. Fortunately, Borland shipped TP with the TurboVision utility library which came with complete source code. It helped immensely to be able to look at well-written, organized, and commented code in order to figure out how to fix the broken BBS code. I think that the ability to see good and bad practices side-by-side is what developed my good programming habits the most. All of the things that the books said was 'good practice' was suddenly very clear. If you just read the textbooks, you cannot see *why* certain things are important. If you just write a program from scratch to learn something and then throw it away, you never learn how hard it can be to maintain your own code or make your code work with an existing structure. This is why I really dislike standard computer science courses.

 

After I learned those important lessons, learning different languages was easy. Since then I have have programmed in C, C++, Modula, Perl, Python, Ruby, Ada (YUCK!), various assembly languages, Java, VB (YUCK!YUCK!), etc., etc. Once you learn the concepts well, picking up new languages is not a big deal. They become just another tool in your toolbox.

 

Another immediate advantage to joining an OpenSource project is you can read through their discussion list archives and ask your own questions. *Most* projects are very helpful with new volunteers; i they are not, volunteer elsewhere. If you go to SourceForge and set up an account, you can search the 'volunteer wanted' lists.

 

I do recommend that beginning programmers look at the various 'Pragmatic Programer' books. For experienced programmers, a lot of what they (Andy Hunt, Dave Thomas) may seems obvious, but most of us had to learn the hard way.

 

All other things being equal, I will say that Python, Ruby, and Pascal (e.g. Delphi) are somewhat better for beginner programmers because they were designed for ease of learning. The languages enforce certain structural conventions that new programmers often have trouble with. They were also designed from scratch, so they are internally consistent and therefore less confusing. Languages like C, C++, Perl, Visual Basic, etc., kind of grew out of a lot of older technologies. They have a lot of old baggage and can be *very* confusing even though they can be very versatile/powerful as well. In particular, I would not recommend starting with Visual Basic. It is in some ways easy to learn and can be powerful in its way, but if you learn it first, it may make it harder to transition to other languages. VB does not make it easy to write good, clean code and much of the sample code available to look at is very badly written as a result. Vb is more of a glue or sticking various bits of the Windows API together than a language in its own right (largely the same for AppleScript). It is a useful tool, but watch your fingers. In the same vein, there is an awful lot of bad C and C++ source code out there and a little that is very good.

 

Python or Ruby (or TCL for that matter) will get you to the point of being able to write your own, from scratch programs faster. They are scripting languages, so you can write a single line program that actually does something. Their interpreters make it very easy for you to try small changes, examine the way the program is running and really see what is happening.

 

C++ is going through a lot of changes still. Folks are still adopting STL (Standard Template Library) and new template constructs which fundamentally change how you write C++ programs. Source code you find will show some three generations of completely different style code. There are now good books that show you how to make some sense of this (Plaugher's book on the STL, Scott Meyers' Effective C++ series, the Boost libraries and documentation, but it is still a bit dicey. Personally, I think it is better to learn another OO language first and let the C++ folks sort things out a little longer. After you know the basic OO concepts, the arguments in the C++ world will make more sense to you.

 

Read articles on your language and programming in general, not just books. Books take a while to get into print and are less controversial. Read some of the decent journals out there (Dr. Dobbs, C/C++ User's Journal, etc., or online equivalents. Track some of the arguments in online discussion lists or standards orgs. Some of the debate may not make sense to you or seem important at first, but as you pick up more experience, they will start to fit in. Eventually, you will have soem of your own zealous oppinions on the *right* way to program. :)

Share this post


Link to post
Share on other sites

I also have to ask you guys, "Where can I learn a programming language?"After thinking about WHY: As a hobby at first and grow up into a freelance or a programmer for some company. I take a great amount of interest in computers and I have to say programming is very vital in this computer world.But first, I have to know where I can learn some stuff. Hmm... the problem is I don't know what language to start out with. I finally decided on HTML to get the hang of what everything is - but I also do not know how to "learn" HTML. Teachers told me that it's a self-learning language through the trial and error method / use of Frontpage codes.It was very intimidating because I had no idea what these codes stood for, except for some. For example, <br> means break (return). <b> is bold, <i> is italics, and that's it. Hahaha!!

Share this post


Link to post
Share on other sites

I also have to ask you guys, "Where can I learn a programming language?"

 

After thinking about WHY: As a hobby at first and grow up into a freelance or a programmer for some company. I take a great amount of interest in computers and I have to say programming is very vital in this computer world.

 

But first, I have to know where I can learn some stuff. Hmm... the problem is I don't know what language to start out with. I finally decided on HTML to get the hang of what everything is - but I also do not know how to "learn" HTML. Teachers told me that it's a self-learning language through the trial and error method / use of Frontpage codes.

 

It was very intimidating because I had no idea what these codes stood for, except for some. For example, <br> means break (return). <b> is bold, <i> is italics, and that's it. Hahaha!!

1064326383[/snapback]

Books, and online sources. For HTML, the official source is the World Wide Web Consortium's HTML Page. Of special note is the HTML validator to use to check your work. There are links to several good tutorials off of that page.

 

HTML is not a programming language per se, just a document format. If you wanted to get started with, say, RUBY:

 

* Ruby Central will get you started. Included there is the online text of Programming Ruby (which I helped review) which is also available in print. More authors are publishing their books both on paper and online now.

 

* The Mondrian IDE is an Integrated Development Environment (editor, debugger, etc.) for Ruby that is itself written in Ruby and is OpenSource. So, you can do your work in it, it is a good source of sample code, and you can work on it as well.

 

For general programming:

 

* SourceForge is a central repository of OpenSource projects with regular 'help wanted' postings.

 

* Safari Online Bookshelf is an online repository of electronic versions of programming books. It works on subscription, but is not expensive.

 

 

Other than that, find other programmers local or online that you can talk to on a regular basis as you go. That is also one of the benefits of working on a project- you get to learn from your peers.

Share this post


Link to post
Share on other sites

So many posts and not a single one cared to mention GCC , MinGW or DevC++.Some times i wonder people just write here for credit ..and write long USELESS stories.to be shortIf Windows : download BloodShed Dev-C++ (gogole it) install if you are using windows.If Linux then get gcc (probably u already have it..but incase not..try installing it from your Distro CD or internet update..all good distros have GCC some where in the installer)essentially GCC in a Compiler Collection ..which has many Compilers..includeing C / C++. Also start by investing in a good book. Stay away from the C++ for Dummies kind of think. Good Book is Object Orriented Programming in C++ by Robert Lafore.Then look for guides and tutorials online for DevCPP in specific and C++ in general.Focus your attention on C++ as you will be working in a differnt and better way than C. You would automatically master C once you have done so for C++. Another good Book is C++ How to Programm by Deitel and Deitel. Its relatively expensive and a big book . But in good depth. It can help you alot.Try searching yourself C/C++ tutorials and Books. Make sure you knwo about differnt compilers out tehre ie MinGW , Cygwin , VC++ etc.The purpose of my reply was to give you smoe pointers. You will ahve to search and work your self. Do focus on GCC as it is the workhorse of Open Source Devlopment.

Share this post


Link to post
Share on other sites

Hai every one
i googled upon some good article on why you need to learn c
i am posting it here i got it from http://forums.xisto.com/no_longer_exists/


Why Learn C?---------------
There are an awful lot of programming languages available right now -- everything from the extremely high level (such as Visual Basic) to the low level power of assembly, and a good variety of specialized options in between (Perl, Ruby, and Python are good choices for many tasks). Java has also become quite the hot programming language for some tasks, in part because of its large API and in part because the virtual machine provides some elements of security. (Garbage collection is another nice feature and can make programmers much more efficient.)

Nevertheless, there are some good reasons to learn to program in C. First, age has its advantages: C has been around for 30 years, and there is a ton of source code available. This means there's a lot to learn from, and a lot to use. Moreover, many of the issues with the language have been clearly elucidated -- it's well understood, and you can find a lot of tutorials available. Plus, with C, you get lots of strong opinions mixed with insights that you can understand.

As a result of its age and its use as the language of system programming for Unix, C has become something of the lingua franca of programming. C is a great language for expressing common ideas in programming in a way that most people are comfortable with. Moreover, a lot of the principles used in C -- for instance, argc and argv for command line parameters, as well as loop constructs and variable types -- will show up in a lot of other languages you learn so you'll be able to talk to people even if they don't know C in a way that's common to both of you.

Third, C is reasonably close to the machine. When you're working with pointers, bytes, and individual bits, things like optimization techniques start to make a lot more sense. There's also utility in knowing exactly how something works underneath the hood -- this helps a great deal when something you're trying to do in a higher level language seems way slower than expected, or just doesn't work at all. You also tend to get a better picture of advanced topics like exactly how networking works. A higher level language will make it a little bit simpler, but it'll be harder to understand what's going on, and when things stop working, it's much better to know exactly what's going on so you can fix it. Additionally, if you like computer science as a discipline, or just like knowing how things work learning the details of the system is great fun.

In fact, a lot of fun programming is done in C -- for instance, system software and data managers such as Berkeley DB. If you want to be able to do more than write a simple web app, C is a great language. If you want to write a great, fast game, C is again a great choice. You can write an entire OS in C. It'll be much harder to do so in Java, and nearly impossible in a scripting language. And the language, being succinct as C is, will probably make your fun program more elegant looking to boot.


Share this post


Link to post
Share on other sites

Like said before, the question is, what do you wanna do with it?

 

Option one, GAME PROGRAMMING

 

Try GameMaker, it's a great program with a very nice language: GML. The syntax of GML is pretty much equal to C++ so it's easy to change if you want to become a more expierenced programmer. You can download GM at https://www.yoyogames.com/ and there's a very good forum at forums.gamemaker.nl.

 

The second option, WINDOWS APPLICATIONS

 

I personaly should try Visual Basic or C# since they're designed by Microsoft and you can make sweet applications with them. C++ is also an option.

 

-=jeroen=-

Share this post


Link to post
Share on other sites

I understand Visual Basic is pretty useful for writing Windows viruses... and not much else.

1064326857[/snapback]


Actually thats not the case,

Visual Basic is completely useless when it comes to coding anything subtle, worms or viruses or anything that needs to be well crafted.

The main reason for this is: MSVBVM60.DLL..

i mean really, "i am sorry i cant start the virus, please install msvbvm60.dll so i can take over you computer, thanks in advance, the friendly virus."

:)

 

VB is only useful for quick and dirty (notice DIRTY) gui aplications for windows.

thouse quick applications that it would be a drag to code in pure win32api because the main part of them is the interface and not the code.

Share this post


Link to post
Share on other sites

I also have to ask you guys, "Where can I learn a programming language?"
After thinking about WHY: As a hobby at first and grow up into a freelance or a programmer for some company. I take a great amount of interest in computers and I have to say programming is very vital in this computer world.

But first, I have to know where I can learn some stuff. Hmm... the problem is I don't know what language to start out with. I finally decided on HTML to get the hang of what everything is - but I also do not know how to "learn" HTML. Teachers told me that it's a self-learning language through the trial and error method / use of Frontpage codes.

It was very intimidating because I had no idea what these codes stood for, except for some. For example, <br> means break (return). <b> is bold, <i> is italics, and that's it. Hahaha!!



I just got started learning to code myself. I went to a site called HTML Goodies and it can teach you about HTML, Perl, ASP, Javascript, Mysql and some others too I think. I've found it very helpful. I've wanted to learn coding for fun, for a game I've wanted to make. But someday maybe I'd like to do it for a career, who knows.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.