Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Looking for a language recommendation
Index -> Programming, General Programming -> Functional Programming
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Skynet




PostPosted: Fri Feb 02, 2007 10:58 pm   Post subject: Looking for a language recommendation

So, I'd like to expand my horizons and try out another approach to programming. Since I've got some time on work term, I figure now is a good time to try something new out. As a bit of background, I'm in Tron Eng @ UW, and I've got a bit of experience in embedded programming, controls, machine vision and robotics. Languages wise, that's C, C++, Java, MATLAB and various PLC brands. I'm looking for something completely different that'll cover all the bases, as it were - basically, something which'll provide a good foundation for future work. I use both Linux and Windows, so platform doesn't matter.

Any ideas?
Sponsor
Sponsor
Sponsor
sponsor
Clayton




PostPosted: Fri Feb 02, 2007 11:11 pm   Post subject: Re: Looking for a language recommendation

how about Ruby? have you thought about anything in the functional realm (ie O'Caml)?
Cervantes




PostPosted: Fri Feb 02, 2007 11:21 pm   Post subject: RE:Looking for a language recommendation

Are you looking for something related to your field, or something different? If you want something different, Freakman's suggestions are good. If you want something related to your field... might as well start learning Assembly. =/

Come to think of it, LISP. Learn LISP. It'll be fun, and it will introduce you to all kinds of new programming concepts (mainly the concepts from the paradigm that is functional programming). Also, LISP is used a lot in AI, which is close to Mechatronics.

If you don't mind my asking, what year are you in?
Skynet




PostPosted: Sat Feb 03, 2007 12:02 am   Post subject: Re: Looking for a language recommendation

Yeah, I'm looking for something in the functional realm. I do enough direct hardware stuff (read: C) at work- I figure a wider background in types of programming languages will provide me with another perspective on the problems in my field which lean towards CS.

Right now, I'm on the work term between 2B and 3A.
Tony




PostPosted: Sat Feb 03, 2007 1:50 am   Post subject: RE:Looking for a language recommendation

Didn't you guys cover Assembly in 2A (digilogic)?

Though yeah, OOP and Functional are the two programming paradigms. Not sure how much Java you know (that is outside of Tron curriculum), so Functional programming is a sure way to learn something completly new.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Skynet




PostPosted: Sun Feb 04, 2007 10:46 pm   Post subject: Re: RE:Looking for a language recommendation

Tony @ Sat Feb 03, 2007 1:50 am wrote:
Didn't you guys cover Assembly in 2A (digilogic)?

Though yeah, OOP and Functional are the two programming paradigms. Not sure how much Java you know (that is outside of Tron curriculum), so Functional programming is a sure way to learn something completly new.

Yeah, did some x86 stuff in 262. Haven't had to touch it since, and I don't have a problem with it. Elegant bitwise stuff can be done in C...I don't see the need to worry about finding places to store intermediate results.

I seem to have noticed that you forgot procedural programming...why the hate? Very Happy

I installed CMUCL - so far, it seems interesting. Counting parenthesis is a pain, but I like the strong emphasis on recursion.
wtd




PostPosted: Mon Feb 05, 2007 12:00 am   Post subject: RE:Looking for a language recommendation

The vast majority of OOP languages are procedural.
Skynet




PostPosted: Mon Feb 05, 2007 10:55 am   Post subject: Re: RE:Looking for a language recommendation

wtd @ Mon Feb 05, 2007 12:00 am wrote:
The vast majority of OOP languages are procedural.

Yes, but not all procedural languages are OOP.
Sponsor
Sponsor
Sponsor
sponsor
wtd




PostPosted: Mon Feb 05, 2007 11:01 am   Post subject: RE:Looking for a language recommendation

No.

That said, thoroughly learning an OOP language that has a procedural foundation will provide an excellent understanding of procedural programming.
haskell




PostPosted: Mon Feb 05, 2007 12:11 pm   Post subject: RE:Looking for a language recommendation

For pure functional programming, I'd recommend Haskell. Haskell is just a joy to use for so many reasons. It's a complete jump from imperative languages, so its great if you want something new.

Haskell.org

I recommend the Glascow Haskell Compiler(GHC).

If you are a .NET fan, you can try F#.

And, if you want pure performance from your functional programming language, than I suggest Clean.

If you want a tried and tested language that was made for speed, flexibility and power, that is also considered to be a functional programming language, than I suggest Common Lisp. Just search it on Google Smile.

Also for Common Lisp, Practical Common Lisp by Peter Seibel.

When in doubt, use Wikipedia and Google.

Hope this helped some one Smile.
Clayton




PostPosted: Mon Feb 05, 2007 12:56 pm   Post subject: Re: Looking for a language recommendation

haskell wrote:

And, if you want pure performance from your functional programming language, than I suggest Clean.


Native compiled O'Caml is actually faster than C++. It is also a fully functional language with Object Oriented capabilities.
haskell




PostPosted: Mon Feb 05, 2007 1:15 pm   Post subject: Re: Looking for a language recommendation

They are very simlar in speed and such. as this benchmark demonstrates.

As well as Clean compared to C

And O'Caml compated to C

Though, in my opinion from the usage of both Clean and O'Caml, I find that Clean is faster. But, its probably just a bias, though the benchmarks(as obscure as they are) show that Clean is slightly faster overall.
wtd




PostPosted: Mon Feb 05, 2007 1:32 pm   Post subject: RE:Looking for a language recommendation

Either way... hardware is cheap, and (decent) programmers are not. Choose the language that lets you express a solution more readily and reliably.
Display posts from previous:   
   Index -> Programming, General Programming -> Functional Programming
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 13 Posts ]
Jump to:   


Style:  
Search: