Sunday, March 22, 2015

Lists and arrays

I found this post on lists and arrays in python.

http://www.wired.com/2011/08/python-notes-lists-vs-arrays/

At this point, I've only had two programming courses in my life, one of which consisted of about seven weeks of installing software packages and one week of actual instruction in java. Of course I've had several computational linguistics / NLP courses, and these inevitably involve a good amount of programming, but as far as formal instruction in theory and application of the basics in programming or computer science, my experience is very limited. This has left me with some pretty glaring holes in my knowledge. Over the last five years, largely through projects, I've managed to patch a few of these, but I always feel like I'm playing catch up. I'm a linguist who has picked up some programming, but I often feel like I'd be better off if I were a programmer who picked up some linguistics. I keep telling myself that when I get the time, I'd like to go back to the beginning and try to systematically learn a lot of the fundamentals so I can be on par with anyone with a bachelor's degree in CS, but I haven't been proactive enough in making such time.

Recently, I've been preparing for some technical interviews for summer internships. I've come to realize that python hides a lot of the basics from the user. For example, in some programming languages, a programmer may need to choose between lists, arrays, stacks, queues or linked lists as a data type for a given task, but in python these all basically conflate to simple lists. At least that's my primitive understanding. On one hand, this simplifies things and makes python a nice language for the beginner, but on the other hand, it removes some functionality and obscures a lot of the CS details from the programmer.

If I'm not out of town this summer, I'm looking to find a class or two to audit, or maybe a MOOC to help fill in some of my knowledge gaps. I'll try to post more helpful articles like this one as I encounter them (if only as a reminder to myself). If anyone has found him- or herself in the same boat before, I'd love to hear suggestions for resources or strategies to overcome this hurdle.