Personal Development for Smart People Forums

Personal Development for Smart PeopleTM Forums

 

Go Back   Personal Development for Smart People Forums > Personal Development > Personal Effectiveness

Notices

Personal Effectiveness Goals, productivity, time management, motivation, self-discipline, overcoming procrastination, habits, organizing, problem-solving, decision-making, intelligence

Reply
 
Thread Tools Display Modes
Old 09-25-2009, 05:21 AM   #1 (permalink)
Senior Member
 
Join Date: Oct 2008
Location: Cleveland, OH
Posts: 614
runningbird is on a distinguished road
Default Are programming languages and natural languages cross-beneficial?

Ever since I learned that language acquisition becomes easier with each additional language you learn, I have speculated on whether practicing programming languages and natural languages can be mutually beneficial towards each other. I am not particularly skilled in either of these categories, but both seem advantageous to my life goals and interesting to me right now.

I know that programming is much different than speaking a language (I've had a couple courses), but I think cross-training in this respect would work better than say, trying to improve your Spanish by practicing watercolors.

I'm not sure if anyone can do other than speculate on this hypothesis, but try to convince me one way or the other if you have an opinion.
runningbird is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 09-25-2009, 06:31 AM   #2 (permalink)
Senior Member
 
Join Date: Aug 2008
Posts: 151
sidsavara is on a distinguished road
Default

As a software engineer, I think learning a programming language will definitely aid to your skillset and perhaps spread to other areas

I do not think it is quite analagous to natural language though. With programming you don't tell stories, you don't discuss and argue politics, etc - it's much more logical, more analagous to different flavors of flowcharts

I think it would definitely help in terms of logic though =)
sidsavara is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 09-27-2009, 08:47 PM   #3 (permalink)
Senior Member
 
Join Date: Jul 2008
Posts: 217
Froztwolf is on a distinguished road
Default

I would say there is very little cross-benefit. As sidsavara mentions, programming languages are made to be logical and they are also made to be entirely unambiguous.
Natural languages are allowed to be ambiguous in return for how expressive they are. However, people do say that as you learn more natural languages it becomes easier and easier to pick up new ones.
Froztwolf is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 09-28-2009, 10:49 AM   #4 (permalink)
Junior Member
 
Join Date: Nov 2008
Posts: 16
NuclearGorilla is on a distinguished road
Default

I have learned both programming and natural languages. It's really difficult to say whether they help one another out--I don't know how you could legitimately tell short of some sort of study comparing those who study both and those who only study one.

However, I think that both have similar aims. Both programming languages and natural languages are about communication. In natural languages you communicate your ideas to other people; in programming languages, you communicate orders to the computer. Both have some inherent logic to them and use certain structures and paradigms for communication. I might think of programming languages as an incredibly simplified form of natural languages tailored to a very specific goal.

I suppose to summarize, the two aren't necessarily all that different, but there's probably not that strong of a benefit. Unless, of course, if you're reading programming books in another language. (Which isn't a bad idea.)
NuclearGorilla is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 09-30-2009, 04:56 AM   #5 (permalink)
Senior Member
 
Join Date: Dec 2007
Location: USA
Posts: 323
Apollia is on a distinguished road
Default

I think learning to program in probably most any programming language at least helps you more quickly understand how to program in other programming languages.

I'm not sure if learning how to program really enhances your ability to acquire natural languages, though. I didn't program in the 9th and 10th grades (had tried it a bit when I was younger, but was horrible at it and gave up), but I was quite good at French back then, and I haven't really noticed a difference in my natural language-learning ability ever since seriously getting into programming.

However, I haven't really tried very hard to learn a natural language since then. Also, I'm still only fluent in English, I've never even gotten close to fluent in French or anything else.


One thing that surprised me a while back was when I found that, after doing a lot of tedious programming, studying a natural language seemed far, far easier than it originally did before I ever attempted something as challenging (for me) as programming. Studying Japanese used to seem a lot more intimidating, but now it's like a relaxing vacation in comparison.

I don't think it's _actually_ easier, though - I think it just _seems_ easier since I find programming so dreadful and difficult. (Well, not _all_ programming, but anything new, different, and complicated that I've never done before and have to do from scratch).

With programming, I continually have to be creative and inventive (unless I'm doing something I've done before, or something which is trivially easy to figure out how to do).

Meanwhile, my approach to natural language-learning doesn't require nearly as much creativity, and involves a lot more relaxing passive absorption of various data, words and rules - just reading or listening to others' writings or speech and trying to understand them. With natural language-learning, I feel like I don't have to think as much.


I think studying a variety of natural languages did increase my mental flexibility a bit. I remember when I was first starting out with foreign languages, even things like non-English word orders were hard for me, even if they were only slightly different.

Studying foreign languages got me much more used to a wider variety of arbitrary rules/conventions of language, so now it's easier for me to just accept new, weird rules/conventions without my preconceptions from English interfering as much. I guess that could be useful for learning programming languages as well as natural languages, because both programming languages and natural languages have plenty of arbitrary rules.

Being able to abide by weird arbitrary rules is even more important in programming than natural languages, because while humans can usually still understand you if you break a few rules of the language (such as by misspelling things and leaving out some punctuation here and there), computers can't so well.


Programming forces you to think things through logically and methodically. The computer just mindlessly follows orders, so you always have to make sure your orders to it are as perfect as possible. You have to always think about every little possible thing that could go wrong and code in something to deal with it.

Natural languages are a lot less strict and precise, but, the habits of thinking carefully about precisely what you're saying, and making sure as few misunderstandings as possible are likely to result from it, and that as few logical problems as possible are present in your arguments, are definitely useful for natural languages.


I suppose another aspect of programming - having to sit there patiently debugging your scripts (since it's often pretty hard to get complicated things working properly right off the bat) - might enhance your patience for tinkering with/editing things you write in a natural language.

And, possibly, vice versa - my long-cultivated patience from editing stuff I write in natural language might possibly have made me a better, more patient programmer. Actually, though, listening to music might impact my patience with programming more than that ever did. I get much less bored with programming when I listen to music at the same time.


I have found that when I need to figure out how to make some kind of long and/or complicated procedure into code, writing it out step by step in plain English makes it a lot easier to "translate" my ideas into code than if I just dive directly into writing code.

Having comments in the source code describing what's going on in the code in plain English is also definitely very helpful, especially when returning to an old script I haven't looked at for many months or years.


Natural languages and programming are also both effective ways for me to procrastinate. I sometimes put off programming by getting absorbed in writing, or put off writing by getting absorbed in programming.


One of the weirdest programming languages I know of is Inform 7, a language for writing interactive fiction/text adventure games - which is so weird because unlike every other language I know of, it tries to combine natural-seeming language with programming.

Inform - Wikipedia, the free encyclopedia

I haven't yet begun to try to program anything in Inform 7, but, I suspect learning Inform 7 probably wouldn't be very helpful to a newbie to programming who is hoping to learn other, less natural-seeming programming languages, since Inform 7 is so unlike them. I'm afraid if I had started out with Inform 7 as a newbie programmer, I would have ended up "spoiled" by it and forever bummed out about how comparatively difficult and unnatural other programming languages are.

I'm guessing it's probably a lot more fun and easy than the average programming language, though. I really ought to give it a try one of these days. I really like Inform 6 (that was actually the first programming language I got reasonably well-acquainted with), so, since Inform 7 is by the same author, I'll probably like that too.

Another nice thing about Inform is, since Inform 6 and 7 were developed by and for interactive fiction authors (an overall very literary crowd composed of numerous fantastic writers), the documentation of Inform tends to be quite clear and well-written.


I've been doing PHP programming since 2007, and to this day I still often have to look up the exact syntax I need, since the built-in function names, the arguments they take, and the order those arguments have to be in, etc., are often not very memorable or intuitive (at least to me).

Nonetheless, I actually really like PHP, but it would be nice to be able to program in a language where I don't have to stop and look things up as often just because I can't easily remember all those annoying little details. Something like PHP but with more natural-seeming syntax might be very nice indeed.

I actually don't know of any other language like Inform 7, but then again, my knowledge of what programming languages exist isn't spectacularly broad, so I won't be too surprised if there is _some_thing similar out there, somewhere. I hope there is, Inform 7 seems really neat.

Thanks for asking such an interesting question.

Best wishes,
Apollia

Last edited by Apollia; 09-30-2009 at 11:04 AM. Reason: Added several paragraphs, fixed typos, changed wording
Apollia is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 09-30-2009, 07:21 AM   #6 (permalink)
Family Member
 
Join Date: Aug 2009
Posts: 3,216
Cochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppableCochonette is absolutely unstoppable
Default

Seems a lot like asking "are mathematics and natural languages cross-beneficial"? Programming seems more like math to me than language. You are communicating with a computer. My math teachers in high school always liked to say that math is like a language, and the "math whiz" in the class once asked if he could get out of taking Spanish class because math should count as a foreign language.

Maybe programming language is a little closer to language than regular mathematics, but I don't know. I was never very good at programming - or math. I loved studying languages, though. My brother was good at math and programming and was never very into studying languages. I actually tried a couple of types to program games for language learning (French in Game Maker and Swahili in PHP), but both times I got frustrated with the programming and gave up after the first few lessons.

Last edited by Cochonette; 09-30-2009 at 07:32 AM.
Cochonette is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 10-02-2009, 01:41 AM   #7 (permalink)
Senior Member
 
Join Date: Oct 2008
Location: Cleveland, OH
Posts: 614
runningbird is on a distinguished road
Default

Apollia - thank you for such a thorough and insightful analysis. I think you outlined some very clear possibilities in how they may and may not help each other.

Inform 7 sounds interesting - probably not something I want to learn, but it seems like people have programmed some pretty interesting things with it (i.e. "Rendition, by nespresso (2007), is a political art experiment in the form of a text adventure game. Its approach to tragedy has been discussed academically by both the Association of Computing Machinery[22] and Cambridge University.[23]"). On the flipside, (and slightly to the periphery) is lojban, a synthetic spoken language that is extremely logical and regular. There is some speculation that it will be useful for communicating with computers - but how, I can't explain.

Cochonette - actually, the linguist Korbzyski hypothesized that those who studied calculus underwent a neurological and psychological change that changed the way they used language. Namely, they tended to change their usage of "is" as to reveal a consciousness of abstraction when labeling things. If you think of someone in a bad state, they're often stuck on identifying one thing with a label: "that IS wrong", "this IS unfair", or "this IS the word of God". A happier person is usually more comfortable resting in uncertainty. I can't claim to completely understand his theory or why he thought calculus was such a crucial leverage point, but that IS the gist of it.
runningbird is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Foreign languages, anyone? Zach Fun & Recreation 139 11-21-2011 05:08 AM
PDSP coming out in various languages Savage Personal Development for Smart People Book 6 03-10-2010 02:04 AM
New Paraliminals and EasyLearn Languages Michelle Personal Effectiveness 1 05-08-2008 10:36 PM
Languages - English only Patricia Local Groups 0 11-07-2006 11:26 PM


All times are GMT. The time now is 05:15 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Copyright © 2010 by Pavlina LLC