Which programming language?

gobeavs

Junior Member
Mar 7, 2004
16
0
0
I want to start learning some programming languages which will be a valuable skill down the road for me. I am currently in 10th grade so I don't need to go straight to C now, I can take some time learning other languages if that is a better path. I have heard about python, C, C++, Perl, java, etc. but I don't know which ones are the most useful (I use linux and windows). I have heard that python is pretty easy, so should I learn that first and use that as a foundation for C? Guidance would be greatly appreciated .
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Yeah learning python first seems like a pretty good idea. Then perhaps you could learn C and see how it all fits together. But really, if you've got the mind of a programmer, the order in which you learn languages shouldn't matter too much.
 

Zugzwang152

Lifer
Oct 30, 2001
12,134
1
0
definitely learn a high level language to start.

If you just want to toy around with the concepts, start with a web scripting language, like JavaScript or PHP (I recommend PHP). Basic concepts like flow control, data types and modularity are constant no matter what language you use, and if you use a simple to configure, easy to jump in language, you can get right into the meat of things without worrying why your compiler isn't working right.

If you prefer to start with a full language, then go with Java. C and its evil pointers can come later, after you know the different between a for-loop, a bigInt and an array
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
But really, if you've got the mind of a programmer, the order in which you learn languages shouldn't matter too much.

That is the key, it takes a certain kind of person to be a programmer and the language used is largely irrelevant. Most languages are the same at the core with only minor differences in syntax, requirements, etc. Pick one and run with it, chances are if you actually like it you'll be able to pick up any other language without too much trouble.
 

ArmchairAthlete

Diamond Member
Dec 3, 2002
3,763
0
0
Python is *very* easy to start with. I started with Java, but my first actual CS course (this semester) was in Python, which was simpler to start with. I was thinking it would be Java, but the department decided on Python. They'd been playing around with ideas for what language was best for new freshman. My Java experience won't go to waste though, I think I'll be using that in-class next semester.

EDIT: And it's true that soon the languages aren't the important thing. There are concepts that exist in all languages, some that are in all high-level languages. Eventually I think you can just see the strengths of a language and then pick up the syntax and use it if it's something you need.

Going from Java to Python was easy (maybe because I'd only been using Java a couple months). It's just losing a lot of restrictions, might be harder the other way around.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: Zugzwang152
Basic concepts like ... modularity are constant no matter what language you use
I'd have to disagree pretty strongly with that. Modularity is whole different ball game when moving between languages like java and c. That is, if you use object oriented languages like they were meant to be used; you could always use java just like c if you want.

I would also argue with you about flow control too because there are certainly languages that don't operate in the same manner but none have been mentioned here and they aren't likely to be so I'll just shut up
 

AFB

Lifer
Jan 10, 2004
10,718
3
0
Originally posted by: Zugzwang152
definitely learn a high level language to start.

If you just want to toy around with the concepts, start with a web scripting language, like JavaScript or PHP (I recommend PHP). Basic concepts like flow control, data types and modularity are constant no matter what language you use, and if you use a simple to configure, easy to jump in language, you can get right into the meat of things without worrying why your compiler isn't working right.

If you prefer to start with a full language, then go with Java. C and its evil pointers can come later, after you know the different between a for-loop, a bigInt and an array

PHP :thumbsup:
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Originally posted by: kamper
Originally posted by: Zugzwang152
Basic concepts like ... modularity are constant no matter what language you use
I'd have to disagree pretty strongly with that. Modularity is whole different ball game when moving between languages like java and c. That is, if you use object oriented languages like they were meant to be used; you could always use java just like c if you want.

I would also argue with you about flow control too because there are certainly languages that don't operate in the same manner but none have been mentioned here and they aren't likely to be so I'll just shut up

Modularity and flow control are different in Java and C, true; but they're still important in both, regardless of the different semantics.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: BingBongWongFooey
Originally posted by: kamper
Originally posted by: Zugzwang152
Basic concepts like ... modularity are constant no matter what language you use
I'd have to disagree pretty strongly with that. Modularity is whole different ball game when moving between languages like java and c. That is, if you use object oriented languages like they were meant to be used; you could always use java just like c if you want.

I would also argue with you about flow control too because there are certainly languages that don't operate in the same manner but none have been mentioned here and they aren't likely to be so I'll just shut up

Modularity and flow control are different in Java and C, true; but they're still important in both, regardless of the different semantics.

For flow control I was considering java and c to be more or less equivalent. You still have predicteable linear program flow. I was alluding to functional programming languages like lisp or haskell that specify what should happen but not how to do it. But that's a little beyond my realm of experience and beyond what gobeavs was asking which is why I didn't elaborate
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Originally posted by: kamper
For flow control I was considering java and c to be more or less equivalent. You still have predicteable linear program flow. I was alluding to functional programming languages like lisp or haskell that specify what should happen but not how to do it. But that's a little beyond my realm of experience and beyond what gobeavs was asking which is why I didn't elaborate

You can program like that in python, to an extent.
 

ttown

Platinum Member
Oct 27, 2003
2,412
0
0
java will be most usefull

everything you learn in java can be applied toward any other language

and as a bonus, you can get everything you need for free
java ==> sun.com
development environment ==> eclipse.org

tutorials, documentation ==> everywhere
 

mattg1981

Senior member
Jun 19, 2003
957
0
76
java is the easiest language to learn I would say (besides useless langauges like Tiny and ones like that)
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: ttown
everything you learn in java can be applied toward any other language

Again, I've got to protest. (man, I'm real contradictory today )

Whenever I leave java for another language I spend most of my time complaining that you can't do in the other language what you can do in java.

With c it's obviously the oo part, it pisses me off to no end that I can't setup something like a StringTokenizer and have it keep information for me until I need it later. Like I want it to keep whatever part of a string that I haven't retrieved in tokens yet. But that requires either static variables (ugly because you have to be careful to clean them up after and because they only allow for one instance of the "object" you're trying to emulate among other things) or you keep the data yourself which requires you to keep passing data into your tokenizing functions.

In languages like python or php it's type safety. With them I'm always trying to enforce some kind of type safety at run time when I really want the compiler to do it for me. But that goes against the whole idea of the dynamic typing that is really a fundamental feature of the languages

It's not deficiencies in the models of these other languages: it's me trying to apply the wrong model to them. You simply can't use the same patterns and habits from one language to the next and that's why it's so hard to be an expert in multiple, different languages. I'm an expert in none of them but java is by far my best.
 

oog

Golden Member
Feb 14, 2002
1,721
0
0
pick a type of application you want to program and that will narrow down the choices. for instance, if you're building web applications, C probably doesn't make much sense.
 

Zugzwang152

Lifer
Oct 30, 2001
12,134
1
0
Originally posted by: kamper
Originally posted by: BingBongWongFooey
Originally posted by: kamper
Originally posted by: Zugzwang152
Basic concepts like ... modularity are constant no matter what language you use
I'd have to disagree pretty strongly with that. Modularity is whole different ball game when moving between languages like java and c. That is, if you use object oriented languages like they were meant to be used; you could always use java just like c if you want.

I would also argue with you about flow control too because there are certainly languages that don't operate in the same manner but none have been mentioned here and they aren't likely to be so I'll just shut up

Modularity and flow control are different in Java and C, true; but they're still important in both, regardless of the different semantics.

For flow control I was considering java and c to be more or less equivalent. You still have predicteable linear program flow. I was alluding to functional programming languages like lisp or haskell that specify what should happen but not how to do it. But that's a little beyond my realm of experience and beyond what gobeavs was asking which is why I didn't elaborate

i guess i should have said "flow control statements" instead of just flow control. what i meant was, you've got your for, while, do-while loops, and they don't change even if you were in C or Java or PHP.
 

gobeavs

Junior Member
Mar 7, 2004
16
0
0
Originally posted by: oog
pick a type of application you want to program and that will narrow down the choices. for instance, if you're building web applications, C probably doesn't make much sense.

I don't have any specific app in mind, I just want to know programming to add to my list of skills. Plus, I want to go into a scientific field and if I can program my own programs it is a plus .
 

Zugzwang152

Lifer
Oct 30, 2001
12,134
1
0
Originally posted by: gobeavs
Originally posted by: oog
pick a type of application you want to program and that will narrow down the choices. for instance, if you're building web applications, C probably doesn't make much sense.

I don't have any specific app in mind, I just want to know programming to add to my list of skills. Plus, I want to go into a scientific field and if I can program my own programs it is a plus .

sounds like you should go into web programming. the results are more tangible.
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
Originally posted by: gobeavs
Originally posted by: oog
pick a type of application you want to program and that will narrow down the choices. for instance, if you're building web applications, C probably doesn't make much sense.

I don't have any specific app in mind, I just want to know programming to add to my list of skills. Plus, I want to go into a scientific field and if I can program my own programs it is a plus .

Yes it is, and you'll probably use Fortran, C, or C++
But as others have said, wrap your head around programming in general. Once you've done that, picking up additional languages isn't that difficult, although moving from a modern language, particularly an oo one, to Fortran is always painful. There's always F95 I guess, but I don't know anybody that actrually uses it
 

notfred

Lifer
Feb 12, 2001
38,241
4
0
Lots of superlatives in this thread. You generally shouldn't believe anyone who says any particular language is the best or worst, or easiest or hardest, etc. No one has experience with every programming language, and when someone says "java is the easiest", he really means "java is easier than any other language I've persoanlly used", which, for all we know, is just java and C.
 

Zugzwang152

Lifer
Oct 30, 2001
12,134
1
0
Originally posted by: notfred
Lots of superlatives in this thread. You generally shouldn't believe anyone who says any particular language is the best or worst, or easiest or hardest, etc. No one has experience with every programming language, and when someone says "java is the easiest", he really means "java is easier than any other language I've persoanlly used", which, for all we know, is just java and C.

so is this your subtle way of recommending perl?
 
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/    |