Hi, I'm looking to learn a programming language in my spare time. Any recommendations? I've never learned programming before in my life. So what is a good language to start with that comes handy in research labs/graduate school?
Hi, I'm looking to learn a programming language in my spare time. Any recommendations? I've never learned programming before in my life. So what is a good language to start with that comes handy in research labs/graduate school?
I'm not sure what will come in handy in a lab, but once you learn a language it becomes much easier to learn other ones.
I know several languages since my undergraduate degree was computer science. I'm not sure what would be useful in a research lab though. I certainly think that learning an object oriented language is conceptually useful, as it teaches you to operationalize what you are trying to program into discrete variables, a skill that is very useful in research.
Java is fairly self-contained and can be used on several operating systems. Lisp is a recursive language, but is very popular for artificial intelligence (along with Prolog). C++ is pervasive (along with its Microsoft derivative C#).
I would say Java is the most versatile, because you can run the program on any system and the graphical user interface is already a part of the programming package. If you wanted to create a suite of software that carries out some type of proprietary IQ testing, or perhaps some type of proprietary personality testing, then you could easily do so with Java and then set it up to run on any operating system. Some of the languages being discussed are purely scripting languages that run within a parent program with limited functionality, thus they will not allow you that level of product development.
Ollie's recommendations are very good, and I wanted to add that finding good resources to learn a language is as important as choosing the language. For me, just learning how programming worked was the most difficult part; once I learned that in one language (matlab for me), switching to others was just a matter of figuring out the different commands and variety in syntax.
I've been (slowly) learning Python, because I wanted to learn a language that was free to use (major downside of matlab...), and it seemed to be a good mix of easy to use and versatile. There also is a lot of material online for it- MIT posts a lot of their computer programming courses for free on their website, and they use Python for their intro classes. I also looked through this thread- http://lifehacker.com/#!375789/best-first-programming-language-to-learn to pick, although there may be more helpful articles out in the internets.