PDA

View Full Version : Which is a better beginner's language



Thantos
12-05-2003, 06:46 PM
Out of the two choices provided which do you think is the better language for a person with no prior knowledge or experience to start with.

For my english class we have to write an agruementive essay and I thinking about doing it on this topic.

I would like to know what you all think and more specfically why you think that.

Granted some of you might feel some other language is better the both of these but I'm not addressing that in the paper. Also granted is that the results will be highly biased but thats good for me as it serves my purposes.

Thanks

Edit: Clarification: C is plain ordinary C. Not C++ or C# or some_whacked_out_verion_of_C

Salem
12-05-2003, 07:28 PM
Pascal is by far the better language for teaching someone how to program. It was after all designed with that very purpose in mind.

Pascal (the original) is a nice self-contained language which contains enough to teach you all the principles of good software development. There is no vast repertoire of operators or a large standard library to cope with. There is a strong emphasis on compile time and run-time checking, which means any mistakes you make are easy to diagnose.

This is where you learn how to program. This is your truly portable skill, because the principles learnt here apply to a whole range of programming languages.

Having got past stage 1, learning an specific programming language doesn't take too long (and gets easier the more you know to start with). There are after all a limited number of ways you can write a for loop.

See, once you know how to program, you can design the answer to your problem is a language-independent fashion. After that, its relatively straight-forward to write than in any language you choose given nothing more than a language reference manual. It won't be a great program but it should work nonetheless.

A fair amount of that time can be spent learning all the associate libraries (the STL C++ is huge compared to the C library). This is what makes your use of a language effective, by using all the features available to you (using a library sort for example instead of rolling your own).

C on the other hand is a thoroughly unruly beast which has sooo many ways to bite back if you so much as look at an uninitialised pointer. However, once mastered, you can do some pretty amazing stuff with it.

http://www.lysator.liu.se/c/bwk-on-pascal.html

SMurf
12-05-2003, 07:42 PM
If these are the only options, why is it that the language most recent beginners have been exposed to is by far the dreaded Visual Basic? :eek:

major_small
12-05-2003, 09:58 PM
because that's more of a WYSIWYG thing... I think they meant more like pure coding...

joshdick
12-05-2003, 10:01 PM
If this is for an english assignment, I suggest you consider your audience more thoroughly. Your teacher and classmates most likely will have no clue what you're talking about.

Thantos
12-05-2003, 10:09 PM
Thats part of the assignment joshdick. We have to provide enough background information for the reader to understand the issue.

Thanks Salem, I've ready that paper before and plan to reference it. SMurf I am intentionally limiting it to these two languages so that I can make a two sided issue of it.

One of the beautys of collage english is that you can write on subjects that the audience has no knowledge of. As much as I dislike english this class rocks. Its a class on critical thinking. We've been going over how to form arguements, logical fallises (spelling?), and how to define our terms :)

adrianxw
12-06-2003, 04:06 AM
>>> fallises (spelling?),

Fallacy, Fallacies.

Glirk Dient
12-06-2003, 10:00 AM
Well, I started with C, it took a little while to get the basics but when I got past that part it all made sense.

axon
12-06-2003, 10:23 AM
would you mind posting the essay after you're done with it...I would be interested in reading it....

edit::to contribute to the discussion though: my formal education of programming started in C/C++. I've never learned pascal and probably never will. Before C++ I have had a pretty big dose of javascript and shellscript programming.

Thantos
12-06-2003, 11:24 AM
Thanks adrianxw I didn't have my notes near me and didn't want to fight with the spell checker.

If you want to torture myself with my bad writting then I'll put it up axon.

Scourfish
12-06-2003, 08:32 PM
Originally posted by SMurf
If these are the only options, why is it that the language most recent beginners have been exposed to is by far the dreaded Visual Basic? :eek:

Hehe, I was one of those so called "14m3|25" that started with BASIC. To hell with the elitist ........ants who say "OMG BASIC OH NOES!"

major_small
12-06-2003, 09:15 PM
I learned this way:

writing small batch files (self taught from looking at files like autoexec)
HTML (self taught with books)
HTML/Visual Basic (High school course (one))
C++ (self taught through tutorials)
C++ (two high school classes)
Visual Basic (taking next semester in college)
Advanced Visual Basic/C++ (taking semester after next in college, two classes)

it goes further, but listing more is kinda pointless...

Fahrenheit
12-06-2003, 10:05 PM
I learned HTML first, then worked alot with JavaScript... I think I learned VB next, then C. Been a while, don't quite remember...

Thantos
12-06-2003, 10:20 PM
Its nice to hear all your histories (I'm not being an ass this time), however I would like to know WHY you think one is better then the other for a beginner.

glUser3f
12-07-2003, 07:39 AM
programming languages in the order I learned are:
1. Java
2. C (not C++)
3. Assembly
4. C++
5. PHP
I consider myself really good in Java, C/C++, and PHP, as for Assembly, I learn
new things from time to time, but I can't write useful things in it only, I usually use it within C/C++.
I also know some Perl and bash scripting...
Actually I came up with this order alone, no one told me to learn so or so, but
I think it's one of the good ways to learn programming, starting with Java, Java is a lot easier than C++ (no pointers, templates, operator overloading), and you have to use OOP in order to use it, which teaches you good programming habits
(no globals, abstract types and implementation...), later, C would be easier to
learn then (pointer arithmetic may look new) and so is C++, you will only need to learn C++ syntax, features like templates and operator overloading, and std library, finally PHP would be a piece of cake, and you'll be able to create nice a site for your programming projects ;)

Felix
12-07-2003, 12:39 PM
Originally posted by joshdick
If this is for an english assignment, I suggest you consider your audience more thoroughly. Your teacher and classmates most likely will have no clue what you're talking about.
Why? As long as you keep it simple...
Like :'Pascal is easier to use and learn, but C, being more complicated, has got much more possibilites.' Or something like that. I did it.

nvoigt
12-08-2003, 05:43 AM
Pascal is by far the better language for teaching someone how to program. It was after all designed with that very purpose in mind.

Second that. In school I started out with Pascal and I haven't regreted that.

Concepts of coding need to be taught first, without people wondering about pointers and adresses and segmentation faults.

major_small
12-08-2003, 10:50 AM
>>I would like to know WHY you think one is better then the other for a beginner.

here's my reasoning for learning them:
writing small batch files - didn't even know what i was doing at the time
HTML - very forgiving
Visual Basic (basics) - part of a high school course leading into programming
C++ - high school programming courses (based on Comp sci AP exam at the time, which are now based on Java)
Javascript - wanted to learn some web scripting, and there was a a javascript book laying around
PHP - probably my next language

here's my reasoning for why they should be first:
writing small batch files - only a few lines of code, very simple
HTML - very forgiving
Visual Basic (basics) - a little more code, but still not too much (until you go deeper)
C++ - easy to learn, mostly code, debuggers help you learn from mistakes