LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Best Beginner programing language... (https://www.linuxquestions.org/questions/programming-9/best-beginner-programing-language-422315/)

ta0kira 03-07-2006 12:12 PM

I'd go old school BASIC (NOT Visual Basic) because it teaches you the basics of procedural and logical programming (which is needed for any other language) without being able to hurt anything, and then move on to C++ once you have a grasp on how to use variables, logic, conditional statements, etc. Then, if you really need to make some fast code or do some kernel/Gnome programming then learn C (yes; you would need to learn what parts of C++ are actually C), and then possibly asm.
ta0kira

xhi 03-07-2006 03:06 PM

C
imo, it gives you the basic building blocks of programming just as easy as anything else, and then is still actually useful after you learn it.. plus it is an excellent stepping stone to c++.. after you know what programming is all about you can learn about OO development while learning c++..

dmail 03-07-2006 06:12 PM

Quote:

Originally Posted by ta0kira
I'd go old school BASIC (NOT Visual Basic) because it teaches you the basics of procedural and logical programming (which is needed for any other language) without being able to hurt anything, and then move on to C++ once you have a grasp on how to use variables, logic, conditional statements, etc. Then, if you really need to make some fast code or do some kernel/Gnome programming then learn C (yes; you would need to learn what parts of C++ are actually C), and then possibly asm.
ta0kira

I agree with this. I don't think C or C++ are a good starting block as some people are suggesting. The thing about learning programming is not the language itself but more so the thought process and then the basics of looping conditions etc. etc. Once you know these you can then implement then in other languages.
Or atleast this is what I think.

ckoniecny 03-07-2006 06:45 PM

C for Linux
VB for Windows

95se 03-07-2006 07:37 PM

Personally, I started w/ HTML like you. Then when I was about 14 I read over about half of one of my dad's Visual Basic book and followed the examples in that. I only kept up VB for about 2 weeks, and I started w/ Assembly, then C. I personally think C is the best language. It gives you good fundamentals, but doesn't get you bogged down w/ learning OO at the same time. Most people I see learning w/ C++ just do C-style C++ for the first couple of months anyways. C just makes sense and will get you thinking like a programmer, there aren't many "quirks" (contrary to dmail's thoughts).

primo 03-08-2006 12:57 AM

It's strange nobody has voted yet for Pascal. I started with it because a college math book with a Pascal reference in the appendix. The language was so intuitive that I quickly started playing with the whole API. It's good to learn programming. But C is the one that started it all...

nx5000 03-08-2006 02:14 AM

First you have to understand what an algorithm is, that is decompose a problem in little steps, which can be idependently used.
Basic is using lots of goto and things. While C is more procedural. I'm not so sure about the usefullness of Basic. Why not logo also :)

To my mind, the first should be C (maybe pascal is even better because simpler).
Then for understanding pointers it can be good to play a bit with assembly language. In school I was really happy to have learn assembly language just after pascal. Then when I went to C, when nobody understood what a pointer was, I understood the most important part of it in 10mn.

And C is used in Linux.
* I would also suggest looking at /usr/src/linux/Documentation/CodingStyle and inspire yourself of it.
* Make small procedures, make them always return error codes (when you debug a complex program, if you have no error codes, you're dead).
* Buy a book like Kernighan&Ritchie and do some examples (some are not easy for a beginner)

For ObjectOriented: C++ with a very good book (I have one online but only in french, if somebody is interested..) / Java (with a good IDE and the javadoc).
Lisp, Perl, Python.

mfrick 03-08-2006 06:47 PM

C for me.

powerful when you know it and also a great base for learning additional languages.

If going OO then I started with java

wwnexc 03-08-2006 11:28 PM

Basic is very easy to learn, and it gives you an idea of how programming works.

Basic is very basic, though, and will probably do you little good in the long run, but it's a good place to start.

EDIT:
The other languages listed, all seem to be a little harder to get into, but therefore they are usually looked at as "more powerful". I am taking Java (at college) at the moment, and all the people with no prior experience dropped out in the first week, even though it's a beginner's course.

Just my :twocents:

arunvk 03-09-2006 01:34 AM

well its C++. i started off with C++, then gradually i did other languages. i found that C++ covers every concept like pointers, object oriented programming, modular programming etc. java on the other hand doesnt have the concept of pointers so people who know only java dont know what pointers are and how to use them.

so i would say C++ gives the best platform for a newbie.

blanks 03-09-2006 12:01 PM

I couldn't resist posting this quote from Edsgar Dijkstra, a founding father of computer science:

"It is practically impossible to teach good programming style to students that have had prior exposure
to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration."

paulsm4 03-09-2006 02:59 PM

I like it, blanks! Thanx for the post!

In a similar vein:
Quote:

BASIC programmers never die, they GOSUB and don't RETURN
- anon.
PS:
I think Visual Basic s---s as a language...
... but I find that it's very often unbeatable as a quick, useful tool.

Another quote I really like:
Quote:

Box's First Commandment:
If thou can use VB, thou shalt use VB!
- Don Box, ObjectMentor

airswit 03-09-2006 04:17 PM

i think assembly is a damn neat language. i have never used it for a pc, but i use it for my microprocessors/microcontrollers, and i think it is just sweet. it definately takes a while to get the hang of, and pretty detailed. i think its a good one to start with, if you are going to be doing any hardware stuff, since it really gets you into the internals of the system, and forces you to use 'pointers' and a small set of data structures to accomplish everything. after that, i think c is a really good language, because it is pretty robust, and does not let you implicitly typecast very easily (like a superhigh level language, like PHP or javascript, where explicit declarations are not required).
as a side note, i don't think html is really a programming language, as in the name it calls itself a markup language. this is not language, this is scripting/markup

computer_tom 03-09-2006 06:39 PM

I want to thank everyone that has replyed. i have found it helpful. i for one dont go for C (dont know why, guess i am just bias against it lol) and am finding java has a good syntax but the interface sucks, but will stick with it :) thanks again, computer_tom

alaskazimm 03-09-2006 06:42 PM

Python, although when you get down to it - most languages are similar.


All times are GMT -5. The time now is 01:01 PM.