How many languages?
Author |
Message |
Nathan4102
|
Posted: Fri Mar 22, 2013 1:17 pm Post subject: How many languages? |
|
|
Hey guys, How many languages should I attempt to learn before university? 1? 2? 5? 10??? Currently I'm in grade 10, and I only know basic Turing and Free-pascal. I have time to learn languages, and the resources to do so, I'm just wondering how many would be a good amount to know going into university.
Also, as a side question, would python be a good language to learn next? I need something that would be free, and something with a somewhat alive community where I can find help.
Thanks! |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Tony
|
Posted: Fri Mar 22, 2013 1:50 pm Post subject: RE:How many languages? |
|
|
It's not about the number of languages, but about number of different paradigms. Functional, Object Oriented, Concurrent, etc.
Python or Ruby would be an excellent language to pick up next. |
Tony's programming blog. DWITE - a programming contest. |
|
|
|
|
jbking
|
Posted: Fri Mar 22, 2013 4:33 pm Post subject: Re: How many languages? |
|
|
Something else to consider is how abstract do you want the languages to be? Turing and Pascal can be somewhat abstract and so it may be worthwhile to get into C or Assembler to get into something low level just to see the difference. At the same time, it may be useful to consider languages used in web development like Ruby, Python or JavaScript.
It may be worth looking at scripts, applications, services, etc. just to play with different uses of software. |
|
|
|
|
|
Nathan4102
|
Posted: Fri Mar 22, 2013 6:04 pm Post subject: RE:How many languages? |
|
|
Wow Tony, i've never thought of it like that. I guess all my languages so far have been procedural or functional, I know what Object Oriented is, what is concurrent though?
And thanks JBKing, Is assembly really that useful? It seems like a pain in the ass to learn, with little to no use. And I do need to expand my knowledge to web development, I've been considering learning JavaScript, HTML, or PHP. |
|
|
|
|
|
Tony
|
|
|
|
|
wtd
|
Posted: Fri Mar 22, 2013 11:50 pm Post subject: RE:How many languages? |
|
|
To expand on Tony's point: languages are not nearly as important as basic concepts. Once you know the concepts, the languages are the relatively easy part. Probably best to start with the most approachable ones, and tackle the more troublesome languages once you already have the concepts down. |
|
|
|
|
|
DemonWasp
|
Posted: Sat Mar 23, 2013 12:02 am Post subject: RE:How many languages? |
|
|
Also, to touch on assembly (all types), it's not that people write code in assembly. That's incredibly painful, and completely unnecessary for the vast majority of programming. Even most operating systems have little-to-no assembly code in them.
The key about assembly is that it's important for a lot of programmers to know about because they have to read compiled code (which is in assembly or some similar intermediate format). Compiler-writers often have to know all about (many variations on) assembly, and embedded developers often have to know about at least one kind of assembly.
Learning about assembly is also basically a given past a certain point. A lot of facts about higher-level programs and programming stem from decisions made decades ago by people who designed the instruction sets we're using today (mostly x86-64, ARM, PowerPC and a small handful of others). Certainly if you ever take a course on Operating Systems or Computer Architecture, you'll see a lot of assembly code.
As for languages to learn before going to university, Tony made two great suggestions. They're great for at least two reasons: Python and Ruby are both great languages to learn about programming with, but they're also great for getting jobs with, which is especially important if you're going into a co-op program or planning on working over the summer.
Languages like Scheme and LISP are less common in the industry, but are common to university CS programs. Languages like C[++] or Java are very common in the industry but probably won't teach you much (except perseverance). |
|
|
|
|
|
wtd
|
Posted: Sat Mar 23, 2013 12:09 am Post subject: RE:How many languages? |
|
|
Scheme and/or LISP are worth learning if for no other reason that the cognitive dissonance they represent after learning pretty much any other programming language.
Hitting the reset button on ideas can be important. |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Nathan4102
|
Posted: Sat Mar 23, 2013 10:59 am Post subject: RE:How many languages? |
|
|
Thanks for all the ideas and answers guys!
I'm going to start learning python Monday as many of you suggested, its one of three languages I can do at school. Although it sounds like assembly is good to learn, I think I'll leave it for a little later on, I don't feel I know enough about computers, and programming in general to tackle that. |
|
|
|
|
|
mirhagk
|
Posted: Tue Mar 26, 2013 4:09 pm Post subject: RE:How many languages? |
|
|
Haskell is imilar to LISP/Scheme and it's VERY popular with profs at my school. Like if you know haskell well, you're guaranteed research jobs at McMaster |
|
|
|
|
|
Cancer Sol
|
Posted: Tue Mar 26, 2013 6:05 pm Post subject: Re: RE:How many languages? |
|
|
Nathan4102 @ 3/22/2013, 6:04 pm wrote: Wow Tony, i've never thought of it like that. I guess all my languages so far have been procedural or functional, I know what Object Oriented is, what is concurrent though?
And thanks JBKing, Is assembly really that useful? It seems like a pain in the ass to learn, with little to no use. And I do need to expand my knowledge to web development, I've been considering learning JavaScript, HTML, or PHP.
If you find a programming language hard to learn, wouldn't other ones be hard as well? If you compare a language to another, there's a lot of the same things, e.g., if statements, loops, functions, arrays, etc. There are lots of differences though, of course. For e.g., Turing doesn't need header files wile C and C++ does. I don't really know much about CompSci still though, just started about a month ago. Also, it probably depends on what kind of program you're planning on making in the future, like are you going to be developing games, or something else?
Imo, quantity < quality, although, knowing more languages aren't bad of course. Just don't learn the basics of a language and skip to a different one and program with every language, unless you don't like it. Just stick with what you like better.
Don't listen to my advice 100% though... I'm just a 50% average student xD
Gl though.
Edit: Oh crap. I think I basically restated some of the above posts that I didn't read when I was typing the post up. My bad. |
|
|
|
|
|
Insectoid
|
Posted: Tue Mar 26, 2013 6:24 pm Post subject: RE:How many languages? |
|
|
Quote: Turing doesn't need header files wile C and C++ does.
C++ doesn't need header files. It's just a convenience. Makes everything easier.
As was probably previously mentioned, knowing a language isn't nearly as important as knowing how to program. Learning a language is easy. Learning to program...well, that's either easy or hard, depending on you. |
|
|
|
|
|
Cancer Sol
|
Posted: Tue Mar 26, 2013 6:57 pm Post subject: Re: RE:How many languages? |
|
|
Insectoid @ 3/26/2013, 6:24 pm wrote: Quote: Turing doesn't need header files wile C and C++ does.
C++ doesn't need header files. It's just a convenience. Makes everything easier.
As was probably previously mentioned, knowing a language isn't nearly as important as knowing how to program. Learning a language is easy. Learning to program...well, that's either easy or hard, depending on you.
Oh... I thought it does.
Quote:
Turing doesn't need header files wile C and C++ does.
I spelled while wrong -_-
If you don't use header files for C++, what functions are available though? |
|
|
|
|
|
Insectoid
|
Posted: Tue Mar 26, 2013 7:11 pm Post subject: RE:How many languages? |
|
|
Turing's entire library is automatically included, whether you use it or not. In C++, the libraries are written to include header files, however the libraries you write don't need them at all. It's probably in your best interest to use them, but it's not required. |
|
|
|
|
|
|
|