View Full Version : New programming language to learn
djr33
10-25-2011, 11:33 PM
Next semester I am considering taking a class in the Electrical and Computer Engineering department about how to use computers to work with (generate and interpret) natural languages. As a linguistics student I don't have any academic background in programming, but I have plenty of experience with PHP.
I asked the instructor what I would need to take the class and he said "some programming experience in a language like C or MatLab that allows for scientific programming." He also said that some students have used other languages like Java, Python or Mathematica.
One option would be for me to use PHP and that's something I'll consider, but I'm wondering if you can give me any advice about a desktop programming language that would be a good one to learn.
So, which of those languages (C [or C+/C#], Java, and Python) would be easiest to learn with my experience in PHP?
Which have the best references? One thing I love about PHP is that php.net has a complete function reference list so it is easy to review anything I've forgotten or fill any gaps in my knowledge.
And, potentially, which would be most useful?
molendijk
10-26-2011, 12:20 AM
I think the only thing that matters is not the exact choice of the computer language, but a theory or method that explicitly distinguishes between the role of pragmatics ('knowledge of the world') and linguistics in the interpretation of linguistic utterances. For instance, causal relationships are often of a pragmatic, non-linguistic nature ('I hit him. He fell') unless linguistically explicited ('I hit him, SO he fell'). An abstract formal linguistic theory that deals with it is the Discourse Representation Theory, see this (http://plato.stanford.edu/entries/discourse-representation-theory/).
===
Arie.
I've been thinking about picking up a new language, considering many of the same ones you mention. So far I'm leaning towards Python. It's object-oriented, very understandable syntax, portable and fast.
...which of those languages [...] would be easiest to learn with my experience in PHP?
I'm picking it up quite easily. it's very straightforward. This book (http://learnpythonthehardway.org/book/) is written for the absolute beginner, but it's a great introduction (expect to breeze through the first 20 or so exercises pretty quickly).
language reference (http://docs.python.org/reference/)
standard library (http://docs.python.org/library/)
djr33
10-26-2011, 01:20 AM
Adrian, thanks for the info. At the moment I am thinking I might look into python, especially because it is so easy to use on a server as well and I wouldn't want to spend a lot of time using a language that can't be used in web design at all (or at least without difficulty). My choice is between Python and C (unless someone has a reason to choose another), and that's basically a decision between Python (which I've heard good things about) and C, which is the old reliable language that probably would be useful in a general sense, not to mention able to write code that is very fast.
I think I'll start to use that tutorial in my free time (as if I have free time, but I'll make some).
Arie, believe me there's plenty to be said about that. (I'm a PhD student in linguistics.) But at the moment I'm looking for the right programming language to start working with this. And, to me at least, pragmatics is a secondary problem because first we need to parse the natural languages literally, then pragmatics can be added on top. Skipping that leads to purely statistical models (like google translate) that are both inherently limited (and need huge amounts of data to get anywhere in the first place) and more importantly aren't actually based on any understanding of language-- just based on statistical probabilities that certain inputs may correspond to certain outputs-- that's nothing more than imitating language (and usually quite badly), unless you want to argue that language is not structured, but that's a very difficult position to back up.
You should get python on your local machine (there's actually a pretty good chance that it's already there) if you want to try it.
DaForce
10-27-2011, 02:55 PM
Go for phyton, it is really nice and easy, give it a try.
mburt
10-28-2011, 08:51 PM
I can remember using Python about 4 or 5 years ago and I loved it. I use an extension called "wxPython" or something to make Windows desktop applications (it was incredibly easy).
So that would be my recommendation for you also.
Powered by vBulletin® Version 4.2.2 Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.