which programming language would you learn? [OT]

Search
Go

Discussion Topic

Return to Forum List
This thread has been locked
Messages 21 - 39 of total 39 in this topic << First  |  < Previous  |  Show All  |  Next >  |  Last >>
JLP

Social climber
The internet
May 5, 2011 - 12:51pm PT
Pick a project first, the language will follow. For any particular application or pile of hardware, certain tools will stand out as more productive, available and supported than others - so that's what you use. Also, modifying well written programs is the best way to learn programming. Opening a book and going through lessons is boring and forgettable.
Mungeclimber

Trad climber
sorry, just posting out loud.
Topic Author's Reply - May 6, 2011 - 02:46am PT
i really appreciate the posts all.

validating some of the doubts I had about each and all of them against my goals.

Much of the projects I deal with are SQL related. Took a class last season, and it was invaluable to be able to follow the dev discussions. I plan on installing it on my old machine and set up some dbs and play with the queries.

as for what to do about the 4 offerings... python seems to be the winner with C being the preferred but not listed option.

for those calling out that I should learn the 'how' as my main goal, I think you're right, but without an easy entree into it, I'm likely to blow it off. If I have fun with it, and make some climbing stuff (the web reference), then I'll probably play and make stuff.

the whole point of computers is to have fun with them. make sh#t and have fun. geek out a little, ya know?

thx again,
M
healyje

Trad climber
Portland, Oregon
May 6, 2011 - 03:07am PT
Munge, I'd say ruby, python, c, or c# would all be fine to learn with.

One correction from upthread:

C# and .net stuff are not available on Linux and cut down on job possibilities there.

c# does run on window/mac/linux/iphone/android

http://www.mono-project.com/Main_Page

http://monotouch.net/

http://mono-android.net/


aguacaliente

climber
May 6, 2011 - 04:04am PT
Figuring out Python was as hard for me as figuring out iCrap. Everything I get from the manuals seems either trivial or bewildering. It all makes sense but I just can't make it work. It took me all day to try and write a script to open a file and write "Steve Jobs is a Nazi."

But I'm an idiot, so take that into account.

Don't learn a programming language by reading the manual. Manuals are for people who already know the language.

One way to learn a language is by getting a program that someone else wrote that does something, and altering it to do something else that you want. Of course, you need to start with a manageable piece of code to look at (printing "hello world" is too small, 2000 lines of code is too large) and you need to hope that whoever you got it from is a decent programmer. Once you are a decent programmer in one language, you can tell whether code in some other language is well-written even if you barely know the language.

I still remember a postdoc very patiently explaining to me the difference between an array index and the contents of the array, that is between i and a(i), after I could not get it right. In my defense, I was 12. Everybody has to learn the basics sometime.
TwistedCrank

climber
Ideeho-dee-do-dah-day boom-chicka-boom-chicka-boom
May 6, 2011 - 10:28am PT
Python is a gateway drug.
Ed Hartouni

Trad climber
Livermore, CA
May 6, 2011 - 12:03pm PT
I've always learned a new language by doing a project in that language... but I never had to use my programming knowledge on my résumé...

what I know:

some machine languages - I've written two for machines I have helped to build
assemblers in general - what a pain in the ass to program in
FORTRAN - in most of its instantiations
C
C++ - though I'm not all that great in it, I can write FORTRAN in any language
Perl - the duct tape of computer programming
HTML - which isn't a language...

these days I write technical notes and they get implemented as code by real engineers who understand how to program... I sketch in FORTRAN, C, and IDL
JamesG

Trad climber
Thousand Oaks, CA
May 6, 2011 - 12:12pm PT

I had a lot of luck with this during an AI development contest I entered, and was very impressed with the portability(coming from a mostly Java background). It does have it's differences to .Net framework development, minor tweaks to some available classes or methods.
Seamstress

Trad climber
Yacolt, WA
May 6, 2011 - 12:25pm PT
I'm archaic. Learned too many, and now don't dabble at that level any more. It is a shame. It is very true that once you learn a couple, it gets easier to acquire more.

Machine language.

We had to develop our own language in school...fun

FORTRAN, basic, and a whole host of other "dead languages". Funny how popular the dead languages became with Y2K.
healyje

Trad climber
Portland, Oregon
May 6, 2011 - 12:53pm PT
By and large, once you know one, the differences between operating systems and computer languages is a lot like the differences between cars - they all of have steering wheels, brakes, and accelerators - it might take a bit of fiddling when you get in one you've never driven, but you should be able to figure out how to drive it fairly quickly.

And programming and climbing share a fair bit in common. We use a fairly limited vocabulary of moves and every new climb is just a [random] collection (stack) of those moves. How many climbs do you do where you encounter a truly new and unique move you've never? Not many. You start at the bottom of a climb problem-solving and arranging a sequence of familiar moves as you go with some occasional points where you have to evaluate things and decide which way to go. If a particular path doesn't work out you may have to down climb a bit and try the other path. Or you may fall and you'll have to start over with a different approach than you originally came up with.

It's pretty much the same in programming. Every program is just a new collection of a limited vocabulary of common programming statements, you have to evaluate things, make decisions, and branch this way or that, and sometimes you run into issues that make you scrap your first approach altogether and start over.

The two require a similar mindset, approach, and willingness to be wrong and still stick with it even though you want to pound your head against a 'wall' when you aren't getting it.
Mungeclimber

Trad climber
sorry, just posting out loud.
Topic Author's Reply - May 6, 2011 - 02:24pm PT
Python is a gateway drug.

LOL!







also, ... nice comparison Joseph
cleo

Social climber
Berkeley, CA
May 6, 2011 - 02:27pm PT
I think Python is the (new) language for engineers and scientists. Easy to learn and figure out. But I'm a lousy coder, and so far, I use Matlab instead Python, but I'd like to switch to Python.

healyje

Trad climber
Portland, Oregon
May 6, 2011 - 03:02pm PT
The new language for engineers, scientists, and finance types should be Scala, F#, or erlang...
pcousar

Sport climber
White Salmon, WA
May 6, 2011 - 03:52pm PT
Oh Yeah, a shout out for APL:) 'A Programming Language'. Loved the keyboard template ha ha...

Hey JH, I moved our report writer to SQL so I've been getting into stored procedures and groovin on those nested sql statements.
Melissa

Gym climber
berkeley, ca
May 6, 2011 - 04:36pm PT
The thought of Python being new in the world of high tech seemed off...until I considered how many folks in the discussion mentioned FORTRAN. I guess it's relative.
healyje

Trad climber
Portland, Oregon
May 6, 2011 - 04:45pm PT
Hey JH, I moved our report writer to SQL so I've been getting into stored procedures and groovin on those nested sql statements.

Don't go too far down the rabbit hole...
jogill

climber
Colorado
May 16, 2011 - 10:32pm PT
As a 74 year-old quasi-mathematician I still enjoy using Visual Basic.It allows an almost pure constructive approach to mathematical programming that seems to me to be beyond Mathematica or the more sophisticated languages. The real nitty-gritty. That makes me weird.
pk_davidson

Trad climber
Albuquerque, NM
May 17, 2011 - 06:48pm PT
Now that's how you know you have some real respect:
You toss out the words Visual Basic to a bunch of codeheads and not a one of them jump down your throat.

Now if I said VB was a language of choice (even if I could succesfully defend it as a usuable choice for doing mathematics, and I think I could, as in the realm of the pure, who cares what the language is as long as the logic is correct) I would be chewed up and spit out by this crowd.

OTOH, Dr. Gill hangs VB in the air for a day and no takers... word
healyje

Trad climber
Portland, Oregon
May 17, 2011 - 06:54pm PT
Jogill, you should really give F# a look, still visual studio, but much more concise for what you're doing than vb...
marv

Mountain climber
Bay Area
May 17, 2011 - 09:17pm PT
all the cool kids -- by that I mean, 26-year-olds with facial hair and PhDs from Stanford and Carnegie-Mellon and MIT who work at brick-lined offices in SoMa -- program in R

Messages 21 - 39 of total 39 in this topic << First  |  < Previous  |  Show All  |  Next >  |  Last >>
Return to Forum List
 
Our Guidebooks
spacerCheck 'em out!
SuperTopo Guidebooks

guidebook icon
Try a free sample topo!

 
SuperTopo on the Web

Recent Route Beta