Jump to content
  • Advertisement
Sign in to follow this  
Concentrate

I need to branch off and expand my mind, any suggestion on new language

This topic is 2494 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For about 2-3 years, I've been in school, I have mainly used C++/Java and some MIPS. I feel like I've been exposed to the same kind of OOP thinking and don't really know what else is out there. What would you suggest one to learn in order to expand one's way of thinking about problems. I thought about some language like maybe ruby or lisp or perl. I just need some advice. Thanks.

Share this post


Link to post
Share on other sites
Advertisement
Learning a programming language is like learning a linguistic language. Being a software engineer is like being an author. Learning Spanish doesn't make you an author, learning French doesn't make you an author, writing books makes you an author, and the more you write, the better you get. It's useful to have languages under your belt but IMO developing your software emgineering skills is extremely important. IMO having personal projects under your belt and on your CV demonstrates your real world competency and makes you much more employable for a variety of reasons. At that point your language choice becomes near-insignificant.

Sorry if that's way off topic but i thought I'd mention it nonetheless.

Share this post


Link to post
Share on other sites

Learning a programming language is like learning a linguistic language. Being a software engineer is like being an author. Learning Spanish doesn't make you an author, learning French doesn't make you an author, writing books makes you an author, and the more you write, the better you get. It's useful to have languages under your belt but IMO developing your software emgineering skills is extremely important. IMO having personal projects under your belt and on your CV demonstrates your real world competency and makes you much more employable for a variety of reasons. At that point your language choice becomes near-insignificant.

Sorry if that's way off topic but i thought I'd mention it nonetheless.


[edit] While it's true that practice is required to make you a good programmer, learning a distinctly different language (like mandarin vs english) will change how your brain interprets language and gets you concepts that simply don't exist in your native language, making learning new ones easier; just like programming languages. Learning distinctly different languages is a boon to any programmer.


For the OP: Haskell.

Share this post


Link to post
Share on other sites

Learning a programming language is like learning a linguistic language. Being a software engineer is like being an author. Learning Spanish doesn't make you an author, learning French doesn't make you an author, writing books makes you an author, and the more you write, the better you get. It's useful to have languages under your belt but IMO developing your software emgineering skills is extremely important. IMO having personal projects under your belt and on your CV demonstrates your real world competency and makes you much more employable for a variety of reasons. At that point your language choice becomes near-insignificant.

Sorry if that's way off topic but i thought I'd mention it nonetheless.


Like someone mentioned above there are a few different programming paradigms and learning languages that use these will give you a new way to look at things. Haskell, Lisp and all its derivatives rely mostly on recursion and list manipulation, Prolog forces you to write logic statements and sets and relies on logic and set algebra.


So learning another language outside of your current programming paradigm has advantages as it gives you a new way to look at problems and come up with solutions.

Share this post


Link to post
Share on other sites
Functional all the way, if todays procedural langauges stop being the norm, it's functional that will replace them.

I would say either Haskell or F#. F# would be handy because you would have access to .NET libraries.


That said, for me after 15 years of programming this way, functional programming is a mind bender. Just getting the gist of LINQ is enough of a fight.

Share this post


Link to post
Share on other sites
Consider Python.

Very simple language to pick up, and very flexible. Personally I'm doing around 75-80% of all my code in python, simply because it works and is easy to use. The rest tends to be either domain specific languages, or rewrites of segments of Python code that simply needed better performance.


And a third for Haskell. It is an interesting language. I picked away at it, but got side tracked from learning more.

Share this post


Link to post
Share on other sites
There are only two programming languages: Fortran and Lisp. Everything else is a copy.

I didn't say they weren't improvements.

Oh, OK, there's also Prolog. When I was in school it was the New Silver Bullet that was going to be the Solution To Everything and We Would All Be Programming In It When We Graduated. I'm not sure if you can find it any more. You can definitely find Fortran and Lisp.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!