Posted: Mon May 29, 2006 10:20 pm Post subject: Second Programming Language
My first programming experience was in Grade 10 Computer Engineering, when our teacher taught us a tiny bit of Q-Basic. Then in Grade 11 Computer Engineering, a different teacher tought us Turing for the use of parallel ports for our Gameshow. Then in Grade 11 Programming, I decided to expand my knowledge of Turing on my own, and since Turing isn't a real programming language (compared to Java or C++), I was thinking of choosing a second programming language to learn. I seem to like Python, but what would a wise choice be after Turing? And what program should I use to script for the specific language, is it free, where to download, etc.
Sponsor Sponsor
wtd
Posted: Tue May 30, 2006 12:16 am Post subject: (No subject)
There are a huge host of languages with free cross-platform compilers or interpreters available for free.
I honestly think the biggest limitations of Turing are the fact that it's not free, and is limited to Windows. Well, that and it's general limitations as a language.
There is no reason Python is any less credible a choice than any other language. Compared to Java or C++ it's probably a more credible choice.
That said... learn something more thoroughly functional. I suggest O'Caml.
Posted: Tue May 30, 2006 12:36 am Post subject: (No subject)
Turing has no limitations as a language. It is turing-complete, and as such can do anything any other programming language can do. It just might be less efficient or harder to do. Difficulty does not equate to impossibility however.
I'd say go with O'caml as a good language to learn. Unfortunately I'm not nearly as widely learned in languages as wtd is but from what I have been instructed over the irc channel O'caml is a pretty good language. If you want to learn something completely different try learning scheme or one of the other lisp variants. Lots of parentheses; but lots of power.
wtd
Posted: Tue May 30, 2006 12:57 am Post subject: (No subject)
Cornflake wrote:
Lots of brackets
Parentheses!
md
Posted: Tue May 30, 2006 1:06 am Post subject: (No subject)
I do not know what you are talking about sir!
For a nice simple language with a syntax similar to turing check out pascal. There are free compilers around (the Free Pascal Compiler comes to mind) and as Turing is partly modeled after it the syntaax would be easy to pick up. Oh, and it's wonderfully powerful as a language
Martin
Posted: Tue May 30, 2006 2:06 am Post subject: (No subject)
Turing is of course a real programming language dude. What makes you think otherwise?
As for the next one, it depends on what you want to do. If you want to branch out into a completely different set of languages that will change the way you think about programming, check out O'Caml, Haskell or Lisp. If you're looking for what is essentially a more powerful version of Turing with lots of extra features, try Objective-C, Ruby or Pascal.
There's no wrong choice here, you'll end up learning languages from both sides of the table.
rizzix
Posted: Tue May 30, 2006 2:59 am Post subject: (No subject)
Objective-C is more smalltalk-ish, than pascal-ish.
Anyway.. I must add in here, while O'Caml is a nice, complex (i.e in the good sense) langauge, you might be better off learing something narrowed down, something pure and something with the powerful Haskell type system for a functional programming language: Clean.
Like Haskell (unlike O'Caml), Clean is a purely functional programming language, but it takes the "Uniqueness typing system" approach to handling side-effects in programs. This is a lot simpler than Haskell's Monads approach. Haskell's Monads approach is very complex, I don't believe any _average_ programmer would be interested in (or even capable of) mastering it. Oh, but don't get the wrong impression here, Haskell is worth the effort!
Anyway, I've only recently started learning it [Clean].. So there's not a whole lot I can say, yet.
Martin
Posted: Tue May 30, 2006 3:19 am Post subject: (No subject)
I think the one problem with learning a less known programming language is the difficulty that you'd have finding help with it if you get stuck.
Sponsor Sponsor
Cervantes
Posted: Tue May 30, 2006 11:31 am Post subject: (No subject)
I recommend learning O'Caml. At the very least, give it a try. You're brain may go through several successive explosions, but these are the good kind of explosions. Consider it a challenge: see how far you can get. If you find it too difficult, you could try Ruby or Python or some other language.
I highly suggest that you take a look at the Turing as a Functional Programming Language before you delve into O'Caml, Haskell, Ruby, Python... really anything. It will introduce you to some of the fundamental concepts of functional programming from within the comfort of an already known language.
Martin wrote:
I think the one problem with learning a less known programming language is the difficulty that you'd have finding help with it if you get stuck.
This isn't necessarily as true as it might seem. When I was dabbling with Io I joined the Io IRC channel on freenode and actually got to ask the developer some questions. Smaller communities are often more welcoming.
wtd
Posted: Tue May 30, 2006 11:37 am Post subject: (No subject)
And there are fewer people around who just think they know what they're talking about. With some of the more popular languages, this is a huge problem.
Guest
Posted: Tue May 30, 2006 5:05 pm Post subject: (No subject)
Martin wrote:
Turing is of course a real programming language dude. What makes you think otherwise?
As for the next one, it depends on what you want to do. If you want to branch out into a completely different set of languages that will change the way you think about programming, check out O'Caml, Haskell or Lisp. If you're looking for what is essentially a more powerful version of Turing with lots of extra features, try Objective-C, Ruby or Pascal.
There's no wrong choice here, you'll end up learning languages from both sides of the table.
It's not a real programming language according to my teacher. Plus, think about it, have you ever seen a real program written for Windows, Mac, or Linux made from Turing that is unique and not done in any other language? (eg: Word Perfect, Firefox, Photoshop) And don't be a stupid forum boy and say "Every program is a real program you n00b". You know Turing programs aren't real programs
Guest
Posted: Tue May 30, 2006 5:18 pm Post subject: (No subject)
wtd wrote:
There are a huge host of languages with free cross-platform compilers or interpreters available for free.
I honestly think the biggest limitations of Turing are the fact that it's not free, and is limited to Windows. Well, that and it's general limitations as a language.
There is no reason Python is any less credible a choice than any other language. Compared to Java or C++ it's probably a more credible choice.
That said... learn something more thoroughly functional. I suggest O'Caml.
Ok, I downloaded it, but there's no compile button. And when I try the help menu, it gives me a french error (I know I have to download the Help menu, but why a french error?) So can you gimme a link to the download of the best O-Caml script program thingy in which I can run my program at any time to test it like Turing?
Tony
Posted: Tue May 30, 2006 5:24 pm Post subject: (No subject)
vahnx wrote:
It's not a real programming language according to my teacher.
so what's a definition of a real programming language?
Quote:
programming language
n.
An artificial language used to write instructions that can be translated into machine language and then executed by a computer.
Please ask your teacher to point out how Turing is excluded from that definition.
vahnx wrote:
You know Turing programs aren't real programs
If you're looking for a commercial quality program made in turing, then I have two words for you - Evasive Maneuvers
Posted: Tue May 30, 2006 7:02 pm Post subject: (No subject)
*Hint*, notice each time i said real, they were in itallics, emphasising that I do not mean they are not real, but that I mean for a programmer, it isn't the best language to really do anything useful in, other than learn.
Nice Evasive Manners game. But I found it abit difficult to read the starry text
Cervantes
Posted: Tue May 30, 2006 7:55 pm Post subject: (No subject)
vahnx wrote:
*Hint*, notice each time i said real, they were in itallics, emphasising...
the word, "real". The exact meaning isn't changed by the use of italics. Besides, I can still effectively argue against your revised statement that Turing isn't a good language to make real-world programs in: Compared to BASIC, Turing is s a great language.
Anyways, that whole debate is unimportant. The meat of the thread here is what language you should learn next.
vahnx wrote:
So can you gimme a link to the download of the best O-Caml script program thingy in which I can run my program at any time to test it like Turing?
You mean an "IDE". Integrated Development Environment. I've never used a IDE specifically O'Caml myself, though some might exist. What you have to realize, however, is that there is nothing magical about the code you write. It is just text. An IDE does not change the code you write. You can use a text editor to write the code in, then execute it via the command line. This may seem cave-man-ish at first, but it's really not that bad. It's a lot easier to pick up on than learning the ins and outs of an entire IDE. Besides, you'll improve your knowledge of the command line, and will probably eventually start using it for things you would previously have done through a GUI.
So, now that all that's said, you need a good text editor. I'm going to assume you're on Windows. In that case, you've got notepad as the default choice. You could also download some other text editors. SciTE is a pretty great text editor that supports syntax highlighting out of the box for many languages (though sadly not O'Caml), among other things.