A Digital Age Deserves A Digital Leader

which language to begin with?

which language to begin with?

Postby scroll1 » Thu Apr 08, 2004 11:05 am

Sorry about the lameness of such a question, but...
Each year goes by and I promise myself to start learning to program. I start things like C, C++, VB etc. but get lost quickly... :dontgetit
Can someone recommend a good starting point? I guess I would like to program windows apps, but I have a small knowledge of linux.
thanks for any advice :unsure:
PRO Level 2
Posts: 10
Joined: Mon Apr 05, 2004 10:04 pm
Location: Australia

Postby Weaver » Thu Apr 08, 2004 3:33 pm

There are a lot of people who are going to tell you to start with Visual Basic. Do not start with VB or VB.net. VB is not an ideal language for at least two reasons. First off, it is not portable. Secondly, the programming habits it teaches are not portable either. In my experience, many bad programmers are created as a result of VB. I am not saying that there aren't any good VB programmers or that VB cannot create a good programmer. I am just saying that in my experience, and the experience of the places that I have worked, VB has a less than ideal effect on would be programmers and existing programmers.

If you would like my honest opinion, a language like PHP or Python is ideal for a beginning programmer. Both are portable languages and will get you off on the right track to becoming a great programmer.

C/C++/Java - Too complex for an introductory language. C++ is seen as difficult/complex even by hardened programmers.

Perl - Where to start with Perl... I respect Larry Wall, I respect Perl's text manipulation and parsing abilities. However, it is not a language for a new programmer.

The two roads below outline possible paths.

PHP -> Java
Python -> Java

PHP and Python are just fun languages. They are fun to learn, and fun to program in. I really enjoy both of them and they have made great learning languages to the people that have taken my advice.

Once through PHP or Python, you have a decision to make. You need to move up to a "full-fledged" language. The 3 choices are naturally C, C++, or Java. If you aren't doing systems programming or OS development, C is thrown out right away. If you are writing mission critical programs that require a lot of speed, and are quite complex... C++ is often used. C can be used as well but for complex tasks C++ often simplifies your life through the Object Oriented aspect. This leaves Java for the rest of the things. Most applications should be written in Java, at least that is my thinking right now. It may change in the future.

Java is a great language to pickup. It's popularity is increasing daily. Countless C++ programmers have turned to Java as a language of choice. Much more platform independent than C or C++ and another fun language to program in.

If you absolutely despise Java for some reason, do not worry. C and C++ are not going away any time soon. Learn one of them instead.

Now that we have the languages taken care of, you need to begin learning. My advice is to not learn from online tutorials. You need to get yourself a good book if this is your first time at programming. Don't find some cracked e-book online either. Get yourself a physical book. Take it with you, and read it wherever you can. If you would like someone to recommend books, just ask.

Lastly, do not give up. Programming is an adventure into your own creativity and understanding. Many people give up because they find it too difficult. It is not that it is too difficult, it just requires creativity. Stick with it through the problems, you will be plenty satisfied in the end.

I am sure I forgot a few things, so ask questions.

-Weaver
Public Keys

The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi change.
-- FORTRAN manual for Xerox Computers
PROfessional Member
User avatar
Posts: 1967
Joined: Wed Jun 19, 2002 12:05 am
Location: /home/weaver/

Postby scroll1 » Thu Apr 08, 2004 10:52 pm

thanks so much for your "in depth" reply.
I'll do some intro reading on PHP and Python and see which one I attracts me...Python has been showing itself to me as a possibility for a while now.
I do also run OSX and Linux, so the attraction to a portable language seems obvious to me, thus Java would be an obvious choice to run on all three.
Maybe you could point me in the direction of some good Python books, if I choice that over PHP. I agree with the "real book" approach, it is alot more portable and immersing. (Much easier to sneak it onto the breakfast table than my laptop... :lol: )
Thanks for the offer of more advice, I'll keep in touch when I make my choice and then dive in.
I am at present reading a fascinating book on assembly by Jeff Dutemann, not that I want to get anywhere near assembly, just that it was a really good read and described programming and computer operations in a very basic and understandable way. Albeit, possibly out of date....

thanks again for your leads, I'll do some research on Python or PHP

cheers,
Scroll1
PRO Level 2
Posts: 10
Joined: Mon Apr 05, 2004 10:04 pm
Location: Australia

Postby twhite56 » Fri Apr 09, 2004 12:12 am

Okay question along the same lines: What about ASP? Isn't asp mostly based on VB or not? Just curious, i'm learning asp and it's relatively easy, i like it, especially because of the compatability and querying of access db's
PROfessional Member
User avatar
Posts: 373
Joined: Sun Jan 11, 2004 12:24 am

Postby imnuts » Fri Apr 09, 2004 12:36 am

i would also like to know what a good book would be for python since im getting ready to install linux and would like to learn programming
Image
PRO SUPREME
User avatar
Posts: 7457
Joined: Wed Mar 24, 2004 5:19 am
Location: Boothwyn, Pennsylvania
Real Name: Mark

Postby Weaver » Fri Apr 09, 2004 2:13 am

Unfortunately I cannot recommend a Python book from personal experience since I learned Python from the tutorials. I learned PHP the same way but own a few PHP books. Things get easier once you get a few languages under your belt. Once you learn a language, you can begin to learn other languages from online tutorials. It is just getting those initial programming concepts down that is the real hard part.

The book linked below (sorry for the long link) is from Amazon and is rated quite high. It is supposed to be Python programming for absolute beginners. I am going to assume that this means no programming experience required.

http://www.amazon.com/exec/obidos/tg/de ... ce&s=books

You mentioned an interest in assembly programming. If you haven't read Randall Hyde's Art of Assembly then you are missing out. This book should be required reading for anyone who wants to not only learn assembly, but wants to learn how computers really work, specifically x86 based computers.

The book is available free online, you can also order published versions.

http://webster.cs.ucr.edu/AoA/index.html

-Weaver
Public Keys

The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi change.
-- FORTRAN manual for Xerox Computers
PROfessional Member
User avatar
Posts: 1967
Joined: Wed Jun 19, 2002 12:05 am
Location: /home/weaver/

Postby Weaver » Fri Apr 09, 2004 2:15 am

twhite56 wrote:Okay question along the same lines: What about ASP? Isn't asp mostly based on VB or not? Just curious, i'm learning asp and it's relatively easy, i like it, especially because of the compatability and querying of access db's


Personally, I am not very familiar with ASP. I don't think I have actually written any myself. I have reviewed some of the looping logic of some other people's code but never actually done any myself. I like to stay away from hardware/platform dependent initiatives. Independence is a great thing in computing.

-Weaver
Public Keys

The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi change.
-- FORTRAN manual for Xerox Computers
PROfessional Member
User avatar
Posts: 1967
Joined: Wed Jun 19, 2002 12:05 am
Location: /home/weaver/

Postby Alexl » Thu Apr 15, 2004 9:18 pm

To answer your original question:

The BEST language to start with (in my opinion) is Liberty BASIC. It puts what takes 100 lines of code in C and turns it into about 20.

It is available at libertybasic.com, and it comes with a six-week tutorial that teaches you the basics. You can download the unregistered version and get the occasional reminders that your version is unregistered and the disability to make executable files.

Getting a licence allows you to do so, in the manner that you can create folders with executables that will run your program.

There are excelent Libertty BASIC rescource sites, including a very helpful forum (libertybasic.conforums.com) in which the Author of Liberty BASIC, Carl Gundel, actively participates in.

That is my suggestion.

HTH,
Alexl
PRO Level 2
Posts: 12
Joined: Thu Apr 15, 2004 11:58 am

Postby A7RSTR7K3 » Mon Apr 19, 2004 10:18 pm

I tried to start with C++ which was not a good idea. Take the other peoples advice and start with python or php. They help a lot to get you in the right mindset for programmin. And books are also great. Something about the hard copy that just makes it easier to start. Once you get better you could probably start learning from txt files and tutorials, (I still prefer books)
Those who think they know everything annoythose of us that do. (I am in no way implying that I know everything)
PRO New Member
Posts: 6
Joined: Mon Apr 19, 2004 6:52 pm
Location: Arizona

Postby scroll1 » Tue Apr 20, 2004 12:32 am

Thanks for all the advice...
I have chosen to start with Python, I love the cross platform capabilities. I have picked up a good book:
"Python Programming for the absolute beginner", Michael Dawson.

It is very clearly written, with game coding examples used..which is a lot of fun! I think I'll be moving quickly through this book, so others will follow...
PRO Level 2
Posts: 10
Joined: Mon Apr 05, 2004 10:04 pm
Location: Australia

Next

Return to HTML, CSS, and Scripts

Who is online

Users browsing this forum: No registered users and 1 guest

cron
cron